pyprocar.core.FermiSurface#

class pyprocar.core.FermiSurface(kpoints, bands, spd, band_indices: List[List] | None = None, band_colors: List[List] | None = None, loglevel=30, **kwargs)[source]#

This object is used to help plot the 2d fermi surface

Parameters:
  • kpoints (np.ndarray) – Numpy array with kpoints Nx3.

  • bands (np.ndarray) – Numpy array with the bands. The Fermi energy is already substracted. (n_kpoints, n_bands)

  • spd (np.ndarray) – Numpy array with the projections. Expected size (n_kppints,n_bands,n_spins,n_orbitals,n_atoms)

  • cmap (str) – The cmap to use. default = ‘jet

  • band_indices (List[List]) – A list of list that contains band indices for a given spin

  • band_colors (List[List]) – A list of list that contains colors for the band index corresponding the band_indices for a given spin

  • loglevel (_type_, optional) – The verbosity level., by default logging.WARNING

Methods

FermiSurface.__init__(kpoints, bands, spd[, ...])

FermiSurface.add_axes_labels()

Method to add labels to matplotlib plot

FermiSurface.add_legend()

Method to add labels to matplotlib plot

FermiSurface.find_energy(energy)

A method to find bands which are near a given energy

FermiSurface.plot(mode[, interpolation])

This method plots the 2d fermi surface along the z axis

FermiSurface.savefig(savefig)

Method to save plot

FermiSurface.show()

Method show th plot

FermiSurface.spin_texture(sx, sy, sz[, ...])

This method plots spin texture of the 2d fermi surface