MCLC5#

Base-centered monoclinic cell is defined by four parameters \(a\), \(b\), \(c\) and \(\alpha\) with \(b \le c\), \(\alpha < 90^{\circ}\).

MCLC lattice has variation MCLC5 when \(k_{\gamma} < 90^{\circ}\) and \(\dfrac{b\cos(\alpha)}{c} + \dfrac{b^2\sin(\alpha)^2}{a^2} > 1\).

Cell constructor#

To get an example of the cell use wulfric.cell.SC_MCLC().

wulfric.cell.sc_get_example() returns an example where \(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}\).

import wulfric

cell = wulfric.cell.sc_get_example("MCLC5")
atoms = dict(positions=[[0, 0, 0]], spglib_types=[1])

# To avoid multiple calls to spglib one can do it once and then pass spglib_data
# to the functions where it is needed
spglib_data = wulfric.get_spglib_data(cell=cell, atoms=atoms)

kp = wulfric.Kpoints.from_crystal(cell=cell, atoms=atoms, convention="SC")

conv_cell, conv_atoms = wulfric.crystal.get_conventional(
    cell=cell, atoms=atoms, convention="SC", spglib_data=spglib_data
)

prim_cell, prim_atoms = wulfric.crystal.get_primitive(
    cell=cell, atoms=atoms, convention="SC", spglib_data=spglib_data
)

variation = wulfric.crystal.sc_get_variation(
    cell=cell, atoms=atoms, spglib_data=spglib_data
)

assert variation == "MCLC5"

print(variation)
MCLC5

K-path#

print(kp.path_string)
GAMMA-Y-F-L-I|I1-Z-H-F1|H1-Y1-X-GAMMA-N|M-GAMMA

High-symmetry points#

print(kp.hs_table(decimals=4))
Name    rel_b1  rel_b2  rel_b3      k_x     k_y     k_z
GAMMA   0.0000  0.0000  0.0000   0.0000  0.0000  0.0000
F       0.5071  0.5071  0.5759   0.0000  2.0282 -0.2241
F1      0.4929  0.4929  0.4241  -0.0000  1.9718 -0.5255
F2     -0.4929  0.5071 -0.4241  -1.7888  0.0282 -0.9816
H       0.3786  0.3786  0.0040  -0.0000  1.5145 -1.1323
H1     -0.3786  0.6214 -0.0040  -1.7888  0.4855 -0.3748
H2     -0.3786 -0.3786 -1.0040   0.0000 -1.5145 -1.1323
I       0.4733  0.5267  0.5000  -0.0954  2.0000 -0.3748
I1     -0.4733  0.4733 -0.5000  -1.6934  0.0000 -1.1323
L       0.5000  0.5000  0.5000   0.0000  2.0000 -0.3748
M       0.0000  0.5000 -0.0000  -0.8944  1.0000 -0.7536
N       0.0000  0.5000  0.5000  -0.8944  1.0000  0.3787
N1     -0.5000  0.0000 -0.5000  -0.8944 -1.0000 -0.3787
X      -0.5000  0.5000  0.0000  -1.7888  0.0000  0.0000
Y       0.4428  0.4428  0.7900   0.0000  1.7714  0.4541
Y1     -0.4428  0.5572  0.2100  -1.7888  0.2286  0.3034
Y2     -0.4428 -0.4428 -0.7900  -0.0000 -1.7714 -0.4541
Y3     -0.5572  0.4428 -0.2100  -1.7888 -0.2286 -0.3034
Z       0.0000  0.0000 -0.5000   0.0000  0.0000 -1.1323

Brillouin zone and default k-path#

pe = wulfric.PlotlyEngine(_sphinx_gallery_fix=True)

pe.plot_brillouin_zone(
    cell=prim_cell, color="red", legend_label="Brillouin zone of the primitive cell"
)
pe.plot_brillouin_zone(
    cell=cell, color="chocolate", legend_label="Brillouin zone of the original cell"
)
pe.plot_kpath(kp=kp)
pe.plot_kpoints(kp=kp, only_from_kpath=True)

pe.show(axes_visible=False)


Cells of real space#

pe = wulfric.PlotlyEngine(_sphinx_gallery_fix=True)

pe.plot_cell(cell=cell, legend_label="Original cell", color="Chocolate")
pe.plot_cell(cell=prim_cell, legend_label="Primitive cell", color="Black")
pe.plot_cell(cell=conv_cell, legend_label="Conventional cell", color="Blue")
pe.plot_wigner_seitz_cell(
    cell=prim_cell, legend_label="Wigner-Seitz cell", color="green"
)

pe.show(axes_visible=False)


Total running time of the script: (0 minutes 2.037 seconds)

Gallery generated by Sphinx-Gallery