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