OVITO > Support Forum

Lattice rotation


Dear all,

I have a LAMMPS data file (unit cell) of TiAl which is a face centered tetragonal (FCT) lattice. In this data file my X, Y and Z axes are oriented along  <100>, <010>, and <001>, respectively.
I would like to rotate the lattice in such a way so that my new X, Y and Z are aligned with <-211>, <111>, and <01-1>, respectively. In order to accomplish this within OVITO, I applied the affine transformation option but the new lattice become triclinic. Please see the attached snapshot.

My question is does this affine transformation option can rotate my lattice in the desired crystallographic orientation? If so, after the transformation how I can wrap the atoms in a orthogonal cell?


Constanze Kalcher:
Dear Rajdeep,

note that the Affine Transformation modifier takes the transformation matrix that you enter and applies it onto your system. So what you need to enter there is the rotation matrix between your two coordinate systems.


Dear Constanze,

Thank you very much for your reply. I would like to transform the coordinate system from (100, 010, 001) to (111, 1-10,11-2). So my rotation matrix is (111, 1-10, 11-2). If I provide this rotation matrix to OVITO along with 'Transform simulation cell' option, it gives me a triclinic box. Later on, I minimized the triclinic box in LAMMPS, and it seems that it has a large residual pressure even with stringent energy and force criterion which indicates that the rotated structure is not stable. In that case how I can wrap the rotated structure in a orthogonal box? Please see the initial and rotated structure. Thanks for your help.

Best regards,

Alexander Stukowski:
Dear Rajdeep,

Note that your transformation matrix is not a proper rotation matrix: ([111], [1-10], [11-2]), because its column vectors are not normalized. A rotation matrix must have unit column vectors, all orthogonal, and its determinant must be 1. Since your matrix doesn't fulfill these criteria, you are getting something that is not a pure rotation.

It should suffice to normalize each column vector to obtain a rotation matrix, i.e.

([111]/sqrt(3), [1-10]/sqrt(2), [11-2]/sqrt(6))



[0] Message Index

Go to full version