Hi Lammps users,
I’m trying to alter the parallel tempering code (temper.cpp) to allow for some particular Monte Carlo moves. Under this new routine, each replica (processor) is driven out of equilibrium to generate the trial move; if the move is rejected the system must be reverted back to its previous state. This requires copying atomic coordinates into a temporary array, and later reverting the state by copying the temporary array back into the atomic coordinates.
My question is what variables exactly do I need to copy to fully specify the microscopic state of the system? So far I am copying the positions (atom->x), the momenta (atom->v) and the forces (atom->f). Are there any other variables I need to copy (such as positions of periodic images or ghost atoms) in order to completely revert the system back to its previous state?