Density of states — ASE documentation

### Navigation

- index
- modules |
- Documentation for modules in ASE »
- Density Functional Theory »

# Density of states

Example:

    calc = ...
    dos = DOS(calc, width=0.2)
    d = dos.get_dos()
    e = dos.get_energies()

You can plot the result like this:

    import pylab as plt
    plt.plot(e, d)
    plt.xlabel('energy [eV]')
    plt.ylabel('DOS')
    plt.show()

Calculations involving moments of a DOS distribution may be facilitated by the use of `get_distribution_moment()` method, as in the following example:

    from ase.dft import get_distribution_moment
    volume = get_distribution_moment(e,d)
    center, width = get_distribution_moment(e,d,(1,2))

## More details

class `ase.dft.dos.` `DOS`(calc, width=0.1, window=None, npts=201)

  Electronic Density Of States object.

  calc: calculator object
    Any ASE compliant calculator object.
  width: float
    Width of guassian smearing.
  window: tuple of two float
    Use `window=(emin, emax)`. If not specified, a window big enough to hold all the eigenvalues will be used.
  npts: int
    Number of points.
  `get_dos`(spin=None)

    Get array of DOS values.

    The spin argument can be 0 or 1 (spin up or down) - if not specified, the total DOS is returned.

  `get_energies`()

    Return the array of energies used to sample the DOS. The energies are reported relative to the Fermi level.

`ase.dft.` `get_distribution_moment`(x, y, order=0)

  Return the moment of nth order of distribution.

  1st and 2nd order moments of a band correspond to the band’s center and width respectively.

  For integration, the trapezoid rule is used.

### Navigation

- index
- modules |
- Documentation for modules in ASE »
- Density Functional Theory »