Merge pull request #3040 from akohlmey/collected-small-changes

Collected small changes and bugfixes
This commit is contained in:
Axel Kohlmeyer
2021-12-10 15:51:13 -05:00
committed by GitHub
37 changed files with 1333 additions and 641 deletions

View File

@ -54,8 +54,8 @@ if(DOWNLOAD_PLUMED)
set(PLUMED_BUILD_BYPRODUCTS "<INSTALL_DIR>/lib/libplumedWrapper.a") set(PLUMED_BUILD_BYPRODUCTS "<INSTALL_DIR>/lib/libplumedWrapper.a")
endif() 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_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 "cfa0b4dd90a81c25d3302e8d97bfeaea" CACHE STRING "MD5 checksum of PLUMED tarball") set(PLUMED_MD5 "f00cc82edfefe6bb3df934911dbe32fb" CACHE STRING "MD5 checksum of PLUMED tarball")
mark_as_advanced(PLUMED_URL) mark_as_advanced(PLUMED_URL)
mark_as_advanced(PLUMED_MD5) mark_as_advanced(PLUMED_MD5)

View File

@ -26,23 +26,25 @@ Examples
Description Description
""""""""""" """""""""""
The local density (LD) potential is a mean-field manybody potential, and, in some The local density (LD) potential is a mean-field manybody potential,
sense,a generalization of embedded atom models (EAM). The name "local density and, in some way, a generalization of embedded atom models (EAM). The
potential" arises from the fact that it assigns an energy to an atom depending name "local density potential" arises from the fact that it assigns an
on the number of neighboring atoms of given type around it within a predefined energy to an atom depending on the number of neighboring atoms of a
spherical volume (i.e., within a cutoff). The bottom-up coarse-graining (CG) given type around it within a predefined spherical volume (i.e., within
literature suggests that such potentials can be widely useful in capturing the cutoff). The bottom-up coarse-graining (CG) literature suggests
effective multibody forces in a computationally efficient manner so as to that such potentials can be widely useful in capturing effective
improve the quality of CG models of implicit solvation:ref:`(Sanyal1) <Sanyal1>` and multibody forces in a computationally efficient manner and thus improve
phase-segregation in liquid mixtures:ref:`(Sanyal2) <Sanyal2>`, and provide guidelines the quality of CG models of implicit solvation :ref:`(Sanyal1)
to determine the extent of manybody correlations present in a CG <Sanyal1>` and phase-segregation in liquid mixtures :ref:`(Sanyal2)
model.:ref:`(Rosenberger) <Rosenberger>` The LD potential in LAMMPS is primarily <Sanyal2>`, and provide guidelines to determine the extent of manybody
intended to be used as a corrective potential over traditional pair potentials correlations present in a CG model :ref:`(Rosenberger) <Rosenberger>`.
in bottom-up CG models, i.e., as a hybrid pair style with The LD potential in LAMMPS is primarily intended to be used as a
other explicit pair interaction terms (e.g., table spline, Lennard Jones, etc.). corrective potential over traditional pair potentials in bottom-up CG
Because the LD potential is not a pair potential per se, it is implemented models via :doc:`hybrid/overlay pair style <pair_hybrid>` with other
simply as a single auxiliary file with all specifications that will be read explicit pair interaction terms (e.g., tabulated, Lennard-Jones, Morse
upon initialization. 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:: .. note::

View File

@ -23,7 +23,7 @@ Syntax
pair_style style keywords values 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* * keyword = *shift*
.. parsed-literal:: .. parsed-literal::

View File

@ -17,7 +17,7 @@ Syntax
pair_style style args 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 * args = list of arguments for a particular style
.. parsed-literal:: .. parsed-literal::
@ -25,7 +25,7 @@ Syntax
*thole* args = damp cutoff *thole* args = damp cutoff
damp = global damping parameter damp = global damping parameter
cutoff = global cutoff (distance units) 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 damp = global damping parameter
cutoff = global cutoff for LJ (and Thole if only 1 arg) (distance units) cutoff = global cutoff for LJ (and Thole if only 1 arg) (distance units)
cutoff2 = global cutoff for Thole (optional) (distance units) cutoff2 = global cutoff for Thole (optional) (distance units)

View File

@ -22,13 +22,13 @@ Syntax
pair_style style args 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 * args = list of arguments for a particular style
.. parsed-literal:: .. parsed-literal::
*vashishta* or *vashishta/omp* args = none *vashishta* args = none
*vashishta/table* or *vashishta/table/omp* args = Ntable cutinner *vashishta/table* args = Ntable cutinner
Ntable = # of tabulation points Ntable = # of tabulation points
cutinner = tablulate from cutinner to cutoff cutinner = tablulate from cutinner to cutoff

View File

@ -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 4 500

View File

@ -1,4 +1,4 @@
# UNITS: real
PairBB PairBB
N 500 R 2.00000e-02 1.32500e+01 N 500 R 2.00000e-02 1.32500e+01

View File

@ -11,7 +11,7 @@
# Initialize simulation box # Initialize simulation box
dimension 3 dimension 3
boundary p p p boundary p p p
units real units real
atom_style molecular 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 fix recentering all recenter 0.0 0.0 0.0 units box
# Thermostat & time integration # Thermostat & time integration
timestep 2.0 timestep 2.0
thermo 100 thermo 100
thermo_style custom temp ke pe etotal ebond eangle edihed evdwl thermo_style custom temp ke pe etotal ebond eangle edihed evdwl
@ -49,14 +49,14 @@ run 5000
# Turn off recentering during production phase # Turn off recentering during production phase
unfix recentering unfix recentering
reset_timestep 0
# Setup trajectory output # Setup trajectory output
dump myDump all custom 100 benzene_water.lammpstrj.gz id type x y z element #dump myDump all custom 100 benzene_water.lammpstrj.gz id type x y z element
dump_modify myDump element B W #dump_modify myDump element B W
dump_modify myDump sort id #dump_modify myDump sort id
# Production (for realistic results, run for 10000000 steps) # Production (for realistic results, run for 10000000 steps)
reset_timestep 0 run 1000
run 1000

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,6 +1,6 @@
# LAMMPS input file for 50.0% methanol mole fraction solution # LAMMPS input file for 50.0% methanol mole fraction solution
# with 2500 methanol molecules in implicit water. # with 2500 methanol molecules in implicit water.
# #
# #
# Author: David Rosenberger, van der Vegt Group, TU Darmstadt # Author: David Rosenberger, van der Vegt Group, TU Darmstadt
# #
@ -9,7 +9,7 @@
# Initialize simulation box # Initialize simulation box
dimension 3 dimension 3
boundary p p p boundary p p p
units real units real
atom_style molecular atom_style molecular
@ -17,7 +17,7 @@ atom_style molecular
pair_style hybrid/overlay table spline 500 local/density pair_style hybrid/overlay table spline 500 local/density
# Read molecule data and set initial velocities # 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 velocity all create 3.0000e+02 12142 rot yes dist gaussian
# Assign potentials # 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 fix recentering all recenter 0.0 0.0 0.0 units box
#Thermostat & time integration #Thermostat & time integration
timestep 1.0 timestep 1.0
thermo 100 thermo 100
thermo_style custom etotal ke pe temp evdwl thermo_style custom etotal ke pe temp evdwl
@ -52,15 +52,14 @@ run 2000
#turn off recentering during production run #turn off recentering during production run
unfix recentering unfix recentering
reset_timestep 0
#setup trajectory output #setup trajectory output
dump myDump all custom 100 methanol_implicit_water.lammpstrj.gz id type x y z element #dump myDump all custom 100 methanol_implicit_water.lammpstrj.gz id type x y z element
dump_modify myDump element M #dump_modify myDump element M
dump_modify myDump sort id #dump_modify myDump sort id
#run production (for realistic results, run for 10000000 steps) #run production (for realistic results, run for 10000000 steps)
reset_timestep 0
thermo 1000 thermo 1000
thermo_style custom etotal ke pe temp evdwl thermo_style custom etotal ke pe temp evdwl
run 10000 run 10000

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,4 +1,4 @@
#LOCAL DENSITY POTENTIALS #LOCAL DENSITY POTENTIALS UNITS: real
1 500 1 500

View File

@ -1,4 +1,4 @@
# UNITS: real
PairMM PairMM
N 500 R 2.00000e-02 1.50000e+01 N 500 R 2.00000e-02 1.50000e+01

View File

@ -51,9 +51,11 @@ checksums = { \
'2.6.0' : '204d2edae58d9b10ba3ad460cad64191', \ '2.6.0' : '204d2edae58d9b10ba3ad460cad64191', \
'2.6.1' : '89a9a450fc6025299fe16af235957163', \ '2.6.1' : '89a9a450fc6025299fe16af235957163', \
'2.6.3' : 'a9f8028fd74528c2024781ea1fdefeee', \ '2.6.3' : 'a9f8028fd74528c2024781ea1fdefeee', \
'2.6.5' : 'b67356f027e5c2747823b0422c3b0ec2', \
'2.7.0' : '95f29dd0c067577f11972ff90dfc7d12', \ '2.7.0' : '95f29dd0c067577f11972ff90dfc7d12', \
'2.7.1' : '4eac6a462ec84dfe0cec96c82421b8e8', \ '2.7.1' : '4eac6a462ec84dfe0cec96c82421b8e8', \
'2.7.2' : 'cfa0b4dd90a81c25d3302e8d97bfeaea', \ '2.7.2' : 'cfa0b4dd90a81c25d3302e8d97bfeaea', \
'2.7.3' : 'f00cc82edfefe6bb3df934911dbe32fb', \
} }
# parse and process arguments # parse and process arguments

View File

@ -70,6 +70,7 @@ FixAveCorrelateLong::FixAveCorrelateLong(LAMMPS * lmp, int narg, char **arg):
restart_global = 1; restart_global = 1;
global_freq = nfreq; global_freq = nfreq;
time_depend = 1;
// parse values until one isn't recognized // parse values until one isn't recognized
@ -400,11 +401,8 @@ void FixAveCorrelateLong::end_of_step()
double scalar; double scalar;
// skip if not step which requires doing something // skip if not step which requires doing something
// error check if timestep was reset in an invalid manner
bigint ntimestep = update->ntimestep; 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; if (ntimestep != nvalid) return;
nvalid_last = nvalid; nvalid_last = nvalid;

View File

@ -28,6 +28,7 @@
#include "memory.h" #include "memory.h"
#include "neigh_list.h" #include "neigh_list.h"
#include "neighbor.h" #include "neighbor.h"
#include "potential_file_reader.h"
#include <cstring> #include <cstring>
@ -86,9 +87,8 @@ PairLocalDensity::PairLocalDensity(LAMMPS *lmp) : Pair(lmp)
fp = nullptr; fp = nullptr;
localrho = nullptr; localrho = nullptr;
// set comm size needed by this pair // comm sizes needed by this pair style will be set when reading the potential file
comm_forward = 1; comm_forward = comm_reverse = 0;
comm_reverse = 1;
// cite publication // cite publication
if (lmp->citeme) lmp->citeme->add(cite_pair_local_density); 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) { void PairLocalDensity::parse_file(char *filename) {
int k, n; // parse potential file header
int me = comm->me; if (comm->me == 0) {
FILE *fptr; PotentialFileReader reader(lmp, filename, "local/density");
char line[MAXLINE];
double ratio, lc2, uc2, denom;
if (me == 0) { try {
fptr = fopen(filename, "r");
if (fptr == nullptr) // ignore first 2 comment lines
error->one(FLERR,"Cannot open Local Density potential file {}: {}",filename,utils::getsyserror()); 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 and allocate storage
// 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);
}
MPI_Bcast(&nLD,1,MPI_INT,0,world); MPI_Bcast(&nLD,1,MPI_INT,0,world);
MPI_Bcast(&nrho,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 // setting up all arrays to be read from files and broadcasted
memory->create(uppercut, nLD, "pairLD:uppercut"); memory->create(uppercut, nLD, "pairLD:uppercut");
@ -704,54 +706,65 @@ void PairLocalDensity::parse_file(char *filename) {
// setting up central and neighbor atom filters // setting up central and neighbor atom filters
memory->create(a, nLD, atom->ntypes+1 , "pairLD:a"); memory->create(a, nLD, atom->ntypes+1 , "pairLD:a");
memory->create(b, nLD, atom->ntypes+1, "pairLD:b"); memory->create(b, nLD, atom->ntypes+1, "pairLD:b");
if (me == 0) { for (int k = 0; k < nLD; k++) {
for (n = 1; n <= atom->ntypes; n++) { for (int n = 1; n <= atom->ntypes; n++) {
for (k = 0; k < nLD; k++) { a[k][n] = 0;
a[k][n] = 0; b[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) { try {
for (k = 0; k < nLD; k++) { 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 // parse upper and lower cut values
if (fgets(line,MAXLINE,fptr)==nullptr) break; values = reader.next_values(2);
sscanf(line, "%lf %lf", &lowercut[k], &uppercut[k]); lowercut[k] = values.next_double();
uppercut[k] = values.next_double();
// parse and broadcast central atom filter // parse central atom filter
utils::sfgets(FLERR,line, MAXLINE, fptr,filename,error); values = ValueTokenizer(reader.next_line());
char *tmp = strtok(line, " /t/n/r/f"); while (values.has_next()) {
while (tmp != nullptr) { int atype = values.next_int();
a[k][atoi(tmp)] = 1; if ((atype < 1) || (atype > atom->ntypes))
tmp = strtok(nullptr, " /t/n/r/f"); throw TokenizerException("Invalid atom type filter value",std::to_string(atype));
a[k][atype] = 1;
} }
// parse neighbor atom filter // parse neighbor atom filter
utils::sfgets(FLERR,line, MAXLINE, fptr,filename,error); values = ValueTokenizer(reader.next_line());
tmp = strtok(line, " /t/n/r/f"); while (values.has_next()) {
while (tmp != nullptr) { int btype = values.next_int();
b[k][atoi(tmp)] = 1; if ((btype < 1) || (btype > atom->ntypes))
tmp = strtok(nullptr, " /t/n/r/f"); throw TokenizerException("Invalid atom type filter value",std::to_string(btype));
b[k][btype] = 1;
} }
// parse min, max and delta rho values // parse min, max and delta rho values
utils::sfgets(FLERR,line, MAXLINE, fptr,filename,error); values = reader.next_values(3);
sscanf(line, "%lf %lf %lf", &rho_min[k], &rho_max[k], &delta_rho[k]); rho_min[k] = values.next_double();
rho_max[k] = values.next_double();
// recompute delta_rho from scratch for precision // recompute delta_rho from scratch for precision
delta_rho[k] = (rho_max[k] - rho_min[k]) / (nrho - 1); delta_rho[k] = (rho_max[k] - rho_min[k]) / (nrho - 1);
// parse tabulated frho values from each line into temporary array // parse tabulated frho values from each line into temporary array
for (n = 0; n < nrho; n++) { reader.next_dvector(ftmp+k*nrho, nrho);
utils::sfgets(FLERR,line,MAXLINE,fptr,filename,error);
sscanf(line, "%lf", &ftmp[k*nrho + n]);
}
// ignore blank line at the end of every block // 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 // set coefficients for local density indicator function
uc2 = uppercut[k] * uppercut[k]; 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); c4[k] = -(3.0 + 3.0*ratio) / (uc2*uc2 * denom);
c6[k] = 2.0 / (uc2*uc2*uc2 * denom); c6[k] = 2.0 / (uc2*uc2*uc2 * denom);
} }
} catch (TokenizerException &e) {
error->one(FLERR, e.what());
}
} }
// Broadcast all parsed arrays // 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(&c2[0], nLD, MPI_DOUBLE, 0, world);
MPI_Bcast(&c4[0], nLD, MPI_DOUBLE, 0, world); MPI_Bcast(&c4[0], nLD, MPI_DOUBLE, 0, world);
MPI_Bcast(&c6[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(&a[k][1], atom->ntypes, MPI_INT, 0, world);
MPI_Bcast(&b[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(&delta_rho[0], nLD, MPI_DOUBLE, 0, world);
MPI_Bcast(&ftmp[0], nLD*nrho, 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 // set up rho and frho arrays
memory->create(rho, nLD, nrho, "pairLD:rho"); memory->create(rho, nLD, nrho, "pairLD:rho");
memory->create(frho, nLD, nrho, "pairLD:frho"); memory->create(frho, nLD, nrho, "pairLD:frho");
for (k = 0; k < nLD; k++) { for (int k = 0; k < nLD; k++) {
for (n = 0; n < nrho; n++) { for (int n = 0; n < nrho; n++) {
rho[k][n] = rho_min[k] + n*delta_rho[k]; rho[k][n] = rho_min[k] + n*delta_rho[k];
frho[k][n] = ftmp[k*nrho + n]; frho[k][n] = ftmp[k*nrho + n];
} }
@ -807,8 +822,8 @@ void PairLocalDensity::parse_file(char *filename) {
communication routines communication routines
------------------------------------------------------------------------- */ ------------------------------------------------------------------------- */
int PairLocalDensity::pack_comm(int n, int *list, double *buf, int PairLocalDensity::pack_forward_comm(int n, int *list, double *buf,
int /* pbc_flag */, int * /* pbc */) { int /* pbc_flag */, int * /* pbc */) {
int i,j,k; int i,j,k;
int m; 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; 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]; buf[m++] = localrho[k][i];
} }
} }
return nLD; return m;
} }
/* ---------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- */
@ -881,4 +896,3 @@ double PairLocalDensity::memory_usage()
bytes += (double)2 * (nmax*nLD) * sizeof(double); bytes += (double)2 * (nmax*nLD) * sizeof(double);
return bytes; return bytes;
} }

View File

@ -39,8 +39,8 @@ class PairLocalDensity : public Pair {
double init_one(int, int); double init_one(int, int);
double single(int, int, int, int, double, double, double, double &); double single(int, int, int, int, double, double, double, double &);
virtual int pack_comm(int, int *, double *, int, int *); virtual int pack_forward_comm(int, int *, double *, int, int *);
virtual void unpack_comm(int, int, double *); virtual void unpack_forward_comm(int, int, double *);
int pack_reverse_comm(int, int, double *); int pack_reverse_comm(int, int, double *);
void unpack_reverse_comm(int, int *, double *); void unpack_reverse_comm(int, int *, double *);
double memory_usage(); double memory_usage();

View File

@ -985,9 +985,17 @@ int FixChargeRegulation::insert_particle(int ptype, double charge, double rd, do
modify->create_attribute(m); modify->create_attribute(m);
} }
atom->nghost = 0;
comm->borders();
atom->natoms++; 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; return m;
} }
@ -1176,6 +1184,61 @@ double FixChargeRegulation::compute_vector(int n) {
return 0.0; 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<int> (list[n++]);
random_equal->reset(seed);
seed = static_cast<int> (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() { void FixChargeRegulation::setThermoTemperaturePointer() {
int ifix = -1; int ifix = -1;
ifix = modify->find_fix(idftemp); ifix = modify->find_fix(idftemp);

View File

@ -53,6 +53,8 @@ class FixChargeRegulation : public Fix {
void options(int, char **); void options(int, char **);
void setThermoTemperaturePointer(); void setThermoTemperaturePointer();
double memory_usage(); double memory_usage();
void write_restart(FILE *);
void restart(char *);
private: private:
int exclusion_group, exclusion_group_bit; int exclusion_group, exclusion_group_bit;

View File

@ -77,9 +77,9 @@ FixPlumed::FixPlumed(LAMMPS *lmp, int narg, char **arg) :
int api_version=0; int api_version=0;
p->cmd("getApiVersion",&api_version); 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. " 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 !defined(MPI_STUBS)
// If the -partition option is activated then enable // If the -partition option is activated then enable

View File

@ -885,10 +885,10 @@ void Atom::tag_check()
MPI_Allreduce(&min,&minall,1,MPI_LMP_TAGINT,MPI_MIN,world); MPI_Allreduce(&min,&minall,1,MPI_LMP_TAGINT,MPI_MIN,world);
MPI_Allreduce(&max,&maxall,1,MPI_LMP_TAGINT,MPI_MAX,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 (minall < 0) error->all(FLERR,"One or more Atom IDs are negative");
if (maxall >= MAXTAGINT) error->all(FLERR,"One or more atom IDs is too big"); if (maxall >= MAXTAGINT) error->all(FLERR,"One or more atom IDs are too big");
if (maxall > 0 && minall == 0) 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) if (maxall > 0 && tag_enable == 0)
error->all(FLERR,"Non-zero atom IDs with atom_modify id = no"); error->all(FLERR,"Non-zero atom IDs with atom_modify id = no");
if (maxall == 0 && natoms && tag_enable) if (maxall == 0 && natoms && tag_enable)

View File

@ -41,6 +41,7 @@ FixAveAtom::FixAveAtom(LAMMPS *lmp, int narg, char **arg) :
nevery = utils::inumeric(FLERR,arg[3],false,lmp); nevery = utils::inumeric(FLERR,arg[3],false,lmp);
nrepeat = utils::inumeric(FLERR,arg[4],false,lmp); nrepeat = utils::inumeric(FLERR,arg[4],false,lmp);
peratom_freq = utils::inumeric(FLERR,arg[5],false,lmp); peratom_freq = utils::inumeric(FLERR,arg[5],false,lmp);
time_depend = 1;
nvalues = narg - 6; nvalues = narg - 6;
@ -278,11 +279,8 @@ void FixAveAtom::end_of_step()
int i,j,m,n; int i,j,m,n;
// skip if not step which requires doing something // skip if not step which requires doing something
// error check if timestep was reset in an invalid manner
bigint ntimestep = update->ntimestep; bigint ntimestep = update->ntimestep;
if (ntimestep < nvalid_last || ntimestep > nvalid)
error->all(FLERR,"Invalid timestep reset for fix ave/atom");
if (ntimestep != nvalid) return; if (ntimestep != nvalid) return;
nvalid_last = nvalid; nvalid_last = nvalid;

View File

@ -61,6 +61,7 @@ FixAveChunk::FixAveChunk(LAMMPS *lmp, int narg, char **arg) :
global_freq = nfreq; global_freq = nfreq;
no_change_box = 1; no_change_box = 1;
time_depend = 1;
char * group = arg[1]; char * group = arg[1];
@ -541,11 +542,8 @@ void FixAveChunk::end_of_step()
int i,j,m,n,index; int i,j,m,n,index;
// skip if not step which requires doing something // skip if not step which requires doing something
// error check if timestep was reset in an invalid manner
bigint ntimestep = update->ntimestep; bigint ntimestep = update->ntimestep;
if (ntimestep < nvalid_last || ntimestep > nvalid)
error->all(FLERR,"Invalid timestep reset for fix ave/chunk");
if (ntimestep != nvalid) return; if (ntimestep != nvalid) return;
nvalid_last = nvalid; nvalid_last = nvalid;

View File

@ -52,6 +52,7 @@ FixAveCorrelate::FixAveCorrelate(LAMMPS * lmp, int narg, char **arg):
nrepeat = utils::inumeric(FLERR,arg[4],false,lmp); nrepeat = utils::inumeric(FLERR,arg[4],false,lmp);
nfreq = utils::inumeric(FLERR,arg[5],false,lmp); nfreq = utils::inumeric(FLERR,arg[5],false,lmp);
time_depend = 1;
global_freq = nfreq; global_freq = nfreq;
// expand args if any have wildcard character "*" // expand args if any have wildcard character "*"
@ -390,11 +391,8 @@ void FixAveCorrelate::end_of_step()
double scalar; double scalar;
// skip if not step which requires doing something // skip if not step which requires doing something
// error check if timestep was reset in an invalid manner
bigint ntimestep = update->ntimestep; bigint ntimestep = update->ntimestep;
if (ntimestep < nvalid_last || ntimestep > nvalid)
error->all(FLERR,"Invalid timestep reset for fix ave/correlate");
if (ntimestep != nvalid) return; if (ntimestep != nvalid) return;
nvalid_last = nvalid; nvalid_last = nvalid;

View File

@ -61,6 +61,7 @@ FixAveHisto::FixAveHisto(LAMMPS *lmp, int narg, char **arg) :
size_array_cols = 3; size_array_cols = 3;
extarray = 0; extarray = 0;
dynamic_group_allow = 1; dynamic_group_allow = 1;
time_depend = 1;
lo = utils::numeric(FLERR,arg[6],false,lmp); lo = utils::numeric(FLERR,arg[6],false,lmp);
hi = utils::numeric(FLERR,arg[7],false,lmp); hi = utils::numeric(FLERR,arg[7],false,lmp);
@ -579,11 +580,8 @@ void FixAveHisto::end_of_step()
int i,j,m; int i,j,m;
// skip if not step which requires doing something // skip if not step which requires doing something
// error check if timestep was reset in an invalid manner
bigint ntimestep = update->ntimestep; bigint ntimestep = update->ntimestep;
if (ntimestep < nvalid_last || ntimestep > nvalid)
error->all(FLERR,"Invalid timestep reset for fix ave/histo");
if (ntimestep != nvalid) return; if (ntimestep != nvalid) return;
nvalid_last = nvalid; nvalid_last = nvalid;

View File

@ -94,11 +94,8 @@ void FixAveHistoWeight::end_of_step()
int i,j,m; int i,j,m;
// skip if not step which requires doing something // skip if not step which requires doing something
// error check if timestep was reset in an invalid manner
bigint ntimestep = update->ntimestep; bigint ntimestep = update->ntimestep;
if (ntimestep < nvalid_last || ntimestep > nvalid)
error->all(FLERR,"Invalid timestep reset for fix ave/histo");
if (ntimestep != nvalid) return; if (ntimestep != nvalid) return;
nvalid_last = nvalid; nvalid_last = nvalid;

View File

@ -56,6 +56,7 @@ FixAveTime::FixAveTime(LAMMPS *lmp, int narg, char **arg) :
global_freq = nfreq; global_freq = nfreq;
dynamic_group_allow = 1; dynamic_group_allow = 1;
time_depend = 1;
// scan values to count them // scan values to count them
// then read options so know mode = SCALAR/VECTOR before re-reading values // 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() void FixAveTime::end_of_step()
{ {
// skip if not step which requires doing something // skip if not step which requires doing something
// error check if timestep was reset in an invalid manner
bigint ntimestep = update->ntimestep; bigint ntimestep = update->ntimestep;
if (ntimestep < nvalid_last || ntimestep > nvalid)
error->all(FLERR,"Invalid timestep reset for fix ave/time");
if (ntimestep != nvalid) return; if (ntimestep != nvalid) return;
nvalid_last = nvalid; nvalid_last = nvalid;

View File

@ -67,6 +67,7 @@ Pair::Pair(LAMMPS *lmp) : Pointers(lmp)
finitecutflag = 0; finitecutflag = 0;
ghostneigh = 0; ghostneigh = 0;
unit_convert_flag = utils::NOCONVERT; unit_convert_flag = utils::NOCONVERT;
did_mix = false;
nextra = 0; nextra = 0;
pvector = nullptr; pvector = nullptr;

View File

@ -2,6 +2,7 @@
#include "lammps.h" #include "lammps.h"
#include "library.h" #include "library.h"
#include "platform.h"
#include <string> #include <string>
#include "gmock/gmock.h" #include "gmock/gmock.h"
@ -76,8 +77,8 @@ TEST_F(LibraryCommands, from_file)
if (!verbose) ::testing::internal::GetCapturedStdout(); if (!verbose) ::testing::internal::GetCapturedStdout();
EXPECT_EQ(lammps_get_natoms(lmp), 2); EXPECT_EQ(lammps_get_natoms(lmp), 2);
unlink(demo_file); LAMMPS_NS::platform::unlink(demo_file);
unlink(cont_file); LAMMPS_NS::platform::unlink(cont_file);
}; };
TEST_F(LibraryCommands, from_line) TEST_F(LibraryCommands, from_line)

View File

@ -167,7 +167,6 @@ TEST(MPI, split_comm)
TEST(MPI, multi_partition) TEST(MPI, multi_partition)
{ {
FILE *fp;
int nprocs, me; int nprocs, me;
lammps_mpi_init(); lammps_mpi_init();
MPI_Comm_size(MPI_COMM_WORLD, &nprocs); MPI_Comm_size(MPI_COMM_WORLD, &nprocs);

View File

@ -204,7 +204,7 @@ TEST_F(GroupTest, SelectRestart)
command("write_restart group.restart"); command("write_restart group.restart");
command("clear"); command("clear");
command("read_restart group.restart"); command("read_restart group.restart");
unlink("group.restart"); platform::unlink("group.restart");
END_HIDE_OUTPUT(); END_HIDE_OUTPUT();
group = lmp->group; group = lmp->group;
ASSERT_EQ(group->count(group->find("one")), 16); ASSERT_EQ(group->count(group->find("one")), 16);

View File

@ -317,7 +317,7 @@ TEST_F(VariableTest, Expressions)
ASSERT_TRUE(variable->equalstyle(ivar)); ASSERT_TRUE(variable->equalstyle(ivar));
ASSERT_DOUBLE_EQ(variable->compute_equal(ivar), 2.0); ASSERT_DOUBLE_EQ(variable->compute_equal(ivar), 2.0);
ASSERT_DOUBLE_EQ(variable->compute_equal("v_three"), 3.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_GE(variable->compute_equal("v_five"), 20210310);
ASSERT_DOUBLE_EQ(variable->compute_equal("v_seven"), -1); ASSERT_DOUBLE_EQ(variable->compute_equal("v_seven"), -1);
ASSERT_DOUBLE_EQ(variable->compute_equal("v_eight"), 2.5); ASSERT_DOUBLE_EQ(variable->compute_equal("v_eight"), 2.5);

View File

@ -77,8 +77,8 @@ TEST_F(Input_commands, from_file)
lmp->input->file(cont_file); lmp->input->file(cont_file);
EXPECT_EQ(lmp->atom->natoms, 2); EXPECT_EQ(lmp->atom->natoms, 2);
unlink(demo_file); platform::unlink(demo_file);
unlink(cont_file); platform::unlink(cont_file);
}; };
TEST_F(Input_commands, from_line) TEST_F(Input_commands, from_line)