Add TIP4P water molecules by “read_data” and “create_atoms"

Dear lammps-users
I am trying to create a TIP4P water molecule in LAMMPS by reading my own initial structure with the “read_data" and then using the "create_atoms ". However, I get the following error. Could you help me to find out what’s wrong with my script? Thank you so much!

ERROR: Molecule topology/atom exceeds system topology/atom (src/molecule.cpp:1901)
Last command: create_atoms 0 random 3 34564 water_zone mol water 25367 overlap 1.33

create_water_4.lammps

units real
atom_style full

read_data tob_water_update_4.data &
extra/atom/types 2 &
extra/bond/types 1 &
extra/angle/types 1 &
extra/bond/per/atom 3 &
extra/angle/per/atom 2

molecule water tip3p.mol

pair_style hybrid/overlay lj/cut/tip4p/long 4 5 1 1 0.1546 16 lj/cut 12
bond_style harmonic
angle_style harmonic
kspace_style pppm/tip4p 1.0e-4

mass 4 15.9994 # Water Oxygen
mass 5 1.008 # Water Hydrogen

pair_coeff * * lj/cut/tip4p/long 0.0 0.0
pair_coeff 4 4 lj/cut/tip4p/long 0.185199 3.1589

pair_coeff 1 4 lj/cut 0.0993886 3.211577733
pair_coeff 3 4 lj/cut 0.01794068 3.844182653
pair_coeff 2 5 lj/cut 0.1272912 2.66
pair_coeff 1 5 lj/cut 0.0675658 2.65
pair_coeff 3 5 lj/cut 0.00959296 3.33979572
pair_coeff 2 4 lj/cut 0.163726 3.27333

bond_coeff 1 0 0.9572
angle_coeff 1 0 104.52

region water_zone block 0.0 34.0 0.0 36.0 12.0 22.0 units box

create_atoms 0 random 33 34564 water_zone mol water 25367 overlap 1.33

fix 1 all shake 1.0e-4 20 0 b 1 a 1
group csh type 1 2 3
group water type 4 5
neighbor 2.0 bin
neigh_modify delay 10 every 1 check yes
thermo_style custom step temp pe etotal press vol
thermo 100

minimize 1.0e-5 1.0e-7 1000 10000

fix 2 all nvt temp 300.0 300.0 100.0
timestep 1.0

run 10000

write_data csh_with_water.data

tip3p.mol

Water molecule. TIP3P geometry

3 atoms
2 bonds
1 angles

Coords

1 0.00000 -0.06556 0.00000
2 0.75695 0.52032 0.00000
3 -0.75695 0.52032 0.00000

Types

1 4 # O
2 5 # H
3 5 # H

Charges

1 -0.834
2 0.417
3 0.417

Bonds

1 1 1 2
2 1 1 3

Angles

1 1 2 1 3

Shake Flags

1 1
2 1
3 1

Shake Atoms

1 1 2 3
2 1 2 3
3 1 2 3

Shake Bond Types

1 1 1 1
2 1 1 1
3 1 1 1

Special Bond Counts

1 2 0 0
2 1 1 0
3 1 1 0

Special Bonds

1 2 3
2 1 3
3 1 2

tob_water_update_4.data

LAMMPS-data file written from a jupyter notebook, 04_fill_H2O_betw_tobs.ipynb.

1680 atoms
0 bonds
0 angles

3 atom types

0.0 34.050 xlo xhi
0.0 36.500 ylo yhi
0.0 34.078 zlo zhi

Masses

1 40.078
2 15.9994
3 28.085

Atoms # atom-ID molecule-ID atom-type q x y z ? ? ?

   1     0  1   1.6800        8.553         2.738        26.430  
   2     0  1   1.6800        0.036         4.563        28.437  

*tob_water_update_4.data is only partially posted

Hello,

You need to also allocate space for “extra special per atom”.

There is no need for pair style hybrid here. You should use only lj/cut/tip4p/long.

Best,
Simon

If you would be using an up-to-date LAMMPS executable, it would tell you to also look at 11.2. Errors and warnings details — LAMMPS documentation for more information.

Thank you both !!