"Unknown Identifier in Data File" @ Last Bond

Dear Users,

I am simulating bumpy nanoparticles being compressed between two gels. The nanoparticle is comprised of X sub particles (normally 2000) to create a bumpy sphere, all connected to one sub particle in the center (to limit movement during energy minimization). I use python to write my input file, and when I run the system with just one of the nanoparticles, it runs flawlessly. However, if I try to create a system with two nanoparticles I receive the following error on the last bond of my system.

LAMMPS (12 Dec 2018)
using 1 OpenMP thread(s) per MPI task
Reading data file …
orthogonal box = (-50 -50 -100) to (50 50 100)
1 by 1 by 1 MPI processor grid
reading atoms …
52504 atoms
scanning bonds …
2000 = max bonds/atom
ERROR: Unknown identifier in data file: 55800 2 52504 52500 (src/read_data.cpp:710)
Last command: read_data ${fname}.txt

This occurs regardless of the number of sub-particles I use to make up the nanoparticle. I’ve looked through the mailing list, and it seems that this error usually comes up due to a problem in formatting, but I’ve been unable to find the error. Help would be appreciated.

Input File:

LAMMPS input file

Hydrogel with nanoparticle(np)

----- Variables -----

variable K equal 40.0
variable K2 equal 500.0
variable R0 equal 1.0
variable R1 equal 1.42
variable theta1 equal 90.0
variable theta2 equal 180.0
variable k1 equal 75.0
variable k2 equal 75.0

variable fname string system
variable step equal 100
variable dt equal 0.0000001

----- Initialisation -----

units lj # sets timestep to _ fs by default
boundary p p p
atom_style angle
log log.{fname}.txt timestep {dt}

----- Atom Definition -----

read_data ${fname}.txt

----- Force Fields -----

bond_style harmonic # bonds
bond_coeff 1 {K} {R0} # bond_type K R0
bond_coeff 2 {K2} {R1} # bond_type K R0
angle_style harmonic
angle_coeff 1 {k2} {theta2}
angle_coeff 2 {k1} {theta1}
pair_style lj/cut 2.5
pair_coeff 1 1 0.5 1.0 2.5 # gel-gel
pair_coeff 1 2 3.0 1.0 2.5 # gel-nanoparticle
pair_coeff 2 2 1.0 1.0 1.12 # np-np

----- Settings -----

compute peratom all pe/atom

----- Fixes -----

------ Use atom for VMD ------

dump 1 all custom {step} dump.{fname}.* id type x y z
dump 2 all atom 20000 ${fname}.atom

----- Energy Minimisation -----

min_style cg
minimize 1 1 500 1000
run 10000

----- Rigid -----

variable K2 equal 0
bond_coeff 2 {K2} {R0}
group particles type 2
fix 1 particles rigid single

----- Compression -----

reset_timestep 0
fix 1a all npt temp 1.0 1.0 (100*dt) x 0.0 0.0 (1000dt) y 0.0 0.0 (1000*dt) z 0.0 0.1 (1000dt) couple none
thermo ${step}
thermo_style custom step pe lx ly lz press pxx pyy pzz temp
run 10000
unfix 1a

reset_timestep 0
fix 1b all npt temp 1.0 1.0 (100*dt) x 0.0 0.0 (1000dt) y 0.0 0.0 (1000*dt) z 0.1 0.1 (1000dt) couple none
thermo ${step}
thermo_style custom step pe lx ly lz press pxx pyy pzz temp
run 300000
unfix 1b

reset_timestep 0
fix 1c all npt temp 1.0 1.0 (100*dt) x 0.0 0.0 (1000dt) y 0.0 0.0 (1000*dt) z 0.1 0.0 (1000dt) couple none
thermo ${step}
thermo_style custom step pe lx ly lz press pxx pyy pzz temp
run 90000
unfix 1c

----- Equilibration -----

reset_timestep 0
fix 2 all npt temp 1.0 1.0 (100*dt) x 0.0 0.0 (1000dt) y 0.0 0.0 (1000*dt) z 0.0 0.0 (1000dt) couple none
thermo ${step}
thermo_style custom step pe lx ly lz press pxx pyy pzz temp
run 1000000
unfix 2

Store final cell length for strain calculations

variable tmp equal “lz”
variable L0 equal {tmp} print "Initial Length, L0: {L0}"

#-------- DEFORMATION -----------

reset_timestep 0
variable srate1 equal “0.0025”
fix 3 all npt temp 1.0 1.0 (100*dt) x 0.0 0.0 (1000*dt) y 0.0 0.0 (1000*dt) couple none pchain 3 tchain 3 drag 1.0 fix 4 all deform 1 z erate {srate1} remap x units box

Output strain and stress info to file

variable strain equal “(lz - v_L0)/v_L0”
variable p1 equal “v_strain”
variable p2 equal “-pxx”
variable p3 equal “-pyy”
variable p4 equal “-pzz”
fix def2 all print 100 “{p1} {p2} {p3} {p4}” file ${fname}.txt screen no

Display thermo

thermo ${step}
thermo_style custom step pe lx ly lz press pxx pyy pzz temp
run 4000000

----- Final Statement -----

Simulation Finished

print “All Done”

Data File:

#Split Gels 101020
#second line will be skipped

52504 atoms
55800 bonds
72100 angles
2 atom types
2 bond types
2 angle types

-50 50 xlo xhi
-50 50 ylo yhi
-100 100 zlo zhi

Masses

1 1.0
2 0.5

Atoms

1 1 1 -50. -50. -100.
2 1 1 -50. -50. -90.
3 1 1 -50. -50. -80.

52501 2 2 39.176656475282975. -2.0855882891854804. 1.1256351655153674.
52502 2 2 39.288044683160798. -2.6237201015507061. 0.29452069625297206.
52503 2 2 0.0. 0.0. 0.
52504 2 2 40.0. 0.0. 0.

Bonds

1 1 1 1701
2 1 1 1710
3 1 1 1719

55798 2 52504 52498
55799 2 52504 52499
55800 2 52504 52500

Angles

1 1 1 1701 1702
2 1 1 1710 1711
3 1 1 1719 1720

72098 2 48492 1700 48455
72099 2 48492 1700 48474
72100 2 48492 1700 48483

Thank you,

William Morton

please provide the smallest possible data file, that reproduces the issue and a matching input file.
best report it as a bug-report issue on github and attach the files (after renaming them, so their names end in .txt). https://github.com/lammps/lammps/issues

axel.