Overlapping atoms in fix pour with periodic side boundaries?

Dear LAMMPS users,

In fix pour, a check is done in the pre_exchange function to ensure that atoms are inserted without overlaps. Looking at the code, existing atoms which are local to each processor are gathered in the ‘xnear’ array. My understanding is that this array does not contain ghost atoms.

When an attempt is made to insert an atom, the distances between the randomly-selected coordinates of this atom and all members of the xnear array are calculated. Overlaps are found by comparing the distances with the sum of radii.

I think that a problem could occur if the insertion region is close to periodic side boundaries. An overlap could be permitted between an atom placed near a periodic boundary and a pre-existing atom on the opposite side of the periodic cell (the distance check would indicate that the atoms are around 1 box length apart and therefore not overlapping). Perhaps this could be avoided if ghost atoms, or a subset of those ghosts close to periodic boundaries, are included in the xnear array?


Kevin Hanley

Post-doctoral researcher
Dept. of Civil and Environmental Engineering
Imperial College London, SW7 2AZ

I think your assessment is correct. The simple
way to account for periodic boundaries is to
have the overlap() method check for them.
I’ll take a closer look.


This periodic boundary issue should be fixed with the 30Dec13 patch, which
also adds the ability to use fix pour to pour granular rigid
bodies into the simulation box on-the-fly.