DOS

sisl.physics.electron.DOS(E, eig, distribution='gaussian')[source]

Calculate the density of states (DOS) for a set of energies, E, with a distribution function

The \(\mathrm{DOS}(E)\) is calculated as:

\[\mathrm{DOS}(E) = \sum_i D(E-\epsilon_i) \approx\delta(E-\epsilon_i)\]

where \(D(\Delta E)\) is the distribution function used. Note that the distribution function used may be a user-defined function. Alternatively a distribution function may be retrieved from Distribution functions.

Parameters:
  • E (ndarray) – energies to calculate the DOS at

  • eig (ndarray) – electronic eigenvalues

  • distribution (Literal['gaussian', 'lorentzian', 'fermi', 'bose-einstein', 'cold', 'step-function', 'heaviside'] | ~typing.Callable[[ArrayLike], ~numpy.ndarray]) – a function that accepts \(\Delta E\) as argument and calculates the distribution function.

See also

Distribution functions

a selected set of implemented distribution functions

COP

calculate COOP or COHP curves

PDOS

projected DOS (same as this, but projected onto each orbital)

spin_moment

spin moment

Returns:

DOS calculated at energies, has same length as E

Return type:

numpy.ndarray

Parameters:

distribution (Literal['gaussian', 'lorentzian', 'fermi', 'bose-einstein', 'cold', 'step-function', 'heaviside'] | ~typing.Callable[[ArrayLike], ~numpy.ndarray])