pymatgen.analysis.quasiharmonic module

class QuasiharmonicDebyeApprox(energies, volumes, structure, t_min=300.0, t_step=100, t_max=300.0, eos='vinet', pressure=0.0, poisson=0.25, use_mie_gruneisen=False)[source]

Bases: object

  • energies (list) – list of DFT energies in eV
  • volumes (list) – list of volumes in Ang^3
  • structure (Structure) –
  • t_min (float) – min temperature
  • t_step (float) – temperature step
  • t_max (float) – max temperature
  • eos (str) –

    equation of state used for fitting the energies and the volumes. options supported by pymatgen: “quadratic”, “murnaghan”, “birch”,

    “birch_murnaghan”, “pourier_tarantola”, “vinet”, “deltafactor”, “numerical_eos”
  • pressure (float) – in GPa, optional.
  • poisson (float) – poisson ratio.
  • use_mie_gruneisen (bool) – whether or not to use the mie-gruneisen formulation to compute the gruneisen parameter. The default is the slater-gamma formulation.
static debye_integral(y)[source]

Debye integral. Eq(5) in

Parameters:y (float) – debye temperature/T, upper limit
Return type:float

Calculates the debye temperature. Eq(6) in Thanks to Joey.

Parameters:volume (float) – in Ang^3
Returns:debye temperature in K
Return type:float

Returns a dict with a summary of the computed properties.

gruneisen_parameter(temperature, volume)[source]
Slater-gamma formulation(the default):
gruneisen paramter = - d log(theta)/ d log(V)

= - ( 1/6 + 0.5 d log(B)/ d log(V) ) = - (1/6 + 0.5 V/B dB/dV),

where dB/dV = d^2E/dV^2 + V * d^3E/dV^3
Mie-gruneisen formulation:

Eq(31) in Eq(7) in Blanco et. al. Joumal of Molecular Structure (Theochem)

368 (1996) 245-255
Also se J.P. Poirier, Introduction to the Physics of the Earth’s
Interior, 2nd ed. (Cambridge University Press, Cambridge, 2000) Eq(3.53)
  • temperature (float) – temperature in K
  • volume (float) – in Ang^3


Return type:



Evaluate the gibbs free energy as a function of V, T and P i.e G(V, T, P), minimize G(V, T, P) wrt V for each T and store the optimum values.

Note: The data points for which the equation of state fitting fails
are skipped.

Evaluate G(V, T, P) at the given temperature(and pressure) and minimize it wrt V.

  1. Compute the vibrational helmholtz free energy, A_vib.
  2. Compute the gibbs free energy as a function of volume, temperature
    and pressure, G(V,T,P).
  3. Preform an equation of state fit to get the functional form of
    gibbs free energy:G(V, T, P).
  4. Finally G(V, P, T) is minimized with respect to V.
Parameters:temperature (float) – temperature in K
Returns:G_opt(V_opt, T, P) in eV and V_opt in Ang^3.
Return type:float, float
thermal_conductivity(temperature, volume)[source]

Eq(17) in 10.1103/PhysRevB.90.174107

  • temperature (float) – temperature in K
  • volume (float) – in Ang^3

thermal conductivity in W/K/m

Return type:


vibrational_free_energy(temperature, volume)[source]

Vibrational Helmholtz free energy, A_vib(V, T). Eq(4) in

  • temperature (float) – temperature in K
  • volume (float) –

vibrational free energy in eV

Return type:


vibrational_internal_energy(temperature, volume)[source]

Vibrational internal energy, U_vib(V, T). Eq(4) in

  • temperature (float) – temperature in K
  • volume (float) – in Ang^3

vibrational internal energy in eV

Return type: