PDOS
- sisl.physics.phonon.PDOS(E, mode, hw, distribution='gaussian')[source]
Calculate the projected density of modes (PDOS) onto each each atom and direction for a set of energies, E, with a distribution function
The \(\mathrm{PDOS}(E)\) is calculated as:
\[\mathrm{PDOS}_\alpha(E) = \sum_i \epsilon^*_{i,\alpha} \epsilon_{i,\alpha} D(E-\hbar\omega_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 aquired from
distribution.\[\mathrm{DOS}(E) = \sum_\alpha\mathrm{PDOS}_\alpha(E)\]- Parameters:
E (
ndarray) – energies to calculate the projected-DOS frommode (
ndarray) – eigenvectorshw (
ndarray) – eigenvaluesdistribution (Literal['gaussian', 'lorentzian', 'fermi', 'bose-einstein', 'cold', 'step-function', 'heaviside'] | ~typing.Callable[[ArrayLike], ~numpy.ndarray]) – a function that accepts \(E-\epsilon\) as argument and calculates the distribution function.
See also
- Distribution functions
a selected set of implemented distribution functions
DOStotal DOS (same as summing over atoms and directions)
- Returns:
projected DOS calculated at energies, has dimension
(mode.shape[1], len(E)).- Return type:
- Parameters:
distribution (Literal['gaussian', 'lorentzian', 'fermi', 'bose-einstein', 'cold', 'step-function', 'heaviside'] | ~typing.Callable[[ArrayLike], ~numpy.ndarray])