Body-centered cubic (BCC)#
Pearson symbol: cI
Constructor: BCC()
It is defined by one parameter: \(a\) with conventional cell:
\[\begin{split}\begin{matrix}
\boldsymbol{a}_1^c &=& (a, &0, &0)\\
\boldsymbol{a}_2^c &=& (0, &a, &0)\\
\boldsymbol{a}_3^c &=& (0, &0, &a)
\end{matrix}\end{split}\]
And primitive cell:
\[\begin{split}\begin{matrix}
\boldsymbol{a}_1 &=& (-a/2,& a/2,& a/2)\\
\boldsymbol{a}_2 &=& (a/2, &-a/2,& a/2)\\
\boldsymbol{a}_3 &=& (a/2, &a/2, &-a/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}\]
K-path#
\(\mathrm{\Gamma-H-N-\Gamma-P-H\vert P-N}\)
Point |
\(\times\boldsymbol{b}_1\) |
\(\times\boldsymbol{b}_2\) |
\(\times\boldsymbol{b}_3\) |
|---|---|---|---|
\(\mathrm{\Gamma}\) |
\(0\) |
\(0\) |
\(0\) |
\(\mathrm{H}\) |
\(1/2\) |
\(-1/2\) |
\(1/2\) |
\(\mathrm{P}\) |
\(1/4\) |
\(1/4\) |
\(1/4\) |
\(\mathrm{N}\) |
\(0\) |
\(0\) |
\(1/2\) |
Variations#
There are no variations for body-centered cubic lattice.
One example is predefined: bcc with \(a = \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("bcc_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("bcc_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("bcc_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}\]