[lammps-users] neigh_modify in a sheared box

Hi all.

As I understand, the following should give equivalent results:
neigh_modify every 1 delay 0 check yes
neigh_modify every 1 delay 0 check no

The first command would result in a new build at every timestep for which an atom had moved by more than skin since the last build.
The second command would rebuild a whole new neighbor list at every single timestep regardless of whether any particle has moved by more than the skin size.

The results obtained with the former are identical to the default setting (no “neigh_modify” command) and seem wrong. The “check no” gives results which make much more physical sense.

I am using a custom fix which resembles fix_nvt_sllod (and is used in conjunction with fix_deform). This could be part of the problem. I’m curious about how the sheared cell is incorporated into the update criterion for the neighbor list generation. Shearing the cell could cause neighbors to come into interaction range even when they don’t “move”.

Thanks,
Craig

The reneighbor distance check doesn't care how the atoms moved. It just
has new positions vs old and computes the distance.

Steve

The reneighbor distance check doesn’t care how the atoms moved. It just
has new positions vs old and computes the distance.

Then it seems strange that “every 1 check yes” and “every 1 check no” could ever give different results. Any thoughts on why they might?

Thanks,
Craig

Two simulattions that compute neighbors on different
steps will eventually diverge due to different ordering
of atoms in their neigh lists.

Steve