Suppose I have made a data file for water, but I run it with two different water models, SPCE and TIP4P/2005. And the O-H bond length is different for those two models.
If I run the same data file with two different models, will lammps automatically adjust the O-H bond length? Or should I prepare two different data file based on the water model parameters?
Thanks in advance.
Not only is the length of the OH bonds different, also the angle differs between SPC/E and TIP4P/2005.
LAMMPS does not know anything about water models, so it will not change any parameters that you input in a data file. However, you also have to input different force field parameters for each water model (different
angle_coeff settings and different per-atom charges) and then those should push the individual molecules to their respective geometries, if done correctly. Since both mentioned water models are rigid models, you would have to use
fix shake or
fix rattle to constrain their bonds and angles and those should be capable of correcting any differences to the force field settings in the geometry, if they are not too different. While those fixes will not be run during minimization, you can increase the force field constants for bond and angle interactions (they are irrelevant when modeling rigid molecules) to very large values (e.g. 10000 and 100000 respectively) and then the geometry should become close to the desired values during a short minimization, if you have a reasonable initial geometry.
What should be of greater concern is the ordering of atoms. The TIP4P styles have a strict requirement with respect to the order of atom-ID so they can identify the hydrogen atoms that “belong” to a given oxygen (see the note in pair_style lj/cut/tip4p/cut command — LAMMPS documentation) for reconstructing the M site geometry on the fly.
Now I understand it.
Thanks for the detailed explanation.