Plotting fermi3d isoslider — PyProcar 6.2.1 documentation

Skip to main content
`Ctrl`+`K`

Note

Go to the end to download the full example code.

# Plotting fermi3d isoslider

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

Plotting fermi3d isoslider example.

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

Downloading example

     data_dir = pyprocar.download_example(save_dir='',
                                 material='Fe',
                                 code='qe',
                                 spin_calc_type='non-spin-polarized',
                                 calc_type='fermi')

    # sphinx_gallery_thumbnail_number = 1

    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

importing pyprocar and specifying local data_dir

    import os

    import pyprocar

    data_dir = os.path.join(
        pyprocar.utils.DATA_DIR, "examples", "Fe", "qe", "non-spin-polarized", "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="qe", dirname=data_dir, apply_symmetry=True)

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

    C:\Users\lllang\Desktop\Current_Projects\pyprocar\pyprocar\core\ebs.py:1076: ComplexWarning: Casting complex values to real discards the imaginary part
      new_properties[prop][start_idx:end_idx] = original_value

## Plain mode

    # iso_range will be the energy range around the fermi level. 2 would search 1 ev above and below.
    iso_range = 2

    # iso_surface will generate 5 surfaces equally space throughout the range.
    iso_surfaces = 5

    fermiHandler.plot_fermi_isoslider(
        iso_range=iso_range,
        iso_surfaces=iso_surfaces,
        mode="plain",
        show=True,
    )

                    --------------------------------------------------------
                    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

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

Gallery generated by Sphinx-Gallery