Note
Go to the end to download the full example code.
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.
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
# 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",
)
--------------------------------------------------------
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 30.366 seconds)