pyprocar.core.DensityOfStates — PyProcar 6.2.1 documentation

Skip to main content
`Ctrl`+`K`

# 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)

  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, total `i_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) |
  `DensityOfStates.coupled_to_uncoupled_basis`() | Converts coupled projections to uncoupled projections.
  `DensityOfStates.dos_sum`([atoms, ...]) |
  `DensityOfStates.get_current_basis`() | Returns a string of current orbital basis
  `DensityOfStates.normalize_dos`([mode]) | Normalizes the density of states.

  Attributes

  `DensityOfStates.is_non_collinear` | Boolean for if this is non-colinear calc
  `DensityOfStates.n_dos` | The number of dos values
  `DensityOfStates.n_energies` | The number of energy values
  `DensityOfStates.n_spins` | The number of spin channels