Error : New bond exceeded special list size in fix bond.create (fix_bond_create.cpp:427)

Dear Lammps-users,

This is the first time for me to send an email to Lammps-users lists. I am using lammps-10OCT2012. I built all packages except for GPU, USER-ATC and USER-CUDA.

My project goal is to create a crosslinked epoxy polymer structure and then predict mechanical (e.g., Young’s modulus etc) and thermodynamic (e.g., Glass transition temperature etc) properties. First, I created two coordinate files (.xyz file) for epoxy and crosslinker using Jmol, and mixed them using packmol. Then, I converted it to a lammps data file using topotools.

I relaxed the structure which is defined in the lammps data file using NVE ensemble and conjugate gradient method. Then, I try to create a crosslinking structure during a NPT simulation using “fix bond/create” command. I defined “special_bonds” command and I wrote “fix bond/create” command right before the NPT simulation.

I have an error message like " Error : New bond exceeded special list size in fix bond.create (fix_bond_create.cpp:427)".

I have changed some “keyword values” such as iparam and jparam in “fix bond/create” command, and have changed “lj values” in “special_bonds” command.

Do you have any idea to fix this problem?

Please take a look at my input file (in.crosslink and data.test1) if you are interested.

Thanks for your help.

Best regards,
Changwoon Jang

in.crosslink (2.13 KB)

data.test1 (106 KB)

The fix bond/create doc page explains it:

IMPORTANT NOTE: To create a new bond, the internal LAMMPS data
structures that store this information must have space for it. When
LAMMPS is initialized from a data file, the list of bonds is scanned
and the maximum number of bonds per atom is tallied. If some atom will
acquire more bonds than this limit as this fix operates, then the
"extra bonds per atom" parameter in the data file header must be set
to allow for it. See the read_data command for more details. Note that
if this parameter needs to be set, it means a data file must be used
to initialize the system, even if it initially has no bonds. A data
file with no atoms can be used if you wish to add unbonded atoms via
the create atoms command, e.g. for a percolation simulation.

IMPORTANT NOTE: LAMMPS also maintains a data structure that stores a
list of 1st, 2nd, and 3rd neighbors of each atom (in the bond topology
of the system) for use in weighting pairwise interactions for bonded
atoms. Adding a bond adds a single entry to this list. The "extra"
keyword of the special_bonds command should be used to leave space for
new bonds if the maximum number of entries for any atom will be
exceeded as this fix operates. See the special_bonds command for


Dear Steven Plimpton,

Thank you for your help.

I set up the “extra bond per atom” command in the header of my lammps data file like

no, the number is not arbitrary. It will leave
space for 10,000 bonds for each atom in your
system. A number like 1 or 2 is more typical.
How many bonds per atom is your model

Re-read the doc pages carefully. These
extra settings and the fix bond/create command
have to be compatible.