About orient argument in hcp lattice command

Hello Everbody,
I am doing simulation for zirconium on lammps. I have given some slip system like (4 -3 -1 9)[17 -16 -1 -13]. and i have to do tensile test in normal direction of plane. Till now, I was doing all simulation for hcp in default directions which are (100), (010) & (001), so all thing was fine.
But now I have to change direction from 4-index to 3-index for lammps input and I am not getting what is the hcp unit lattice defined in lammps. I read details about lattice command on website. I interpreted a unit cell where a=latticeparameter, b=sqrt(3)*a and c=sqrt(8/3)*a mutually orthogonal (90 degree). Assuming this i rotated axis about z-direction by 60 degree. So, i got orientation as x 110, y -3 1 0 and z 001. but i am getting error that vector is not orthogonal. and if i use (-1 1 0) as y then it’s fine. I think it should not be (-1 1 0) because a is not equal to b.
So, I think i interpreted something very wrong. I did simulation for fcc and it was good. Please help me that how hcp is defined and what i have to input for orient argument in lattice command.

Any help is greatly appreciated. Thank you.

with warm regards,
Anurag Kumar

A rotation of 60 deg about the z from “(100), (010) & (001)” will not give you “x 110, y -3 1 0 and z 001”. Your rotation is not correct. It is not orthogonal either, since 1*-3 + 11 + 00 != 0.


As i stated that a is not equal to b. So, i think we cannot take dot product directly. Here, Dot product of two vector uses metric tensor.

Taking dot product has nothing to do with a equal to b or not. Rotation of a2 = 0 sqrt(3) 0 by 60 deg does not give you (-3 1 0).