pymatgen.electronic_structure.dos module

class CompleteDos(structure, total_dos, pdoss)[source]

Bases: pymatgen.electronic_structure.dos.Dos

This wrapper class defines a total dos, and also provides a list of PDos. Mainly used by pymatgen.io.vasp.Vasprun to create a complete Dos from a vasprun.xml file. You are unlikely to try to generate this object manually.

Parameters:
  • structure – Structure associated with this particular DOS.
  • total_dos – total Dos for structure
  • pdoss – The pdoss are supplied as an {Site:{Orbital:{ Spin:Densities}}}
structure

Structure associated with the CompleteDos.

pdos

Dict of partial densities of the form {Site:{Orbital:{Spin:Densities}}}

as_dict()[source]

Json-serializable dict representation of CompleteDos.

classmethod from_dict(d)[source]

Returns CompleteDos object from dict representation.

get_element_dos()[source]

Get element projected Dos.

Returns:Dos}
Return type:dict of {Element
get_element_spd_dos(el)[source]

Get element and spd projected Dos

Parameters:el – Element in Structure.composition associated with CompleteDos
Returns:{“S”: densities, “P”: densities, “D”: densities}}
Return type:dict of {Element
get_site_dos(site)[source]

Get the total Dos for a site (all orbitals).

Parameters:site – Site in Structure associated with CompleteDos.
Returns:Dos containing summed orbital densities for site.
get_site_orbital_dos(site, orbital)[source]

Get the Dos for a particular orbital of a particular site.

Parameters:
  • site – Site in Structure associated with CompleteDos.
  • orbital – Orbital in the site.
Returns:

Dos containing densities for orbital of site.

get_site_spd_dos(site)[source]

Get orbital projected Dos of a particular site

Parameters:site – Site in Structure associated with CompleteDos.
Returns:Dos}, e.g. {“s”: Dos object, ...}
Return type:dict of {orbital
get_site_t2g_eg_resolved_dos(site)[source]

Get the t2g, eg projected DOS for a particular site.

Parameters:site – Site in Structure associated with CompleteDos.
Returns:Dos, “t2g”: Dos} containing summed e_g and t2g DOS for the site.
Return type:A dict {“e_g”
get_spd_dos()[source]

Get orbital projected Dos.

Returns:Dos}, e.g. {“s”: Dos object, ...}
Return type:dict of {orbital
class Dos(efermi, energies, densities)[source]

Bases: monty.json.MSONable

Basic DOS object. All other DOS objects are extended versions of this object.

Parameters:
  • efermi – Fermi level energy
  • energies – A sequences of energies
  • ({Spin (densities) – np.array}): representing the density of states for each Spin.
as_dict()[source]

Json-serializable dict representation of Dos.

classmethod from_dict(d)[source]

Returns Dos object from dict representation of Dos.

get_cbm_vbm(tol=0.001, abs_tol=False, spin=None)[source]

Expects a DOS object and finds the cbm and vbm.

Parameters:
  • tol – tolerance in occupations for determining the gap
  • abs_tol – An absolute tolerance (True) and a relative one (False)
  • spin – Possible values are None - finds the gap in the summed densities, Up - finds the gap in the up spin channel, Down - finds the gap in the down spin channel.
Returns:

float in eV corresponding to the gap

Return type:

(cbm, vbm)

get_densities(spin=None)[source]

Returns the density of states for a particular spin.

Parameters:spin – Spin
Returns:Returns the density of states for a particular spin. If Spin is None, the sum of all spins is returned.
get_gap(tol=0.001, abs_tol=False, spin=None)[source]

Expects a DOS object and finds the gap.

Parameters:
  • tol – tolerance in occupations for determining the gap
  • abs_tol – An absolute tolerance (True) and a relative one (False)
  • spin – Possible values are None - finds the gap in the summed densities, Up - finds the gap in the up spin channel, Down - finds the gap in the down spin channel.
Returns:

gap in eV

get_interpolated_gap(tol=0.001, abs_tol=False, spin=None)[source]

Expects a DOS object and finds the gap

Parameters:
  • tol – tolerance in occupations for determining the gap
  • abs_tol – Set to True for an absolute tolerance and False for a relative one.
  • spin – Possible values are None - finds the gap in the summed densities, Up - finds the gap in the up spin channel, Down - finds the gap in the down spin channel.
Returns:

Tuple of floats in eV corresponding to the gap, cbm and vbm.

Return type:

(gap, cbm, vbm)

get_interpolated_value(energy)[source]

Returns interpolated density for a particular energy.

Parameters:energy – Energy to return the density for.
get_smeared_densities(sigma)[source]

Returns the Dict representation of the densities, {Spin: densities}, but with a Gaussian smearing of std dev sigma applied about the fermi level.

Parameters:sigma – Std dev of Gaussian smearing function.
Returns:Dict of Gaussian-smeared densities.
add_densities(density1, density2)[source]

Method to sum two densities.

Parameters:
  • density1 – First density.
  • density2 – Second density.
Returns:

density}.

Return type:

Dict of {spin