about fix modify command

Dear users,

My simulation is water sandwiched in two pyrophyllite clay particles, the pyrophyllite only provides force field and “boundary” to water, so in my simulation, I only calculate nvt with water. As my own understanding, the reason that fix_modify command been set up is because when I calculate nvt with water, LAMMPS estimates the temperature by summing up all the kinetic energy of all the atoms. However, my pyrophyllite is immobilize, and the temperature of my system will be lower than the actual temperature. But what the temperature that been output disagree with my thought.

During the running, I monitor the temperature of water, but the temperature of the water is really small (almost 0K) and it is far away what I have set up (298K).
What have I think wrong? Below is my input script and output file.

Thank you!

Miao-Chun

input script:

units real

dimension 3
boundary p p p
atom_style full

read_data system.data
neighbor 2.0 bin
neigh_modify delay 2 every 1 check yes

set potential function and parameters

pair_style lj/cut/coul/long 8.0
pair_modify mix arithmetic tail no
pair_coeff 1 1 0.152 3.15
pair_coeff 2 2 0.046 0.4

#pyrophyllite
pair_coeff 3 3 0.001 7.4 # Si-Si
pair_coeff 4 4 0.150 6.3 # Al-Al
pair_coeff 5 5 0.0001 2.4 # H1-H1
pair_coeff 6 6 1.0 3.0 # O1-O1
pair_coeff 7 7 6.0 2.8 # O2-O2
pair_coeff 8 8 6.0 2.8 # O3-O3

bond_style harmonic
bond_coeff 1 450.0 0.9572
angle_style harmonic
angle_coeff 1 34.933 104.52
kspace_style pppm 1.0e-5

group slab type 3 4 5 6 7 8
group water type 1 2

timestep 0.05

velocity water create 298.0 12345689 dist gaussian
fix 2 water nvt temp 298.0 298.0 100
compute Tliq water temp
fix_modify 2 temp Tliq

thermo 100
thermo_style custom step pe etotal press c_Tliq
thermo_modify norm no lost ignore lost/bond ignore

dump dump1 all atom 100 dump.lammpstrj
run 100000

log file output:

LAMMPS (15 May 2015)
Reading data file …
orthogonal box = (0 -95.65 -7.56) to (21.12 355.65 87.56)
1 by 1 by 1 MPI processor grid
reading atoms …
26784 atoms
scanning bonds …
2 = max bonds/atom
scanning angles …
1 = max angles/atom
reading bonds …
8256 bonds
reading angles …
4128 angles
Finding 1-2 1-3 1-4 neighbors …
Special bond factors lj: 0 0 0
Special bond factors coul: 0 0 0
2 = max # of 1-2 neighbors
1 = max # of 1-3 neighbors
1 = max # of 1-4 neighbors
2 = max # of special neighbors
14400 atoms in group slab
12384 atoms in group water
WARNING: Temperature for fix modify is not for group all (…/fix_nh.cpp:1349)
PPPM initialization …
G vector (1/distance) = 0.385692
grid = 36 360 108
stencil order = 5
estimated absolute RMS force accuracy = 0.00312883
estimated relative force accuracy = 9.42237e-06
using double precision FFTs
3d grid and FFT values/proc = 1899225 1399680
Neighbor list info …
1 neighbor list requests
update every 1 steps, delay 2 steps, check yes
master list distance cutoff = 10
Setting up run …
WARNING: Inconsistent image flags (…/domain.cpp:682)
Memory usage per processor = 223.947 Mbytes
Step PotEng TotEng Press Tliq
0 2.3736634e+09 2.3736744e+09 7.1975129e+08 298
100 2.3732592e+09 2.3736587e+09 7.1966008e+08 10823.949
200 2.3757158e+09 2.3757269e+09 7.1950983e+08 300.16457
300 2.3748288e+09 2.3748361e+09 7.1955412e+08 195.91718
400 2.374276e+09 2.3742808e+09 7.1958193e+08 128.50316
500 2.3738953e+09 2.3738983e+09 7.1960188e+08 81.83489
600 2.3736483e+09 2.3736503e+09 7.1961441e+08 53.40952
700 2.3734875e+09 2.3734888e+09 7.1962259e+08 34.675965
800 2.3733839e+09 2.3733848e+09 7.1962794e+08 22.276107
900 2.3733301e+09 2.3733305e+09 7.1963104e+08 12.291238
1000 2.3732828e+09 2.3732832e+09 7.1963319e+08 10.366098
1100 2.3732518e+09 2.373252e+09 7.1963483e+08 6.6810843
1200 2.3732318e+09 2.373232e+09 7.1963589e+08 4.3469843
1300 2.3732199e+09 2.3732199e+09 7.1963669e+08 1.198726
1400 2.3732157e+09 2.3732158e+09 7.196369e+08 1.2151737
1500 2.3732105e+09 2.3732106e+09 7.1963709e+08 1.5492174
1600 2.3732049e+09 2.373205e+09 7.1963729e+08 1.3496919
1700 2.3732009e+09 2.3732009e+09 7.1963746e+08 0.87492096
1800 2.3731982e+09 2.3731982e+09 7.1963758e+08 0.58048347
1900 2.3731964e+09 2.3731965e+09 7.1963765e+08 0.39466911
2000 2.3731952e+09 2.3731952e+09 7.196377e+08 0.27006367
2100 2.3731944e+09 2.3731944e+09 7.1963772e+08 0.19966742
2200 2.3731937e+09 2.3731937e+09 7.1963772e+08 0.1574605
2300 2.3731932e+09 2.3731932e+09 7.1963771e+08 0.12707491
2400 2.3731928e+09 2.3731928e+09 7.196377e+08 0.10501338
2500 2.3731924e+09 2.3731924e+09 7.1963768e+08 0.089165106
2600 2.3731921e+09 2.3731921e+09 7.1963765e+08 0.077706763
2700 2.3731918e+09 2.3731918e+09 7.1963763e+08 0.069286208
2800 2.3731916e+09 2.3731916e+09 7.1963761e+08 0.062955984
2900 2.3731914e+09 2.3731914e+09 7.1963758e+08 0.058063181
3000 2.3731911e+09 2.3731911e+09 7.1963755e+08 0.054163209
3100 2.373191e+09 2.373191e+09 7.1963753e+08 0.050956461
3200 2.3731908e+09 2.3731908e+09 7.196375e+08 0.048242821
3300 2.3731906e+09 2.3731906e+09 7.1963748e+08 0.045888711
3400 2.3731904e+09 2.3731904e+09 7.1963745e+08 0.043804592
3500 2.3731903e+09 2.3731903e+09 7.1963743e+08 0.041929976
3600 2.3731901e+09 2.3731901e+09 7.1963741e+08 0.040223341
3700 2.37319e+09 2.37319e+09 7.1963738e+08 0.038655584
3800 2.3731898e+09 2.3731898e+09 7.1963736e+08 0.037205731
3900 2.3731897e+09 2.3731897e+09 7.1963734e+08 0.035858227
4000 2.3731896e+09 2.3731896e+09 7.1963732e+08 0.034601106
4100 2.3731894e+09 2.3731894e+09 7.196373e+08 0.033424913
4200 2.3731893e+09 2.3731893e+09 7.1963728e+08 0.032321987
4300 2.3731892e+09 2.3731892e+09 7.1963725e+08 0.031285831
4400 2.3731891e+09 2.3731891e+09 7.1963723e+08 0.030310853
4500 2.373189e+09 2.373189e+09 7.1963722e+08 0.029392251
4600 2.3731889e+09 2.3731889e+09 7.196372e+08 0.028525732

Dear users,

My simulation is water sandwiched in two pyrophyllite clay particles, the
pyrophyllite only provides force field and "boundary" to water, so in my
simulation, I only calculate nvt with water. As my own understanding, the
reason that fix_modify command been set up is because when I calculate nvt
with water, LAMMPS estimates the temperature by summing up all the kinetic
energy of all the atoms.

​this is nonsense and in contradiction with the documentation. i have
explained this to you already. fix nvt *will* create its own temperature
computed (unless you replace it) and it will act only on the fix group.​

However, my pyrophyllite is immobilize, and the temperature of my system
will be lower than the actual temperature. But what the temperature that
been output disagree with my thought.

During the running, I monitor the temperature of water, but the temperature

of the water is really small (almost 0K) and it is far away what I have set
up (298K).
What have I think wrong? Below is my input script and output file.

​bad interactions parameters between your two subsystems. it looks like you
are generating those from mixing rules. i doubt that will work.
if you have too strong interactions between your immobilized part of the
system and your mobile part, the mobile part will "freeze out" and no
thermostat can help you there. MD is GI-GO.

axel.

Dear users,

Thank you Axel.
To make sure I do not think wrong, is this means that if I only control water nvt, then it only calculates the temperature of water? So I do not have to use fix_modify command. Then what does fix_modify actually means? I read the document again but still cannot figure it out.
If I close fix_modify command, the water temperature will end up oscillating near 298K as I expect. Actually I want to observe the meniscus that generate from the force field of pyrophyllite and water, but I haven’t seen it yet. Is this because of the bad interactions parameters between clay and water? If the mixing rule is doubt, does this mean I have to calculate each interaction?
Thank you!

Miao-Chun

Dear users,

Thank you Axel.
To make sure I do not think wrong, is this means that if I only control
water nvt, then it only calculates the temperature of water? So I do not
have to use fix_modify command. Then what does fix_modify actually means? I
read the document again but still cannot figure it out.
If I close fix_modify command, the water temperature will end up
oscillating near 298K as I expect.

​without having a crystal ball, or looking over your shoulder to see
*exactly* what you are doing, it is impossible to discuss this in a
meaningful way.​

Actually I want to observe the meniscus that generate from the force field
of pyrophyllite and water, but I haven't seen it yet. Is this because of
the bad interactions parameters between clay and water? If the mixing rule
is doubt, does this mean I have to calculate each interaction?

​these are all points that have little to do with LAMMPS but more to do
with your level of training and understanding in MD and simulations using
force fields. thus you should have a chat with your adviser and arrange for
getting the proper training and understanding. a mailing list is a poor
replacement ​for this. none of us here can be backup adviser in these cases
in their free time.

axel.