bond across periodic boundary

Dear all,

Recently, I tested a very simple system which contains only 3 atoms and 3 harmonic bonds with periodic boundary conditions in x direction. But I got very strange (and different) results for lammps version may 2010 and Sep 2012 (input files are the same).

The 3 atoms (say 1, 2 and 3) are arranged equidistantly with distance d and bonded like this: 1-2, 2-3, 3-1, where 3-1 is the bond across the periodic boundary. The equilibrium bond length is also d.

So the bond energy and the forces on the atoms are supposed to be zero. And the results are zero by using lammps version may 2010. But by using lammps version Sep 2012, I got bond energy 0.5kd^2, which means newer lammps think bond distance of 3-1 is 2d, while lammps version may 2010 deals with this bond across boundary just like what I suppose it to be.

Can anybody tell why I got this different results? How should I tell lammps that certain bonds are across the boundary, not in the box.

Best,
Wei Xiong

Here is my tested system:

Dear all,

Recently, I tested a very simple system which contains only 3 atoms and 3
harmonic bonds with periodic boundary conditions in x direction. But I got
very strange (and different) results for lammps version may 2010 and Sep
2012 (input files are the same).

The 3 atoms (say 1, 2 and 3) are arranged equidistantly with distance d and
bonded like this: 1-2, 2-3, 3-1, where 3-1 is the bond across the periodic
boundary. The equilibrium bond length is also d.

So the bond energy and the forces on the atoms are supposed to be zero. And
the results are zero by using lammps version may 2010. But by using lammps
version Sep 2012, I got bond energy 0.5*k*d^2, which means newer lammps
think bond distance of 3-1 is 2d, while lammps version may 2010 deals with
this bond across boundary just like what I suppose it to be.

Can anybody tell why I got this different results? How should I tell lammps
that certain bonds are across the boundary, not in the box.

this has been discussed a few times recently.
please have a look into the mailing list archives for more details.

in short, old versions of lammps would handle bonded and non-bonded
interactions inconsistently with respect to minimum image conditions.
while the implementation of lammps does not require the use of minimum
image conditions they were (incorrectly) enforced for bonded
interactions. this has been resolved, and works ok for as long as the
non-bonded cutoff is larger than the longest bonded interaction. for
cases where this is not the case, you need to set "communicate cutoff"
to a suitable value.

axel.

Thanks Axel.

By setting the right “communicate cutoff”, it works.

Wei Xiong