Problem with bonds that cross periodic boundaries

Hi All,

I’ve been using LAMMPS to construct polymer chains by “stitching” together shorter polymer fragments. At the beginning of the simulation, the distance between the tail atom of one polymer fragment and the head atom of the subsequent polymer fragment can be quite long and the associated bond sometimes will cross a periodic boundary. I’ve noticed that when this does happen, LAMMPS doesn’t find the bond partner and so the bond effectively doesn’t exist.

Here are some more specifics:

The pairwise atoms are turned off (via the command ‘special_bonds lj 0.0 0.0 0.0 coul 0.0 0.0 0.0’). I’ve read in the mail list that this could be part the cause of the problem because LAMMPS uses pairwise interactions to check for periodic images. To check for this, I inserted the command ‘neigh_modify cluster yes’ to the my input script and received “ERROR: Angle extent > half of periodic box length (…/neigh_bond.cpp:501)”. (I would have thought that this error would have found a problem with the bonds as well.)

In any case, I added a ‘comm_modify’ command (‘comm_modify mode single cutoff 30.0 vel yes’) to my input script to extend the ghost atom cutoff distance, however that didn’t change the behavior- even with a cutoff value that is as large as the simulation box size.

This problem disappears if I increase the simulation box dimensions so that there are no bonds that cross a periodic boundary, so I don’t think there’s anything wrong with the topology in the data file.

Finally, this problem is present if I run the script on 1 or more processors. Also, I’m using the 16Feb16 version of LAMMPS.

Does anyone have any troubleshooting pointers to lend me? Thanks in advance- Vanessa

Hi All,

I've been using LAMMPS to construct polymer chains by "stitching" together
shorter polymer fragments. At the beginning of the simulation, the distance
between the tail atom of one polymer fragment and the head atom of the
subsequent polymer fragment can be quite long and the associated bond
sometimes will cross a periodic boundary. I've noticed that when this
does happen, LAMMPS doesn't find the bond partner and so the bond
effectively doesn't exist.

​the issue of very long bonds can be addressed by using the "list" pair
style. you just choose a suitable force constant that will eventually drag
the two atoms of those interactions close enough so that you can turn on
"real" bonds (e.g. via bond_create) and turn the list pair style off.

axel.​

Great, I’ll try it out. Thanks- Vanessa