Hi all,
Something seems to go wrong when using ‘read_dump’ to continue a simulation with triclinic boundary conditions in Lammps.
If the original dump file has a bounding box of the form
ITEM: BOX BOUNDS xy xz yz pp pp pp
-4.34705 10.9308 -4.14048
-0.15207 8.81237 1.72421
0.0669764 29.3269 -3.53651e-15
then if I dump another trajectory immediately after the ‘read_dump’ command with the ‘dump’ and ‘run 0’ commands I get
ITEM: BOX BOUNDS xy xz yz pp pp pp
-8.48753 12.655 -4.14048
-0.15207 8.81237 1.72421
0.0669764 29.3269 -3.53651e-15
Notice the change in the first two numbers. I would expect they should be left invariant under this operation.
According to the manual (http://lammps.sandia.gov/doc/dump.html) the format of the bounding box for triclinic boxes is
ITEM: BOX BOUNDS xy xz yz xx yy zz
xlo_bound xhi_bound xy
ylo_bound yhi_bound xz
zlo_bound zhi_bound yz
and the first two numbers are xlo_bound and xhi_bound. It seems that upon reading in the dump file in read_dump.cpp the numbers are being interpreted as xlo, xhi, etc, while I would think that they should be interpreted as xlo_bound, xhi_bound, etc. The relation between the two is given in http://lammps.sandia.gov/doc/Section_howto.html or domain.cpp.
In the VMD routine that processes dump files (lammpsplugin.c) a problem exists as well (already communicated to Axel), as the conversion between xlo_bound and xlo is slightly different than the one given in the manual.
Thank you,
Bart