[lammps-users] The feature for triclinic box simulations

Dear lammps users,

From the LAMMPS site, I know that LAMMPS now has support for triclinic (non-orthogonal) simulation boxes. But I cannot find some examples with these features. I think that the format of the input data file should have some changes.
Could you kindly present some hints ?

Xiandong

Xiandong,

Add a line containing "xy xz yz" at the end after the "xlo xhi" etc definitions to the data file, e.g.

   -5 5 xlo xhi
   -5 5 ylo yhi
   -5 5 zlo zhi
   1 0 0 xy xz yz

This defines a shape matrix h

   10 1 0
   0 10 0
   0 0 10

Note that currently the declarations "xy xz yz" are a misnomer: it might change to "yx zx zy" in future.

Pieter

Does anyone have, by chance, a receipt how to convert from shape given
by general 3x3 matrix (it's used e.g. in AtomEye and DL_POLY formats)
to the lammps shape matrix, i.e. with three zeros?
I was looking at lammps tools and pizza, but the conversion tools
there are not handling triclinic boxes yet.

Marcin

Marcin,

You would have to find the rotation matrix that rotates one to the other:

  R.h_lammps = h_dl

with

  R = R_x(phi).R_z(theta)

Note that

  a_lammps = (xx, 0, 0)^t
  a_dl = (xx, xy, xz)^t

You could align a_dl with a_lammps first, followed by aligning b_lammps with b_dl. A bit of mathematical finagling should do the trick.

Pieter

The doc pages for read_data, create_box, create_atoms, lattice commands explain
how to setup non-orthogonal simulation boxes.

Steve