Body-centred orthorhombic (ORCI)#

Pearson symbol: oI

Constructor: ORCI()

It is defined by three parameter: \(a\), \(b\) and \(c\) with conventional cell:

\[\begin{split}\begin{matrix} \boldsymbol{a}_1^c &=& (a, &0, &0)\\ \boldsymbol{a}_2^c &=& (0, &b, &0)\\ \boldsymbol{a}_3^c &=& (0, &0, &c) \end{matrix}\end{split}\]

And primitive cell:

\[\begin{split}\begin{matrix} \boldsymbol{a}_1 &=& (-a/2, &b/2, &c/2)\\ \boldsymbol{a}_2 &=& (a/2, &-b/2, &c/2)\\ \boldsymbol{a}_3 &=& (a/2, &b/2, &-c/2) \end{matrix}\end{split}\]

with

\[\begin{split}\boldsymbol{C} = \dfrac{1}{2} \begin{pmatrix} -1 & 1 & 1 \\ 1 & -1 & 1 \\ 1 & 1 & -1 \end{pmatrix} \qquad \boldsymbol{C}^{-1} = \begin{pmatrix} 0 & 1 & 1 \\ 1 & 0 & 1 \\ 1 & 1 & 0 \end{pmatrix}\end{split}\]

Order of parameters: \(a < b < c\)

K-path#

\(\mathrm{\Gamma-X-L-T-W-R-X_1-Z-\Gamma-Y-S-W\vert L_1-Y\vert Y_1-Z}\)

\[\begin{matrix} \zeta = \dfrac{1 + a^2/c^2}{4} & \eta = \dfrac{1 + b^2/c^2}{4} & \delta = \dfrac{b^2 - a^2}{4c^2} & \mu = \dfrac{a^2 + b^2}{4c^2} \end{matrix}\]

Point

\(\times\boldsymbol{b}_1\)

\(\times\boldsymbol{b}_2\)

\(\times\boldsymbol{b}_3\)

\(\mathrm{\Gamma}\)

\(0\)

\(0\)

\(0\)

\(\mathrm{L}\)

\(-\mu\)

\(\mu\)

\(1/2 - \delta\)

\(\mathrm{L_1}\)

\(\mu\)

\(-\mu\)

\(1/2 + \delta\)

\(\mathrm{L_2}\)

\(1/2-\delta\)

\(1/2+\delta\)

\(-\mu\)

\(\mathrm{R}\)

\(0\)

\(1/2\)

\(0\)

\(\mathrm{S}\)

\(1/2\)

\(0\)

\(0\)

\(\mathrm{T}\)

\(0\)

\(0\)

\(1/2\)

\(\mathrm{W}\)

\(1/4\)

\(1/4\)

\(1/4\)

\(\mathrm{X}\)

\(-\zeta\)

\(\zeta\)

\(\zeta\)

\(\mathrm{X_1}\)

\(\zeta\)

\(1-\zeta\)

\(-\zeta\)

\(\mathrm{Y}\)

\(\eta\)

\(-\eta\)

\(\eta\)

\(\mathrm{Y_1}\)

\(1-\eta\)

\(\eta\)

\(-\eta\)

\(\mathrm{Z}\)

\(1/2\)

\(1/2\)

\(-1/2\)

Variations#

There are no variations for body-centered orthorombic. One example is predefined: orci with \(a = \pi\), \(b = 1.3\pi\) and \(c = 1.7\pi\).

Examples#

Brillouin zone and default kpath#

# Wulfric - Crystal, Lattice, Atoms, K-path.
# Copyright (C) 2023-2024 Andrey Rybakov
#
# e-mail: anry@uv.es, web: adrybakov.com
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <https://www.gnu.org/licenses/>.

import wulfric as wulf

l = wulf.lattice_example("{name}")
# Standardization is explicit since 0.3
l.standardize()
backend = wulf.PlotlyBackend()
backend.plot(l, kind="brillouin-kpath")
# Save an image:
backend.save("orci_brillouin.png")
# Interactive plot:
backend.show()

Primitive and conventional cell#

# Wulfric - Crystal, Lattice, Atoms, K-path.
# Copyright (C) 2023-2024 Andrey Rybakov
#
# e-mail: anry@uv.es, web: adrybakov.com
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <https://www.gnu.org/licenses/>.

import wulfric as wulf

l = wulf.lattice_example("{name}")
# Standardization is explicit since 0.3
l.standardize()
backend = wulf.PlotlyBackend()
backend.plot(l, kind="primitive", label="primitive")
backend.plot(l, kind="conventional", label="conventional", color="black")
# Save an image:
backend.save("orci_real.png")
# Interactive plot:
backend.show()

Wigner-Seitz cell#

# Wulfric - Crystal, Lattice, Atoms, K-path.
# Copyright (C) 2023-2024 Andrey Rybakov
#
# e-mail: anry@uv.es, web: adrybakov.com
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <https://www.gnu.org/licenses/>.

import wulfric as wulf

l = wulf.lattice_example("{name}")
# Standardization is explicit since 0.3
l.standardize()
backend = wulf.PlotlyBackend()
backend.plot(l, kind="wigner-seitz")
# Save an image:
backend.save("orci_wigner-seitz.png")
# Interactive plot:
backend.show()

Cell standardization#

Condition \(a < b < c\) implies condition \(\gamma < \beta < \alpha\) for the primitive cell in a standard form, in practice this condition simplifies to \(\boldsymbol{a}_1^s\cdot\boldsymbol{a}_2^s > \boldsymbol{a}_1^s\cdot\boldsymbol{a}_3^s > \boldsymbol{a}_2^s\cdot\boldsymbol{a}_3^s\) for the primitive cell in a standard form. We use angles of the primitive cell for standardization.

Note

Note the change from \(<\) to \(>\) between the condition on the angles and on the scalar products. It reflects from the fact that all three angles are bound to the interval \([0, \pi]\) and scalar product is proportional to the cosine of the angle.

  • If \(\gamma < \beta < \alpha\) (i.e. \(\boldsymbol{a}_1\cdot\boldsymbol{a}_2 > \boldsymbol{a}_1\cdot\boldsymbol{a}_3 > \boldsymbol{a}_2\cdot\boldsymbol{a}_3\)), then

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

    and

    \[\begin{split}\boldsymbol{S} = \boldsymbol{S}^{-1} = \boldsymbol{S}^T = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}\end{split}\]
  • If \(\gamma < \alpha < \beta\) (i.e. \(\boldsymbol{a}_1\cdot\boldsymbol{a}_2 > \boldsymbol{a}_2\cdot\boldsymbol{a}_3 > \boldsymbol{a}_1\cdot\boldsymbol{a}_3\)), then

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

    and

    \[\begin{split}\boldsymbol{S} = \boldsymbol{S}^{-1} = \boldsymbol{S}^T = \begin{pmatrix} 0 & -1 & 0 \\ -1 & 0 & 0 \\ 0 & 0 & -1 \end{pmatrix}\end{split}\]
  • If \(\beta < \gamma < \alpha\) (i.e. \(\boldsymbol{a}_1\cdot\boldsymbol{a}_3 > \boldsymbol{a}_1\cdot\boldsymbol{a}_2 > \boldsymbol{a}_2\cdot\boldsymbol{a}_3\)), then

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

    and

    \[\begin{split}\boldsymbol{S} = \boldsymbol{S}^{-1} = \boldsymbol{S}^T = \begin{pmatrix} -1 & 0 & 0 \\ 0 & 0 & -1 \\ 0 & -1 & 0 \end{pmatrix}\end{split}\]
  • If \(\beta < \alpha < \gamma\) (i.e. \(\boldsymbol{a}_1\cdot\boldsymbol{a}_3 > \boldsymbol{a}_2\cdot\boldsymbol{a}_3 > \boldsymbol{a}_1\cdot\boldsymbol{a}_2\)), then

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

    and

    \[\begin{split}\boldsymbol{S} = \begin{pmatrix} 0 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \end{pmatrix} \qquad \boldsymbol{S}^{-1} = \boldsymbol{S}^T = \begin{pmatrix} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 0 & 0 \end{pmatrix}\end{split}\]
  • If \(\alpha < \gamma < \beta\) (i.e. \(\boldsymbol{a}_2\cdot\boldsymbol{a}_3 > \boldsymbol{a}_1\cdot\boldsymbol{a}_2 > \boldsymbol{a}_1\cdot\boldsymbol{a}_3\)), then

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

    and

    \[\begin{split}\boldsymbol{S} = \begin{pmatrix} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 0 & 0 \end{pmatrix} \qquad \boldsymbol{S}^{-1} = \boldsymbol{S}^T = \begin{pmatrix} 0 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \end{pmatrix}\end{split}\]
  • If \(\alpha < \beta < \gamma\) (i.e. \(\boldsymbol{a}_2\cdot\boldsymbol{a}_3 > \boldsymbol{a}_1\cdot\boldsymbol{a}_3 > \boldsymbol{a}_1\cdot\boldsymbol{a}_2\)), then

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

    and

    \[\begin{split}\boldsymbol{S} = \boldsymbol{S}^{-1} = \boldsymbol{S}^T = \begin{pmatrix} 0 & 0 & -1 \\ 0 & -1 & 0 \\ -1 & 0 & 0 \end{pmatrix}\end{split}\]

Note

All six changes of the cell preserve handiness of the original one.

Edge cases#

If \(a = b \ne c\) or \(a = c \ne b\) or \(b = c \ne a\), then the lattice is Body-centred tetragonal (BCT).

If \(a = b = c\), then the lattice is Body-centered cubic (BCC).