Which cell?#

Some confusion arrives with the term "cell" (unit? primitive? standardized? conventional?). In this page we explain how Wulfric understand the term "cell" and it's variants.

Summary of the cell is presented in the picture below. For the details on how transformation matrices \(\boldsymbol{C}\) and \(\boldsymbol{S}\) act see Transformation of the cell.

../../_images/cell-relations.png

Note

We use Lattice in the examples, but the same logic applies to it's children classes (e.g. Crystal).

"The" cell#

The main cell in the package resides in the Lattice.cell attribute. In context of the Lattice class it is undestood to be primitive cell, as it defines the lattice. In context of the Crystal class (i.e. Crystal.cell) it is interpreted by the package as primitive cell, however, it might not be the actual primitive cell of the crystal structure.

Every other type of the cell (including reciprocal cell Lattice.reciprocal_cell) is defined by some transformation of Lattice.cell.

Standardized cells#

Standardization of Wulfric follows the Setyawan and Curtarolo [1] paper, although in the future we might implement other standardization conventions (open a Feature request if you are interested). In the SC paper two types of the cell are defined: conventional one and primitive one. We use transformation matrix \(\boldsymbol{S}\) to compute the standardized primitive cell

\[(\boldsymbol{a}_1, \boldsymbol{a}_2, \boldsymbol{a}_3) = (\boldsymbol{a}_1^s, \boldsymbol{a}_2^s, \boldsymbol{a}_3^s) \boldsymbol{S}\]

and transformation matrix \(\boldsymbol{C}\) to compute the standardized conventional cell

\[(\boldsymbol{a}_1^s, \boldsymbol{a}_2^s, \boldsymbol{a}_3^s) = (\boldsymbol{a}_1^{cs}, \boldsymbol{a}_2^{cs}, \boldsymbol{a}_3^{cs}) \boldsymbol{C}.\]

Details on the construction of matrices \(\boldsymbol{S}\) and exact forms of matrices \(\boldsymbol{C}\) are provided in the individual pages for each of the 14 Bravais lattices.

Note, that in the individual pages for Bravais lattices standardized cells are written in the default orientation as in the reference paper. However, Wulfric deals with arbitrary orientation of the the cell (consequently, the crystal) and automatically recomputes relative coordinates of the high symmetry k-points with respect to the actual Lattice.cell. Standardization (Lattice.standardize()) might change the choice of the cell, but will not change the orientation of the crystal.

References#