[lammps-users] ewald/pppm restart inaccuracy during volume changes

Dear LAMMPS users,

I noticed disturbing inconsistencies between the final thermo output and the initial thermo output sharing a binary restart file during volume changes, both minimizing with fix box/relax and MD with fix npt.

The thermo outputs should agree when I minimize, output thermo, write a restart, read the restart and output thermo. When I use fix box/relax, however, PotEng, E_coul, E_long are all different. See log.is (minimize with volume changes), log.check. The same thing happens with ewald as pppm. My system is a protein in water. This probably only appears to happen when fix box/relax is on.

For MD, I ran NVT for 10 steps, wrote a restart file, then run the restart file for 0 steps. The final thermo of the first run precisely matched the initial thermo, as it should. Then I did the same procedure for NPT, where E_coul and E_long were off by the same additive constant (yielding the same PotEng, which is good). But why would E_coul and E_long have different values?

Regards,

Harold Hatch

log.check (2.69 KB)

log.is (7.09 KB)

I'll let Aidan look at this.

Steve

I was not able to reproduce your problem. All of my tests show one of two
behaviors:

A. The PPPM grid stays the same and the energy and pressure match
B. The PPM grid changes due to the volume change, and the energy and
pressure change a little.

Bahavior B is not a bug; it just reflects the way LAMMPS adjusts the grid to
achieve the specfied accuracy.

However, the behavior in your log files appears to be:

C. The PPPM grid stays the same, but the energy and pressure do not match.

Can you send us a simple and small (in time and space) example that exhibits
behavior C?

Aidan

This was a bug with fix box/relax and long-range Coulombics. Just
posted a patch.

Thanks,
Steve