The crash recovery in _rebuild_and_minimise rebuilds a new OpenMM context on a dynamics crash using the internal _sire_mols attribute. However, the positions of this object are only updated when a trajectory frame is saved, so the state that the simulation is recovered to is not the same as the entrypoint to the current dynamics.run() call unless frames are saved each cycle.
The crash recovery in
_rebuild_and_minimiserebuilds a new OpenMM context on a dynamics crash using the internal_sire_molsattribute. However, the positions of this object are only updated when a trajectory frame is saved, so the state that the simulation is recovered to is not the same as the entrypoint to the currentdynamics.run()call unless frames are saved each cycle.