[lammps-users] how to understand the dump file for a triclinic box

Hi LAMMPS users,

I have used a triclinic box in my simulation. Part of my dumped file is:

ITEM: BOX BOUNDS xy xz yz
3.65456 48.2386 7.9785
-1.62133 32.5002 9.07491
11.7886 23.0511 -3.96083
ITEM: ATOMS id type x y z
26063 2 8.69594 3.22034 12.3796
5293 1 9.35845 3.81559 12.2599

Could someone tell me how to get the value of xlo xhi, ylo, yhi, zlo, zhi, and the tilt factor xy, xz, yz? I have read the document at
http://lammps.sandia.gov/doc/dump.html

“if the box is triclinic (non-orthogonal), then the tilt factors are also printed; see the region prism command for a description of tilt factors. For triclinic boxes the box bounds themselves (first 2 quantities on each line) are a true “bounding box” around the simulation domain, which means they include the effect of any tilt.”

I am guessing that xy=7.9785, xz=9.07491, yz=-3.96083. Are they correct?

For the data analysis, could someone tell me how to take care of periodic boundary condition? Thanks.

Dongsheng

Hi LAMMPS users,

I have used a triclinic box in my simulation. Part of my dumped file is:

ITEM: BOX BOUNDS xy xz yz
3.65456 48.2386 7.9785
-1.62133 32.5002 9.07491
11.7886 23.0511 -3.96083
ITEM: ATOMS id type x y z
26063 2 8.69594 3.22034 12.3796
5293 1 9.35845 3.81559 12.2599

Could someone tell me how to get the value of xlo xhi, ylo, yhi, zlo, zhi,
and the tilt factor xy, xz, yz? I have read the document at
http://lammps.sandia.gov/doc/dump.html

"if the box is triclinic (non-orthogonal), then the tilt factors are also
printed; see the region prism command for a description of tilt factors. For
triclinic boxes the box bounds themselves (first 2 quantities on each line)
are a true "bounding box" around the simulation domain, which means they
include the effect of any tilt."

I am guessing that xy=7.9785, xz=9.07491, yz=-3.96083. Are they correct?

yes. but you have to be careful. the other values are _not_ xlo/xhi,
ylo/yhi, zlo/zhi, but the box boundaries. the lammpsplugin.c file in
the molfile plugin in VMD has this implemented. feel free to extract
what you need from there. overall, you may be better off using VMD
altogether (at least that is what i do).

For the data analysis, could someone tell me how to take care of periodic
boundary condition? Thanks.

the short explanation: transform to a cubic basis, apply PBC and transform back.

the long explanation: study somebodies source code (e.g. the VMD
pbctools plugin).

cheers,
    axel.

Hi Axel,

Thank you very much for your reply. Could you please tell me where I can find lammpsplugin.c? In vmd-1.8.7 source code, I found that file, but it is said that vmd doesn’t support triclinic box. I have downloaded vmd-1.8.8a18.VRPN-ICMS.LINUXAMD64.tar.gz as you suggested in the mail list, I can install and use it, but I can’t found that file.

Best,

Dongsheng

Hi Axel,

Thank you very much for your reply. Could you please tell me where I
can find lammpsplugin.c? In vmd-1.8.7 source code, I found that file,
but it is said that vmd doesn't support triclinic box. I have
downloaded vmd-1.8.8a18.VRPN-ICMS.LINUXAMD64.tar.gz as you suggested
in the mail list, I can install and use it, but I can't found that
file.

of course not. you need the sources from the
development cvs. i can send you the file in
a personal mail, if you don't have cvs access.

axel.

The region prism doc page explains what the tilt factors
mean in a geometric sense. The first 2 values on
each line of the dump file are xlo,xhi (y,z in lines 2,3).
The 3rd value on each line is xy, xz, yz.

It's easy to draw the resulting box, and infer any other
lengths/angles from those 9 numbers.

Steve

The region prism doc page explains what the tilt factors
mean in a geometric sense. The first 2 values on
each line of the dump file are xlo,xhi (y,z in lines 2,3).
The 3rd value on each line is xy, xz, yz.

steve,

sorry, but this is not quite correct. the xlo, xhi, ylo, yhi, and zlo,zhi
in the dump are the bounding box dimensions, _not_ the lo/hi
values for the original untilted box like you input in the data file.
took me quite a bit to sort that one out and recover the a,b,c
box lengths from it.

cheers,
    axel.

you're right - I forgot that we used the bounding
box, to make viz simpler for programs that don't
do triclinic.

Steve