Plotting fermi3d isovalue_gif#

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

Plotting fermi3d isovalue_gif 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 = f"{pyprocar.utils.ROOT}{os.sep}data{os.sep}examples{os.sep}Fe{os.sep}qe{os.sep}non-spin-polarized{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="qe",
                                    dirname=data_dir,
                                    apply_symmetry=True)
                WARNING : Fermi Energy not set! Set `fermi={value}`. By default, using fermi energy found in given directory.
                ---------------------------------------------------------------------------------------------------------------

z:\research projects\pyprocar\pyprocar\core\ebs.py:1067: 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

# Instead of iso_range and iso_surfaces, you can specify exact energy values to generate isosurfaces
iso_values = [-1,-0.5,0.25,1,5]

fermiHandler.create_isovalue_gif(

                                 iso_range=iso_range,
                                 iso_surfaces=iso_surfaces,
                                 save_gif='isovalue_gif.gif',
                                 mode="plain")
plot fermi3d isovalue gif
                --------------------------------------------------------
                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 32.865 seconds)

Gallery generated by Sphinx-Gallery