Base-centred orthorhombic (ORCC)#

Pearson symbol: oS

Constructor: ORCC()

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

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

And primitive lattice:

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

Order of parameters: \(a < b\)

Cell standardization#

Lengths of the lattice vectors of the conventional cell have to satisfy \(\vert\boldsymbol{a}_1\vert < \vert\boldsymbol{a}_2\vert\). Length of third vector of the primitive cell has to be different from the lengths of the first two vectors of the primitive cell.

If these conditions are not satisfied, then the lattice is transformed to the standard form:

Before the standardization we check if all angles are equal to \(90^{\circ}\). If yes, then the standardization for Tetragonal (TET) is called.

First we find the third lattice vector of the primitive cell. For this step we use lattice vectors of the primitive cell:

  • If \(\beta \ne 90^{\circ}\)
    \[(\boldsymbol{a}_1, \boldsymbol{a}_2, \boldsymbol{a}_3) \rightarrow (\boldsymbol{a}_3, \boldsymbol{a}_1, \boldsymbol{a}_2)\]
  • If \(\alpha \ne 90^{\circ}\)
    \[(\boldsymbol{a}_1, \boldsymbol{a}_2, \boldsymbol{a}_3) \rightarrow (\boldsymbol{a}_2, \boldsymbol{a}_3, \boldsymbol{a}_1)\]

Then we order first two lattice vector. For this step we use lattice vectors of the conventional cell:

  • If \(\vert\boldsymbol{a}_1\vert > \vert\boldsymbol{a}_2\vert\)
    \[(\boldsymbol{a}_1, \boldsymbol{a}_2, \boldsymbol{a}_3) \rightarrow (-\boldsymbol{a}_2, \boldsymbol{a}_1, \boldsymbol{a}_3)\]

Note

The second lattice vector is multiplied by \(-1\) in some cases to preserve the handedness of the cell.

K-path#

\(\mathrm{\Gamma-X-S-R-A-Z-\Gamma-Y-X_1-A_1-T-Y\vert Z-T}\)

\[\zeta = \dfrac{1 + a^2/b^2}{4}\]

Point

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

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

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

\(\mathrm{\Gamma}\)

\(0\)

\(0\)

\(0\)

\(\mathrm{A}\)

\(\zeta\)

\(\zeta\)

\(1/2\)

\(\mathrm{A_1}\)

\(-\zeta\)

\(1-\zeta\)

\(1/2\)

\(\mathrm{R}\)

\(0\)

\(1/2\)

\(1/2\)

\(\mathrm{S}\)

\(0\)

\(1/2\)

\(0\)

\(\mathrm{T}\)

\(-1/2\)

\(1/2\)

\(1/2\)

\(\mathrm{X}\)

\(\zeta\)

\(\zeta\)

\(0\)

\(\mathrm{X_1}\)

\(-\zeta\)

\(1-\zeta\)

\(0\)

\(\mathrm{Y}\)

\(-1/2\)

\(1/2\)

\(0\)

\(\mathrm{Z}\)

\(0\)

\(0\)

\(1/2\)

Variations#

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

Examples#

Brillouin zone and default kpath#

# RAD-tools - Sandbox (mainly condense matter plotting).
# Copyright (C) 2022-2024  Andrey Rybakov
#
# e-mail: anry@uv.es, web: rad-tools.org
#
# 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 radtools as rad

l = rad.lattice_example("ORCC")
backend = rad.PlotlyBackend()
backend.plot(l, kind="brillouin-kpath")
# Save an image:
backend.save("orcc_brillouin.png")
# Interactive plot:
backend.show()

Primitive and conventional cell#

# RAD-tools - Sandbox (mainly condense matter plotting).
# Copyright (C) 2022-2024  Andrey Rybakov
#
# e-mail: anry@uv.es, web: rad-tools.org
#
# 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 radtools as rad

l = rad.lattice_example("ORCC")
backend = rad.PlotlyBackend()
backend.plot(l, kind="primitive", label="primitive")
backend.plot(l, kind="conventional", label="conventional", color="black")
# Save an image:
backend.save("orcc_real.png")
# Interactive plot:
backend.show()

Wigner-Seitz cell#

# RAD-tools - Sandbox (mainly condense matter plotting).
# Copyright (C) 2022-2024  Andrey Rybakov
#
# e-mail: anry@uv.es, web: rad-tools.org
#
# 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 radtools as rad

l = rad.lattice_example("ORCC")
backend = rad.PlotlyBackend()
backend.plot(l, kind="wigner-seitz")
# Save an image:
backend.save("orcc_wigner-seitz.png")
# Interactive plot:
backend.show()

Edge cases#

If \(a = b\), then the lattice is Tetragonal (TET).

If \(a = b = \sqrt{2} c\), then the lattice is Cubic (CUB).