vibeqc.BandStructure

class vibeqc.BandStructure(kpath, energies, e_fermi=None, n_electrons_per_cell=None, projections=None, channels=None, metadata=<factory>)[source]

Bases: object

Eigenvalues at every k along a path.

energies shape is (n_points, n_bands) with bands sorted in ascending energy at each k. Reference energy e_fermi is the HOMO eigenvalue (over all sampled k-points) when n_electrons is set, else None.

Optional projections carries Mulliken-projected band-character weights of shape (n_kpoints, n_bands, n_channels), and channels names each channel (e.g. "Si-3s", "O-2p"). Both are set by band_structure_projected(); absent for a plain band structure.

Parameters:
__init__(kpath, energies, e_fermi=None, n_electrons_per_cell=None, projections=None, channels=None, metadata=<factory>)
Parameters:
Return type:

None

Methods

__init__(kpath, energies[, e_fermi, ...])

Attributes

channels

e_fermi

n_bands

n_electrons_per_cell

projections

shifted_energies

Energies relative to e_fermi (or zero if not set).

kpath

energies

metadata

kpath: KPath
energies: ndarray
e_fermi: float | None = None
n_electrons_per_cell: int | None = None
projections: ndarray | None = None
channels: List[str] | None = None
metadata: Dict[str, object]
property n_bands: int
property shifted_energies: ndarray

Energies relative to e_fermi (or zero if not set). Property (no parens) – was a method until v0.4 polish.