.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "user-guide/conventions/bravais-lattices/2_sc/plot_16_MCL.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_user-guide_conventions_bravais-lattices_2_sc_plot_16_MCL.py: MCL *** Monoclinic cell is defined by four parameters :math:`a`, :math:`b`, :math:`c` and :math:`\alpha` with :math:`b \le c`, :math:`\alpha < 90^{\circ}`. Cell constructor ================ To get an example of the cell use :py:func:`wulfric.cell.SC_MCL`. :py:func:`wulfric.cell.sc_get_example` returns an example where :math:`a = \pi`, :math:`b = 1.3 \pi` :math:`c = 1.6 \pi` and :math:`\alpha = 75^{\circ}`. .. GENERATED FROM PYTHON SOURCE LINES 37-58 .. code-block:: Python import wulfric cell = wulfric.cell.sc_get_example("MCL") 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 ) .. GENERATED FROM PYTHON SOURCE LINES 59-61 K-path ====== .. GENERATED FROM PYTHON SOURCE LINES 61-64 .. code-block:: Python print(kp.path_string) .. rst-class:: sphx-glr-script-out .. code-block:: none GAMMA-Y-H-C-E-M1-A-X-H1|M-D-Z|Y-D .. GENERATED FROM PYTHON SOURCE LINES 65-67 High-symmetry points ==================== .. GENERATED FROM PYTHON SOURCE LINES 67-70 .. code-block:: Python print(kp.hs_table(decimals=4)) .. rst-class:: sphx-glr-script-out .. code-block:: none 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 A 0.5000 -0.5000 0.0000 1.0000 -0.7692 0.2061 C 0.0000 -0.5000 -0.5000 0.0000 -0.7692 -0.4409 D 0.5000 0.0000 -0.5000 1.0000 0.0000 -0.6470 D1 0.5000 0.0000 0.5000 1.0000 0.0000 0.6470 E 0.5000 -0.5000 -0.5000 1.0000 -0.7692 -0.4409 H 0.0000 -0.4232 -0.6348 0.0000 -0.6511 -0.6470 H1 0.0000 -0.5768 -0.3652 0.0000 -0.8874 -0.2348 H2 0.0000 -0.4232 0.3652 0.0000 -0.6511 0.6470 M 0.5000 -0.4232 -0.6348 1.0000 -0.6511 -0.6470 M1 0.5000 -0.5768 -0.3652 1.0000 -0.8874 -0.2348 M2 0.5000 -0.4232 0.3652 1.0000 -0.6511 0.6470 X 0.0000 -0.5000 0.0000 0.0000 -0.7692 0.2061 Y 0.0000 0.0000 -0.5000 0.0000 0.0000 -0.6470 Y1 0.0000 0.0000 0.5000 0.0000 0.0000 0.6470 Z 0.5000 0.0000 0.0000 1.0000 0.0000 0.0000 .. GENERATED FROM PYTHON SOURCE LINES 71-73 Brillouin zone and default k-path ================================= .. GENERATED FROM PYTHON SOURCE LINES 73-88 .. code-block:: Python 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) .. raw:: html


.. GENERATED FROM PYTHON SOURCE LINES 89-94 Cells of real space =================== .. hint Click on the legend to hide some of the cells .. GENERATED FROM PYTHON SOURCE LINES 94-106 .. code-block:: Python 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) .. raw:: html


.. GENERATED FROM PYTHON SOURCE LINES 107-133 If (:math:`\alpha = 60^{\circ}` or :math:`\alpha = 120^{\circ}`) and :math:`b = c`, then the lattice is :ref:`sphx_glr_user-guide_conventions_bravais-lattices_2_sc_plot_13_HEX.py`. If (:math:`\alpha = 30^{\circ}` or :math:`\alpha = 150^{\circ}` or :math:`\alpha = 45^{\circ}` or :math:`\alpha = 145^{\circ}`) and :math:`b = c`, then the lattice is :ref:`sphx_glr_user-guide_conventions_bravais-lattices_2_sc_plot_12_ORCC.py`. If (:math:`\alpha = 60^{\circ}` or :math:`\alpha = 120^{\circ}`) and :math:`a \ne b = c/2`, then the lattice is :ref:`sphx_glr_user-guide_conventions_bravais-lattices_2_sc_plot_07_ORC.py`. If :math:`a \ne b \ne c` and :math:`\alpha = 90^{\circ}`, then the lattice is :ref:`sphx_glr_user-guide_conventions_bravais-lattices_2_sc_plot_07_ORC.py`. If (:math:`\alpha = 60^{\circ}` or :math:`\alpha = 120^{\circ}`) and :math:`a = b = c/2`, then the lattice is :ref:`sphx_glr_user-guide_conventions_bravais-lattices_2_sc_plot_04_TET.py`. If (:math:`a = b \ne c` or :math:`a = c \ne b` or :math:`b = c \ne a`) and :math:`\alpha = 90^{\circ}`, then the lattice is :ref:`sphx_glr_user-guide_conventions_bravais-lattices_2_sc_plot_04_TET.py`. If :math:`a = b = c` and :math:`\alpha = 90^{\circ}`, then the lattice is :ref:`sphx_glr_user-guide_conventions_bravais-lattices_2_sc_plot_01_CUB.py`. .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 1.519 seconds) .. _sphx_glr_download_user-guide_conventions_bravais-lattices_2_sc_plot_16_MCL.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_16_MCL.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_16_MCL.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_16_MCL.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_