TIP4P/2005 the flexible version - M position

Dear Lammps Users,

I am trying to implement the flexible version of the TIP4P/2005 water model on lammps. However, they are describing the M position of the oxygen atom as a variable in the paper published originally with the water model. In this paper they define M position in terms of the projection of the length of the two hydrogen bonds. In lammps i am using this input file.

units metal

atom_style full

pair_style lj/cut/tip4p/long 1 2 1 1 0.1546 8.50 8.50

bond_style morse

angle_style harmonic

read_data data.tip4p2005f

pair_coeff 1 1 0.0080313518396 3.1644

pair_coeff 2 2 0.0000000 0.000000

pair_coeff 1 2 0.0000000 0.000000

kspace_style pppm/tip4p 1.0e-8

neighbor 1.0 bin
timestep 0.0004 # this is in ps not in fs

group water type 1 2

fix 2 all nve

fix 3 all temp/berendsen 300.0 300.0 0.4

thermo_style custom step temp press pe ke etotal vol

thermo_modify flush yes

thermo 1000

run 250000

I am using this pair_style “lj/cut/tip4p/long 1 2 1 1 0.1546 8.50 8.50” because this is the only pair style in lammps to define the tip4p models. Here the m position is fixed similar to the rigid tip4p models. The question is how to implement such flexibility? Will it or will it not affect the performance of the simulation if it is defined as a rigid position?

Dear Lammps Users,

I am trying to implement the flexible version of the TIP4P/2005 water model on lammps. However, they are describing the M position of the oxygen atom as a variable in the paper published originally with the water model. In this paper they define M position in terms of the projection of the length of the two hydrogen bonds. In lammps i am using this input file.

units metal
atom_style full
pair_style lj/cut/tip4p/long 1 2 1 1 0.1546 8.50 8.50
bond_style morse
angle_style harmonic

read_data data.tip4p2005f

pair_coeff 1 1 0.0080313518396 3.1644
pair_coeff 2 2 0.0000000 0.000000
pair_coeff 1 2 0.0000000 0.000000
kspace_style pppm/tip4p 1.0e-8

neighbor 1.0 bin
timestep 0.0004 # this is in ps not in fs

group water type 1 2

fix 2 all nve
fix 3 all temp/berendsen 300.0 300.0 0.4

thermo_style custom step temp press pe ke etotal vol
thermo_modify flush yes
thermo 1000

run 250000

I am using this pair_style "lj/cut/tip4p/long 1 2 1 1 0.1546 8.50 8.50" because this is the only pair style in lammps to define the tip4p models. Here the m position is fixed similar to the rigid tip4p models. The question is how to implement such flexibility? Will it or will it not affect the performance of the simulation if it is defined as a rigid position?

you would have to change the source code and recompile. performance
impact, if any, would be small, since the location of M already has to
be computed from the positions of the other three atoms (and LAMMPS
uses a caching algorithm to only have to compute it only once per time
step for each molecule, instead of for every pair of interactions)

axel.