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 ateig (
ndarray) – electronic eigenvaluesdistribution (Literal['gaussian', 'lorentzian', 'fermi', 'bose-einstein', 'cold', 'step-function', 'heaviside'] | ~typing.Callable[[~collections.abc.Buffer | ~numpy._typing._array_like._SupportsArray[~numpy.dtype[~typing.Any]] | ~numpy._typing._nested_sequence._NestedSequence[~numpy._typing._array_like._SupportsArray[~numpy.dtype[~typing.Any]]] | complex | bytes | str | ~numpy._typing._nested_sequence._NestedSequence[complex | bytes | str]], ~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
COPcalculate COOP or COHP curves
PDOSprojected DOS (same as this, but projected onto each orbital)
spin_momentspin moment
- Returns:
DOS calculated at energies, has same length as E
- Return type:
- Parameters:
distribution (Literal['gaussian', 'lorentzian', 'fermi', 'bose-einstein', 'cold', 'step-function', 'heaviside'] | ~typing.Callable[[~collections.abc.Buffer | ~numpy._typing._array_like._SupportsArray[~numpy.dtype[~typing.Any]] | ~numpy._typing._nested_sequence._NestedSequence[~numpy._typing._array_like._SupportsArray[~numpy.dtype[~typing.Any]]] | complex | bytes | str | ~numpy._typing._nested_sequence._NestedSequence[complex | bytes | str]], ~numpy.ndarray])