Base-centred monoclinic (MCLC)#
Pearson symbol: mS
Constructor: MCLC()
It is defined by four parameter: \(a\), \(b\), \(c\) and \(\alpha\) with conventional lattice:
And primitive lattice:
Order of parameters: \(b \le c\), \(\alpha < 90^{\circ}\).
Cell standardization#
Length of the third vector of the primitive lattice has to be different from the length of the other two lattice vectors.
Angle between second and third lattice vectors of conventional lattice (\(\alpha\)) has to be less then \(90^{\circ}\).
Length of the second lattice vector of the conventional lattice has to be less or equal to the length of the third lattice vector.
If these conditions are not satisfied, then the lattice is transformed to the standard form:
First we ensure the length of the third vector is different from the length of the other two vectors. For this step we use vectors of the primitive lattice:
- If \(\vert\boldsymbol{a}_1\vert = \vert\boldsymbol{a}_3\vert\):
- \[(\boldsymbol{a}_1, \boldsymbol{a}_2, \boldsymbol{a}_3) \rightarrow (\boldsymbol{a}_3, \boldsymbol{a}_1, \boldsymbol{a}_2)\]
- If \(\vert\boldsymbol{a}_2\vert = \vert\boldsymbol{a}_3\vert\):
- \[(\boldsymbol{a}_1, \boldsymbol{a}_2, \boldsymbol{a}_3) \rightarrow (\boldsymbol{a}_2, \boldsymbol{a}_3, \boldsymbol{a}_1)\]
Then we ensure the \(\alpha < 90^{\circ}\). For this step we use vectors of the conventional lattice:
- If \(\alpha > 90^{\circ}\):
- \[(\boldsymbol{a}_1, \boldsymbol{a}_2, \boldsymbol{a}_3) \rightarrow (\boldsymbol{a}_1, \boldsymbol{a}_3, -\boldsymbol{a}_2)\]
Finally, we ensure the \(b \le c\). For this step we use vectors of the conventional lattice:
- If \(b > c\):
- \[(\boldsymbol{a}_1, \boldsymbol{a}_2, \boldsymbol{a}_3) \rightarrow (-\boldsymbol{a}_1, \boldsymbol{a}_3, \boldsymbol{a}_2)\]
Note
First and second lattice vectors are multiplied by \(-1\) in some cases to preserve the handedness of the cell.
K-path#
MCLC1#
\(\mathrm{\Gamma-Y-F-L-I\vert I_1-Z-F_1\vert Y-X_1\vert X-\Gamma-N\vert M-\Gamma}\)
Point |
\(\times\boldsymbol{b}_1\) |
\(\times\boldsymbol{b}_2\) |
\(\times\boldsymbol{b}_3\) |
|---|---|---|---|
\(\mathrm{\Gamma}\) |
\(0\) |
\(0\) |
\(0\) |
\(\mathrm{N}\) |
\(1/2\) |
\(0\) |
\(0\) |
\(\mathrm{N_1}\) |
\(0\) |
\(-1/2\) |
\(0\) |
\(\mathrm{F}\) |
\(1-\zeta\) |
\(1-\zeta\) |
\(1-\eta\) |
\(\mathrm{F_1}\) |
\(\zeta\) |
\(\zeta\) |
\(\eta\) |
\(\mathrm{F_2}\) |
\(-\zeta\) |
\(-\zeta\) |
\(1-\eta\) |
\(\mathrm{F_3}\) |
\(1-\zeta\) |
\(-\zeta\) |
\(1-\eta\) |
\(\mathrm{I}\) |
\(\phi\) |
\(1-\phi\) |
\(1/2\) |
\(\mathrm{I_1}\) |
\(1-\phi\) |
\(\phi-1\) |
\(1/2\) |
\(\mathrm{L}\) |
\(1/2\) |
\(1/2\) |
\(1/2\) |
\(\mathrm{M}\) |
\(1/2\) |
\(0\) |
\(1/2\) |
\(\mathrm{X}\) |
\(1-\psi\) |
\(\psi-1\) |
\(0\) |
\(\mathrm{X_1}\) |
\(\psi\) |
\(1-\psi\) |
\(0\) |
\(\mathrm{X_2}\) |
\(\psi-1\) |
\(-\psi\) |
\(0\) |
\(\mathrm{Y}\) |
\(1/2\) |
\(1/2\) |
\(0\) |
\(\mathrm{Y_1}\) |
\(-1/2\) |
\(-1/2\) |
\(0\) |
\(\mathrm{Z}\) |
\(0\) |
\(0\) |
\(1/2\) |
MCLC2#
\(\mathrm{\Gamma-Y-F-L-I\vert I_1-Z-F_1\vert N-\Gamma-M}\)
Point |
\(\times\boldsymbol{b}_1\) |
\(\times\boldsymbol{b}_2\) |
\(\times\boldsymbol{b}_3\) |
|---|---|---|---|
\(\mathrm{\Gamma}\) |
\(0\) |
\(0\) |
\(0\) |
\(\mathrm{N}\) |
\(1/2\) |
\(0\) |
\(0\) |
\(\mathrm{N_1}\) |
\(0\) |
\(-1/2\) |
\(0\) |
\(\mathrm{F}\) |
\(1-\zeta\) |
\(1-\zeta\) |
\(1-\eta\) |
\(\mathrm{F_1}\) |
\(\zeta\) |
\(\zeta\) |
\(\eta\) |
\(\mathrm{F_2}\) |
\(-\zeta\) |
\(-\zeta\) |
\(1-\eta\) |
\(\mathrm{F_3}\) |
\(1-\zeta\) |
\(-\zeta\) |
\(1-\eta\) |
\(\mathrm{I}\) |
\(\phi\) |
\(1-\phi\) |
\(1/2\) |
\(\mathrm{I_1}\) |
\(1-\phi\) |
\(\phi-1\) |
\(1/2\) |
\(\mathrm{L}\) |
\(1/2\) |
\(1/2\) |
\(1/2\) |
\(\mathrm{M}\) |
\(1/2\) |
\(0\) |
\(1/2\) |
\(\mathrm{X}\) |
\(1-\psi\) |
\(\psi-1\) |
\(0\) |
\(\mathrm{X_1}\) |
\(\psi\) |
\(1-\psi\) |
\(0\) |
\(\mathrm{X_2}\) |
\(\psi-1\) |
\(-\psi\) |
\(0\) |
\(\mathrm{Y}\) |
\(1/2\) |
\(1/2\) |
\(0\) |
\(\mathrm{Y_1}\) |
\(-1/2\) |
\(-1/2\) |
\(0\) |
\(\mathrm{Z}\) |
\(0\) |
\(0\) |
\(1/2\) |
MCLC3#
\(\mathrm{\Gamma-Y-F-H-Z-I-F_1\vert H_1-Y_1-X-\Gamma-N\vert M-\Gamma}\)
Point |
\(\times\boldsymbol{b}_1\) |
\(\times\boldsymbol{b}_2\) |
\(\times\boldsymbol{b}_3\) |
|---|---|---|---|
\(\mathrm{\Gamma}\) |
\(0\) |
\(0\) |
\(0\) |
\(\mathrm{F}\) |
\(1-\phi\) |
\(1-\phi\) |
\(1-\psi\) |
\(\mathrm{F_1}\) |
\(\phi\) |
\(\phi-1\) |
\(\psi\) |
\(\mathrm{F_2}\) |
\(1-\phi\) |
\(-\phi\) |
\(1-\psi\) |
\(\mathrm{H}\) |
\(\zeta\) |
\(\zeta\) |
\(\eta\) |
\(\mathrm{H_1}\) |
\(1-\zeta\) |
\(-\zeta\) |
\(1-\eta\) |
\(\mathrm{H_2}\) |
\(-\zeta\) |
\(-\zeta\) |
\(1-\eta\) |
\(\mathrm{I}\) |
\(1/2\) |
\(-1/2\) |
\(1/2\) |
\(\mathrm{M}\) |
\(1/2\) |
\(0\) |
\(1/2\) |
\(\mathrm{N}\) |
\(1/2\) |
\(0\) |
\(0\) |
\(\mathrm{N_1}\) |
\(0\) |
\(-1/2\) |
\(0\) |
\(\mathrm{X}\) |
\(1/2\) |
\(-1/2\) |
\(0\) |
\(\mathrm{Y}\) |
\(\mu\) |
\(\mu\) |
\(\delta\) |
\(\mathrm{Y_1}\) |
\(1-\mu\) |
\(-\mu\) |
\(-\delta\) |
\(\mathrm{Y_2}\) |
\(-\mu\) |
\(-\mu\) |
\(-\delta\) |
\(\mathrm{Y_3}\) |
\(\mu\) |
\(\mu-1\) |
\(\delta\) |
\(\mathrm{Z}\) |
\(0\) |
\(0\) |
\(1/2\) |
MCLC4#
\(\mathrm{\Gamma-Y-F-H-Z-I\vert H_1-Y_1-X-\Gamma-N\vert M-\Gamma}\)
Point |
\(\times\boldsymbol{b}_1\) |
\(\times\boldsymbol{b}_2\) |
\(\times\boldsymbol{b}_3\) |
|---|---|---|---|
\(\mathrm{\Gamma}\) |
\(0\) |
\(0\) |
\(0\) |
\(\mathrm{F}\) |
\(1-\phi\) |
\(1-\phi\) |
\(1-\psi\) |
\(\mathrm{F_1}\) |
\(\phi\) |
\(\phi-1\) |
\(\psi\) |
\(\mathrm{F_2}\) |
\(1-\phi\) |
\(-\phi\) |
\(1-\psi\) |
\(\mathrm{H}\) |
\(\zeta\) |
\(\zeta\) |
\(\eta\) |
\(\mathrm{H_1}\) |
\(1-\zeta\) |
\(-\zeta\) |
\(1-\eta\) |
\(\mathrm{H_2}\) |
\(-\zeta\) |
\(-\zeta\) |
\(1-\eta\) |
\(\mathrm{I}\) |
\(1/2\) |
\(-1/2\) |
\(1/2\) |
\(\mathrm{M}\) |
\(1/2\) |
\(0\) |
\(1/2\) |
\(\mathrm{N}\) |
\(1/2\) |
\(0\) |
\(0\) |
\(\mathrm{N_1}\) |
\(0\) |
\(-1/2\) |
\(0\) |
\(\mathrm{X}\) |
\(1/2\) |
\(-1/2\) |
\(0\) |
\(\mathrm{Y}\) |
\(\mu\) |
\(\mu\) |
\(\delta\) |
\(\mathrm{Y_1}\) |
\(1-\mu\) |
\(-\mu\) |
\(-\delta\) |
\(\mathrm{Y_2}\) |
\(-\mu\) |
\(-\mu\) |
\(-\delta\) |
\(\mathrm{Y_3}\) |
\(\mu\) |
\(\mu-1\) |
\(\delta\) |
\(\mathrm{Z}\) |
\(0\) |
\(0\) |
\(1/2\) |
MCLC5#
\(\mathrm{\Gamma-Y-F-L-I\vert I_1-Z-H-F_1\vert H_1-Y_1-X-\Gamma-N\vert M-\Gamma}\)
Point |
\(\times\boldsymbol{b}_1\) |
\(\times\boldsymbol{b}_2\) |
\(\times\boldsymbol{b}_3\) |
|---|---|---|---|
\(\mathrm{\Gamma}\) |
\(0\) |
\(0\) |
\(0\) |
\(\mathrm{F}\) |
\(\nu\) |
\(\nu\) |
\(\omega\) |
\(\mathrm{F_1}\) |
\(1-\nu\) |
\(-\nu\) |
\(1-\omega\) |
\(\mathrm{F_2}\) |
\(\nu\) |
\(\nu-1\) |
\(\omega\) |
\(\mathrm{H}\) |
\(\zeta\) |
\(\zeta\) |
\(\eta\) |
\(\mathrm{H_1}\) |
\(1-\zeta\) |
\(-\zeta\) |
\(1-\eta\) |
\(\mathrm{H_2}\) |
\(-\zeta\) |
\(-\zeta\) |
\(1-\eta\) |
\(\mathrm{I}\) |
\(\rho\) |
\(1-\rho\) |
\(1/2\) |
\(\mathrm{I_1}\) |
\(1-\rho\) |
\(\rho-1\) |
\(1/2\) |
\(\mathrm{L}\) |
\(1/2\) |
\(1/2\) |
\(1/2\) |
\(\mathrm{M}\) |
\(1/2\) |
\(0\) |
\(1/2\) |
\(\mathrm{N}\) |
\(1/2\) |
\(0\) |
\(0\) |
\(\mathrm{N_1}\) |
\(0\) |
\(-1/2\) |
\(0\) |
\(\mathrm{X}\) |
\(1/2\) |
\(-1/2\) |
\(0\) |
\(\mathrm{Y}\) |
\(\mu\) |
\(\mu\) |
\(\delta\) |
\(\mathrm{Y_1}\) |
\(1-\mu\) |
\(-\mu\) |
\(-\delta\) |
\(\mathrm{Y_2}\) |
\(-\mu\) |
\(-\mu\) |
\(-\delta\) |
\(\mathrm{Y_3}\) |
\(\mu\) |
\(\mu-1\) |
\(\delta\) |
\(\mathrm{Z}\) |
\(0\) |
\(0\) |
\(1/2\) |
Variations#
There are five variations for base-centered monoclinic lattice.
Reciprocal \(\gamma\) (\(k_{\gamma}\)) is defined by the equation (for primitive lattice):
For MCLC2 \(k_{\gamma} = 90\), therefore \(a = b \sin(\alpha)\). For MCLC1 we choose \(a < b \sin(\alpha)\) and for MCLC3, MCLC4 and MCLC5 we choose \(a > b \sin(\alpha)\).
For the variations 3-5 we define \(a = xb\sin(\alpha)\), where \(x > 1\).
Then the condition for MCLC4 gives:
Where \(\cos(\alpha) > 0\) (\(\alpha < 90^{\circ}\)), since \(x > 1\).
And the ordering condition \(b \le c\) gives:
For MCLC3 (MCLC5) we choose parameters in a same way as for MCLC4, but with \(c > \frac{x^2}{x^2 - 1}b\cos(\alpha)\) (\(c < \frac{x^2}{x^2 - 1}b\cos(\alpha)\))
MCLC1#
\(k_{\gamma} > 90^{\circ}\),
Predefined example: mclc1 with \(a = \pi\), \(b = 1.4\cdot\pi\), \(c = 1.7\cdot\pi\) and \(\alpha = 80^{\circ}\)
MCLC2#
\(k_{\gamma} = 90^{\circ}\),
Predefined example: mclc2 with \(a = 1.4\cdot\pi\cdot\sin(75^{\circ})\), \(b = 1.4\cdot\pi\), \(c = 1.7\cdot\pi\) and \(\alpha=75^{\circ}\)
MCLC3#
\(k_{\gamma} < 90^{\circ}, \dfrac{b\cos(\alpha)}{c} + \dfrac{b^2\sin(\alpha)^2}{a^2} < 1\)
Predefined example with \(b = \pi\), \(x = 1.1\), \(\alpha = 78^{\circ}\), which produce:
mclc4 with \(a = 1.1\cdot\sin(78)\cdot\pi\), \(b = \pi\),
\(c = 1.8\cdot 121\cdot\cos(65)\cdot\pi/21\) and \(\alpha = 78^{\circ}\)
MCLC4#
\(k_{\gamma} < 90^{\circ}, \dfrac{b\cos(\alpha)}{c} + \dfrac{b^2\sin(\alpha)^2}{a^2} = 1\)
Predefined example with \(b = \pi\), \(x = 1.2\), \(\alpha = 65^{\circ}\), which produce:
mclc4 with \(a = 1.2\sin(65)\pi\), \(b = \pi\),
\(c = 36\cos(65)\pi/11\) and \(\alpha = 65^{\circ}\)
MCLC5#
\(k_{\gamma} < 90^{\circ}, \dfrac{b\cos(\alpha)}{c} + \dfrac{b^2\sin(\alpha)^2}{a^2} > 1\)
Predefined example with \(b = \pi\), \(x = 1.4\), \(\alpha = 53^{\circ}\), which produce:
mclc5 with \(a = 1.4\cdot\sin(53)\cdot\pi\), \(b = \pi\),
\(c = 0.9\cdot 11\cdot\cos(53)\cdot\pi/6\) and \(\alpha = 53^{\circ}\)
Examples#
MCLC1#
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("MCLC1")
backend = rad.PlotlyBackend()
backend.plot(l, kind="brillouin-kpath")
# Save an image:
backend.save("mclc1_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("MCLC1")
backend = rad.PlotlyBackend()
backend.plot(l, kind="primitive", label="primitive")
backend.plot(l, kind="conventional", label="conventional", color="black")
# Save an image:
backend.save("mclc1_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("MCLC1")
backend = rad.PlotlyBackend()
backend.plot(l, kind="wigner-seitz")
# Save an image:
backend.save("mclc1_wigner-seitz.png")
# Interactive plot:
backend.show()
MCLC2#
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("MCLC2")
backend = rad.PlotlyBackend()
backend.plot(l, kind="brillouin-kpath")
# Save an image:
backend.save("mclc2_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("MCLC2")
backend = rad.PlotlyBackend()
backend.plot(l, kind="primitive", label="primitive")
backend.plot(l, kind="conventional", label="conventional", color="black")
# Save an image:
backend.save("mclc2_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("MCLC2")
backend = rad.PlotlyBackend()
backend.plot(l, kind="wigner-seitz")
# Save an image:
backend.save("mclc2_wigner-seitz.png")
# Interactive plot:
backend.show()
MCLC3#
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("MCLC3")
backend = rad.PlotlyBackend()
backend.plot(l, kind="brillouin-kpath")
# Save an image:
backend.save("mclc3_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("MCLC3")
backend = rad.PlotlyBackend()
backend.plot(l, kind="primitive", label="primitive")
backend.plot(l, kind="conventional", label="conventional", color="black")
# Save an image:
backend.save("mclc3_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("MCLC3")
backend = rad.PlotlyBackend()
backend.plot(l, kind="wigner-seitz")
# Save an image:
backend.save("mclc3_wigner-seitz.png")
# Interactive plot:
backend.show()
MCLC4#
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("MCLC4")
backend = rad.PlotlyBackend()
backend.plot(l, kind="brillouin-kpath")
# Save an image:
backend.save("mclc4_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("MCLC4")
backend = rad.PlotlyBackend()
backend.plot(l, kind="primitive", label="primitive")
backend.plot(l, kind="conventional", label="conventional", color="black")
# Save an image:
backend.save("mclc4_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("MCLC4")
backend = rad.PlotlyBackend()
backend.plot(l, kind="wigner-seitz")
# Save an image:
backend.save("mclc4_wigner-seitz.png")
# Interactive plot:
backend.show()
MCLC5#
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("MCLC5")
backend = rad.PlotlyBackend()
backend.plot(l, kind="brillouin-kpath")
# Save an image:
backend.save("mclc5_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("MCLC5")
backend = rad.PlotlyBackend()
backend.plot(l, kind="primitive", label="primitive")
backend.plot(l, kind="conventional", label="conventional", color="black")
# Save an image:
backend.save("mclc5_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("MCLC5")
backend = rad.PlotlyBackend()
backend.plot(l, kind="wigner-seitz")
# Save an image:
backend.save("mclc5_wigner-seitz.png")
# Interactive plot:
backend.show()