
.. DO NOT EDIT.
.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
.. "examples\04-fermi3d\plot_fermi3d_cross_section.py"
.. LINE NUMBERS ARE GIVEN BELOW.

.. only:: html

    .. note::
        :class: sphx-glr-download-link-note

        :ref:`Go to the end <sphx_glr_download_examples_04-fermi3d_plot_fermi3d_cross_section.py>`
        to download the full example code.

.. rst-class:: sphx-glr-example-title

.. _sphx_glr_examples_04-fermi3d_plot_fermi3d_cross_section.py:


.. _ref_plotting_fermi3d_cross_section:

Plotting fermi3d cross_section
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Symmetry does not currently work! Make sure for fermi surface calculations turn off symmetry

Plotting fermi3d cross_section example.

First download the example files with the code below. Then replace data_dir below.

.. code-block::
   :caption: Downloading example

    data_dir = pyprocar.download_example(save_dir='', 
                                material='Fe',
                                code='vasp', 
                                spin_calc_type='non-colinear',
                                calc_type='fermi')

.. GENERATED FROM PYTHON SOURCE LINES 23-25

.. code-block:: Python

    # sphinx_gallery_thumbnail_number = 1








.. GENERATED FROM PYTHON SOURCE LINES 26-31

.. code-block:: Python


    import pyvista
    # You do not need this. This is to ensure an image is rendered off screen when generating exmaple gallery.
    pyvista.OFF_SCREEN = True








.. GENERATED FROM PYTHON SOURCE LINES 32-33

importing pyprocar and specifying local data_dir

.. GENERATED FROM PYTHON SOURCE LINES 33-51

.. code-block:: Python


    import os
    import pyprocar

    data_dir = f"{pyprocar.utils.ROOT}{os.sep}data{os.sep}examples{os.sep}Fe{os.sep}vasp{os.sep}non-colinear{os.sep}fermi"


    # First create the FermiHandler object, this loads the data into memory. Then you can call class methods to plot
    # Symmetry only works for specfic space groups currently. 
    # For the actual calculations turn off symmetry and set 'apply_symmetry'=False
    fermiHandler = pyprocar.FermiHandler(
                                        code="vasp",
                                        dirname=data_dir,
                                        apply_symmetry=True)








.. rst-class:: sphx-glr-script-out

 .. code-block:: none

    C:\Users\lllang\miniconda3\envs\pyprocar_dev\lib\site-packages\spglib\spglib.py:115: DeprecationWarning: dict interface (SpglibDataset['wyckoffs']) is deprecated.Use attribute interface ({self.__class__.__name__}.{key}) instead
      warnings.warn(

                    WARNING : Fermi Energy not set! Set `fermi={value}`. By default, using fermi energy found in given directory.
                    ---------------------------------------------------------------------------------------------------------------
                




.. GENERATED FROM PYTHON SOURCE LINES 52-56

Cross section
+++++++++++++++++++++++++++++++++++++++



.. GENERATED FROM PYTHON SOURCE LINES 56-83

.. code-block:: Python


    # show_cross_section_area can show the outermost cross section area
    show_cross_section_area=False

    # slice_normal is the initial orientation of the the cross section plane widget
    slice_normal=(1,0,0)

    # slice_origin is the initial position of the center of the cross section plane widget
    slice_origin=(0,0,0)

    # line_width is the size of the line of the cross section
    line_width=5.0

    # when you run this code, you will be able to adjust the widget manually. 
    # If you want to save the position of the widget use this keyword argument to save an image.
    # This must be a string to the filename where you will save the image
    #save_2d_slice=''

    fermiHandler.plot_fermi_cross_section(
                                  slice_normal=slice_normal,
                                  slice_origin=slice_origin,
                                  cross_section_slice_linewidth=line_width,
                                  mode="spin_texture",
                                  spin_texture=True,
                                  arrow_size=0.5,
                                  show=True,)




.. image-sg:: /examples/04-fermi3d/images/sphx_glr_plot_fermi3d_cross_section_001.png
   :alt: plot fermi3d cross section
   :srcset: /examples/04-fermi3d/images/sphx_glr_plot_fermi3d_cross_section_001.png
   :class: sphx-glr-single-img


.. rst-class:: sphx-glr-script-out

 .. code-block:: none


                    --------------------------------------------------------
                    There are additional plot options that are defined in a configuration file. 
                    You can change these configurations by passing the keyword argument to the function
                    To print a list of plot options set print_plot_opts=True

                    Here is a list modes : plain , parametric , spin_texture , overlay
                    Here is a list of properties: fermi_speed , fermi_velocity , harmonic_effective_mass
                    --------------------------------------------------------
                
    ij,uvwabj->uvwabi




.. GENERATED FROM PYTHON SOURCE LINES 84-88

Cross section. Save slice
+++++++++++++++++++++++++++++++++++++++



.. GENERATED FROM PYTHON SOURCE LINES 88-106

.. code-block:: Python


    # when you run this code, you will be able to adjust the widget manually. 
    # If you want to save the position of the widget use this keyword argument to save an image.
    # This must be a string to the filename where you will save the image
    save_2d_slice='2d_slice.png'

    fermiHandler.plot_fermi_cross_section(
                                  slice_normal=slice_normal,
                                  slice_origin=slice_origin,
                                  cross_section_slice_linewidth=line_width,

                                  mode="spin_texture",
                                  spin_texture=True,
                                  arrow_size=0.5,
                                  save_2d_slice=save_2d_slice,
                                  show=True,)





.. rst-class:: sphx-glr-horizontal


    *

      .. image-sg:: /examples/04-fermi3d/images/sphx_glr_plot_fermi3d_cross_section_002.png
          :alt: plot fermi3d cross section
          :srcset: /examples/04-fermi3d/images/sphx_glr_plot_fermi3d_cross_section_002.png
          :class: sphx-glr-multi-img

    *

      .. image-sg:: /examples/04-fermi3d/images/sphx_glr_plot_fermi3d_cross_section_003.png
          :alt: plot fermi3d cross section
          :srcset: /examples/04-fermi3d/images/sphx_glr_plot_fermi3d_cross_section_003.png
          :class: sphx-glr-multi-img


.. rst-class:: sphx-glr-script-out

 .. code-block:: none


                    --------------------------------------------------------
                    There are additional plot options that are defined in a configuration file. 
                    You can change these configurations by passing the keyword argument to the function
                    To print a list of plot options set print_plot_opts=True

                    Here is a list modes : plain , parametric , spin_texture , overlay
                    Here is a list of properties: fermi_speed , fermi_velocity , harmonic_effective_mass
                    --------------------------------------------------------
                





.. rst-class:: sphx-glr-timing

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


.. _sphx_glr_download_examples_04-fermi3d_plot_fermi3d_cross_section.py:

.. only:: html

  .. container:: sphx-glr-footer sphx-glr-footer-example

    .. container:: sphx-glr-download sphx-glr-download-jupyter

      :download:`Download Jupyter notebook: plot_fermi3d_cross_section.ipynb <plot_fermi3d_cross_section.ipynb>`

    .. container:: sphx-glr-download sphx-glr-download-python

      :download:`Download Python source code: plot_fermi3d_cross_section.py <plot_fermi3d_cross_section.py>`

    .. container:: sphx-glr-download sphx-glr-download-zip

      :download:`Download zipped: plot_fermi3d_cross_section.zip <plot_fermi3d_cross_section.zip>`


.. only:: html

 .. rst-class:: sphx-glr-signature

    `Gallery generated by Sphinx-Gallery <https://sphinx-gallery.github.io>`_
