ERROR on proc0: New bond exceeded bonds per atom in fix bond/create

Dear LAMMPS users,

I’m trying to simulate a cross-linking process in a polymer matrix. My model consists of 2 types of polymer chains, e.g. polymer1 and polymer2. Assume polymer1 consists of 3 particles of 3 atom types, resulting in the configuration: A-B-C. Polymer2 consists of 2 particles of the same atom type, resulting in the configuration: D-D. During cross-linking two new types of bonds can be formed, that is A-D and C-D. Particles of types A and C can only bond once to particles of type D, whereas particles of type D can bond twice to particles of types A or C.

In total this results in the amounts of 1-2, 1-3 and 1-4 neighbours per atom as given below. The first number between brackets is the number of neighbours that already existed initially and the second number is the amount of new neighbours. Together they add up to the total number of neighbours, shown outside the brackets:

particles of type A: 400

1-2 neighbours (particle of type A): 2 (1 + 1)

1-3 neighbours (particle of type A): 3 (1 + 2)

1-4 neighbours (particle of type A): 4 (0 + 4)

particles of type B: 400

1-2 neighbours (particle of type B): 2 (2 + 0)

1-3 neighbours (particle of type B): 2 (0 + 2)

1-4 neighbours (particle of type B): 4 (0 + 4)

particles of type C: 400

1-2 neighbours (particle of type C): 2 (1 + 1)

1-3 neighbours (particle of type C): 3 (1 + 2)

1-4 neighbours (particle of type C): 4 (0 + 4)

particles of type D: 200

1-2 neighbours (particle of type D): 3 (1 + 2)

1-3 neighbours (particle of type D): 4 (0 + 4)

1-4 neighbours (particle of type D): 4 (0 + 4)

To implement this in my script I use the “fix bond/break” command, but I receive the next message: “ERROR on proc 0: New bond exceeded bonds per atom in fix bond/create”. According to the documentation I need to adjust some commands to make it work. I have some questions about these commands though:

  1. In the read_restart command I should add “extra/special/per/atom”, followed by an integer. In the documentation it says that the integer is needed to leave space for extra 1-2, 1-3, 1-4 interactions per atom. I tried to run the script using integer 10 as argument, since this is the largest amount of extra neighbours that any of my particles can get after curing (particle D: 2+4+4). However, this results in the error mentioned earlier. My question is therefore what the correct argument should be in my case.

  2. I also use the “special_bonds” command to adjust the lists with neighbours that are used by the “pair_style lj/cut” command. The exact implementation of the “special_bonds” command in my script is “special_bonds lj 0 0 0 extra 2”. I assumed 2 to be the correct argument, since the maximum amount of extra bonds that can be created per atom is 2 (particle D). Is this assumption correct?

Kind regards,

Tim

Dear LAMMPS users,

[...]

To implement this in my script I use the "fix bond/break" command, but I
receive the next message: "ERROR on proc 0: New bond exceeded bonds per atom
in fix bond/create". According to the documentation I need to adjust some
commands to make it work. I have some questions about these commands though:

In the read_restart command I should add "extra/special/per/atom", followed
by an integer. In the documentation it says that the integer is needed to
leave space for extra 1-2, 1-3, 1-4 interactions per atom. I tried to run

this is for *nonbonded* interactions, aka exclusions, aka special pairs.

the script using integer 10 as argument, since this is the largest amount of
extra neighbours that any of my particles can get after curing (particle D:
2+4+4). However, this results in the error mentioned earlier. My question is
therefore what the correct argument should be in my case.
I also use the "special_bonds" command to adjust the lists with neighbours

that are used by the "pair_style lj/cut" command. The exact implementation
of the "special_bonds" command in my script is "special_bonds lj 0 0 0 extra
2". I assumed 2 to be the correct argument, since the maximum amount of
extra bonds that can be created per atom is 2 (particle D). Is this
assumption correct?

this special_bonds option was redundant and is no longer available
with current LAMMPS versions.

both have *nothing* to do with the error message you are reporting, as
that is about *bonds* not pairs.
since you are trying to cross-link molecules, it is obvious, that you
will have to reserve extra space for the additional bonds.

axel.