pymatgen.electronic_structure.dos module¶
-
class
CompleteDos(structure, total_dos, pdoss)[source]¶ Bases:
pymatgen.electronic_structure.dos.DosThis 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}}}
-
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
-
class
DOS(energies, densities, efermi)[source]¶ Bases:
pymatgen.core.spectrum.SpectrumReplacement basic DOS object. All other DOS objects are extended versions of this object. Work in progress.
Parameters: - energies – A sequence of energies
- densities (ndarray) – Either a Nx1 or a Nx2 array. If former, it is interpreted as a Spin.up only density. Otherwise, the first column is interpreted as Spin.up and the other is Spin.down.
- efermi – Fermi level energy.
-
XLABEL= 'Energy'¶
-
YLABEL= 'Density'¶
-
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_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)
-
class
Dos(efermi, energies, densities)[source]¶ Bases:
monty.json.MSONableBasic 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.
-
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)