SHAKE fails as it’s used with the fix_gcmc command

Dear LAMMPS developer & users,

I’m conducting a GCMC simulation involving water molecules (SPC/E model with all its bonds being constrained by SHAKE method). However, I find the SHAKE fails as it’s used with the fix_gcmc command.

The water molecule file (molecule.H2O), input script (in.gcmc_water_vapor) and the log file (log.lammps) are attached above. I simulated a cubic box filled with water vapor. Initially, a single water molecule is placed in the box. The run consists of two stages: NVE and GCMC. In the NVE stage, the water molecule looks normal and the SHAKE works well (indicated by the tiny E_mol energy). However, in the GCMC stage, I hope to fill the cubic box with water molecules at 400 K and 1 bar. The command used is “fix 2 Vapor gcmc 10 10 20 0 9248 400.0 0 1.0 mol H2O shake 1 pressure 1.0 tfac_insert 2 full_energy”. However, the SHAKE fails occasionally. In the thermal output, E_mol may suddenly increases (such as timestep 11500) in the log file. I dump the molecular position and find a broken molecule at timestep 11500 as below. The H-O bonds and the angle bond are broken. I’m not sure whether it’s a bug or a mistake in my input script. (PS: I’m using the latest version of LAMMPS-Mar2017).

Any suggestion or comment is appreciated.



ITEM: ATOMS id mol type x y z vx vy vz fx fy fz

1783 595 1 11.9581 92.6583 99.3903 9.47262 -0.634907 -2.31436 46.4906 -53.2122 -172.189

1784 595 2 12.0246 91.426 98.7354 9.47262 -0.634907 -2.31436 -23.2863 190.711 144.204

1785 595 2 11.8447 92.6759 99.7708 9.47262 -0.634907 -2.31436 -23.2043 -137.499 27.9852


----Tengfei LIANG

molecule.H2O (449 Bytes)

in.gcmc_water_vapor (1.9 KB)

log.lammps (71.3 KB)

One red flag is creating atoms of type 0. Also, when you are running fix gcmc you are running fix shake but not fix nve. It does not make sense to run shake without nve. You should study the example gcmc/in.gcmc.co2.