Apparently inconsistent forces before/after dump

OK - I’ve reproduced the problem with pure lammps executable runs, no python needed. It really looks like a neighbor list bug, but I suppose it could be a compiler bug. I’m using CentOS 7, gcc 10.3.0, and compiling with -O0 (it was the same with -O1), but very similar behavior was seen with gcc 7 earlier, although I haven’t done exactly the same test yet.

Here’s the initial script two_atoms.in (856 Bytes) , which sets the atoms position to exactly what my python code ended up setting them to. When I run lammps it finds no neighbors (even though the two atoms are close enough):

> lmp_serial -in two_atoms.in  | grep neigh
  max neighbors/atom: 2000, page size: 100000
  1 neighbor lists, perpetual/occasional/extra = 1 0 0
Total # of neighbors = 0
Ave neighs/atom = 0.0000000

If I run an evaluation which reads from the data file created by the first script, using this script two_atoms_from_data.in (80 Bytes) , it does find a neighbor pair, as I expect. Presumably things are getting wrapped/rounded off enough to prevent the instability that affects the first execution.

> lmp_serial -in two_atoms_from_data.in  | grep neigh
  max neighbors/atom: 2000, page size: 100000
  1 neighbor lists, perpetual/occasional/extra = 1 0 0
Total # of neighbors = 1
Ave neighs/atom = 0.50000000

Can anyone reproduce this behavior in this simple test case?