pyprocar.core.DensityOfStates#
- class pyprocar.core.DensityOfStates(energies: ndarray[Any, dtype[float64]], total: ndarray[Any, dtype[float64]], efermi: float, projected: ndarray[Any, dtype[float64]] | None = None, interpolation_factor: int = 1)[source]#
A class that contains density of states calculated by the a density functional theory calculation.
- Parameters:
energies (np.ndarray,) – Points on energy spectrum. shape = (n_dos, )
total (np.ndarray) – Densities at each point. shape = (n_dos, )
efermi (float) – Fermi energy of the system.
projected (np.ndarray, optional) – Projection of elements, orbitals, spin, etc. shape = (n_atoms, n_principals, n_orbitals, n_spins, n_dos)
i_principal
works like the principal quantum number n. The last index should be the total. (i_principal = -1) n = i_principal => 0, 1, 2, 3, -1 => s, p, d, totali_orbital
works similar to angular quantum number l, but not the same. i_orbital follows this order (0, 1, 2, 3, 4, 5, 6, 7, 8) => s, py, pz, px, dxy, dyz, dz2, dxz, dx2-y2.i_spin
works as magnetic quantum number. m = 0, 1, for spin up and down, by default None.interpolation_factor (int, optional) – The number of density of states points will increase by this factor in the interpolation, by default 1.
Methods
DensityOfStates.__init__
(energies, total, efermi)Converts coupled projections to uncoupled projections.
DensityOfStates.dos_sum
([atoms, ...])Returns a string of current orbital basis
Attributes
Boolean for if this is non-colinear calc
The number of dos values
The number of energy values
The number of spin channels