# Lattice rotation

Hi,

I have a LAMMPS data file where my X, Y and Z axis are oriented along 100, 010, and 001 respectively. I want to orient the lattice along another desired orientation. Does the lattice orient command can do it? Any suggestion is welcome.

Thank you.

Yes… use orient command… ensure vectors orthogonal and right handed…

Hi Rajesh,

Thank for your email. But after using read_data how can I use lattice command? Any suggestions?

Thanks,
Paul

In that case you can’t. You need to build your structure in lammps.

Hi,

I have a LAMMPS data file where my X, Y and Z axis are oriented along 100, 010, and 001 respectively. I want to orient the lattice along another desired orientation. Does the lattice orient command can do it? Any suggestion is welcome.

no, the lattice command does not allow any manipulation of the system. it merely serves to provide a template for creating atoms.

you can change the orientation of a group of atoms with the “displace_atoms” command, however, there are practical limitations when trying to orient a periodic structure.

axel.

Hi,

I am trying to use rotate keyword of displace_atoms command to transform the crystallographic orientation of my structure from <100>, <010>, and <001> to <-211>, <111>, <01-1>, along X, Y and Z. I was wondering how to calculate Rx, Ry, Rz and theta. For my desired transformation I want to rotate X, Y and Z axes with angle 144.73, 54.73 and 135 degree, respectively, keeping origin at center (0, 0, 0). So Px, Py and Pz is 0, but what is R and theta?

Thanks for your help.

Hi,

I am trying to use rotate keyword of displace_atoms command to transform the crystallographic orientation of my structure from <100>, <010>, and <001> to <-211>, <111>, <01-1>, along X, Y and Z. I was wondering how to calculate Rx, Ry, Rz and theta. For my desired transformation I want to rotate X, Y and Z axes with angle 144.73, 54.73 and 135 degree, respectively, keeping origin at center (0, 0, 0). So Px, Py and Pz is 0, but what is R and theta?

from the LAMMPS manual:

``````*rotate* args = Px Py Pz Rx Ry Rz theta
Px,Py,Pz = origin point of axis of rotation (distance units)
Rx,Ry,Rz = axis of rotation vector
``````
``````  theta = angle of rotation (degrees)
``````

and:

The rotate style rotates each atom in the group by the angle theta around a rotation axis R = (Rx,Ry,Rz) that goes through a point P = (Px,Py,Pz). The direction of rotation for the atoms around the rotation axis is consistent with the right-hand rule: if your right-hand thumb points along R, then your fingers wrap around the axis in the direction of positive theta.

this seems pretty self-explanatory to me.

axel.

Better to use lammps to create a structure. Otherwise it will be a trouble to ensure periodicity using displace atoms.