diff --git a/cmake/Modules/Packages/PLUMED.cmake b/cmake/Modules/Packages/PLUMED.cmake index 0f063f3e14..6b832574ca 100644 --- a/cmake/Modules/Packages/PLUMED.cmake +++ b/cmake/Modules/Packages/PLUMED.cmake @@ -54,8 +54,8 @@ if(DOWNLOAD_PLUMED) set(PLUMED_BUILD_BYPRODUCTS "/lib/libplumedWrapper.a") endif() - set(PLUMED_URL "https://github.com/plumed/plumed2/releases/download/v2.7.2/plumed-src-2.7.2.tgz" CACHE STRING "URL for PLUMED tarball") - set(PLUMED_MD5 "cfa0b4dd90a81c25d3302e8d97bfeaea" CACHE STRING "MD5 checksum of PLUMED tarball") + set(PLUMED_URL "https://github.com/plumed/plumed2/releases/download/v2.7.3/plumed-src-2.7.3.tgz" CACHE STRING "URL for PLUMED tarball") + set(PLUMED_MD5 "f00cc82edfefe6bb3df934911dbe32fb" CACHE STRING "MD5 checksum of PLUMED tarball") mark_as_advanced(PLUMED_URL) mark_as_advanced(PLUMED_MD5) diff --git a/doc/src/pair_local_density.rst b/doc/src/pair_local_density.rst index f7e26389c3..2925ef2811 100644 --- a/doc/src/pair_local_density.rst +++ b/doc/src/pair_local_density.rst @@ -26,23 +26,25 @@ Examples Description """"""""""" -The local density (LD) potential is a mean-field manybody potential, and, in some -sense,a generalization of embedded atom models (EAM). The name "local density -potential" arises from the fact that it assigns an energy to an atom depending -on the number of neighboring atoms of given type around it within a predefined -spherical volume (i.e., within a cutoff). The bottom-up coarse-graining (CG) -literature suggests that such potentials can be widely useful in capturing -effective multibody forces in a computationally efficient manner so as to -improve the quality of CG models of implicit solvation:ref:`(Sanyal1) ` and -phase-segregation in liquid mixtures:ref:`(Sanyal2) `, and provide guidelines -to determine the extent of manybody correlations present in a CG -model.:ref:`(Rosenberger) ` The LD potential in LAMMPS is primarily -intended to be used as a corrective potential over traditional pair potentials -in bottom-up CG models, i.e., as a hybrid pair style with -other explicit pair interaction terms (e.g., table spline, Lennard Jones, etc.). -Because the LD potential is not a pair potential per se, it is implemented -simply as a single auxiliary file with all specifications that will be read -upon initialization. +The local density (LD) potential is a mean-field manybody potential, +and, in some way, a generalization of embedded atom models (EAM). The +name "local density potential" arises from the fact that it assigns an +energy to an atom depending on the number of neighboring atoms of a +given type around it within a predefined spherical volume (i.e., within +the cutoff). The bottom-up coarse-graining (CG) literature suggests +that such potentials can be widely useful in capturing effective +multibody forces in a computationally efficient manner and thus improve +the quality of CG models of implicit solvation :ref:`(Sanyal1) +` and phase-segregation in liquid mixtures :ref:`(Sanyal2) +`, and provide guidelines to determine the extent of manybody +correlations present in a CG model :ref:`(Rosenberger) `. +The LD potential in LAMMPS is primarily intended to be used as a +corrective potential over traditional pair potentials in bottom-up CG +models via :doc:`hybrid/overlay pair style ` with other +explicit pair interaction terms (e.g., tabulated, Lennard-Jones, Morse +etc.). Because the LD potential is not a pair potential per se, it is +implemented simply as a single auxiliary file with all specifications +that will be read upon initialization. .. note:: diff --git a/doc/src/pair_tersoff.rst b/doc/src/pair_tersoff.rst index ab88806ca6..38a0262f5d 100644 --- a/doc/src/pair_tersoff.rst +++ b/doc/src/pair_tersoff.rst @@ -23,7 +23,7 @@ Syntax pair_style style keywords values -* style = *tersoff* or *tersoff/table* or *tersoff/gpu* or *tersoff/omp* or *tersoff/table/omp* +* style = *tersoff* or *tersoff/table* * keyword = *shift* .. parsed-literal:: diff --git a/doc/src/pair_thole.rst b/doc/src/pair_thole.rst index 5a1e72f569..a4e8bbb96e 100644 --- a/doc/src/pair_thole.rst +++ b/doc/src/pair_thole.rst @@ -17,7 +17,7 @@ Syntax pair_style style args -* style = *thole* or *lj/cut/thole/long* or *lj/cut/thole/long/omp* +* style = *thole* or *lj/cut/thole/long* * args = list of arguments for a particular style .. parsed-literal:: @@ -25,7 +25,7 @@ Syntax *thole* args = damp cutoff damp = global damping parameter cutoff = global cutoff (distance units) - *lj/cut/thole/long* or *lj/cut/thole/long/omp* args = damp cutoff (cutoff2) + *lj/cut/thole/long* args = damp cutoff (cutoff2) damp = global damping parameter cutoff = global cutoff for LJ (and Thole if only 1 arg) (distance units) cutoff2 = global cutoff for Thole (optional) (distance units) diff --git a/doc/src/pair_vashishta.rst b/doc/src/pair_vashishta.rst index d38ac02a96..8310eb7607 100644 --- a/doc/src/pair_vashishta.rst +++ b/doc/src/pair_vashishta.rst @@ -22,13 +22,13 @@ Syntax pair_style style args -* style = *vashishta* or *vashishta/table* or *vashishta/omp* or *vashishta/table/omp* +* style = *vashishta* or *vashishta/table* * args = list of arguments for a particular style .. parsed-literal:: - *vashishta* or *vashishta/omp* args = none - *vashishta/table* or *vashishta/table/omp* args = Ntable cutinner + *vashishta* args = none + *vashishta/table* args = Ntable cutinner Ntable = # of tabulation points cutinner = tablulate from cutinner to cutoff diff --git a/examples/PACKAGES/local_density/benzene_water/benzene_water.localdensity.table b/examples/PACKAGES/local_density/benzene_water/benzene_water.localdensity.table index b0d63dbbbf..96630f0ccc 100644 --- a/examples/PACKAGES/local_density/benzene_water/benzene_water.localdensity.table +++ b/examples/PACKAGES/local_density/benzene_water/benzene_water.localdensity.table @@ -1,4 +1,4 @@ -# local density potentials: (B,B), (W,W), (B,W), (W,B) +# local density potentials: (B,B), (W,W), (B,W), (W,B) UNITS: real 4 500 diff --git a/examples/PACKAGES/local_density/benzene_water/benzene_water.pair.table b/examples/PACKAGES/local_density/benzene_water/benzene_water.pair.table index 348bccfa0e..d76ac0dfd8 100644 --- a/examples/PACKAGES/local_density/benzene_water/benzene_water.pair.table +++ b/examples/PACKAGES/local_density/benzene_water/benzene_water.pair.table @@ -1,4 +1,4 @@ - +# UNITS: real PairBB N 500 R 2.00000e-02 1.32500e+01 diff --git a/examples/PACKAGES/local_density/benzene_water/benzene_water.in b/examples/PACKAGES/local_density/benzene_water/in.benzene_water similarity index 87% rename from examples/PACKAGES/local_density/benzene_water/benzene_water.in rename to examples/PACKAGES/local_density/benzene_water/in.benzene_water index 01fb3f27e5..69d39be357 100644 --- a/examples/PACKAGES/local_density/benzene_water/benzene_water.in +++ b/examples/PACKAGES/local_density/benzene_water/in.benzene_water @@ -11,7 +11,7 @@ # Initialize simulation box dimension 3 -boundary p p p +boundary p p p units real atom_style molecular @@ -32,7 +32,7 @@ pair_coeff * * local/density benzene_water.localdensity.table fix recentering all recenter 0.0 0.0 0.0 units box # Thermostat & time integration -timestep 2.0 +timestep 2.0 thermo 100 thermo_style custom temp ke pe etotal ebond eangle edihed evdwl @@ -49,14 +49,14 @@ run 5000 # Turn off recentering during production phase unfix recentering +reset_timestep 0 # Setup trajectory output -dump myDump all custom 100 benzene_water.lammpstrj.gz id type x y z element -dump_modify myDump element B W -dump_modify myDump sort id +#dump myDump all custom 100 benzene_water.lammpstrj.gz id type x y z element +#dump_modify myDump element B W +#dump_modify myDump sort id # Production (for realistic results, run for 10000000 steps) -reset_timestep 0 -run 1000 +run 1000 diff --git a/examples/PACKAGES/local_density/benzene_water/log.04Sep19.g++.1 b/examples/PACKAGES/local_density/benzene_water/log.04Sep19.g++.1 deleted file mode 100644 index 928906edbd..0000000000 --- a/examples/PACKAGES/local_density/benzene_water/log.04Sep19.g++.1 +++ /dev/null @@ -1,267 +0,0 @@ -LAMMPS (7 Aug 2019) -# LAMMPS input file for 26.5% benzene mole fraction solution -# with 380 benzene and 1000 water molecules, -# using all possible local density potentials -# between benzene and water -# -# Author: Tanmoy Sanyal, Shell Group, UC Santa Barbara -# -# Refer: Sanyal and Shell, JPC-B, 2018, 122 (21), 5678-5693 - - - -# Initialize simulation box -dimension 3 -boundary p p p -units real -atom_style molecular - -# Set potential styles -pair_style hybrid/overlay table spline 500 local/density - -# Read molecule data and set initial velocities -read_data benzene_water.data - orthogonal box = (-12.865 -12.865 -64.829) to (12.865 12.865 64.829) - 1 by 1 by 8 MPI processor grid - reading atoms ... - 1380 atoms - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000566959 secs - read_data CPU = 0.00661397 secs -velocity all create 3.0000e+02 16611 rot yes dist gaussian - -# Assign potentials -pair_coeff 1 1 table benzene_water.pair.table PairBB -WARNING: 33 of 500 force values in table are inconsistent with -dE/dr. - Should only be flagged at inflection points (../pair_table.cpp:483) -WARNING: 150 of 500 distance values in table with relative error - over 1e-06 to re-computed values (../pair_table.cpp:492) -pair_coeff 1 2 table benzene_water.pair.table PairWW -WARNING: 61 of 500 force values in table are inconsistent with -dE/dr. - Should only be flagged at inflection points (../pair_table.cpp:483) -WARNING: 90 of 500 distance values in table with relative error - over 1e-06 to re-computed values (../pair_table.cpp:492) -pair_coeff 2 2 table benzene_water.pair.table PairBW -WARNING: 108 of 500 force values in table are inconsistent with -dE/dr. - Should only be flagged at inflection points (../pair_table.cpp:483) -WARNING: 135 of 500 distance values in table with relative error - over 1e-06 to re-computed values (../pair_table.cpp:492) -pair_coeff * * local/density benzene_water.localdensity.table - -# Recentering during minimization and equilibration -fix recentering all recenter 0.0 0.0 0.0 units box - -# Thermostat & time integration -timestep 2.0 -thermo 100 -thermo_style custom temp ke pe etotal ebond eangle edihed evdwl - -# Minimization -minimize 1.e-4 0.0 10000 10000 -WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:168) -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 15.25 - ghost atom cutoff = 15.25 - binsize = 7.625, bins = 4 4 18 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair table, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d/newton - bin: standard - (2) pair local/density, perpetual, copy from (1) - attributes: half, newton on - pair build: copy - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 8.061 | 8.32 | 8.674 Mbytes -Temp KinEng PotEng TotEng E_bond E_angle E_dihed E_vdwl - 300 1233.1611 4162.3053 5395.4665 0 0 0 4162.3053 - 300 1233.1611 2275.526 3508.6871 0 0 0 2275.526 -Loop time of 0.352822 on 8 procs for 40 steps with 1380 atoms - -71.3% CPU use with 8 MPI tasks x no OpenMP threads - -Minimization stats: - Stopping criterion = linesearch alpha is zero - Energy initial, next-to-last, final = - 4162.30533361 2208.86525108 2275.52597861 - Force two-norm initial, final = 259.364 69.3915 - Force max component initial, final = 22.2077 8.31436 - Final line search alpha, max atom move = 2.90022e-12 2.41135e-11 - Iterations, force evaluations = 40 110 - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.053192 | 0.23903 | 0.32779 | 17.2 | 67.75 -Bond | 9.0599e-06 | 1.6302e-05 | 2.5272e-05 | 0.0 | 0.00 -Neigh | 0.00044513 | 0.0023614 | 0.0063851 | 5.1 | 0.67 -Comm | 0.015469 | 0.090432 | 0.20295 | 20.0 | 25.63 -Output | 0 | 0 | 0 | 0.0 | 0.00 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 0.02098 | | | 5.95 - -Nlocal: 172.5 ave 348 max 72 min -Histogram: 5 0 0 0 0 0 0 0 1 2 -Nghost: 2193.62 ave 4352 max 932 min -Histogram: 3 0 0 2 0 0 2 0 0 1 -Neighs: 9700.5 ave 20535 max 3685 min -Histogram: 5 0 0 0 0 0 0 1 0 2 - -Total # of neighbors = 77604 -Ave neighs/atom = 56.2348 -Ave special neighs/atom = 0 -Neighbor list builds = 2 -Dangerous builds = 0 - -# Set up integration parameters -fix timeintegration all nve -fix thermostat all langevin 3.0000e+02 3.0000e+02 1.0000e+02 81890 - -# Equilibration (for realistic results, run for 5000000 steps) -reset_timestep 0 -run 5000 -WARNING: Fix recenter should come after all other integration fixes (../fix_recenter.cpp:131) -Per MPI rank memory allocation (min/avg/max) = 6.936 | 7.195 | 7.552 Mbytes -Temp KinEng PotEng TotEng E_bond E_angle E_dihed E_vdwl - 300 1233.1611 2866.9109 4100.0721 0 0 0 2866.9109 - 273.33541 1123.5553 3983.2007 5106.756 0 0 0 3983.2007 - 293.68078 1207.1857 3319.6601 4526.8458 0 0 0 3319.6601 - 314.21462 1291.5908 3389.2178 4680.8086 0 0 0 3389.2178 - 323.77563 1330.8917 3332.9828 4663.8745 0 0 0 3332.9828 - 302.5902 1243.8082 3461.7692 4705.5774 0 0 0 3461.7692 - 295.39324 1214.2249 3411.5727 4625.7976 0 0 0 3411.5727 - 320.52341 1317.5234 3453.1931 4770.7164 0 0 0 3453.1931 - 312.00777 1282.5195 3403.3443 4685.8638 0 0 0 3403.3443 - 307.96774 1265.9128 3429.7809 4695.6937 0 0 0 3429.7809 - 294.75922 1211.6187 3388.8404 4600.4591 0 0 0 3388.8404 - 311.24567 1279.3869 3514.9603 4794.3472 0 0 0 3514.9603 - 306.6152 1260.3531 3447.2011 4707.5542 0 0 0 3447.2011 - 305.23306 1254.6718 3375.5092 4630.181 0 0 0 3375.5092 - 321.62889 1322.0675 3460.2581 4782.3256 0 0 0 3460.2581 - 316.37725 1300.4804 3437.0312 4737.5116 0 0 0 3437.0312 - 322.90522 1327.3139 3389.1262 4716.44 0 0 0 3389.1262 - 307.57893 1264.3146 3359.8491 4624.1637 0 0 0 3359.8491 - 302.22607 1242.3115 3406.1711 4648.4826 0 0 0 3406.1711 - 302.73997 1244.4239 3220.2582 4464.6821 0 0 0 3220.2582 - 303.66194 1248.2137 3318.4629 4566.6765 0 0 0 3318.4629 - 308.73862 1269.0815 3369.5894 4638.671 0 0 0 3369.5894 - 315.60294 1297.2976 3411.2405 4708.5381 0 0 0 3411.2405 - 310.0113 1274.3129 3360.1054 4634.4183 0 0 0 3360.1054 - 302.36229 1242.8714 3326.9845 4569.8559 0 0 0 3326.9845 - 317.78659 1306.2735 3355.4976 4661.7711 0 0 0 3355.4976 - 302.50479 1243.4571 3317.6846 4561.1417 0 0 0 3317.6846 - 304.29249 1250.8056 3423.5068 4674.3124 0 0 0 3423.5068 - 305.99948 1257.8222 3432.9395 4690.7617 0 0 0 3432.9395 - 309.93363 1273.9937 3393.657 4667.6506 0 0 0 3393.657 - 316.14884 1299.5415 3463.0636 4762.6051 0 0 0 3463.0636 - 300.38817 1234.7567 3309.2495 4544.0062 0 0 0 3309.2495 - 311.05735 1278.6128 3304.4418 4583.0546 0 0 0 3304.4418 - 311.11872 1278.865 3291.1891 4570.0542 0 0 0 3291.1891 - 315.74338 1297.8749 3341.3063 4639.1812 0 0 0 3341.3063 - 297.5658 1223.1552 3316.3862 4539.5414 0 0 0 3316.3862 - 311.79033 1281.6257 3357.4556 4639.0813 0 0 0 3357.4556 - 310.93666 1278.1167 3414.7694 4692.8861 0 0 0 3414.7694 - 307.37298 1263.468 3337.3889 4600.8569 0 0 0 3337.3889 - 298.84185 1228.4005 3329.6173 4558.0178 0 0 0 3329.6173 - 310.54684 1276.5143 3351.0852 4627.5995 0 0 0 3351.0852 - 300.0871 1233.5191 3302.2315 4535.7506 0 0 0 3302.2315 - 304.69078 1252.4427 3324.2508 4576.6935 0 0 0 3324.2508 - 313.50714 1288.6827 3330.4088 4619.0915 0 0 0 3330.4088 - 329.80018 1355.6559 3301.86 4657.5159 0 0 0 3301.86 - 304.57609 1251.9713 3365.2938 4617.2652 0 0 0 3365.2938 - 308.73584 1269.0701 3344.4155 4613.4856 0 0 0 3344.4155 - 306.90951 1261.5629 3304.4698 4566.0327 0 0 0 3304.4698 - 308.85761 1269.5707 3392.1511 4661.7218 0 0 0 3392.1511 - 302.78788 1244.6208 3317.0849 4561.7057 0 0 0 3317.0849 - 321.68092 1322.2813 3321.5755 4643.8568 0 0 0 3321.5755 -Loop time of 16.3061 on 8 procs for 5000 steps with 1380 atoms - -Performance: 52.986 ns/day, 0.453 hours/ns, 306.634 timesteps/s -69.6% CPU use with 8 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 2.1872 | 10.542 | 14.607 | 116.7 | 64.65 -Bond | 0.00044084 | 0.00069669 | 0.00095081 | 0.0 | 0.00 -Neigh | 0.026948 | 0.15225 | 0.44344 | 42.0 | 0.93 -Comm | 0.63452 | 4.2953 | 9.49 | 133.9 | 26.34 -Output | 0.0016391 | 0.012378 | 0.050919 | 13.9 | 0.08 -Modify | 0.45894 | 1.2107 | 4.4629 | 116.4 | 7.42 -Other | | 0.09292 | | | 0.57 - -Nlocal: 172.5 ave 380 max 70 min -Histogram: 5 0 0 0 0 0 0 1 1 1 -Nghost: 2213 ave 4440 max 903 min -Histogram: 3 0 0 2 0 0 2 0 0 1 -Neighs: 10042.5 ave 24051 max 3500 min -Histogram: 5 0 0 0 0 0 0 1 1 1 - -Total # of neighbors = 80340 -Ave neighs/atom = 58.2174 -Ave special neighs/atom = 0 -Neighbor list builds = 123 -Dangerous builds = 1 - -# Turn off recentering during production phase -unfix recentering - -# Setup trajectory output -dump myDump all custom 100 benzene_water.lammpstrj.gz id type x y z element -dump_modify myDump element B W -dump_modify myDump sort id - -# Production (for realistic results, run for 10000000 steps) -reset_timestep 0 -run 1000 -Per MPI rank memory allocation (min/avg/max) = 8.232 | 8.492 | 8.851 Mbytes -Temp KinEng PotEng TotEng E_bond E_angle E_dihed E_vdwl - 321.68092 1322.2813 3784.0834 5106.3647 0 0 0 3784.0834 - 310.59763 1276.7231 3318.3283 4595.0513 0 0 0 3318.3283 - 303.39445 1247.1141 3324.1191 4571.2332 0 0 0 3324.1191 - 311.37275 1279.9092 3305.0901 4584.9993 0 0 0 3305.0901 - 311.29071 1279.572 3248.216 4527.788 0 0 0 3248.216 - 314.53456 1292.906 3283.4563 4576.3623 0 0 0 3283.4563 - 316.52595 1301.0916 3258.9171 4560.0087 0 0 0 3258.9171 - 318.92447 1310.9509 3235.6256 4546.5765 0 0 0 3235.6256 - 311.79212 1281.6331 3308.099 4589.7321 0 0 0 3308.099 - 305.52477 1255.8709 3267.6907 4523.5616 0 0 0 3267.6907 - 301.07457 1237.5782 3206.3997 4443.9779 0 0 0 3206.3997 -Loop time of 4.44139 on 8 procs for 1000 steps with 1380 atoms - -Performance: 38.907 ns/day, 0.617 hours/ns, 225.155 timesteps/s -60.8% CPU use with 8 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.656 | 2.5078 | 3.5775 | 57.7 | 56.46 -Bond | 0.00013375 | 0.0001854 | 0.0002377 | 0.0 | 0.00 -Neigh | 0.0048757 | 0.029188 | 0.090432 | 18.9 | 0.66 -Comm | 0.51836 | 1.4427 | 2.6285 | 56.9 | 32.48 -Output | 0.083084 | 0.089199 | 0.10333 | 2.3 | 2.01 -Modify | 0.0087376 | 0.019705 | 0.038437 | 8.4 | 0.44 -Other | | 0.3526 | | | 7.94 - -Nlocal: 172.5 ave 388 max 69 min -Histogram: 5 0 0 0 0 0 0 2 0 1 -Nghost: 2207.88 ave 4429 max 896 min -Histogram: 3 0 0 2 0 0 2 0 0 1 -Neighs: 10094.1 ave 24847 max 3403 min -Histogram: 5 0 0 0 0 0 1 1 0 1 - -Total # of neighbors = 80753 -Ave neighs/atom = 58.5167 -Ave special neighs/atom = 0 -Neighbor list builds = 23 -Dangerous builds = 0 - - -Total wall time: 0:00:21 diff --git a/examples/PACKAGES/local_density/benzene_water/log.27Oct21.benzene_water.g++.1 b/examples/PACKAGES/local_density/benzene_water/log.27Oct21.benzene_water.g++.1 new file mode 100644 index 0000000000..034b60ea67 --- /dev/null +++ b/examples/PACKAGES/local_density/benzene_water/log.27Oct21.benzene_water.g++.1 @@ -0,0 +1,300 @@ +LAMMPS (27 Oct 2021) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# LAMMPS input file for 26.5% benzene mole fraction solution +# with 380 benzene and 1000 water molecules, +# using all possible local density potentials +# between benzene and water +# +# Author: Tanmoy Sanyal, Shell Group, UC Santa Barbara +# +# Refer: Sanyal and Shell, JPC-B, 2018, 122 (21), 5678-5693 + + + +# Initialize simulation box +dimension 3 +boundary p p p +units real +atom_style molecular + +# Set potential styles +pair_style hybrid/overlay table spline 500 local/density + +# Read molecule data and set initial velocities +read_data benzene_water.data +Reading data file ... + orthogonal box = (-12.865000 -12.865000 -64.829000) to (12.865000 12.865000 64.829000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 1380 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.006 seconds +velocity all create 3.0000e+02 16611 rot yes dist gaussian + +# Assign potentials +pair_coeff 1 1 table benzene_water.pair.table PairBB +WARNING: 33 of 500 force values in table PairBB are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/pair_table.cpp:465) +WARNING: 150 of 500 distance values in table 1e-06 with relative error +WARNING: over PairBB to re-computed values (src/pair_table.cpp:473) +pair_coeff 1 2 table benzene_water.pair.table PairWW +WARNING: 61 of 500 force values in table PairWW are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/pair_table.cpp:465) +WARNING: 90 of 500 distance values in table 1e-06 with relative error +WARNING: over PairWW to re-computed values (src/pair_table.cpp:473) +pair_coeff 2 2 table benzene_water.pair.table PairBW +WARNING: 108 of 500 force values in table PairBW are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/pair_table.cpp:465) +WARNING: 135 of 500 distance values in table 1e-06 with relative error +WARNING: over PairBW to re-computed values (src/pair_table.cpp:473) +pair_coeff * * local/density benzene_water.localdensity.table + +# Recentering during minimization and equilibration +fix recentering all recenter 0.0 0.0 0.0 units box + +# Thermostat & time integration +timestep 2.0 +thermo 100 +thermo_style custom temp ke pe etotal ebond eangle edihed evdwl + +# Minimization +minimize 1.e-4 0.0 10000 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- pair_style local/density command: + +@Article{Sanyal16, + author = {T.Sanyal and M.Scott Shell}, + title = {Coarse-grained models using local-density potentials optimized with the relative entropy: Application to implicit solvation}, + journal = {J.~Chem.~Phys.}, + year = 2016, + DOI = doi.org/10.1063/1.4958629} + +@Article{Sanyal18, + author = {T.Sanyal and M.Scott Shell}, + title = {Transferable coarse-grained models of liquid-liquid equilibrium using local density potentials optimized with the relative entropy}, + journal = {J.~Phys.~Chem. B}, + year = 2018, + DOI = doi.org/10.1021/acs.jpcb.7b12446} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:187) + generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 15.25 + ghost atom cutoff = 15.25 + binsize = 7.625, bins = 4 4 18 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair table, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) pair local/density, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 8.754 | 8.754 | 8.754 Mbytes +Temp KinEng PotEng TotEng E_bond E_angle E_dihed E_vdwl + 300 1233.1611 2374.6749 3607.836 0 0 0 2374.6749 + 300 1233.1611 985.54829 2218.7094 0 0 0 985.54829 + 300 1233.1611 962.66036 2195.8215 0 0 0 962.66036 +Loop time of 0.812343 on 1 procs for 134 steps with 1380 atoms + +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +Minimization stats: + Stopping criterion = energy tolerance + Energy initial, next-to-last, final = + 2374.67491482358 962.664796664787 962.660357218268 + Force two-norm initial, final = 263.77519 15.741017 + Force max component initial, final = 22.412654 7.9360139 + Final line search alpha, max atom move = 0.014975513 0.11884588 + Iterations, force evaluations = 134 240 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.78539 | 0.78539 | 0.78539 | 0.0 | 96.68 +Bond | 2.0149e-05 | 2.0149e-05 | 2.0149e-05 | 0.0 | 0.00 +Neigh | 0.016759 | 0.016759 | 0.016759 | 0.0 | 2.06 +Comm | 0.0045 | 0.0045 | 0.0045 | 0.0 | 0.55 +Output | 2.9402e-05 | 2.9402e-05 | 2.9402e-05 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 0.005647 | | | 0.70 + +Nlocal: 1380.00 ave 1380 max 1380 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 5832.00 ave 5832 max 5832 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 78165.0 ave 78165 max 78165 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 78165 +Ave neighs/atom = 56.641304 +Ave special neighs/atom = 0.0000000 +Neighbor list builds = 5 +Dangerous builds = 0 + +# Set up integration parameters +fix timeintegration all nve +fix thermostat all langevin 3.0000e+02 3.0000e+02 1.0000e+02 81890 + +# Equilibration (for realistic results, run for 5000000 steps) +reset_timestep 0 +run 5000 + generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +WARNING: Fix recenter should come after all other integration fixes (src/fix_recenter.cpp:133) +Per MPI rank memory allocation (min/avg/max) = 7.629 | 7.629 | 7.629 Mbytes +Temp KinEng PotEng TotEng E_bond E_angle E_dihed E_vdwl + 300 1233.1611 962.66036 2195.8215 0 0 0 962.66036 + 253.1913 1040.7522 1803.711 2844.4633 0 0 0 1803.711 + 290.31049 1193.332 2059.0637 3252.3958 0 0 0 2059.0637 + 299.30778 1230.3157 2140.226 3370.5417 0 0 0 2140.226 + 309.81524 1273.507 2178.3782 3451.8853 0 0 0 2178.3782 + 299.79526 1232.3195 2229.9248 3462.2444 0 0 0 2229.9248 + 299.24909 1230.0745 2260.7129 3490.7874 0 0 0 2260.7129 + 299.5898 1231.475 2244.2384 3475.7134 0 0 0 2244.2384 + 297.81223 1224.1682 2320.27 3544.4382 0 0 0 2320.27 + 301.53975 1239.4903 2277.0431 3516.5334 0 0 0 2277.0431 + 292.00572 1200.3003 2292.3073 3492.6076 0 0 0 2292.3073 + 309.19709 1270.9661 2303.6055 3574.5716 0 0 0 2303.6055 + 297.54933 1223.0876 2304.127 3527.2146 0 0 0 2304.127 + 303.48106 1247.4702 2303.5673 3551.0375 0 0 0 2303.5673 + 296.46047 1218.6118 2256.1591 3474.7709 0 0 0 2256.1591 + 299.4835 1231.038 2280.0452 3511.0832 0 0 0 2280.0452 + 306.25958 1258.8914 2307.9795 3566.8709 0 0 0 2307.9795 + 304.67335 1252.3711 2284.8252 3537.1963 0 0 0 2284.8252 + 298.33637 1226.3227 2289.8499 3516.1726 0 0 0 2289.8499 + 303.1338 1246.0427 2342.2148 3588.2575 0 0 0 2342.2148 + 305.86051 1257.251 2341.0106 3598.2616 0 0 0 2341.0106 + 297.75418 1223.9296 2303.5613 3527.4909 0 0 0 2303.5613 + 296.79348 1219.9806 2327.5207 3547.5013 0 0 0 2327.5207 + 307.25403 1262.9791 2288.4219 3551.401 0 0 0 2288.4219 + 301.26976 1238.3805 2291.2465 3529.627 0 0 0 2291.2465 + 297.17249 1221.5385 2283.3926 3504.9311 0 0 0 2283.3926 + 313.99072 1290.6705 2293.9661 3584.6366 0 0 0 2293.9661 + 301.70804 1240.1821 2331.1694 3571.3515 0 0 0 2331.1694 + 300.62599 1235.7343 2325.4367 3561.171 0 0 0 2325.4367 + 292.13495 1200.8316 2315.631 3516.4626 0 0 0 2315.631 + 313.9981 1290.7008 2286.0536 3576.7545 0 0 0 2286.0536 + 300.25311 1234.2015 2324.2379 3558.4394 0 0 0 2324.2379 + 309.3746 1271.6958 2322.2298 3593.9256 0 0 0 2322.2298 + 300.23041 1234.1082 2332.7521 3566.8603 0 0 0 2332.7521 + 302.97054 1245.3716 2303.1689 3548.5405 0 0 0 2303.1689 + 294.77155 1211.6694 2334.5087 3546.1781 0 0 0 2334.5087 + 296.81476 1220.0681 2322.5932 3542.6613 0 0 0 2322.5932 + 301.83238 1240.6932 2345.4841 3586.1773 0 0 0 2345.4841 + 295.0399 1212.7724 2312.3889 3525.1614 0 0 0 2312.3889 + 300.73565 1236.185 2338.8384 3575.0235 0 0 0 2338.8384 + 303.02264 1245.5858 2310.0868 3555.6726 0 0 0 2310.0868 + 302.86404 1244.9339 2332.2001 3577.134 0 0 0 2332.2001 + 293.77916 1207.5901 2293.2799 3500.8701 0 0 0 2293.2799 + 299.30072 1230.2867 2317.5065 3547.7933 0 0 0 2317.5065 + 311.05029 1278.5837 2311.0476 3589.6313 0 0 0 2311.0476 + 293.25646 1205.4416 2314.7398 3520.1814 0 0 0 2314.7398 + 310.49018 1276.2814 2337.4909 3613.7723 0 0 0 2337.4909 + 302.37336 1242.9169 2340.3197 3583.2366 0 0 0 2340.3197 + 297.06862 1221.1116 2323.9136 3545.0252 0 0 0 2323.9136 + 300.54817 1235.4144 2315.2405 3550.6549 0 0 0 2315.2405 + 309.10643 1270.5934 2333.1848 3603.7783 0 0 0 2333.1848 +Loop time of 15.2696 on 1 procs for 5000 steps with 1380 atoms + +Performance: 56.583 ns/day, 0.424 hours/ns, 327.447 timesteps/s +99.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 14.432 | 14.432 | 14.432 | 0.0 | 94.51 +Bond | 0.00032375 | 0.00032375 | 0.00032375 | 0.0 | 0.00 +Neigh | 0.41541 | 0.41541 | 0.41541 | 0.0 | 2.72 +Comm | 0.0975 | 0.0975 | 0.0975 | 0.0 | 0.64 +Output | 0.0013044 | 0.0013044 | 0.0013044 | 0.0 | 0.01 +Modify | 0.30336 | 0.30336 | 0.30336 | 0.0 | 1.99 +Other | | 0.01973 | | | 0.13 + +Nlocal: 1380.00 ave 1380 max 1380 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 5843.00 ave 5843 max 5843 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 76949.0 ave 76949 max 76949 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 76949 +Ave neighs/atom = 55.760145 +Ave special neighs/atom = 0.0000000 +Neighbor list builds = 121 +Dangerous builds = 1 + +# Turn off recentering during production phase +unfix recentering + +# Setup trajectory output +dump myDump all custom 100 benzene_water.lammpstrj.gz id type x y z element +dump_modify myDump element B W +dump_modify myDump sort id + +# Production (for realistic results, run for 10000000 steps) +reset_timestep 0 +run 1000 + generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 9.022 | 9.022 | 9.022 Mbytes +Temp KinEng PotEng TotEng E_bond E_angle E_dihed E_vdwl + 309.10643 1270.5934 2333.1848 3603.7783 0 0 0 2333.1848 + 300.84572 1236.6375 2331.3493 3567.9868 0 0 0 2331.3493 + 300.90599 1236.8852 2337.6775 3574.5627 0 0 0 2337.6775 + 302.77895 1244.5841 2341.7778 3586.362 0 0 0 2341.7778 + 291.66639 1198.9055 2320.3512 3519.2567 0 0 0 2320.3512 + 298.7003 1227.8187 2292.8195 3520.6382 0 0 0 2292.8195 + 301.11163 1237.7305 2310.017 3547.7475 0 0 0 2310.017 + 305.22515 1254.6393 2315.1355 3569.7748 0 0 0 2315.1355 + 295.15921 1213.2629 2310.184 3523.4468 0 0 0 2310.184 + 299.2024 1229.8826 2332.2118 3562.0943 0 0 0 2332.2118 + 302.80078 1244.6738 2320.3763 3565.0502 0 0 0 2320.3763 +Loop time of 3.07208 on 1 procs for 1000 steps with 1380 atoms + +Performance: 56.249 ns/day, 0.427 hours/ns, 325.512 timesteps/s +99.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.8993 | 2.8993 | 2.8993 | 0.0 | 94.37 +Bond | 6.5327e-05 | 6.5327e-05 | 6.5327e-05 | 0.0 | 0.00 +Neigh | 0.083502 | 0.083502 | 0.083502 | 0.0 | 2.72 +Comm | 0.019967 | 0.019967 | 0.019967 | 0.0 | 0.65 +Output | 0.012268 | 0.012268 | 0.012268 | 0.0 | 0.40 +Modify | 0.052801 | 0.052801 | 0.052801 | 0.0 | 1.72 +Other | | 0.004203 | | | 0.14 + +Nlocal: 1380.00 ave 1380 max 1380 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 5860.00 ave 5860 max 5860 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 77055.0 ave 77055 max 77055 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 77055 +Ave neighs/atom = 55.836957 +Ave special neighs/atom = 0.0000000 +Neighbor list builds = 24 +Dangerous builds = 0 + + +Total wall time: 0:00:19 diff --git a/examples/PACKAGES/local_density/benzene_water/log.27Oct21.benzene_water.g++.4 b/examples/PACKAGES/local_density/benzene_water/log.27Oct21.benzene_water.g++.4 new file mode 100644 index 0000000000..f841181777 --- /dev/null +++ b/examples/PACKAGES/local_density/benzene_water/log.27Oct21.benzene_water.g++.4 @@ -0,0 +1,299 @@ +LAMMPS (27 Oct 2021) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# LAMMPS input file for 26.5% benzene mole fraction solution +# with 380 benzene and 1000 water molecules, +# using all possible local density potentials +# between benzene and water +# +# Author: Tanmoy Sanyal, Shell Group, UC Santa Barbara +# +# Refer: Sanyal and Shell, JPC-B, 2018, 122 (21), 5678-5693 + + + +# Initialize simulation box +dimension 3 +boundary p p p +units real +atom_style molecular + +# Set potential styles +pair_style hybrid/overlay table spline 500 local/density + +# Read molecule data and set initial velocities +read_data benzene_water.data +Reading data file ... + orthogonal box = (-12.865000 -12.865000 -64.829000) to (12.865000 12.865000 64.829000) + 1 by 1 by 4 MPI processor grid + reading atoms ... + 1380 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.007 seconds +velocity all create 3.0000e+02 16611 rot yes dist gaussian + +# Assign potentials +pair_coeff 1 1 table benzene_water.pair.table PairBB +WARNING: 33 of 500 force values in table PairBB are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/pair_table.cpp:465) +WARNING: 150 of 500 distance values in table 1e-06 with relative error +WARNING: over PairBB to re-computed values (src/pair_table.cpp:473) +pair_coeff 1 2 table benzene_water.pair.table PairWW +WARNING: 61 of 500 force values in table PairWW are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/pair_table.cpp:465) +WARNING: 90 of 500 distance values in table 1e-06 with relative error +WARNING: over PairWW to re-computed values (src/pair_table.cpp:473) +pair_coeff 2 2 table benzene_water.pair.table PairBW +WARNING: 108 of 500 force values in table PairBW are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/pair_table.cpp:465) +WARNING: 135 of 500 distance values in table 1e-06 with relative error +WARNING: over PairBW to re-computed values (src/pair_table.cpp:473) +pair_coeff * * local/density benzene_water.localdensity.table + +# Recentering during minimization and equilibration +fix recentering all recenter 0.0 0.0 0.0 units box + +# Thermostat & time integration +timestep 2.0 +thermo 100 +thermo_style custom temp ke pe etotal ebond eangle edihed evdwl + +# Minimization +minimize 1.e-4 0.0 10000 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- pair_style local/density command: + +@Article{Sanyal16, + author = {T.Sanyal and M.Scott Shell}, + title = {Coarse-grained models using local-density potentials optimized with the relative entropy: Application to implicit solvation}, + journal = {J.~Chem.~Phys.}, + year = 2016, + DOI = doi.org/10.1063/1.4958629} + +@Article{Sanyal18, + author = {T.Sanyal and M.Scott Shell}, + title = {Transferable coarse-grained models of liquid-liquid equilibrium using local density potentials optimized with the relative entropy}, + journal = {J.~Phys.~Chem. B}, + year = 2018, + DOI = doi.org/10.1021/acs.jpcb.7b12446} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:187) + generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 15.25 + ghost atom cutoff = 15.25 + binsize = 7.625, bins = 4 4 18 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair table, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) pair local/density, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 8.441 | 8.589 | 8.688 Mbytes +Temp KinEng PotEng TotEng E_bond E_angle E_dihed E_vdwl + 300 1233.1611 2374.6749 3607.836 0 0 0 2374.6749 + 300 1233.1611 1024.8113 2257.9724 0 0 0 1024.8113 +Loop time of 0.240559 on 4 procs for 74 steps with 1380 atoms + +98.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +Minimization stats: + Stopping criterion = energy tolerance + Energy initial, next-to-last, final = + 2374.67491482358 1024.89407898645 1024.81130011575 + Force two-norm initial, final = 263.77519 20.459697 + Force max component initial, final = 22.412654 8.6082349 + Final line search alpha, max atom move = 0.027790997 0.23923143 + Iterations, force evaluations = 74 118 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.15928 | 0.1873 | 0.22814 | 6.5 | 77.86 +Bond | 3.857e-06 | 4.4012e-06 | 5.496e-06 | 0.0 | 0.00 +Neigh | 0.00064142 | 0.0028761 | 0.0058864 | 4.2 | 1.20 +Comm | 0.0040776 | 0.039595 | 0.074187 | 12.6 | 16.46 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 0.01078 | | | 4.48 + +Nlocal: 345.000 ave 664 max 147 min +Histogram: 2 0 0 0 0 1 0 0 0 1 +Nghost: 2850.50 ave 4438 max 1208 min +Histogram: 1 0 0 1 0 0 1 0 0 1 +Neighs: 19377.5 ave 37718 max 7456 min +Histogram: 2 0 0 0 0 1 0 0 0 1 + +Total # of neighbors = 77510 +Ave neighs/atom = 56.166667 +Ave special neighs/atom = 0.0000000 +Neighbor list builds = 3 +Dangerous builds = 0 + +# Set up integration parameters +fix timeintegration all nve +fix thermostat all langevin 3.0000e+02 3.0000e+02 1.0000e+02 81890 + +# Equilibration (for realistic results, run for 5000000 steps) +reset_timestep 0 +run 5000 + generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +WARNING: Fix recenter should come after all other integration fixes (src/fix_recenter.cpp:133) +Per MPI rank memory allocation (min/avg/max) = 7.316 | 7.465 | 7.563 Mbytes +Temp KinEng PotEng TotEng E_bond E_angle E_dihed E_vdwl + 300 1233.1611 1024.8113 2257.9724 0 0 0 1024.8113 + 263.61917 1083.6164 1866.745 2950.3614 0 0 0 1866.745 + 296.0253 1216.823 2122.8463 3339.6692 0 0 0 2122.8463 + 301.93846 1241.1292 2172.9802 3414.1095 0 0 0 2172.9802 + 293.9491 1208.2887 2205.4892 3413.7779 0 0 0 2205.4892 + 286.33795 1177.0027 2204.8908 3381.8935 0 0 0 2204.8908 + 295.48217 1214.5904 2230.8849 3445.4753 0 0 0 2230.8849 + 293.88908 1208.0419 2218.7563 3426.7982 0 0 0 2218.7563 + 295.13798 1213.1756 2277.4515 3490.6271 0 0 0 2277.4515 + 290.39538 1193.681 2273.4385 3467.1195 0 0 0 2273.4385 + 297.56782 1223.1635 2268.7182 3491.8817 0 0 0 2268.7182 + 306.45578 1259.6978 2289.1507 3548.8486 0 0 0 2289.1507 + 308.54582 1268.289 2284.8514 3553.1404 0 0 0 2284.8514 + 302.17353 1242.0955 2262.5577 3504.6532 0 0 0 2262.5577 + 295.30087 1213.8452 2315.8853 3529.7305 0 0 0 2315.8853 + 308.59197 1268.4787 2291.8314 3560.3101 0 0 0 2291.8314 + 297.75618 1223.9378 2287.2003 3511.1381 0 0 0 2287.2003 + 303.43395 1247.2765 2297.7158 3544.9923 0 0 0 2297.7158 + 307.16233 1262.6021 2255.9769 3518.5791 0 0 0 2255.9769 + 301.34428 1238.6868 2284.416 3523.1028 0 0 0 2284.416 + 295.43209 1214.3846 2294.1043 3508.4889 0 0 0 2294.1043 + 287.86904 1183.2963 2257.0204 3440.3168 0 0 0 2257.0204 + 297.2661 1221.9233 2251.4194 3473.3428 0 0 0 2251.4194 + 298.90221 1228.6486 2261.834 3490.4826 0 0 0 2261.834 + 288.07202 1184.1307 2284.1918 3468.3225 0 0 0 2284.1918 + 300.41201 1234.8547 2303.9573 3538.812 0 0 0 2303.9573 + 283.91279 1167.034 2329.7936 3496.8277 0 0 0 2329.7936 + 297.27507 1221.9602 2337.0516 3559.0118 0 0 0 2337.0516 + 296.22263 1217.6341 2335.6424 3553.2765 0 0 0 2335.6424 + 296.13784 1217.2856 2364.7034 3581.989 0 0 0 2364.7034 + 308.17642 1266.7706 2320.2753 3587.0459 0 0 0 2320.2753 + 310.26592 1275.3596 2301.9318 3577.2914 0 0 0 2301.9318 + 292.97391 1204.2801 2289.8116 3494.0917 0 0 0 2289.8116 + 294.81231 1211.8369 2315.0388 3526.8757 0 0 0 2315.0388 + 298.66155 1227.6594 2317.2844 3544.9437 0 0 0 2317.2844 + 302.77939 1244.5859 2301.2063 3545.7922 0 0 0 2301.2063 + 291.47597 1198.1228 2285.1757 3483.2985 0 0 0 2285.1757 + 286.19045 1176.3964 2265.2665 3441.6629 0 0 0 2265.2665 + 295.58144 1214.9984 2272.3165 3487.315 0 0 0 2272.3165 + 283.86988 1166.8577 2320.6142 3487.4719 0 0 0 2320.6142 + 300.0576 1233.3979 2330.8962 3564.2941 0 0 0 2330.8962 + 299.86413 1232.6026 2321.2281 3553.8308 0 0 0 2321.2281 + 292.79017 1203.5248 2334.2308 3537.7557 0 0 0 2334.2308 + 291.5027 1198.2327 2335.2119 3533.4446 0 0 0 2335.2119 + 299.55471 1231.3307 2332.5216 3563.8524 0 0 0 2332.5216 + 293.29613 1205.6046 2295.3263 3500.9309 0 0 0 2295.3263 + 303.13151 1246.0333 2310.0548 3556.0881 0 0 0 2310.0548 + 298.83954 1228.391 2297.3117 3525.7027 0 0 0 2297.3117 + 297.44775 1222.67 2307.2483 3529.9183 0 0 0 2307.2483 + 309.59874 1272.6171 2309.2439 3581.861 0 0 0 2309.2439 + 307.47844 1263.9015 2274.998 3538.8995 0 0 0 2274.998 +Loop time of 11.2235 on 4 procs for 5000 steps with 1380 atoms + +Performance: 76.982 ns/day, 0.312 hours/ns, 445.495 timesteps/s +98.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 7.1444 | 8.5074 | 10.534 | 44.9 | 75.80 +Bond | 0.00017048 | 0.00020672 | 0.00030488 | 0.0 | 0.00 +Neigh | 0.026174 | 0.12108 | 0.26052 | 28.2 | 1.08 +Comm | 0.21788 | 1.8597 | 3.3375 | 81.2 | 16.57 +Output | 0.0008989 | 0.0069895 | 0.021647 | 10.2 | 0.06 +Modify | 0.19418 | 0.7044 | 2.1378 | 98.6 | 6.28 +Other | | 0.02368 | | | 0.21 + +Nlocal: 345.000 ave 678 max 148 min +Histogram: 2 0 0 0 1 0 0 0 0 1 +Nghost: 2854.25 ave 4464 max 1181 min +Histogram: 1 0 0 1 0 0 1 0 0 1 +Neighs: 19366.8 ave 38533 max 7481 min +Histogram: 2 0 0 0 0 1 0 0 0 1 + +Total # of neighbors = 77467 +Ave neighs/atom = 56.135507 +Ave special neighs/atom = 0.0000000 +Neighbor list builds = 121 +Dangerous builds = 1 + +# Turn off recentering during production phase +unfix recentering + +# Setup trajectory output +dump myDump all custom 100 benzene_water.lammpstrj.gz id type x y z element +dump_modify myDump element B W +dump_modify myDump sort id + +# Production (for realistic results, run for 10000000 steps) +reset_timestep 0 +run 1000 + generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 8.640 | 8.791 | 8.894 Mbytes +Temp KinEng PotEng TotEng E_bond E_angle E_dihed E_vdwl + 307.47844 1263.9015 2274.998 3538.8995 0 0 0 2274.998 + 309.46142 1272.0526 2274.8499 3546.9026 0 0 0 2274.8499 + 300.70977 1236.0787 2301.0588 3537.1374 0 0 0 2301.0588 + 300.53659 1235.3668 2316.1008 3551.4675 0 0 0 2316.1008 + 300.48582 1235.1581 2296.3009 3531.459 0 0 0 2296.3009 + 299.2618 1230.1267 2325.7501 3555.8768 0 0 0 2325.7501 + 303.00905 1245.5299 2321.8238 3567.3537 0 0 0 2321.8238 + 300.07018 1233.4496 2339.2833 3572.7329 0 0 0 2339.2833 + 304.20292 1250.4374 2353.1018 3603.5392 0 0 0 2353.1018 + 304.19487 1250.4043 2334.5087 3584.913 0 0 0 2334.5087 + 294.24283 1209.4961 2335.0535 3544.5496 0 0 0 2335.0535 +Loop time of 2.90512 on 4 procs for 1000 steps with 1380 atoms + +Performance: 59.481 ns/day, 0.403 hours/ns, 344.220 timesteps/s +98.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.8627 | 2.2082 | 2.7289 | 22.6 | 76.01 +Bond | 4.042e-05 | 5.3677e-05 | 8.4044e-05 | 0.0 | 0.00 +Neigh | 0.0066184 | 0.030172 | 0.064523 | 13.9 | 1.04 +Comm | 0.05914 | 0.51145 | 0.86887 | 40.7 | 17.61 +Output | 0.0057814 | 0.0073478 | 0.011158 | 2.6 | 0.25 +Modify | 0.0085337 | 0.020869 | 0.042248 | 9.4 | 0.72 +Other | | 0.127 | | | 4.37 + +Nlocal: 345.000 ave 682 max 147 min +Histogram: 2 0 0 0 1 0 0 0 0 1 +Nghost: 2836.25 ave 4427 max 1175 min +Histogram: 1 0 0 1 0 0 1 0 0 1 +Neighs: 19249.8 ave 38683 max 7433 min +Histogram: 2 0 0 0 1 0 0 0 0 1 + +Total # of neighbors = 76999 +Ave neighs/atom = 55.796377 +Ave special neighs/atom = 0.0000000 +Neighbor list builds = 23 +Dangerous builds = 0 + + +Total wall time: 0:00:14 diff --git a/examples/PACKAGES/local_density/methanol_implicit_water/methanol_implicit_water.in b/examples/PACKAGES/local_density/methanol_implicit_water/in.methanol_implicit_water similarity index 86% rename from examples/PACKAGES/local_density/methanol_implicit_water/methanol_implicit_water.in rename to examples/PACKAGES/local_density/methanol_implicit_water/in.methanol_implicit_water index ef92fbe655..76038b2337 100644 --- a/examples/PACKAGES/local_density/methanol_implicit_water/methanol_implicit_water.in +++ b/examples/PACKAGES/local_density/methanol_implicit_water/in.methanol_implicit_water @@ -1,6 +1,6 @@ # LAMMPS input file for 50.0% methanol mole fraction solution # with 2500 methanol molecules in implicit water. -# +# # # Author: David Rosenberger, van der Vegt Group, TU Darmstadt # @@ -9,7 +9,7 @@ # Initialize simulation box dimension 3 -boundary p p p +boundary p p p units real atom_style molecular @@ -17,7 +17,7 @@ atom_style molecular pair_style hybrid/overlay table spline 500 local/density # Read molecule data and set initial velocities -read_data methanol_implicit_water.data +read_data methanol_implicit_water.data velocity all create 3.0000e+02 12142 rot yes dist gaussian # Assign potentials @@ -31,7 +31,7 @@ pair_coeff * * local/density methanol_implicit_water.localdensity.t fix recentering all recenter 0.0 0.0 0.0 units box #Thermostat & time integration -timestep 1.0 +timestep 1.0 thermo 100 thermo_style custom etotal ke pe temp evdwl @@ -52,15 +52,14 @@ run 2000 #turn off recentering during production run unfix recentering - +reset_timestep 0 #setup trajectory output -dump myDump all custom 100 methanol_implicit_water.lammpstrj.gz id type x y z element -dump_modify myDump element M -dump_modify myDump sort id +#dump myDump all custom 100 methanol_implicit_water.lammpstrj.gz id type x y z element +#dump_modify myDump element M +#dump_modify myDump sort id #run production (for realistic results, run for 10000000 steps) -reset_timestep 0 thermo 1000 thermo_style custom etotal ke pe temp evdwl run 10000 diff --git a/examples/PACKAGES/local_density/methanol_implicit_water/log.04Sep19.g++.1 b/examples/PACKAGES/local_density/methanol_implicit_water/log.04Sep19.g++.1 deleted file mode 100644 index 618e994946..0000000000 --- a/examples/PACKAGES/local_density/methanol_implicit_water/log.04Sep19.g++.1 +++ /dev/null @@ -1,226 +0,0 @@ -LAMMPS (7 Aug 2019) -# LAMMPS input file for 50.0% methanol mole fraction solution -# with 2500 methanol molecules in implicit water. -# -# -# Author: David Rosenberger, van der Vegt Group, TU Darmstadt -# -# Refer: Rosenberger, Sanyal, Shell, van der Vegt, J. Chem. Theory Comput. 15, 2881-2895 (2019) - - -# Initialize simulation box -dimension 3 -boundary p p p -units real -atom_style molecular - -# Set potential styles -pair_style hybrid/overlay table spline 500 local/density - -# Read molecule data and set initial velocities -read_data methanol_implicit_water.data - orthogonal box = (-31.123 -31.123 -31.123) to (31.123 31.123 31.123) - 2 by 2 by 2 MPI processor grid - reading atoms ... - 2500 atoms - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.00063014 secs - read_data CPU = 0.00599909 secs -velocity all create 3.0000e+02 12142 rot yes dist gaussian - -# Assign potentials -pair_coeff 1 1 table methanol_implicit_water.pair.table PairMM -WARNING: 93 of 500 force values in table are inconsistent with -dE/dr. - Should only be flagged at inflection points (../pair_table.cpp:483) -WARNING: 254 of 500 distance values in table with relative error - over 1e-06 to re-computed values (../pair_table.cpp:492) -pair_coeff * * local/density methanol_implicit_water.localdensity.table - - - - -#Recentering during minimization and equilibration -fix recentering all recenter 0.0 0.0 0.0 units box - -#Thermostat & time integration -timestep 1.0 -thermo 100 -thermo_style custom etotal ke pe temp evdwl - -#minimization -minimize 1.e-4 0.0 1000 1000 -WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:168) -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 17 - ghost atom cutoff = 17 - binsize = 8.5, bins = 8 8 8 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair table, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d/newton - bin: standard - (2) pair local/density, perpetual, copy from (1) - attributes: half, newton on - pair build: copy - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 7.411 | 7.411 | 7.412 Mbytes -TotEng KinEng PotEng Temp E_vdwl - 1470.3564 2234.7133 -764.35689 300 -764.35689 - 46.496766 2234.7133 -2188.2165 300 -2188.2165 - 7.9030246 2234.7133 -2226.8103 300 -2226.8103 -Loop time of 0.463996 on 8 procs for 121 steps with 2500 atoms - -91.4% CPU use with 8 MPI tasks x no OpenMP threads - -Minimization stats: - Stopping criterion = linesearch alpha is zero - Energy initial, next-to-last, final = - -764.356892369 -2227.85589084 -2226.81026984 - Force two-norm initial, final = 134.911 3.83896 - Force max component initial, final = 14.1117 1.07422 - Final line search alpha, max atom move = 5.06747e-10 5.44356e-10 - Iterations, force evaluations = 121 154 - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.41442 | 0.41976 | 0.42434 | 0.5 | 90.47 -Bond | 1.1683e-05 | 2.0713e-05 | 3.5048e-05 | 0.0 | 0.00 -Neigh | 0.0084722 | 0.0090862 | 0.010038 | 0.5 | 1.96 -Comm | 0.022712 | 0.028157 | 0.034072 | 1.9 | 6.07 -Output | 3.1948e-05 | 3.6925e-05 | 6.6996e-05 | 0.0 | 0.01 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 0.006937 | | | 1.50 - -Nlocal: 312.5 ave 333 max 299 min -Histogram: 2 2 0 0 1 0 2 0 0 1 -Nghost: 2546 ave 2580 max 2517 min -Histogram: 1 1 0 3 0 1 0 0 0 2 -Neighs: 33215.4 ave 37251 max 29183 min -Histogram: 1 0 0 1 2 2 0 1 0 1 - -Total # of neighbors = 265723 -Ave neighs/atom = 106.289 -Ave special neighs/atom = 0 -Neighbor list builds = 6 -Dangerous builds = 0 - -#set up integration parameters -fix timeintegration all nve -fix thermostat all langevin 3.0000e+02 3.0000e+02 1.0000e+02 59915 - -#Equilibration (for realistic results, run for 2000000 steps) -reset_timestep 0 -thermo 200 -thermo_style custom etotal ke pe temp evdwl - -#run equilibration -run 2000 -WARNING: Fix recenter should come after all other integration fixes (../fix_recenter.cpp:131) -Per MPI rank memory allocation (min/avg/max) = 6.286 | 6.286 | 6.287 Mbytes -TotEng KinEng PotEng Temp E_vdwl - 177.26822 2234.7133 -2057.4451 300 -2057.4451 - 736.24287 2151.2608 -1415.0179 288.79688 -1415.0179 - 963.07617 2090.6433 -1127.5671 280.65926 -1127.5671 - 1148.9049 2173.1327 -1024.2279 291.73309 -1024.2279 - 1303.6409 2279.8586 -976.21767 306.06055 -976.21767 - 1355.42 2281.0383 -925.61826 306.21892 -925.61826 - 1394.5206 2276.2093 -881.68863 305.57064 -881.68863 - 1346.9764 2215.2973 -868.32091 297.3935 -868.32091 - 1381.3654 2248.8061 -867.44063 301.89189 -867.44063 - 1315.8059 2189.3193 -873.51332 293.90606 -873.51332 - 1314.4456 2209.7431 -895.29752 296.64787 -895.29752 -Loop time of 6.38989 on 8 procs for 2000 steps with 2500 atoms - -Performance: 27.043 ns/day, 0.887 hours/ns, 312.994 timesteps/s -80.5% CPU use with 8 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 5.2693 | 5.3572 | 5.457 | 2.1 | 83.84 -Bond | 0.00028825 | 0.00033835 | 0.00039148 | 0.0 | 0.01 -Neigh | 0.0296 | 0.032337 | 0.035071 | 0.9 | 0.51 -Comm | 0.64679 | 0.73397 | 0.80847 | 5.2 | 11.49 -Output | 0.00033498 | 0.00051582 | 0.0015228 | 0.0 | 0.01 -Modify | 0.16395 | 0.18919 | 0.21056 | 3.9 | 2.96 -Other | | 0.07636 | | | 1.19 - -Nlocal: 312.5 ave 337 max 295 min -Histogram: 2 2 0 1 0 0 0 1 1 1 -Nghost: 2551.62 ave 2582 max 2525 min -Histogram: 2 1 0 0 1 1 1 0 1 1 -Neighs: 33241.8 ave 37659 max 29705 min -Histogram: 2 0 0 2 2 0 0 0 1 1 - -Total # of neighbors = 265934 -Ave neighs/atom = 106.374 -Ave special neighs/atom = 0 -Neighbor list builds = 21 -Dangerous builds = 0 - -#turn off recentering during production run -unfix recentering - - -#setup trajectory output -dump myDump all custom 100 methanol_implicit_water.lammpstrj.gz id type x y z element -dump_modify myDump element M -dump_modify myDump sort id - -#run production (for realistic results, run for 10000000 steps) -reset_timestep 0 -thermo 1000 -thermo_style custom etotal ke pe temp evdwl -run 10000 -Per MPI rank memory allocation (min/avg/max) = 7.588 | 7.589 | 7.589 Mbytes -TotEng KinEng PotEng Temp E_vdwl - 1442.5428 2209.7431 -767.20027 296.64787 -767.20027 - 1391.8624 2262.6889 -870.82656 303.7556 -870.82656 - 1375.914 2244.6176 -868.7036 301.3296 -868.7036 - 1345.9064 2227.2324 -881.32599 298.99573 -881.32599 - 1379.2334 2278.1156 -898.88222 305.82657 -898.88222 - 1389.7928 2255.8062 -866.01341 302.83163 -866.01341 - 1380.4549 2258.2108 -877.75582 303.15443 -877.75582 - 1380.8489 2256.9432 -876.09428 302.98426 -876.09428 - 1326.5151 2225.7408 -899.22577 298.79549 -899.22577 - 1376.6025 2253.0128 -876.41028 302.45662 -876.41028 - 1331.0008 2218.1033 -887.10258 297.77019 -887.10258 -Loop time of 25.4591 on 8 procs for 10000 steps with 2500 atoms - -Performance: 33.937 ns/day, 0.707 hours/ns, 392.787 timesteps/s -89.3% CPU use with 8 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 21.635 | 21.916 | 22.237 | 3.9 | 86.08 -Bond | 0.0011308 | 0.0013149 | 0.0016932 | 0.5 | 0.01 -Neigh | 0.14593 | 0.15675 | 0.16667 | 1.9 | 0.62 -Comm | 1.3789 | 1.7502 | 1.9558 | 13.7 | 6.87 -Output | 0.34664 | 0.82927 | 1.2013 | 32.8 | 3.26 -Modify | 0.24904 | 0.25842 | 0.26907 | 1.2 | 1.02 -Other | | 0.5475 | | | 2.15 - -Nlocal: 312.5 ave 327 max 298 min -Histogram: 2 0 0 1 1 0 1 1 1 1 -Nghost: 2575 ave 2601 max 2559 min -Histogram: 2 0 3 1 0 0 0 0 1 1 -Neighs: 33223.2 ave 35920 max 30303 min -Histogram: 1 1 1 1 0 1 0 0 0 3 - -Total # of neighbors = 265786 -Ave neighs/atom = 106.314 -Ave special neighs/atom = 0 -Neighbor list builds = 103 -Dangerous builds = 0 - - -Total wall time: 0:00:32 diff --git a/examples/PACKAGES/local_density/methanol_implicit_water/log.27Oct21.methanol_implicit_water.g++.1 b/examples/PACKAGES/local_density/methanol_implicit_water/log.27Oct21.methanol_implicit_water.g++.1 new file mode 100644 index 0000000000..3048264818 --- /dev/null +++ b/examples/PACKAGES/local_density/methanol_implicit_water/log.27Oct21.methanol_implicit_water.g++.1 @@ -0,0 +1,259 @@ +LAMMPS (27 Oct 2021) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# LAMMPS input file for 50.0% methanol mole fraction solution +# with 2500 methanol molecules in implicit water. +# +# +# Author: David Rosenberger, van der Vegt Group, TU Darmstadt +# +# Refer: Rosenberger, Sanyal, Shell, van der Vegt, J. Chem. Theory Comput. 15, 2881-2895 (2019) + + +# Initialize simulation box +dimension 3 +boundary p p p +units real +atom_style molecular + +# Set potential styles +pair_style hybrid/overlay table spline 500 local/density + +# Read molecule data and set initial velocities +read_data methanol_implicit_water.data +Reading data file ... + orthogonal box = (-31.123000 -31.123000 -31.123000) to (31.123000 31.123000 31.123000) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 2500 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.016 seconds +velocity all create 3.0000e+02 12142 rot yes dist gaussian + +# Assign potentials +pair_coeff 1 1 table methanol_implicit_water.pair.table PairMM +WARNING: 93 of 500 force values in table PairMM are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/pair_table.cpp:465) +WARNING: 254 of 500 distance values in table 1e-06 with relative error +WARNING: over PairMM to re-computed values (src/pair_table.cpp:473) +pair_coeff * * local/density methanol_implicit_water.localdensity.table + + + + +#Recentering during minimization and equilibration +fix recentering all recenter 0.0 0.0 0.0 units box + +#Thermostat & time integration +timestep 1.0 +thermo 100 +thermo_style custom etotal ke pe temp evdwl + +#minimization +minimize 1.e-4 0.0 1000 1000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- pair_style local/density command: + +@Article{Sanyal16, + author = {T.Sanyal and M.Scott Shell}, + title = {Coarse-grained models using local-density potentials optimized with the relative entropy: Application to implicit solvation}, + journal = {J.~Chem.~Phys.}, + year = 2016, + DOI = doi.org/10.1063/1.4958629} + +@Article{Sanyal18, + author = {T.Sanyal and M.Scott Shell}, + title = {Transferable coarse-grained models of liquid-liquid equilibrium using local density potentials optimized with the relative entropy}, + journal = {J.~Phys.~Chem. B}, + year = 2018, + DOI = doi.org/10.1021/acs.jpcb.7b12446} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:187) + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 17 + ghost atom cutoff = 17 + binsize = 8.5, bins = 8 8 8 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair table, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) pair local/density, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 9.535 | 9.535 | 9.535 Mbytes +TotEng KinEng PotEng Temp E_vdwl + 1283.8556 2234.7133 -950.85771 300 -950.85771 + -10.187232 2234.7133 -2244.9005 300 -2244.9005 + -124.79406 2234.7133 -2359.5074 300 -2359.5074 + -126.7619 2234.7133 -2361.4752 300 -2361.4752 +Loop time of 3.74581 on 1 procs for 205 steps with 2500 atoms + +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +Minimization stats: + Stopping criterion = energy tolerance + Energy initial, next-to-last, final = + -950.857712502514 -2361.24417962983 -2361.47519428972 + Force two-norm initial, final = 135.25170 2.8038329 + Force max component initial, final = 14.083102 1.1154133 + Final line search alpha, max atom move = 0.16981022 0.18940857 + Iterations, force evaluations = 205 223 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 3.5678 | 3.5678 | 3.5678 | 0.0 | 95.25 +Bond | 7.5831e-05 | 7.5831e-05 | 7.5831e-05 | 0.0 | 0.00 +Neigh | 0.12962 | 0.12962 | 0.12962 | 0.0 | 3.46 +Comm | 0.019204 | 0.019204 | 0.019204 | 0.0 | 0.51 +Output | 0.00023948 | 0.00023948 | 0.00023948 | 0.0 | 0.01 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 0.02886 | | | 0.77 + +Nlocal: 2500.00 ave 2500 max 2500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 6729.00 ave 6729 max 6729 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 265637.0 ave 265637 max 265637 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 265637 +Ave neighs/atom = 106.25480 +Ave special neighs/atom = 0.0000000 +Neighbor list builds = 11 +Dangerous builds = 0 + +#set up integration parameters +fix timeintegration all nve +fix thermostat all langevin 3.0000e+02 3.0000e+02 1.0000e+02 59915 + +#Equilibration (for realistic results, run for 2000000 steps) +reset_timestep 0 +thermo 200 +thermo_style custom etotal ke pe temp evdwl + +#run equilibration +run 2000 + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +WARNING: Fix recenter should come after all other integration fixes (src/fix_recenter.cpp:133) +Per MPI rank memory allocation (min/avg/max) = 8.410 | 8.410 | 8.410 Mbytes +TotEng KinEng PotEng Temp E_vdwl + -126.7619 2234.7133 -2361.4752 300 -2361.4752 + 517.05047 2015.8636 -1498.8131 270.62043 -1498.8131 + 931.78263 2135.4332 -1203.6506 286.6721 -1203.6506 + 1162.6209 2242.1662 -1079.5453 301.00051 -1079.5453 + 1164.2129 2211.6204 -1047.4075 296.89989 -1047.4075 + 1258.0085 2286.5942 -1028.5857 306.96477 -1028.5857 + 1231.1937 2200.814 -969.62032 295.44917 -969.62032 + 1251.2144 2245.0533 -993.83885 301.3881 -993.83885 + 1237.2495 2239.8802 -1002.6307 300.69363 -1002.6307 + 1232.3342 2224.3415 -992.00722 298.60763 -992.00722 + 1235.3228 2197.191 -961.86817 294.9628 -961.86817 +Loop time of 23.6478 on 1 procs for 2000 steps with 2500 atoms + +Performance: 7.307 ns/day, 3.284 hours/ns, 84.575 timesteps/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 22.797 | 22.797 | 22.797 | 0.0 | 96.40 +Bond | 0.00070412 | 0.00070412 | 0.00070412 | 0.0 | 0.00 +Neigh | 0.2249 | 0.2249 | 0.2249 | 0.0 | 0.95 +Comm | 0.12259 | 0.12259 | 0.12259 | 0.0 | 0.52 +Output | 0.00088925 | 0.00088925 | 0.00088925 | 0.0 | 0.00 +Modify | 0.46447 | 0.46447 | 0.46447 | 0.0 | 1.96 +Other | | 0.03711 | | | 0.16 + +Nlocal: 2500.00 ave 2500 max 2500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 6752.00 ave 6752 max 6752 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 265940.0 ave 265940 max 265940 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 265940 +Ave neighs/atom = 106.37600 +Ave special neighs/atom = 0.0000000 +Neighbor list builds = 20 +Dangerous builds = 0 + +#turn off recentering during production run +unfix recentering + + +#setup trajectory output +dump myDump all custom 100 methanol_implicit_water.lammpstrj.gz id type x y z element +dump_modify myDump element M +dump_modify myDump sort id + +#run production (for realistic results, run for 10000000 steps) +reset_timestep 0 +thermo 1000 +thermo_style custom etotal ke pe temp evdwl +run 10000 + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 9.918 | 9.918 | 9.918 Mbytes +TotEng KinEng PotEng Temp E_vdwl + 1235.3228 2197.191 -961.86817 294.9628 -961.86817 + 1289.8463 2236.1425 -946.29622 300.19186 -946.29622 + 1348.0825 2305.0295 -956.94703 309.43963 -956.94703 + 1279.5478 2241.1582 -961.61041 300.86521 -961.61041 + 1231.8597 2201.9591 -970.09949 295.60291 -970.09949 + 1277.3424 2221.3696 -944.02725 298.20867 -944.02725 + 1296.0116 2222.0998 -926.08818 298.3067 -926.08818 + 1266.2849 2206.3727 -940.08782 296.1954 -940.08782 + 1313.2808 2260.5077 -947.22683 303.46278 -947.22683 + 1309.3076 2234.3895 -925.08198 299.95654 -925.08198 + 1275.9792 2221.3037 -945.32449 298.19982 -945.32449 +Loop time of 67.3224 on 1 procs for 10000 steps with 2500 atoms + +Performance: 12.834 ns/day, 1.870 hours/ns, 148.539 timesteps/s +99.4% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 64.476 | 64.476 | 64.476 | 0.0 | 95.77 +Bond | 0.0014504 | 0.0014504 | 0.0014504 | 0.0 | 0.00 +Neigh | 0.71333 | 0.71333 | 0.71333 | 0.0 | 1.06 +Comm | 0.32846 | 0.32846 | 0.32846 | 0.0 | 0.49 +Output | 0.46997 | 0.46997 | 0.46997 | 0.0 | 0.70 +Modify | 1.2336 | 1.2336 | 1.2336 | 0.0 | 1.83 +Other | | 0.09996 | | | 0.15 + +Nlocal: 2500.00 ave 2500 max 2500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 6662.00 ave 6662 max 6662 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 265774.0 ave 265774 max 265774 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 265774 +Ave neighs/atom = 106.30960 +Ave special neighs/atom = 0.0000000 +Neighbor list builds = 104 +Dangerous builds = 0 + + +Total wall time: 0:01:34 diff --git a/examples/PACKAGES/local_density/methanol_implicit_water/log.27Oct21.methanol_implicit_water.g++.4 b/examples/PACKAGES/local_density/methanol_implicit_water/log.27Oct21.methanol_implicit_water.g++.4 new file mode 100644 index 0000000000..9467e7f9bf --- /dev/null +++ b/examples/PACKAGES/local_density/methanol_implicit_water/log.27Oct21.methanol_implicit_water.g++.4 @@ -0,0 +1,259 @@ +LAMMPS (27 Oct 2021) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# LAMMPS input file for 50.0% methanol mole fraction solution +# with 2500 methanol molecules in implicit water. +# +# +# Author: David Rosenberger, van der Vegt Group, TU Darmstadt +# +# Refer: Rosenberger, Sanyal, Shell, van der Vegt, J. Chem. Theory Comput. 15, 2881-2895 (2019) + + +# Initialize simulation box +dimension 3 +boundary p p p +units real +atom_style molecular + +# Set potential styles +pair_style hybrid/overlay table spline 500 local/density + +# Read molecule data and set initial velocities +read_data methanol_implicit_water.data +Reading data file ... + orthogonal box = (-31.123000 -31.123000 -31.123000) to (31.123000 31.123000 31.123000) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 2500 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.005 seconds +velocity all create 3.0000e+02 12142 rot yes dist gaussian + +# Assign potentials +pair_coeff 1 1 table methanol_implicit_water.pair.table PairMM +WARNING: 93 of 500 force values in table PairMM are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/pair_table.cpp:465) +WARNING: 254 of 500 distance values in table 1e-06 with relative error +WARNING: over PairMM to re-computed values (src/pair_table.cpp:473) +pair_coeff * * local/density methanol_implicit_water.localdensity.table + + + + +#Recentering during minimization and equilibration +fix recentering all recenter 0.0 0.0 0.0 units box + +#Thermostat & time integration +timestep 1.0 +thermo 100 +thermo_style custom etotal ke pe temp evdwl + +#minimization +minimize 1.e-4 0.0 1000 1000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- pair_style local/density command: + +@Article{Sanyal16, + author = {T.Sanyal and M.Scott Shell}, + title = {Coarse-grained models using local-density potentials optimized with the relative entropy: Application to implicit solvation}, + journal = {J.~Chem.~Phys.}, + year = 2016, + DOI = doi.org/10.1063/1.4958629} + +@Article{Sanyal18, + author = {T.Sanyal and M.Scott Shell}, + title = {Transferable coarse-grained models of liquid-liquid equilibrium using local density potentials optimized with the relative entropy}, + journal = {J.~Phys.~Chem. B}, + year = 2018, + DOI = doi.org/10.1021/acs.jpcb.7b12446} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:187) + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 17 + ghost atom cutoff = 17 + binsize = 8.5, bins = 8 8 8 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair table, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) pair local/density, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 7.855 | 7.855 | 7.855 Mbytes +TotEng KinEng PotEng Temp E_vdwl + 1283.8556 2234.7133 -950.85771 300 -950.85771 + -10.187232 2234.7133 -2244.9005 300 -2244.9005 + -124.3661 2234.7133 -2359.0794 300 -2359.0794 + -146.7158 2234.7133 -2381.4291 300 -2381.4291 +Loop time of 0.528503 on 4 procs for 244 steps with 2500 atoms + +99.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +Minimization stats: + Stopping criterion = energy tolerance + Energy initial, next-to-last, final = + -950.857712502527 -2381.2294195605 -2381.42909821383 + Force two-norm initial, final = 135.25170 2.3117934 + Force max component initial, final = 14.083102 0.60833889 + Final line search alpha, max atom move = 0.18347073 0.11161238 + Iterations, force evaluations = 244 278 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.48518 | 0.48843 | 0.49223 | 0.4 | 92.42 +Bond | 1.0084e-05 | 1.0861e-05 | 1.1483e-05 | 0.0 | 0.00 +Neigh | 0.018199 | 0.019153 | 0.020036 | 0.5 | 3.62 +Comm | 0.010229 | 0.014832 | 0.018994 | 2.6 | 2.81 +Output | 3.7985e-05 | 4.2069e-05 | 5.3874e-05 | 0.0 | 0.01 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 0.006032 | | | 1.14 + +Nlocal: 625.000 ave 638 max 618 min +Histogram: 2 0 0 0 1 0 0 0 0 1 +Nghost: 3613.75 ave 3640 max 3580 min +Histogram: 1 0 0 0 1 0 0 0 1 1 +Neighs: 66411.2 ave 70713 max 62416 min +Histogram: 1 0 1 0 0 0 1 0 0 1 + +Total # of neighbors = 265645 +Ave neighs/atom = 106.25800 +Ave special neighs/atom = 0.0000000 +Neighbor list builds = 13 +Dangerous builds = 0 + +#set up integration parameters +fix timeintegration all nve +fix thermostat all langevin 3.0000e+02 3.0000e+02 1.0000e+02 59915 + +#Equilibration (for realistic results, run for 2000000 steps) +reset_timestep 0 +thermo 200 +thermo_style custom etotal ke pe temp evdwl + +#run equilibration +run 2000 + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +WARNING: Fix recenter should come after all other integration fixes (src/fix_recenter.cpp:133) +Per MPI rank memory allocation (min/avg/max) = 6.730 | 6.730 | 6.731 Mbytes +TotEng KinEng PotEng Temp E_vdwl + -146.7158 2234.7133 -2381.4291 300 -2381.4291 + 540.68168 2041.44 -1500.7584 274.05395 -1500.7584 + 945.4949 2163.7509 -1218.256 290.47363 -1218.256 + 1118.7729 2195.7579 -1076.985 294.77042 -1076.985 + 1215.0058 2233.2445 -1018.2387 299.80282 -1018.2387 + 1251.8045 2240.8439 -989.03944 300.823 -989.03944 + 1206.649 2149.5807 -942.93169 288.57134 -942.93169 + 1290.6111 2248.3623 -957.75117 301.83231 -957.75117 + 1312.8944 2219.147 -906.25264 297.9103 -906.25264 + 1260.002 2211.4176 -951.41561 296.87266 -951.41561 + 1335.0956 2270.1367 -935.04108 304.75543 -935.04108 +Loop time of 3.56721 on 4 procs for 2000 steps with 2500 atoms + +Performance: 48.441 ns/day, 0.495 hours/ns, 560.663 timesteps/s +99.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 3.3122 | 3.3399 | 3.3633 | 1.0 | 93.63 +Bond | 7.5941e-05 | 8.062e-05 | 8.7627e-05 | 0.0 | 0.00 +Neigh | 0.03524 | 0.036666 | 0.037864 | 0.6 | 1.03 +Comm | 0.080116 | 0.10444 | 0.13373 | 6.1 | 2.93 +Output | 0.00019977 | 0.00022502 | 0.00029007 | 0.0 | 0.01 +Modify | 0.077781 | 0.078206 | 0.078752 | 0.1 | 2.19 +Other | | 0.007641 | | | 0.21 + +Nlocal: 625.000 ave 637 max 616 min +Histogram: 1 0 1 0 1 0 0 0 0 1 +Nghost: 3597.25 ave 3610 max 3586 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Neighs: 66468.2 ave 69230 max 62721 min +Histogram: 1 0 0 1 0 0 0 0 0 2 + +Total # of neighbors = 265873 +Ave neighs/atom = 106.34920 +Ave special neighs/atom = 0.0000000 +Neighbor list builds = 20 +Dangerous builds = 0 + +#turn off recentering during production run +unfix recentering + + +#setup trajectory output +dump myDump all custom 100 methanol_implicit_water.lammpstrj.gz id type x y z element +dump_modify myDump element M +dump_modify myDump sort id + +#run production (for realistic results, run for 10000000 steps) +reset_timestep 0 +thermo 1000 +thermo_style custom etotal ke pe temp evdwl +run 10000 + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 8.071 | 8.071 | 8.071 Mbytes +TotEng KinEng PotEng Temp E_vdwl + 1335.0956 2270.1367 -935.04108 304.75543 -935.04108 + 1266.2305 2227.2123 -960.98186 298.99303 -960.98186 + 1304.2289 2238.1343 -933.90544 300.45925 -933.90544 + 1311.3201 2232.0862 -920.7661 299.64733 -920.7661 + 1289.9028 2241.3533 -951.45049 300.89139 -951.45049 + 1314.2234 2244.8514 -930.62797 301.361 -930.62797 + 1282.2744 2240.6716 -958.39719 300.79987 -958.39719 + 1239.302 2181.5711 -942.2691 292.86591 -942.2691 + 1327.0954 2242.6441 -915.54875 301.06468 -915.54875 + 1334.9799 2239.6841 -904.70423 300.66731 -904.70423 + 1320.6105 2263.4912 -942.88066 303.8633 -942.88066 +Loop time of 23.3399 on 4 procs for 10000 steps with 2500 atoms + +Performance: 37.018 ns/day, 0.648 hours/ns, 428.451 timesteps/s +99.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 21.343 | 21.606 | 21.766 | 3.7 | 92.57 +Bond | 0.00045963 | 0.0004817 | 0.0005083 | 0.0 | 0.00 +Neigh | 0.20708 | 0.22081 | 0.22733 | 1.7 | 0.95 +Comm | 0.63014 | 0.80326 | 1.0801 | 19.8 | 3.44 +Output | 0.11791 | 0.14443 | 0.22211 | 11.8 | 0.62 +Modify | 0.37291 | 0.389 | 0.41719 | 2.7 | 1.67 +Other | | 0.1761 | | | 0.75 + +Nlocal: 625.000 ave 636 max 613 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Nghost: 3597.00 ave 3613 max 3580 min +Histogram: 1 0 0 1 0 0 0 1 0 1 +Neighs: 66408.5 ave 69186 max 61728 min +Histogram: 1 0 0 0 0 0 1 0 1 1 + +Total # of neighbors = 265634 +Ave neighs/atom = 106.25360 +Ave special neighs/atom = 0.0000000 +Neighbor list builds = 102 +Dangerous builds = 0 + + +Total wall time: 0:00:27 diff --git a/examples/PACKAGES/local_density/methanol_implicit_water/methanol_implicit_water.localdensity.table b/examples/PACKAGES/local_density/methanol_implicit_water/methanol_implicit_water.localdensity.table index b9b4a082bc..af2d4304f7 100644 --- a/examples/PACKAGES/local_density/methanol_implicit_water/methanol_implicit_water.localdensity.table +++ b/examples/PACKAGES/local_density/methanol_implicit_water/methanol_implicit_water.localdensity.table @@ -1,4 +1,4 @@ -#LOCAL DENSITY POTENTIALS +#LOCAL DENSITY POTENTIALS UNITS: real 1 500 diff --git a/examples/PACKAGES/local_density/methanol_implicit_water/methanol_implicit_water.pair.table b/examples/PACKAGES/local_density/methanol_implicit_water/methanol_implicit_water.pair.table index b74fe398e8..6ec4a0a762 100644 --- a/examples/PACKAGES/local_density/methanol_implicit_water/methanol_implicit_water.pair.table +++ b/examples/PACKAGES/local_density/methanol_implicit_water/methanol_implicit_water.pair.table @@ -1,4 +1,4 @@ - +# UNITS: real PairMM N 500 R 2.00000e-02 1.50000e+01 diff --git a/lib/plumed/Install.py b/lib/plumed/Install.py index 548e51a5bc..5cd3f776cb 100644 --- a/lib/plumed/Install.py +++ b/lib/plumed/Install.py @@ -51,9 +51,11 @@ checksums = { \ '2.6.0' : '204d2edae58d9b10ba3ad460cad64191', \ '2.6.1' : '89a9a450fc6025299fe16af235957163', \ '2.6.3' : 'a9f8028fd74528c2024781ea1fdefeee', \ + '2.6.5' : 'b67356f027e5c2747823b0422c3b0ec2', \ '2.7.0' : '95f29dd0c067577f11972ff90dfc7d12', \ '2.7.1' : '4eac6a462ec84dfe0cec96c82421b8e8', \ '2.7.2' : 'cfa0b4dd90a81c25d3302e8d97bfeaea', \ + '2.7.3' : 'f00cc82edfefe6bb3df934911dbe32fb', \ } # parse and process arguments diff --git a/src/EXTRA-FIX/fix_ave_correlate_long.cpp b/src/EXTRA-FIX/fix_ave_correlate_long.cpp index 1746c7f6f5..5dc3f01aad 100644 --- a/src/EXTRA-FIX/fix_ave_correlate_long.cpp +++ b/src/EXTRA-FIX/fix_ave_correlate_long.cpp @@ -70,6 +70,7 @@ FixAveCorrelateLong::FixAveCorrelateLong(LAMMPS * lmp, int narg, char **arg): restart_global = 1; global_freq = nfreq; + time_depend = 1; // parse values until one isn't recognized @@ -400,11 +401,8 @@ void FixAveCorrelateLong::end_of_step() double scalar; // skip if not step which requires doing something - // error check if timestep was reset in an invalid manner bigint ntimestep = update->ntimestep; - if (ntimestep < nvalid_last || ntimestep > nvalid) - error->all(FLERR,"Invalid timestep reset for fix ave/correlate/long"); if (ntimestep != nvalid) return; nvalid_last = nvalid; diff --git a/src/MANYBODY/pair_local_density.cpp b/src/MANYBODY/pair_local_density.cpp index 5fefd33dea..3fe12bb71d 100644 --- a/src/MANYBODY/pair_local_density.cpp +++ b/src/MANYBODY/pair_local_density.cpp @@ -28,6 +28,7 @@ #include "memory.h" #include "neigh_list.h" #include "neighbor.h" +#include "potential_file_reader.h" #include @@ -86,9 +87,8 @@ PairLocalDensity::PairLocalDensity(LAMMPS *lmp) : Pair(lmp) fp = nullptr; localrho = nullptr; - // set comm size needed by this pair - comm_forward = 1; - comm_reverse = 1; + // comm sizes needed by this pair style will be set when reading the potential file + comm_forward = comm_reverse = 0; // cite publication if (lmp->citeme) lmp->citeme->add(cite_pair_local_density); @@ -657,35 +657,37 @@ void PairLocalDensity::interpolate_cbspl(int n, double delta, void PairLocalDensity::parse_file(char *filename) { - int k, n; - int me = comm->me; - FILE *fptr; - char line[MAXLINE]; - double ratio, lc2, uc2, denom; + // parse potential file header + if (comm->me == 0) { + PotentialFileReader reader(lmp, filename, "local/density"); - if (me == 0) { - fptr = fopen(filename, "r"); - if (fptr == nullptr) - error->one(FLERR,"Cannot open Local Density potential file {}: {}",filename,utils::getsyserror()); + try { + + // ignore first 2 comment lines + reader.skip_line(); + reader.skip_line(); + + // extract number of potentials and number of (frho, rho) points + ValueTokenizer values = reader.next_values(2); + nLD = values.next_int(); + nrho = values.next_int(); + + const int numld = atom->ntypes*atom->ntypes; + if (nLD != numld) + error->warning(FLERR, "Expected {} local density potentials but got {}",numld, nLD); + + } catch (TokenizerException &e) { + error->one(FLERR, e.what()); + } } - double *ftmp; // tmp var to extract the complete 2D frho array from file - - // broadcast number of LD potentials and number of (rho,frho) pairs - if (me == 0) { - - // first 2 comment lines ignored - utils::sfgets(FLERR,line,MAXLINE,fptr,filename,error); - utils::sfgets(FLERR,line,MAXLINE,fptr,filename,error); - - // extract number of potentials and number of (frho, rho) points - utils::sfgets(FLERR,line,MAXLINE,fptr,filename,error); - sscanf(line, "%d %d", &nLD, &nrho); - utils::sfgets(FLERR,line,MAXLINE,fptr,filename,error); - } + // broadcast number of LD potentials and number of (rho,frho) pairs and allocate storage MPI_Bcast(&nLD,1,MPI_INT,0,world); MPI_Bcast(&nrho,1,MPI_INT,0,world); + comm_forward = comm_reverse = nLD; + + double *ftmp; // tmp var to extract the complete 2D frho array from file // setting up all arrays to be read from files and broadcasted memory->create(uppercut, nLD, "pairLD:uppercut"); @@ -704,54 +706,65 @@ void PairLocalDensity::parse_file(char *filename) { // setting up central and neighbor atom filters memory->create(a, nLD, atom->ntypes+1 , "pairLD:a"); memory->create(b, nLD, atom->ntypes+1, "pairLD:b"); - if (me == 0) { - for (n = 1; n <= atom->ntypes; n++) { - for (k = 0; k < nLD; k++) { - a[k][n] = 0; - b[k][n] = 0; - } + for (int k = 0; k < nLD; k++) { + for (int n = 1; n <= atom->ntypes; n++) { + a[k][n] = 0; + b[k][n] = 0; } } - // read file block by block + // parse potential file body + if (comm->me == 0) { + PotentialFileReader reader(lmp, filename, "local/density"); - if (me == 0) { - for (k = 0; k < nLD; k++) { + try { + double ratio, lc2, uc2, denom; + ValueTokenizer values(""); + + // ignore first 4 lines already processed + + reader.skip_line(); + reader.skip_line(); + reader.skip_line(); + reader.skip_line(); + + for (int k = 0; k < nLD; k++) { // parse upper and lower cut values - if (fgets(line,MAXLINE,fptr)==nullptr) break; - sscanf(line, "%lf %lf", &lowercut[k], &uppercut[k]); + values = reader.next_values(2); + lowercut[k] = values.next_double(); + uppercut[k] = values.next_double(); - // parse and broadcast central atom filter - utils::sfgets(FLERR,line, MAXLINE, fptr,filename,error); - char *tmp = strtok(line, " /t/n/r/f"); - while (tmp != nullptr) { - a[k][atoi(tmp)] = 1; - tmp = strtok(nullptr, " /t/n/r/f"); + // parse central atom filter + values = ValueTokenizer(reader.next_line()); + while (values.has_next()) { + int atype = values.next_int(); + if ((atype < 1) || (atype > atom->ntypes)) + throw TokenizerException("Invalid atom type filter value",std::to_string(atype)); + a[k][atype] = 1; } // parse neighbor atom filter - utils::sfgets(FLERR,line, MAXLINE, fptr,filename,error); - tmp = strtok(line, " /t/n/r/f"); - while (tmp != nullptr) { - b[k][atoi(tmp)] = 1; - tmp = strtok(nullptr, " /t/n/r/f"); + values = ValueTokenizer(reader.next_line()); + while (values.has_next()) { + int btype = values.next_int(); + if ((btype < 1) || (btype > atom->ntypes)) + throw TokenizerException("Invalid atom type filter value",std::to_string(btype)); + b[k][btype] = 1; } // parse min, max and delta rho values - utils::sfgets(FLERR,line, MAXLINE, fptr,filename,error); - sscanf(line, "%lf %lf %lf", &rho_min[k], &rho_max[k], &delta_rho[k]); + values = reader.next_values(3); + rho_min[k] = values.next_double(); + rho_max[k] = values.next_double(); // recompute delta_rho from scratch for precision delta_rho[k] = (rho_max[k] - rho_min[k]) / (nrho - 1); // parse tabulated frho values from each line into temporary array - for (n = 0; n < nrho; n++) { - utils::sfgets(FLERR,line,MAXLINE,fptr,filename,error); - sscanf(line, "%lf", &ftmp[k*nrho + n]); - } + reader.next_dvector(ftmp+k*nrho, nrho); // ignore blank line at the end of every block - utils::sfgets(FLERR,line,MAXLINE,fptr,filename,error); + reader.skip_line(); // set coefficients for local density indicator function uc2 = uppercut[k] * uppercut[k]; @@ -766,6 +779,10 @@ void PairLocalDensity::parse_file(char *filename) { c4[k] = -(3.0 + 3.0*ratio) / (uc2*uc2 * denom); c6[k] = 2.0 / (uc2*uc2*uc2 * denom); } + + } catch (TokenizerException &e) { + error->one(FLERR, e.what()); + } } // Broadcast all parsed arrays @@ -777,7 +794,7 @@ void PairLocalDensity::parse_file(char *filename) { MPI_Bcast(&c2[0], nLD, MPI_DOUBLE, 0, world); MPI_Bcast(&c4[0], nLD, MPI_DOUBLE, 0, world); MPI_Bcast(&c6[0], nLD, MPI_DOUBLE, 0, world); - for (k = 0; k < nLD; k++) { + for (int k = 0; k < nLD; k++) { MPI_Bcast(&a[k][1], atom->ntypes, MPI_INT, 0, world); MPI_Bcast(&b[k][1], atom->ntypes, MPI_INT, 0, world); } @@ -786,14 +803,12 @@ void PairLocalDensity::parse_file(char *filename) { MPI_Bcast(&delta_rho[0], nLD, MPI_DOUBLE, 0, world); MPI_Bcast(&ftmp[0], nLD*nrho, MPI_DOUBLE, 0, world); - if (me == 0) fclose(fptr); - // set up rho and frho arrays memory->create(rho, nLD, nrho, "pairLD:rho"); memory->create(frho, nLD, nrho, "pairLD:frho"); - for (k = 0; k < nLD; k++) { - for (n = 0; n < nrho; n++) { + for (int k = 0; k < nLD; k++) { + for (int n = 0; n < nrho; n++) { rho[k][n] = rho_min[k] + n*delta_rho[k]; frho[k][n] = ftmp[k*nrho + n]; } @@ -807,8 +822,8 @@ void PairLocalDensity::parse_file(char *filename) { communication routines ------------------------------------------------------------------------- */ -int PairLocalDensity::pack_comm(int n, int *list, double *buf, - int /* pbc_flag */, int * /* pbc */) { +int PairLocalDensity::pack_forward_comm(int n, int *list, double *buf, + int /* pbc_flag */, int * /* pbc */) { int i,j,k; int m; @@ -820,12 +835,12 @@ int PairLocalDensity::pack_comm(int n, int *list, double *buf, } } - return nLD; + return m; } /* ---------------------------------------------------------------------- */ -void PairLocalDensity::unpack_comm(int n, int first, double *buf) { +void PairLocalDensity::unpack_forward_comm(int n, int first, double *buf) { int i,k,m,last; @@ -851,7 +866,7 @@ int PairLocalDensity::pack_reverse_comm(int n, int first, double *buf) { buf[m++] = localrho[k][i]; } } - return nLD; + return m; } /* ---------------------------------------------------------------------- */ @@ -881,4 +896,3 @@ double PairLocalDensity::memory_usage() bytes += (double)2 * (nmax*nLD) * sizeof(double); return bytes; } - diff --git a/src/MANYBODY/pair_local_density.h b/src/MANYBODY/pair_local_density.h index ab968bdc4a..ef67d2c084 100644 --- a/src/MANYBODY/pair_local_density.h +++ b/src/MANYBODY/pair_local_density.h @@ -39,8 +39,8 @@ class PairLocalDensity : public Pair { double init_one(int, int); double single(int, int, int, int, double, double, double, double &); - virtual int pack_comm(int, int *, double *, int, int *); - virtual void unpack_comm(int, int, double *); + virtual int pack_forward_comm(int, int *, double *, int, int *); + virtual void unpack_forward_comm(int, int, double *); int pack_reverse_comm(int, int, double *); void unpack_reverse_comm(int, int *, double *); double memory_usage(); diff --git a/src/MC/fix_charge_regulation.cpp b/src/MC/fix_charge_regulation.cpp index 078e7eb9db..e469c8442d 100644 --- a/src/MC/fix_charge_regulation.cpp +++ b/src/MC/fix_charge_regulation.cpp @@ -985,9 +985,17 @@ int FixChargeRegulation::insert_particle(int ptype, double charge, double rd, do modify->create_attribute(m); } - atom->nghost = 0; - comm->borders(); atom->natoms++; + atom->nghost = 0; + if (atom->tag_enable) { + if (atom->tag_enable) { + atom->tag_extend(); + if (atom->map_style != Atom::MAP_NONE) atom->map_init(); + } + } + if (triclinic) domain->x2lamda(atom->nlocal); + comm->borders(); + if (triclinic) domain->lamda2x(atom->nlocal+atom->nghost); return m; } @@ -1176,6 +1184,61 @@ double FixChargeRegulation::compute_vector(int n) { return 0.0; } + +/* ---------------------------------------------------------------------- + pack entire state of Fix into one write +------------------------------------------------------------------------- */ + +void FixChargeRegulation::write_restart(FILE *fp) +{ + int n = 0; + double list[10]; + list[n++] = random_equal->state(); + list[n++] = random_unequal->state(); + list[n++] = nacid_attempts; + list[n++] = nacid_successes; + list[n++] = nbase_attempts; + list[n++] = nbase_successes; + list[n++] = nsalt_attempts; + list[n++] = nsalt_successes; + list[n++] = ubuf(next_reneighbor).d; + list[n++] = ubuf(update->ntimestep).d; + + if (comm->me == 0) { + int size = (int) sizeof(list); + fwrite(&size,sizeof(int),1,fp); + fwrite(list,sizeof(list),1,fp); + } +} + +/* ---------------------------------------------------------------------- + use state info from restart file to restart the Fix +------------------------------------------------------------------------- */ + +void FixChargeRegulation::restart(char *buf) +{ + int n = 0; + double *list = (double *) buf; + + seed = static_cast (list[n++]); + random_equal->reset(seed); + + seed = static_cast (list[n++]); + random_unequal->reset(seed); + + nacid_attempts = list[n++]; + nacid_successes = list[n++]; + nbase_attempts = list[n++]; + nbase_successes = list[n++]; + nsalt_attempts = list[n++]; + nsalt_successes = list[n++]; + + next_reneighbor = (bigint) ubuf(list[n++]).i; + bigint ntimestep_restart = (bigint) ubuf(list[n++]).i; + if (ntimestep_restart != update->ntimestep) + error->all(FLERR,"Must not reset timestep when restarting fix gcmc"); +} + void FixChargeRegulation::setThermoTemperaturePointer() { int ifix = -1; ifix = modify->find_fix(idftemp); diff --git a/src/MC/fix_charge_regulation.h b/src/MC/fix_charge_regulation.h index 9fde2d0563..cf518baa03 100644 --- a/src/MC/fix_charge_regulation.h +++ b/src/MC/fix_charge_regulation.h @@ -53,6 +53,8 @@ class FixChargeRegulation : public Fix { void options(int, char **); void setThermoTemperaturePointer(); double memory_usage(); + void write_restart(FILE *); + void restart(char *); private: int exclusion_group, exclusion_group_bit; diff --git a/src/PLUMED/fix_plumed.cpp b/src/PLUMED/fix_plumed.cpp index 137cd580a8..dcf82a4374 100644 --- a/src/PLUMED/fix_plumed.cpp +++ b/src/PLUMED/fix_plumed.cpp @@ -77,9 +77,9 @@ FixPlumed::FixPlumed(LAMMPS *lmp, int narg, char **arg) : int api_version=0; p->cmd("getApiVersion",&api_version); - if ((api_version < 5) || (api_version > 8)) + if ((api_version < 5) || (api_version > 9)) error->all(FLERR,"Incompatible API version for PLUMED in fix plumed. " - "Only Plumed 2.4.x, 2.5.x, 2.6.x, 2.7.x are tested and supported."); + "Only Plumed 2.4.x, 2.5.x, 2.6.x, 2.7.x, 2.8.x are tested and supported."); #if !defined(MPI_STUBS) // If the -partition option is activated then enable diff --git a/src/atom.cpp b/src/atom.cpp index 0cf48406af..d4a2a431ca 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -885,10 +885,10 @@ void Atom::tag_check() MPI_Allreduce(&min,&minall,1,MPI_LMP_TAGINT,MPI_MIN,world); MPI_Allreduce(&max,&maxall,1,MPI_LMP_TAGINT,MPI_MAX,world); - if (minall < 0) error->all(FLERR,"One or more Atom IDs is negative"); - if (maxall >= MAXTAGINT) error->all(FLERR,"One or more atom IDs is too big"); + if (minall < 0) error->all(FLERR,"One or more Atom IDs are negative"); + if (maxall >= MAXTAGINT) error->all(FLERR,"One or more atom IDs are too big"); if (maxall > 0 && minall == 0) - error->all(FLERR,"One or more atom IDs is zero"); + error->all(FLERR,"One or more atom IDs are zero"); if (maxall > 0 && tag_enable == 0) error->all(FLERR,"Non-zero atom IDs with atom_modify id = no"); if (maxall == 0 && natoms && tag_enable) diff --git a/src/fix_ave_atom.cpp b/src/fix_ave_atom.cpp index 1e30761274..a5661b1f52 100644 --- a/src/fix_ave_atom.cpp +++ b/src/fix_ave_atom.cpp @@ -41,6 +41,7 @@ FixAveAtom::FixAveAtom(LAMMPS *lmp, int narg, char **arg) : nevery = utils::inumeric(FLERR,arg[3],false,lmp); nrepeat = utils::inumeric(FLERR,arg[4],false,lmp); peratom_freq = utils::inumeric(FLERR,arg[5],false,lmp); + time_depend = 1; nvalues = narg - 6; @@ -278,11 +279,8 @@ void FixAveAtom::end_of_step() int i,j,m,n; // skip if not step which requires doing something - // error check if timestep was reset in an invalid manner bigint ntimestep = update->ntimestep; - if (ntimestep < nvalid_last || ntimestep > nvalid) - error->all(FLERR,"Invalid timestep reset for fix ave/atom"); if (ntimestep != nvalid) return; nvalid_last = nvalid; diff --git a/src/fix_ave_chunk.cpp b/src/fix_ave_chunk.cpp index 36c9eaf6fc..b6cb17b8c9 100644 --- a/src/fix_ave_chunk.cpp +++ b/src/fix_ave_chunk.cpp @@ -61,6 +61,7 @@ FixAveChunk::FixAveChunk(LAMMPS *lmp, int narg, char **arg) : global_freq = nfreq; no_change_box = 1; + time_depend = 1; char * group = arg[1]; @@ -541,11 +542,8 @@ void FixAveChunk::end_of_step() int i,j,m,n,index; // skip if not step which requires doing something - // error check if timestep was reset in an invalid manner bigint ntimestep = update->ntimestep; - if (ntimestep < nvalid_last || ntimestep > nvalid) - error->all(FLERR,"Invalid timestep reset for fix ave/chunk"); if (ntimestep != nvalid) return; nvalid_last = nvalid; diff --git a/src/fix_ave_correlate.cpp b/src/fix_ave_correlate.cpp index df6e33288e..486b991b77 100644 --- a/src/fix_ave_correlate.cpp +++ b/src/fix_ave_correlate.cpp @@ -52,6 +52,7 @@ FixAveCorrelate::FixAveCorrelate(LAMMPS * lmp, int narg, char **arg): nrepeat = utils::inumeric(FLERR,arg[4],false,lmp); nfreq = utils::inumeric(FLERR,arg[5],false,lmp); + time_depend = 1; global_freq = nfreq; // expand args if any have wildcard character "*" @@ -390,11 +391,8 @@ void FixAveCorrelate::end_of_step() double scalar; // skip if not step which requires doing something - // error check if timestep was reset in an invalid manner bigint ntimestep = update->ntimestep; - if (ntimestep < nvalid_last || ntimestep > nvalid) - error->all(FLERR,"Invalid timestep reset for fix ave/correlate"); if (ntimestep != nvalid) return; nvalid_last = nvalid; diff --git a/src/fix_ave_histo.cpp b/src/fix_ave_histo.cpp index 8c55337074..5a7c6d4ccb 100644 --- a/src/fix_ave_histo.cpp +++ b/src/fix_ave_histo.cpp @@ -61,6 +61,7 @@ FixAveHisto::FixAveHisto(LAMMPS *lmp, int narg, char **arg) : size_array_cols = 3; extarray = 0; dynamic_group_allow = 1; + time_depend = 1; lo = utils::numeric(FLERR,arg[6],false,lmp); hi = utils::numeric(FLERR,arg[7],false,lmp); @@ -579,11 +580,8 @@ void FixAveHisto::end_of_step() int i,j,m; // skip if not step which requires doing something - // error check if timestep was reset in an invalid manner bigint ntimestep = update->ntimestep; - if (ntimestep < nvalid_last || ntimestep > nvalid) - error->all(FLERR,"Invalid timestep reset for fix ave/histo"); if (ntimestep != nvalid) return; nvalid_last = nvalid; diff --git a/src/fix_ave_histo_weight.cpp b/src/fix_ave_histo_weight.cpp index 7866490840..16a64e093e 100644 --- a/src/fix_ave_histo_weight.cpp +++ b/src/fix_ave_histo_weight.cpp @@ -94,11 +94,8 @@ void FixAveHistoWeight::end_of_step() int i,j,m; // skip if not step which requires doing something - // error check if timestep was reset in an invalid manner bigint ntimestep = update->ntimestep; - if (ntimestep < nvalid_last || ntimestep > nvalid) - error->all(FLERR,"Invalid timestep reset for fix ave/histo"); if (ntimestep != nvalid) return; nvalid_last = nvalid; diff --git a/src/fix_ave_time.cpp b/src/fix_ave_time.cpp index 836121fdc2..98b066ef0b 100644 --- a/src/fix_ave_time.cpp +++ b/src/fix_ave_time.cpp @@ -56,6 +56,7 @@ FixAveTime::FixAveTime(LAMMPS *lmp, int narg, char **arg) : global_freq = nfreq; dynamic_group_allow = 1; + time_depend = 1; // scan values to count them // then read options so know mode = SCALAR/VECTOR before re-reading values @@ -523,11 +524,8 @@ void FixAveTime::setup(int /*vflag*/) void FixAveTime::end_of_step() { // skip if not step which requires doing something - // error check if timestep was reset in an invalid manner bigint ntimestep = update->ntimestep; - if (ntimestep < nvalid_last || ntimestep > nvalid) - error->all(FLERR,"Invalid timestep reset for fix ave/time"); if (ntimestep != nvalid) return; nvalid_last = nvalid; diff --git a/src/pair.cpp b/src/pair.cpp index 0bc698f27e..f88c4e0972 100644 --- a/src/pair.cpp +++ b/src/pair.cpp @@ -67,6 +67,7 @@ Pair::Pair(LAMMPS *lmp) : Pointers(lmp) finitecutflag = 0; ghostneigh = 0; unit_convert_flag = utils::NOCONVERT; + did_mix = false; nextra = 0; pvector = nullptr; diff --git a/unittest/c-library/test_library_commands.cpp b/unittest/c-library/test_library_commands.cpp index b16dc6e9dd..203862c696 100644 --- a/unittest/c-library/test_library_commands.cpp +++ b/unittest/c-library/test_library_commands.cpp @@ -2,6 +2,7 @@ #include "lammps.h" #include "library.h" +#include "platform.h" #include #include "gmock/gmock.h" @@ -76,8 +77,8 @@ TEST_F(LibraryCommands, from_file) if (!verbose) ::testing::internal::GetCapturedStdout(); EXPECT_EQ(lammps_get_natoms(lmp), 2); - unlink(demo_file); - unlink(cont_file); + LAMMPS_NS::platform::unlink(demo_file); + LAMMPS_NS::platform::unlink(cont_file); }; TEST_F(LibraryCommands, from_line) diff --git a/unittest/c-library/test_library_mpi.cpp b/unittest/c-library/test_library_mpi.cpp index 6fdec7b7e4..1609107ae0 100644 --- a/unittest/c-library/test_library_mpi.cpp +++ b/unittest/c-library/test_library_mpi.cpp @@ -167,7 +167,6 @@ TEST(MPI, split_comm) TEST(MPI, multi_partition) { - FILE *fp; int nprocs, me; lammps_mpi_init(); MPI_Comm_size(MPI_COMM_WORLD, &nprocs); diff --git a/unittest/commands/test_groups.cpp b/unittest/commands/test_groups.cpp index 52b93fe742..9d69b5412e 100644 --- a/unittest/commands/test_groups.cpp +++ b/unittest/commands/test_groups.cpp @@ -204,7 +204,7 @@ TEST_F(GroupTest, SelectRestart) command("write_restart group.restart"); command("clear"); command("read_restart group.restart"); - unlink("group.restart"); + platform::unlink("group.restart"); END_HIDE_OUTPUT(); group = lmp->group; ASSERT_EQ(group->count(group->find("one")), 16); diff --git a/unittest/commands/test_variables.cpp b/unittest/commands/test_variables.cpp index 86d880f22c..fb0aa58069 100644 --- a/unittest/commands/test_variables.cpp +++ b/unittest/commands/test_variables.cpp @@ -317,7 +317,7 @@ TEST_F(VariableTest, Expressions) ASSERT_TRUE(variable->equalstyle(ivar)); ASSERT_DOUBLE_EQ(variable->compute_equal(ivar), 2.0); ASSERT_DOUBLE_EQ(variable->compute_equal("v_three"), 3.0); - ASSERT_FLOAT_EQ(variable->compute_equal("v_four"), MY_PI); + ASSERT_NEAR(variable->compute_equal("v_four"), MY_PI,1.0e-14); ASSERT_GE(variable->compute_equal("v_five"), 20210310); ASSERT_DOUBLE_EQ(variable->compute_equal("v_seven"), -1); ASSERT_DOUBLE_EQ(variable->compute_equal("v_eight"), 2.5); diff --git a/unittest/cplusplus/test_input_class.cpp b/unittest/cplusplus/test_input_class.cpp index 87bea36081..b1d8af28c6 100644 --- a/unittest/cplusplus/test_input_class.cpp +++ b/unittest/cplusplus/test_input_class.cpp @@ -77,8 +77,8 @@ TEST_F(Input_commands, from_file) lmp->input->file(cont_file); EXPECT_EQ(lmp->atom->natoms, 2); - unlink(demo_file); - unlink(cont_file); + platform::unlink(demo_file); + platform::unlink(cont_file); }; TEST_F(Input_commands, from_line)