pyprocar.core.FermiSurface

class pyprocar.core.FermiSurface(*args, **kwargs)[source]

A class to generate and manipulate Fermi surfaces from electronic band structure data. Extends PyVista’s PolyData class for rich 3D visualization capabilities.

Parameters:
  • ebs (ElectronicBandStructure) – The electronic band structure object containing band data

  • fermi (float, optional) – The Fermi energy level, by default 0.0

  • fermi_shift (float, optional) – Energy shift to apply to the Fermi level, by default 0.0

  • interpolation_factor (int, optional) – Factor to increase k-point density, by default 1

  • projection_accuracy (str, optional) – Accuracy for projections (‘high’ or ‘normal’), by default ‘normal’

  • max_distance (float, optional) – Maximum distance for point projections, by default 0.2

Methods

FermiSurface.__init__(ebs[, fermi, ...])

Initialize the polydata.

FermiSurface.compute_atomic_projection([...])

FermiSurface.compute_avg_inv_effective_mass([...])

FermiSurface.compute_ebs_ipr([label, ...])

FermiSurface.compute_ebs_ipr_atom([label, ...])

FermiSurface.compute_fermi_speed([label, ...])

FermiSurface.compute_fermi_velocity([label, ...])

FermiSurface.compute_gradient(name[, ...])

FermiSurface.compute_projected_sum_spin_texture([...])

FermiSurface.compute_property(name[, ...])

FermiSurface.compute_spin_texture([atoms, ...])

FermiSurface.extend_surface(zone_directions)

Method to extend the surface in the direction of a reciprocal lattice vecctor

FermiSurface.format_property_data(property_value)

FermiSurface.from_code(code, dirpath[, ...])

FermiSurface.get_brillouin_zone(supercell)

Returns the BrillouinZone of the material

FermiSurface.get_property(name[, ...])

FermiSurface.project_property(name, ...[, ...])

FermiSurface.update_point_data(name[, ...])

Attributes