symrel
, and a translation vector, i.e., tnons
. The
center of symmetry operation is always the origin of the crystal
coordinates. The translation is not always required for the
non-symmorphic operations since there are symmorphic operations whose
center are not at the origin. In such a case, the symmetry operation
is represented by the combination of the symmetry operation matrix and
the translation vector. In the code, the symmetry operation is used
beyond these mentioned above and is also used for the structure which
is not a primitive structure, e.g. supercell. The symmetry of this
structure contains pure translations inside the cell and cannot be
determined its space group. When we use the symmetry operation in the
code, symrel
and tnons
are used as follows. In forward
operation,
xred_new(:) = matmul(symrel(:,:), xred(:)) + tnons(:)
,
where xred
is an atom position in reduced coordinates.
In backward operation,
xred_new(:) = matmul(symrel(:,:), xred(:) - tnons(:))
.
Be careful not to change the order of xred
and tnons
.