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:
-
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.
-
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