pymatgen.phonon.dos module

This module defines classes to represent the phonon density of states, etc.

class CompletePhononDos(structure: Structure, total_dos, pdoss)[source]

Bases: PhononDos

This wrapper class defines a total dos, and also provides a list of PDos.

pdos[source]

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

Parameters:
  • structure – Structure associated with this particular DOS.

  • total_dos – total Dos for structure

  • pdoss – The pdoss are supplied as an {Site: Densities}

as_dict()[source]

JSON-serializable dict representation of CompletePhononDos.

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_site_dos(site)[source]

Get the Dos for a site.

Parameters:

site – Site in Structure associated with CompletePhononDos.

Returns:

PhononDos containing summed orbital densities for site.

class PhononDos(frequencies, densities)[source]

Bases: MSONable

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

Parameters:
  • frequencies – A sequences of frequencies in THz

  • densities – A list representing the density of states.

as_dict()[source]

JSON-serializable dict representation of PhononDos.

cv(t, structure=None)[source]

Constant volume specific heat C_v at temperature T obtained from the integration of the DOS. Only positive frequencies will be used. Result in J/(K*mol-c). A mol-c is the abbreviation of a mole-cell, that is, the number of Avogadro times the atoms in a unit cell. To compare with experimental data the result should be divided by the number of unit formulas in the cell. If the structure is provided the division is performed internally and the result is in J/(K*mol)

Parameters:
  • t – a temperature in K

  • structure – the structure of the system. If not None it will be used to determine the number of formula units

Returns:

Constant volume specific heat C_v

entropy(t, structure=None)[source]

Vibrational entropy at temperature T obtained from the integration of the DOS. Only positive frequencies will be used. Result in J/(K*mol-c). A mol-c is the abbreviation of a mole-cell, that is, the number of Avogadro times the atoms in a unit cell. To compare with experimental data the result should be divided by the number of unit formulas in the cell. If the structure is provided the division is performed internally and the result is in J/(K*mol)

Parameters:
  • t – a temperature in K

  • structure – the structure of the system. If not None it will be used to determine the number of formula units

Returns:

Vibrational entropy

classmethod from_dict(d)[source]

Returns PhononDos object from dict representation of PhononDos.

get_interpolated_value(frequency)[source]

Returns interpolated density for a particular frequency.

Parameters:

frequency – frequency to return the density for.

get_smeared_densities(sigma)[source]

Returns the densities, but with a Gaussian smearing of std dev sigma applied.

Parameters:

sigma – Std dev of Gaussian smearing function.

Returns:

Gaussian-smeared densities.

helmholtz_free_energy(t, structure=None)[source]

Phonon contribution to the Helmholtz free energy at temperature T obtained from the integration of the DOS. Only positive frequencies will be used. Result in J/mol-c. A mol-c is the abbreviation of a mole-cell, that is, the number of Avogadro times the atoms in a unit cell. To compare with experimental data the result should be divided by the number of unit formulas in the cell. If the structure is provided the division is performed internally and the result is in J/mol

Parameters:
  • t – a temperature in K

  • structure – the structure of the system. If not None it will be used to determine the number of formula units

Returns:

Phonon contribution to the Helmholtz free energy

ind_zero_freq()[source]

Index of the first point for which the frequencies are equal or greater than zero.

internal_energy(t, structure=None)[source]

Phonon contribution to the internal energy at temperature T obtained from the integration of the DOS. Only positive frequencies will be used. Result in J/mol-c. A mol-c is the abbreviation of a mole-cell, that is, the number of Avogadro times the atoms in a unit cell. To compare with experimental data the result should be divided by the number of unit formulas in the cell. If the structure is provided the division is performed internally and the result is in J/mol

Parameters:
  • t – a temperature in K

  • structure – the structure of the system. If not None it will be used to determine the number of formula units

Returns:

Phonon contribution to the internal energy

zero_point_energy(structure=None)[source]

Zero point energy of the system. Only positive frequencies will be used. Result in J/mol-c. A mol-c is the abbreviation of a mole-cell, that is, the number of Avogadro times the atoms in a unit cell. To compare with experimental data the result should be divided by the number of unit formulas in the cell. If the structure is provided the division is performed internally and the result is in J/mol

Parameters:

structure – the structure of the system. If not None it will be used to determine the number of formula units

Returns:

Phonon contribution to the internal energy

coth(x)[source]

Coth function.

Parameters:

() (x) – value

Returns:

coth(x)