"ERROR: atoms missing on proc 0" only when fix bond/react is active


I’m using fix bond/react (Build: LAMMPS-64bit-8Feb2019.exe) to simulate crosslinking in polymers, specifically an amine reacting with up to two epoxide goups. I’m using OPLS forcefield, a fix nvt thermostat at 300K and I have 2 reactions occuring:

  1. A non-crosslinked amine can react with an epoxide
  2. A singly-crosslinked amine can react with a second epoxide

My problem is when I run the simulation, I crash instantly after fix bond/react is invoked due to error “atoms missing on proc”, indicating I have a highly overlapped or high energy system. When I limited my simulation to only allow 1 of each reaction to occur, it doesn’t crash immediately but instead several hundred steps after the reactions are complete. However, if I make a restart file just before the crash occurs and rerun that system with fix bond/react turned off, it is stable for the full duration.

My question is why is my simulation only crashing when fix bond/react is active? My understanding is when a reaction occurs, my ‘reacting’ atoms are placed in a seperate nve/limit thermostat for a specified number of steps, then placed back in the main thermostat (the statted_grp_REACT group). So once the two reactions occur and the atoms are released into the main nvt thermostat, shouldn’t fix bond/react have no more effect on the system? Shouldn’t these two simulations be identical once the two reactions occur and stabilization is complete?

This is my code and output where system crashes after the reactions occur:

Restarting your simulation from a restart file should have no effect; that part sounds like a bug in bond/react. However, there have been some bug fixes for bond/react recently, so you should try with a more recent version of LAMMPS and see if it fixes your problem. If not, please send a simple example that causes the issue.

Aside from that, an ‘Rmax’ value of 7.0 is rather high. In my experience, bond/react allows for much smaller cutoffs (closer to 3.5 Angstroms), while still achieving high degrees of crosslinking. You should visualize and/or experiment with your system to see if the long cutoff is causing the issue.