pengwann.descriptors.DescriptorCalculator.from_eigenvalues#

classmethod descriptors.DescriptorCalculator.from_eigenvalues(eigenvalues, num_wann, nspin, energy_range, resolution, sigma, kpoints, u, h=None, occupation_matrix=None)#

Initialise a DescriptorCalculator object from a set of Kohn-Sham eigenvalues.

The input eigenvalues are used to calculate the DOS array: the density of states at each k-point and band across a range of discretised energies as specified by energy_range and resolution. This is required to compute descriptors such as the WOHP in a vectorised manner.

Parameters:
eigenvaluesndarray of float

The Kohn-Sham eigenvalues.

num_wannint

The total number of Wannier functions.

nspinint

The number of electrons per fully-occupied band. This should be set to 2 for non-spin-polarised calculations and set to 1 for spin-polarised calculations.

energy_range2-length tuple of float

The energy range over which the density of states is to be evaluated.

resolutionfloat

The desired energy resolution of the density of states.

sigmafloat

The width of the Gaussian kernel used to smear the density of states.

kpointsndarray of float

The full k-point mesh used in the prior Wannier90 calculation.

undarray of complex

The U matrices that define the Wannier functions in terms of the canonical Bloch states.

hdict of {3-length tuple of intndarray of complex} pairs or None, optional

The Hamiltonian in the Wannier basis. Required for the computation of WOHPs. Defaults to None.

occupation_matrixndarray of float or None, optional

The Kohn-Sham occupation matrix. Required for the computation of WOBIs. Defaults to None.

Returns:
descriptor_calculatorDescriptorCalculator

The initialised DescriptorCalculator object.

See also

pengwann.io.read

Parse Wannier90 output files.

pengwann.utils.get_occupation_matrix