Cubic (CUB)#

Pearson symbol: cP

Constructor: CUB()

It is defined by one parameter: \(a\) with primitive and conventional cell:

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

with

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

Variations#

There are no variations for cubic lattice. One example is predefined: cub with \(a = \pi\).

K-path#

\(\mathrm{\Gamma-X-M-\Gamma-R-X\vert M-R}\).

Point

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

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

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

\(\mathrm{\Gamma}\)

\(0\)

\(0\)

\(0\)

\(\mathrm{M}\)

\(1/2\)

\(1/2\)

\(0\)

\(\mathrm{R}\)

\(1/2\)

\(1/2\)

\(1/2\)

\(\mathrm{X}\)

\(0\)

\(1/2\)

\(0\)

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("cub_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")
# Save an image:
backend.save("cub_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("cub_wigner-seitz.png")
# Interactive plot:
backend.show()

Cell standardization#

No standardization required.

\[\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}\]