Incorrect restart of point dipole simulations

Dear all

I am having problems restarting simulations of point dipoles using the “restart” and “read_restart” commands.
The issue can be seen by running the “in.dipole” script attached (adapted from the “dipole” example distributed with LAMMPS). I’ve used the most recent version (1Feb12), compiled with the DIPOLE package.

Some observations (see attached “log.lammps” and “dump.trj” files):

  • The rotational kinetic energy “erot” remains constant after restarting
  • The “dump.trj” output file shows that the dipole orientation is never updated after restarting, e.g., “mux”, “muy” and “muz” remain constant after restarting.
  • The second half of the simulation (after restarting) runs substantially faster than the first half. This is also reflected in the different values of “Pair time”.

These observations would seem to indicate that, after restarting, the rotational motion is no longer integrated. In fact, if I replace “fix 1 all nve/sphere update dipole” with “fix 1 all nve” in the second (restarted) simulation, the output does not change.

I also tried using “write_restart” instead of “restart”, but I got the same output.

How to fix this problem?

Best,
Mario

dump.trj (26.9 KB)

log.lammps (4.27 KB)

in.dipole (1.06 KB)

This was a bug with the restart file not storing the dipole
length, just the orientation. The 3Feb12 patch should
fix it.

Thanks for the script,
Steve