Compute contact/atom + neighbor list exclude

Background to the problem
Hello! I have a larger simulation of polydisperse spherical particles with JKR pair potential and NVE time integration. Many particles are almost static due to them being constrained by other contacting particles (they cohere to each other as a consequence of JKR). In order to speed up the simulation
I exclude any force computation between pairs of particles belonging to this “static” group, and exclude them from NVE to stop them from moving. This has been implemented and seems to work fine. However, once the simulation is finished (i.e. enough particles have cohered to enough contacts to become static) I wish to compute each particles’ number of contacts again. Thus I need to reconstruct neighbor-lists of all particles (not excluding). But when doing this, the previously formed contacts are not registered.

Cannot get correct contact/atom for particles which have been previously excluded from neighbor-list, to then be included again.

Simple example script
I made a script of 2 contacting, equally large and static particles to illustrate the issue (Run the files below fromfrom the same folder)

Input data file:
testdata.txt (181 Bytes)

LAMMPS runfile:
in.testing.lmp (1.7 KB)

The script is run in three steps:

  1. Create neighbor list with all particles → 1 contact/atom (expected)
  2. Create neighbor list without all particles → 0 contact/atom (expected)
  3. Create neighbor list with all particles (also force reneighboring to make sure) → 0 contact/atom (not expected)

There is obviously some functionality with the neighbor-list formation / compute / NVE that I am not understanding. I have tried many different combinations to try to make the above example yield 1 contact/atom in the last step but all have failed. Thankful for any help!

Best regards, Ivan

Your last “neigh_modify” command also must include “exclude none” to undo the previous exclusions. The “neigh_modify” command works incrementally…

I can’t believe I have not noticed this setting previously… It works fine now, thank you very much :slight_smile: