lammps_spc/e water


I got some troubles in simulation water using spc/e model.

The lammps version I used is lammps-11Aug17.

I used “fix rattle” command to impose constraints on bond angle and length (rigid water model) as suggest in lammps example (example/HEAT).

However, when I simulate pure water (NVT) at 300K with “fix rattle” turned on, the water molecules behave kind of frozen and lose their translational motion, but with pretty local fast hydrogen atom vibration. The output temperature and potential energy gradually converge to constant values. However, when I turned of “fix rattle”, everything worked well (losing some constraints on bond angle and length).

Anyone have any suggestion?? (my input file is shown below)


# Solvated 5-mer peptide

units real
atom_style full

variable O equal 1
variable H equal 2
variable cutC equal 10.
variable cutLJ equal 9.
variable epsOO equal 0.15535
variable sigOO equal 3.166
variable theta equal 109.47
variable t equal 300.

read_data data.water #hpht
#read_restart nacl.restart.30000 #nacl.restart.10000

pair_style lj/cut/coul/long {cutLJ} {cutC}
pair_coeff * * 0.0 0.0
pair_coeff {O} {O} {epsOO} {sigOO}

#Ewald summation with precision 1.e-5
kspace_style ewald 1e-5

# bonds and angle of water
bond_style harmonic
angle_style harmonic
bond_coeff 1 1000.00 1.000
angle_coeff 1 100.0 ${theta}

# use RATTLE with precision 1.e-10
#fix frat all rattle 1e-10 500 0 b 1 a 1

# neighbor skin
neighbor 2.0 bin
#neigh_modify delay 5

# correction terms for truncated tail of LJ
pair_modify tail yes

#initializing velocity
#velocity all create $t 87640

timestep 2.0

#thermo_style multi
thermo 100
thermo_style custom step temp ke pe pxx pyy pzz lx ly lz

#fix 2 all npt iso 1.0 1.0 500 temp $t $t 100

fix 1 all nvt temp $t $t 100 tchain 1

dump 1 all custom 1 dump.lammpstrj id type x y z

restart 5000 nacl.restart

run 100000

I think you should increase the value of the temperature damping parameter Tdamp. When it is too small, the fix “adjusts” the temperature rapidly which does not give the water molecules the freedom to move. You are using 1 time unit for the fix while your time step is 2 time units which probably means you will not be able to observe any freedom in the molecules.

Hope that helps,

Khalid Abdelaziz


Thanks, Axel

I checked the output, there is a warning suggesting wrong ordering of fixes; after putting “fix rattle” to be the last fix, simulations work well.

Actually, I tried “fix shake” instead in my simulation last few days, and “fix shake” is less sensitive, and worked anyway despite of the wrong ordering.