[lammps-users] Problem with own dump routines and Jan10 lammps

  A while back I wrote a new dump routine that used our local HDF5
based library to write dump files. It has worked, with minor
modifications, for the last 3 major updates of Lammps, but I've hit a
snag with the latest one.

Essentially the routine dumps the coordinates and 5 computes:
potential and kinetic energies, centro, velocities and stresses.

With the latest (21Jan10) version of Lammps I now get this error when
it tries to perform a dump:

Step Temp E_pair E_mol TotEng Press Volume
0 1.0027471 0 0 0.68849216 0.463265 1142.8674
ERROR: Per-atom energy was not tallied on needed timestep

My thermo print step is set at 1000, whilst my dump interval is every
100 timesteps. Setting these to the same value makes no difference.

Could anyone give me pointers to what I may be missing in the coding?
I guess this is something new?


If your dump is invoking or creating computes on its own, then
it would have to do what dump custom does, where it sets the
timesteps for certain computes to be triggered. A compute like
pe/atom needs to be told what timesteps to compute on, since
it requires things like the pair styles to store extra per-atom info.

So I'd look at how dump custom does this. Also, you might
want to look at dump cfg, which is derived from dump custom.
Thus it leverages all the logic dump custom has for doing
this kind of thing, and only writes out the resulting columns of
atom info in a different format, for CFG files in this case. You
might be able to do something similar for HDF files.