Tweaked logic for MC move flags and addedreference output for H2O and CO2 on 4 procs

This commit is contained in:
Aidan Thompson
2022-03-03 18:12:43 -07:00
parent eaa6fb17af
commit 91f6805821
3 changed files with 520 additions and 23 deletions

View File

@ -0,0 +1,198 @@
LAMMPS (17 Feb 2022)
# GCMC for CO2 molecular fluid, rigid/small dynamics
# Rigid CO2 TraPPE model
# [Potoff and J.I. Siepmann, Vapor-liquid equilibria of
# mixtures containing alkanes, carbon dioxide and
# nitrogen AIChE J., 47,1676-1682 (2001)].
# variables available on command line
variable mu index -8.1
variable disp index 0.5
variable temp index 338.0
variable lbox index 10.0
variable spacing index 5.0
# global model settings
units real
atom_style full
boundary p p p
pair_style lj/cut/coul/long 14
pair_modify mix arithmetic tail yes
kspace_style ewald 0.0001
bond_style harmonic
angle_style harmonic
# box, start molecules on simple cubic lattice
lattice sc ${spacing}
lattice sc 5.0
Lattice spacing in x,y,z = 5 5 5
region box block 0 ${lbox} 0 ${lbox} 0 ${lbox} units box
region box block 0 10.0 0 ${lbox} 0 ${lbox} units box
region box block 0 10.0 0 10.0 0 ${lbox} units box
region box block 0 10.0 0 10.0 0 10.0 units box
create_box 2 box bond/types 1 angle/types 1 extra/bond/per/atom 2 extra/angle/per/atom 1 extra/special/per/atom 2
Created orthogonal box = (0 0 0) to (10 10 10)
1 by 2 by 2 MPI processor grid
molecule co2mol CO2.txt
Read molecule template co2mol:
1 molecules
0 fragments
3 atoms with max type 2
2 bonds with max type 1
1 angles with max type 1
0 dihedrals with max type 0
0 impropers with max type 0
create_atoms 0 box mol co2mol 464563 units box
Created 24 atoms
using box units in orthogonal box = (0 0 0) to (10 10 10)
create_atoms CPU = 0.002 seconds
# rigid CO2 TraPPE model
pair_coeff 1 1 0.053649 2.8
pair_coeff 2 2 0.156973 3.05
bond_coeff 1 0 1.16
angle_coeff 1 0 180
# masses
mass 1 12.0107
mass 2 15.9994
# MD settings
group co2 type 1 2
24 atoms in group co2
neighbor 2.0 bin
neigh_modify every 1 delay 10 check yes
velocity all create ${temp} 54654
velocity all create 338.0 54654
timestep 1.0
# rigid constraints with thermostat
fix myrigid co2 rigid/small molecule mol co2mol
create bodies CPU = 0.000 seconds
8 rigid bodies with 24 atoms
1.16 = max distance from body owner to body atom
# dynamically update fix rigid/nvt/small temperature ndof
fix_modify myrigid dynamic/dof yes
# gcmc
variable tfac equal 5.0/3.0 # (3 trans + 2 rot)/(3 trans)
fix mygcmc co2 gcmc 100 100 0 0 54341 ${temp} ${mu} ${disp} mol co2mol tfac_insert ${tfac} group co2 rigid myrigid
fix mygcmc co2 gcmc 100 100 0 0 54341 338.0 ${mu} ${disp} mol co2mol tfac_insert ${tfac} group co2 rigid myrigid
fix mygcmc co2 gcmc 100 100 0 0 54341 338.0 -8.1 ${disp} mol co2mol tfac_insert ${tfac} group co2 rigid myrigid
fix mygcmc co2 gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol co2mol tfac_insert ${tfac} group co2 rigid myrigid
fix mygcmc co2 gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol co2mol tfac_insert 1.66666666666667 group co2 rigid myrigid
# atom counts
variable carbon atom "type==1"
variable oxygen atom "type==2"
group carbon dynamic co2 var carbon
dynamic group carbon defined
group oxygen dynamic co2 var oxygen
dynamic group oxygen defined
variable nC equal count(carbon)
variable nO equal count(oxygen)
# output
variable tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
variable racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
# dynamically update default temperature ndof
compute_modify thermo_temp dynamic/dof yes
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nC v_nO
thermo 1000
# run
run 20000
Ewald initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:340)
G vector (1/distance) = 0.16463644
estimated absolute RMS force accuracy = 0.033206372
estimated relative force accuracy = 0.0001
KSpace vectors: actual max1d max3d = 16 2 62
kxmax kymax kzmax = 2 2 2
generated 1 of 1 mixed pair_coeff terms from arithmetic mixing rule
WARNING: Fix gcmc using full_energy option (src/MC/fix_gcmc.cpp:486)
0 atoms in group FixGCMC:gcmc_exclusion_group:mygcmc
0 atoms in group FixGCMC:rotation_gas_atoms:mygcmc
WARNING: Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies (src/neighbor.cpp:635)
Neighbor list info ...
update every 1 steps, delay 10 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 16
ghost atom cutoff = 16
binsize = 8, bins = 2 2 2
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut/coul/long, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 15.98 | 15.98 | 15.98 Mbytes
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_racc v_nC v_nO
0 386.52184 23582.465 -3.2433417 14.209828 0.5846359 24 0 0 0 0 8 16
1000 384.36044 168.85423 -23.23758 19.858894 0.80387436 33 0.066251757 0.059749054 0 0 11 22
2000 259.20275 79.927114 -7.8419025 6.9537074 0.43847693 18 0.051929539 0.052057755 0 0 6 12
3000 302.33017 445.51546 -13.370306 12.616643 0.65771539 27 0.047267159 0.046725853 0 0 9 18
4000 311.19874 -941.64049 -29.224589 17.624862 0.87695385 36 0.054172258 0.052814245 0 0 12 24
5000 357.15913 -643.8797 -23.716174 18.453474 0.80387436 33 0.044110118 0.044289139 0 0 11 22
6000 343.81577 816.03183 -23.966196 17.764058 0.80387436 33 0.042107357 0.041553567 0 0 11 22
7000 360.66228 -396.06153 -12.261373 13.259144 0.5846359 24 0.046352562 0.047370093 0 0 8 16
8000 536.38773 97.164555 -1.3308134 6.3954798 0.21923846 9 0.088510977 0.090746839 0 0 3 6
9000 768.3631 251.53458 -0.87836731 5.3441371 0.14615898 6 0.11093712 0.11396968 0 0 2 4
10000 219.20608 -312.87929 -18.365974 9.1477634 0.65771539 27 0.117446 0.11875767 0 0 9 18
11000 380.32873 -455.7618 -19.955783 17.761107 0.73079488 30 0.11798452 0.11947738 0 0 10 20
12000 379.24355 197.4359 -2.1821544 4.521812 0.21923846 9 0.12913146 0.13205423 0 0 3 6
13000 396.07556 137.32879 -13.038496 14.561054 0.5846359 24 0.14552187 0.14709749 0 0 8 16
14000 324.11748 156.7682 -7.5905299 8.6951939 0.43847693 18 0.14458311 0.14598959 0 0 6 12
15000 355.07055 -171.07765 -14.067188 14.81757 0.65771539 27 0.14061899 0.14191715 0 0 9 18
16000 303.99764 -48.184319 -22.94389 15.70676 0.80387436 33 0.13709205 0.13778218 0 0 11 22
17000 233.8048 -12.817441 -10.840623 8.5954415 0.5846359 24 0.13670252 0.13812514 0 0 8 16
18000 288.74916 157.63378 -6.0604526 7.7463575 0.43847693 18 0.14212703 0.14298282 0 0 6 12
19000 285.23652 -41.79006 -1.0403841 1.9838837 0.14615898 6 0.1500458 0.15058244 0 0 2 4
20000 537.62536 77.091199 -3.9443433 9.0811682 0.29231795 12 0.15563619 0.1561609 0 0 4 8
Loop time of 8.33966 on 4 procs for 20000 steps with 12 atoms
Performance: 207.203 ns/day, 0.116 hours/ns, 2398.178 timesteps/s
99.9% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.23792 | 0.33196 | 0.40407 | 10.7 | 3.98
Bond | 0.0061255 | 0.0062467 | 0.0063458 | 0.1 | 0.07
Kspace | 0.1676 | 0.2404 | 0.33413 | 12.6 | 2.88
Neigh | 0.019046 | 0.019101 | 0.01916 | 0.0 | 0.23
Comm | 0.67736 | 0.68025 | 0.68266 | 0.3 | 8.16
Output | 0.00081757 | 0.00087737 | 0.0010462 | 0.0 | 0.01
Modify | 7.0053 | 7.0093 | 7.0134 | 0.1 | 84.05
Other | | 0.05152 | | | 0.62
Nlocal: 3 ave 5 max 0 min
Histogram: 1 0 0 0 1 0 0 0 0 2
Nghost: 711 ave 750 max 671 min
Histogram: 1 1 0 0 0 0 0 0 0 2
Neighs: 321.25 ave 568 max 0 min
Histogram: 1 0 0 1 0 0 0 0 1 1
Total # of neighbors = 1285
Ave neighs/atom = 107.08333
Ave special neighs/atom = 2
Neighbor list builds = 20160
Dangerous builds = 0
Total wall time: 0:00:08

View File

@ -0,0 +1,296 @@
LAMMPS (17 Feb 2022)
# fix gcmc example with fix shake
# variables available on command line
variable mu index -8.1
variable disp index 0.5
variable temp index 338.0
variable lbox index 10.0
variable spacing index 5.0
# global model settings
units real
atom_style full
boundary p p p
pair_style lj/cut/coul/long 14
pair_modify mix arithmetic tail yes
kspace_style ewald 0.0001
bond_style harmonic
angle_style harmonic
# box, start molecules on simple cubic lattice
lattice sc ${spacing}
lattice sc 5.0
Lattice spacing in x,y,z = 5 5 5
region box block 0 ${lbox} 0 ${lbox} 0 ${lbox} units box
region box block 0 10.0 0 ${lbox} 0 ${lbox} units box
region box block 0 10.0 0 10.0 0 ${lbox} units box
region box block 0 10.0 0 10.0 0 10.0 units box
create_box 2 box bond/types 1 angle/types 1 extra/bond/per/atom 2 extra/angle/per/atom 1 extra/special/per/atom 2
Created orthogonal box = (0 0 0) to (10 10 10)
1 by 2 by 2 MPI processor grid
molecule h2omol H2O.txt
Read molecule template h2omol:
1 molecules
0 fragments
3 atoms with max type 2
2 bonds with max type 1
1 angles with max type 1
0 dihedrals with max type 0
0 impropers with max type 0
create_atoms 0 box mol h2omol 464563 units box
Created 24 atoms
using box units in orthogonal box = (0 0 0) to (10 10 10)
create_atoms CPU = 0.002 seconds
# rigid SPC/E water model
pair_coeff 1 1 0.15535 3.166
pair_coeff * 2 0.0000 0.0000
bond_coeff 1 1000 1.0
angle_coeff 1 100 109.47
# masses
mass 1 15.9994
mass 2 1.0
# MD settings
group h2o type 1 2
24 atoms in group h2o
neighbor 2.0 bin
neigh_modify every 1 delay 1 check yes
velocity all create ${temp} 54654
velocity all create 338.0 54654
timestep 1.0
minimize 0.0 0.0 100 1000
WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:187)
Ewald initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:340)
G vector (1/distance) = 0.17044845
estimated absolute RMS force accuracy = 0.033206374
estimated relative force accuracy = 0.00010000001
KSpace vectors: actual max1d max3d = 16 2 62
kxmax kymax kzmax = 2 2 2
generated 0 of 1 mixed pair_coeff terms from arithmetic 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 = 16
ghost atom cutoff = 16
binsize = 8, bins = 2 2 2
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut/coul/long, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 11.85 | 11.85 | 11.85 Mbytes
Step Temp E_pair E_mol TotEng Press
0 338 -4.9610706 9.2628112e-06 18.211756 730.90791
100 338 -15.815905 0.10936727 7.4662793 -278.75864
Loop time of 0.0318772 on 4 procs for 100 steps with 24 atoms
99.9% CPU use with 4 MPI tasks x no OpenMP threads
Minimization stats:
Stopping criterion = max iterations
Energy initial, next-to-last, final =
-4.96106135392776 -15.6966371009978 -15.7065379926413
Force two-norm initial, final = 15.47396 4.3807065
Force max component initial, final = 5.8004229 2.0143175
Final line search alpha, max atom move = 0.0046871063 0.00944132
Iterations, force evaluations = 100 346
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.0044502 | 0.008939 | 0.014884 | 4.0 | 28.04
Bond | 0.00010079 | 0.00013115 | 0.0001615 | 0.0 | 0.41
Kspace | 0.0015161 | 0.0073496 | 0.011723 | 4.3 | 23.06
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.013957 | 0.014086 | 0.01416 | 0.1 | 44.19
Output | 1.1416e-05 | 1.2871e-05 | 1.6202e-05 | 0.0 | 0.04
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 0.001359 | | | 4.26
Nlocal: 6 ave 8 max 3 min
Histogram: 1 0 0 0 1 0 0 0 0 2
Nghost: 1722 ave 1725 max 1720 min
Histogram: 2 0 0 0 0 0 1 0 0 1
Neighs: 1256.75 ave 2101 max 667 min
Histogram: 1 0 1 0 1 0 0 0 0 1
Total # of neighbors = 5027
Ave neighs/atom = 209.45833
Ave special neighs/atom = 2
Neighbor list builds = 0
Dangerous builds = 0
reset_timestep 0
# rigid constraints with thermostat
fix mynvt h2o nvt temp ${temp} ${temp} 100
fix mynvt h2o nvt temp 338.0 ${temp} 100
fix mynvt h2o nvt temp 338.0 338.0 100
fix wshake h2o shake 0.0001 50 0 b 1 a 1 mol h2omol
0 = # of size 2 clusters
0 = # of size 3 clusters
0 = # of size 4 clusters
8 = # of frozen angles
find clusters CPU = 0.001 seconds
# important to make temperature dofs dynamic
compute_modify thermo_temp dynamic/dof yes
compute_modify mynvt_temp dynamic/dof yes
run 1000
Ewald initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:340)
G vector (1/distance) = 0.17044845
estimated absolute RMS force accuracy = 0.033206374
estimated relative force accuracy = 0.00010000001
KSpace vectors: actual max1d max3d = 16 2 62
kxmax kymax kzmax = 2 2 2
generated 0 of 1 mixed pair_coeff terms from arithmetic mixing rule
Per MPI rank memory allocation (min/avg/max) = 11.6 | 11.6 | 11.6 Mbytes
Step Temp E_pair E_mol TotEng Press
0 518.26667 -15.815905 0 7.3569121 -385.7767
1000 240.84589 -44.723106 0 -33.954368 61.365522
Loop time of 0.0928135 on 4 procs for 1000 steps with 24 atoms
Performance: 930.900 ns/day, 0.026 hours/ns, 10774.300 timesteps/s
99.9% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.0079337 | 0.014647 | 0.023202 | 4.8 | 15.78
Bond | 7.45e-05 | 9.0251e-05 | 0.00012098 | 0.0 | 0.10
Kspace | 0.0044849 | 0.012865 | 0.019419 | 5.0 | 13.86
Neigh | 0.0015513 | 0.0015789 | 0.0016063 | 0.1 | 1.70
Comm | 0.038145 | 0.038416 | 0.038704 | 0.1 | 41.39
Output | 9.084e-06 | 1.0765e-05 | 1.546e-05 | 0.0 | 0.01
Modify | 0.023572 | 0.023646 | 0.023723 | 0.0 | 25.48
Other | | 0.00156 | | | 1.68
Nlocal: 6 ave 9 max 1 min
Histogram: 1 0 0 0 0 0 1 0 1 1
Nghost: 1375.25 ave 1495 max 1251 min
Histogram: 1 0 0 1 0 0 1 0 0 1
Neighs: 1263.25 ave 2045 max 122 min
Histogram: 1 0 0 0 0 0 2 0 0 1
Total # of neighbors = 5053
Ave neighs/atom = 210.54167
Ave special neighs/atom = 2
Neighbor list builds = 30
Dangerous builds = 0
reset_timestep 0
# gcmc
variable tfac equal 5.0/3.0 # (3 trans + 2 rot)/(3 trans)
fix mygcmc h2o gcmc 100 100 0 0 54341 ${temp} ${mu} ${disp} mol h2omol tfac_insert ${tfac} group h2o shake wshake
fix mygcmc h2o gcmc 100 100 0 0 54341 338.0 ${mu} ${disp} mol h2omol tfac_insert ${tfac} group h2o shake wshake
fix mygcmc h2o gcmc 100 100 0 0 54341 338.0 -8.1 ${disp} mol h2omol tfac_insert ${tfac} group h2o shake wshake
fix mygcmc h2o gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol h2omol tfac_insert ${tfac} group h2o shake wshake
fix mygcmc h2o gcmc 100 100 0 0 54341 338.0 -8.1 0.5 mol h2omol tfac_insert 1.66666666666667 group h2o shake wshake
# atom counts
variable oxygen atom "type==1"
variable hydrogen atom "type==2"
group oxygen dynamic all var oxygen
dynamic group oxygen defined
group hydrogen dynamic all var hydrogen
dynamic group hydrogen defined
variable nO equal count(oxygen)
variable nH equal count(hydrogen)
# output
variable tacc equal f_mygcmc[2]/(f_mygcmc[1]+0.1)
variable iacc equal f_mygcmc[4]/(f_mygcmc[3]+0.1)
variable dacc equal f_mygcmc[6]/(f_mygcmc[5]+0.1)
variable racc equal f_mygcmc[8]/(f_mygcmc[7]+0.1)
thermo_style custom step temp press pe ke density atoms v_iacc v_dacc v_tacc v_racc v_nO v_nH
thermo 1000
# run
run 20000
Ewald initialization ...
using 12-bit tables for long-range coulomb (src/kspace.cpp:340)
G vector (1/distance) = 0.17044845
estimated absolute RMS force accuracy = 0.033206374
estimated relative force accuracy = 0.00010000001
KSpace vectors: actual max1d max3d = 16 2 62
kxmax kymax kzmax = 2 2 2
generated 0 of 1 mixed pair_coeff terms from arithmetic mixing rule
WARNING: Fix gcmc using full_energy option (src/MC/fix_gcmc.cpp:486)
0 atoms in group FixGCMC:gcmc_exclusion_group:mygcmc
0 atoms in group FixGCMC:rotation_gas_atoms:mygcmc
WARNING: Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies (src/neighbor.cpp:635)
Per MPI rank memory allocation (min/avg/max) = 11.6 | 11.6 | 11.6 Mbytes
Step Temp Press PotEng KinEng Density Atoms v_iacc v_dacc v_tacc v_racc v_nO v_nH
0 240.84589 61.724018 -44.723106 10.768738 0.23910963 24 0 0 0 0 8 16
1000 345.18281 -1439.9493 -275.72969 56.590842 0.83688372 84 0.054205983 0.013941446 0 0 28 56
2000 345.18939 -1776.1886 -334.1935 66.88136 0.98632724 99 0.03258324 0.0068755525 0 0 33 66
3000 371.00685 1611.457 -344.8868 71.883561 0.98632724 99 0.021303508 0.0046725853 0 0 33 66
4000 333.39448 -779.09163 -363.7251 66.583637 1.0162159 102 0.016400775 0.0035209497 0 0 34 68
5000 313.43793 1752.7257 -366.08712 62.598028 1.0162159 102 0.012996731 0.0028442566 0 0 34 68
6000 372.34785 3089.6885 -378.09103 74.36318 1.0162159 102 0.011272836 0.0026808753 0 0 34 68
7000 393.56304 1095.6551 -359.16911 78.600157 1.0162159 102 0.0096096775 0.0023107363 0 0 34 68
8000 378.04525 -1933.9224 -346.54153 75.501032 1.0162159 102 0.0084617108 0.0020089902 0 0 34 68
9000 297.05101 4804.6743 -367.61786 59.325326 1.0162159 102 0.0074970783 0.0017916732 0 0 34 68
10000 379.5212 -951.43658 -368.99713 78.058362 1.0461046 105 0.0069429291 0.0016131959 0 0 35 70
11000 308.54229 1335.2452 -378.61796 63.459711 1.0461046 105 0.006303921 0.0014684018 0 0 35 70
12000 375.19931 2791.9525 -368.98209 79.406248 1.0759934 108 0.0059493315 0.0013447412 0 0 36 72
13000 392.21002 4857.5806 -386.58586 83.006354 1.0759934 108 0.005490232 0.0012416383 0 0 36 72
14000 327.23916 3472.146 -393.65093 69.256081 1.0759934 108 0.0051077595 0.0011507314 0 0 36 72
15000 330.63194 5995.4662 -389.36253 69.974121 1.0759934 108 0.004761212 0.0010753989 0 0 36 72
16000 329.25034 694.90103 -387.21725 69.681723 1.0759934 108 0.0044719941 0.0010062767 0 0 36 72
17000 368.22282 -3340.8134 -399.58632 77.929761 1.0759934 108 0.0042070328 0.00094751928 0 0 36 72
18000 270.78376 1831.8085 -388.15376 57.308002 1.0759934 108 0.0039804956 0.00089324594 0 0 36 72
19000 337.54827 1211.6625 -387.9744 71.437877 1.0759934 108 0.0037779014 0.00084467485 0 0 36 72
20000 382.5465 5070.3639 -399.03603 83.241787 1.1058821 111 0.0036877934 0.00080264069 0 0 37 74
Loop time of 47.6346 on 4 procs for 20000 steps with 111 atoms
Performance: 36.276 ns/day, 0.662 hours/ns, 419.863 timesteps/s
99.9% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 4.3783 | 5.9819 | 7.7932 | 52.3 | 12.56
Bond | 0.014825 | 0.015376 | 0.016097 | 0.4 | 0.03
Kspace | 0.27624 | 2.0815 | 3.68 | 88.4 | 4.37
Neigh | 0.60717 | 0.60731 | 0.60741 | 0.0 | 1.27
Comm | 1.6019 | 1.6072 | 1.6116 | 0.3 | 3.37
Output | 0.00049839 | 0.00055603 | 0.00072798 | 0.0 | 0.00
Modify | 37.253 | 37.253 | 37.253 | 0.0 | 78.21
Other | | 0.08782 | | | 0.18
Nlocal: 27.75 ave 31 max 26 min
Histogram: 2 0 0 0 1 0 0 0 0 1
Nghost: 6387 ave 6439 max 6327 min
Histogram: 1 0 0 1 0 0 0 0 1 1
Neighs: 26407 ave 33738 max 18362 min
Histogram: 1 0 0 0 0 2 0 0 0 1
Total # of neighbors = 105628
Ave neighs/atom = 951.6036
Ave special neighs/atom = 2
Neighbor list builds = 20923
Dangerous builds = 0
Total wall time: 0:00:47

View File

@ -62,7 +62,7 @@ using namespace MathConst;
#define MAXENERGYTEST 1.0e50
enum{EXCHATOM,EXCHMOL}; // exchmode
enum{MOVEATOM,MOVEMOL}; // movemode
enum{NONE,MOVEATOM,MOVEMOL}; // movemode
/* ---------------------------------------------------------------------- */
@ -92,6 +92,7 @@ FixGCMC::FixGCMC(LAMMPS *lmp, int narg, char **arg) :
nevery = utils::inumeric(FLERR,arg[3],false,lmp);
nexchanges = utils::inumeric(FLERR,arg[4],false,lmp);
nmcmoves = utils::inumeric(FLERR,arg[5],false,lmp);
if (nmcmoves > 0) movemode = MOVEATOM;
ngcmc_type = utils::inumeric(FLERR,arg[6],false,lmp);
seed = utils::inumeric(FLERR,arg[7],false,lmp);
reservoir_temperature = utils::numeric(FLERR,arg[8],false,lmp);
@ -235,7 +236,7 @@ void FixGCMC::options(int narg, char **arg)
// defaults
exchmode = EXCHATOM;
movemode = MOVEATOM;
movemode = NONE;
patomtrans = 0.0;
pmoltrans = 0.0;
pmolrotate = 0.0;
@ -447,27 +448,29 @@ void FixGCMC::init()
// set probabilities for MC moves
if (pmctot == 0.0)
if (exchmode == EXCHATOM) {
movemode = MOVEATOM;
patomtrans = 1.0;
pmoltrans = 0.0;
pmolrotate = 0.0;
} else {
movemode = MOVEMOL;
patomtrans = 0.0;
pmoltrans = 0.5;
pmolrotate = 0.5;
}
else {
if (pmoltrans == 0.0 && pmolrotate == 0.0)
movemode = MOVEATOM;
else
movemode = MOVEMOL;
patomtrans /= pmctot;
pmoltrans /= pmctot;
pmolrotate /= pmctot;
}
if (nmcmoves > 0) {
if (pmctot == 0.0)
if (exchmode == EXCHATOM) {
movemode = MOVEATOM;
patomtrans = 1.0;
pmoltrans = 0.0;
pmolrotate = 0.0;
} else {
movemode = MOVEMOL;
patomtrans = 0.0;
pmoltrans = 0.5;
pmolrotate = 0.5;
}
else {
if (pmoltrans == 0.0 && pmolrotate == 0.0)
movemode = MOVEATOM;
else
movemode = MOVEMOL;
patomtrans /= pmctot;
pmoltrans /= pmctot;
pmolrotate /= pmctot;
}
} else movemode = NONE;
// decide whether to switch to the full_energy option