spinw.basisvector method#
Syntax#
basisVec = basisvector(obj, {norm})
Description#
basisVec = basisvector(obj, {norm}) returns the lattice vectors of the
unit cell in a \([3\times 3]\) matrix, with the \(a\), \(b\) and \(c\) vectors
stored in columns. The vectors are normalized to the lattice parameters
by default.
Examples#
The basisVec matrix can be used to change coordinate system, converting
between positions expressed in lattice units to positions expressed in
Å, using r_lu for lattice unit coordinates and r_xyz for
Å units (both stored in a column vector) the conversions are the
following:
r_xyz = basisVec * r_lu
or
r_lu = inv(basisVec)*r_xyz
It is also possible to convert between momentum vector in reciprocal lattice units (rlu) into Å\(^{-1}\) units. Assuming that momentum vectors are row vectors:
Q_xyz = Q_rlu * 2*pi*inv(basisVec)
or
Q_rlu = 1/(2*pi)*Q_xyz*basisVect
Input Arguments#
objspinw object.
normIf
true, the basis vectors are normalized to 1, otherwise the length of the basis vectors are equal to the lattice constants. Default isfalse.
Output Arguments#
basisVecStores the three lattice vectors in columns, dimensions are \([3\times 3]\).