Monoclinic (MCL)#
Pearson symbol: mP
Constructor: MCL()
It is defined by four parameters \(a\), \(b\), \(c\) and \(\alpha\) with \(b \le c\), \(\alpha < 90^{\circ}\). Standardized primitive and conventional cells in the default orientation are
Transformation matrix from standardized primitive cell to standardized conventional cell is
K-path#
\(\mathrm{\Gamma-Y-H-C-E-M_1-A-X-H_1\vert M-D-Z\vert Y-D}\)
Point |
\(\times\boldsymbol{b}_1^s\) |
\(\times\boldsymbol{b}_2^s\) |
\(\times\boldsymbol{b}_3^s\) |
---|---|---|---|
\(\mathrm{\Gamma}\) |
\(0\) |
\(0\) |
\(0\) |
\(\mathrm{A}\) |
\(1/2\) |
\(1/2\) |
\(0\) |
\(\mathrm{C}\) |
\(0\) |
\(1/2\) |
\(1/2\) |
\(\mathrm{D}\) |
\(1/2\) |
\(0\) |
\(1/2\) |
\(\mathrm{D_1}\) |
\(1/2\) |
\(0\) |
\(-1/2\) |
\(\mathrm{E}\) |
\(1/2\) |
\(1/2\) |
\(1/2\) |
\(\mathrm{H}\) |
\(0\) |
\(\eta\) |
\(1-\nu\) |
\(\mathrm{H_1}\) |
\(0\) |
\(1-\eta\) |
\(\nu\) |
\(\mathrm{H_2}\) |
\(0\) |
\(\eta\) |
\(-\nu\) |
\(\mathrm{M}\) |
\(1/2\) |
\(\eta\) |
\(1-\nu\) |
\(\mathrm{M_1}\) |
\(1/2\) |
\(1-\eta\) |
\(\nu\) |
\(\mathrm{M_2}\) |
\(1/2\) |
\(\eta\) |
\(-\nu\) |
\(\mathrm{X}\) |
\(0\) |
\(1/2\) |
\(0\) |
\(\mathrm{Y}\) |
\(0\) |
\(0\) |
\(1/2\) |
\(\mathrm{Y_1}\) |
\(0\) |
\(0\) |
\(-1/2\) |
\(\mathrm{Z}\) |
\(1/2\) |
\(0\) |
\(0\) |
Variations#
There are no variations for monoclinic lattice. One example is predefined: mcl
with
\(a = \pi\), \(b = 1.3 \pi\) \(c = 1.6 \pi\) and \(\alpha = 75^{\circ}\).
Examples#
Brillouin zone and default kpath#
import wulfric as wulf
cell = wulf.cell.get_cell_example("MCL")
backend = wulf.visualization.PlotlyBackend()
backend.plot(cell, kind="brillouin-kpath")
# Save an image:
backend.save("mcl_reciprocal.png")
# Interactive plot:
backend.show()
Primitive and Wigner-Seitz cells#
Click on the legend to hide a cell.
import wulfric as wulf
cell = wulf.cell.get_cell_example("MCL")
backend = wulf.visualization.PlotlyBackend()
backend.plot(cell, kind="primitive", label="primitive", color="black")
backend.plot(cell, kind="wigner-seitz", label="wigner-seitz", color="green")
# Save an image:
backend.save("mcl_real.png")
# Interactive plot:
backend.show()
Cell standardization#
First wulfric find two angles of \(90^{\circ}\), then conditions \(b \le c\) and \(\alpha < 90^{\circ}\) are checked directly. Matrix \(\boldsymbol{S}\) is constructed in three steps.
Step 1#
If \(\beta = \gamma = \frac{\pi}{2}\) and \(\alpha \ne \frac{\pi}{2}\) then
\[(\boldsymbol{a}_1^{(1)}, \boldsymbol{a}_2^{(1)}, \boldsymbol{a}_3^{(1)}) = (\boldsymbol{a}_1, \boldsymbol{a}_2, \boldsymbol{a}_3)\]and
\[\begin{split}\boldsymbol{S}_1 = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} \qquad \boldsymbol{S}_1^{-1} = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}\end{split}\]If \(\alpha = \gamma = \frac{\pi}{2}\) and \(\beta \ne \frac{\pi}{2}\) then
\[(\boldsymbol{a}_1^{(1)}, \boldsymbol{a}_2^{(1)}, \boldsymbol{a}_3^{(1)}) = (\boldsymbol{a}_2, \boldsymbol{a}_3, \boldsymbol{a}_1)\]and
\[\begin{split}\boldsymbol{S}_1 = \begin{pmatrix} 0 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \end{pmatrix} \qquad \boldsymbol{S}_1^{-1} = \begin{pmatrix} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 0 & 0 \end{pmatrix}\end{split}\]If \(\alpha = \beta = \frac{\pi}{2}\) and \(\gamma \ne \frac{\pi}{2}\) then
\[(\boldsymbol{a}_1^{(1)}, \boldsymbol{a}_2^{(1)}, \boldsymbol{a}_3^{(1)}) = (\boldsymbol{a}_3, \boldsymbol{a}_1, \boldsymbol{a}_2)\]and
\[\begin{split}\boldsymbol{S}_1 = \begin{pmatrix} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 0 & 0 \end{pmatrix} \qquad \boldsymbol{S}_1^{-1} = \begin{pmatrix} 0 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \end{pmatrix}\end{split}\]
Step 2#
If \(b^{(1)} \le c^{(1)}\), then
\[(\boldsymbol{a}_1^{(2)}, \boldsymbol{a}_2^{(2)}, \boldsymbol{a}_3^{(2)}) = (\boldsymbol{a}_1^{(1)}, \boldsymbol{a}_2^{(1)}, \boldsymbol{a}_3^{(1)})\]and
\[\begin{split}\boldsymbol{S}_2 = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} \qquad \boldsymbol{S}_2^{-1} = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}\end{split}\]If \(b^{(1)} > c^{(1)}\) then
\[(\boldsymbol{a}_1^{(2)}, \boldsymbol{a}_2^{(2)}, \boldsymbol{a}_3^{(2)}) = (-\boldsymbol{a}_1^{(1)}, \boldsymbol{a}_3^{(1)}, \boldsymbol{a}_2^{(1)})\]and
\[\begin{split}\boldsymbol{S}_2 = \begin{pmatrix} -1 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & 1 & 0 \end{pmatrix} \qquad \boldsymbol{S}_2^{-1} = \begin{pmatrix} -1 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & 1 & 0 \end{pmatrix}\end{split}\]
Step 3#
If \(\alpha^{(2)} < \frac{\pi}{2}\) then
\[(\boldsymbol{a}_1^s, \boldsymbol{a}_2^s, \boldsymbol{a}_3^s) = (\boldsymbol{a}_1^{(2)}, \boldsymbol{a}_2^{(2)}, \boldsymbol{a}_3^{(2)})\]and
\[\begin{split}\boldsymbol{S}_3 = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} \qquad \boldsymbol{S}_3^{-1} = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}\end{split}\]If \(\alpha^{(2)} > \frac{\pi}{2}\) then
\[(\boldsymbol{a}_1^s, \boldsymbol{a}_2^s, \boldsymbol{a}_3^s) = (-\boldsymbol{a}_1^{(2)}, -\boldsymbol{a}_2^{(2)}, \boldsymbol{a}_3^{(2)})\]and
\[\begin{split}\boldsymbol{S}_3 = \begin{pmatrix} -1 & 0 & 0 \\ 0 & -1 & 0 \\ 0 & 0 & 1 \end{pmatrix} \qquad \boldsymbol{S}_3^{-1} = \begin{pmatrix} -1 & 0 & 0 \\ 0 & -1 & 0 \\ 0 & 0 & 1 \end{pmatrix}\end{split}\]
Finally#
Note
All changes of the cell preserve handiness of the original one.
Edge cases#
If (\(\alpha = 60^{\circ}\) or \(\alpha = 120^{\circ}\)) and \(b = c\), then the lattice is Hexagonal (HEX).
If (\(\alpha = 30^{\circ}\) or \(\alpha = 150^{\circ}\) or \(\alpha = 45^{\circ}\) or \(\alpha = 145^{\circ}\)) and \(b = c\), then the lattice is Base-centred orthorhombic (ORCC).
If (\(\alpha = 60^{\circ}\) or \(\alpha = 120^{\circ}\)) and \(a \ne b = c/2\), then the lattice is Orthorhombic (ORC).
If \(a \ne b \ne c\) and \(\alpha = 90^{\circ}\), then the lattice is Orthorhombic (ORC).
If (\(\alpha = 60^{\circ}\) or \(\alpha = 120^{\circ}\)) and \(a = b = c/2\), then the lattice is Tetragonal (TET).
If (\(a = b \ne c\) or \(a = c \ne b\) or \(b = c \ne a\)) and \(\alpha = 90^{\circ}\), then the lattice is Tetragonal (TET).
If \(a = b = c\) and \(\alpha = 90^{\circ}\), then the lattice is Cubic (CUB).