mC1#

Reference

POSCAR files with the crystal structure for these examples are taken from the seekpath repository with the permission of its authors. We refer you to seekpath for the original copies of the files and the license for those. To read more about the extended Bravais lattice symbols, chosen high-symmetry points and k-paths we refer you to the HPKOT paper.

Getting an example#

To get an example crystal use wulfric.crystal.hpkot_get_example().

import wulfric

# For every extended bravais lattice symbol two examples are defined:
# with and without inversion symmetry.
cell, atoms = wulfric.crystal.hpkot_get_example(
    extended_bl_symbol="mC1", with_inversion=False
)

# 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="HPKOT", with_time_reversal=True
)

kp_no_tr = wulfric.Kpoints.from_crystal(
    cell=cell, atoms=atoms, convention="HPKOT", with_time_reversal=False
)

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

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

K-path#

print(kp.path_string)
GAMMA-C|C2-Y2-GAMMA-M2-D|D2-A-GAMMA|L2-GAMMA-V2

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
Y2     -1.0000  0.0000 -0.0000  -1.3400  0.0000 -0.2259
Y4      1.0000  0.0000  0.0000   1.3400  0.0000  0.2259
A       0.0000  0.0000  0.5000   0.0000  0.0000  0.6210
M2     -1.0000  0.0000  0.5000  -1.3400  0.0000  0.3951
V       0.5000  0.5000  0.0000   0.6700  0.9186  0.1130
V2     -0.5000  0.5000 -0.0000  -0.6700  0.9186 -0.1130
L2     -0.5000  0.5000  0.5000  -0.6700  0.9186  0.5081
C      -0.0000  0.7735  0.0000  -0.0000  1.4212  0.0000
C2     -1.0000  0.2265 -0.0000  -1.3400  0.4160 -0.2259
C4      1.0000  0.2265  0.0000   1.3400  0.4160  0.2259
D      -1.0000  0.2680  0.5000  -1.3400  0.4924  0.3951
D2      0.0000  0.7320  0.5000   0.0000  1.3448  0.6210
E      -1.0497  0.0000  0.3272  -1.4066  0.0000  0.1692
E2     -0.9503 -0.0000  0.6728  -1.2734 -0.0000  0.6210
E4      0.9503  0.0000  0.3272   1.2734  0.0000  0.6210

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, legend_group="with TR", legend_label="With time-reversal")
pe.plot_kpoints(kp=kp, only_from_kpath=True, legend_group="with TR")

pe.plot_kpath(
    kp=kp_no_tr,
    color="#7D7D7D",
    legend_group="without TR",
    legend_label="Without time-reversal",
)
pe.plot_kpoints(
    kp=kp_no_tr, only_from_kpath=True, color="#7D7D7D", legend_group="without TR"
)

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 1.789 seconds)

Gallery generated by Sphinx-Gallery