atomate.tools package

Submodules

atomate.tools.analysis module

class atomate.tools.analysis.QuasiharmonicDebyeApprox(energies, volumes, structure, t_min=300.0, t_step=100, t_max=300.0, eos=u'vinet', pressure=0.0, poisson=0.25, use_mie_gruneisen=False)

Bases: object

Implements the quasiharmonic Debye approximation as described in papers: http://doi.org/10.1016/j.comphy.2003.12.001 (2004) and http://doi.org/10.1103/PhysRevB.90.174107 (2014)

Args:

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”

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 slater-gamma formulation.
__init__(energies, volumes, structure, t_min=300.0, t_step=100, t_max=300.0, eos=u'vinet', pressure=0.0, poisson=0.25, use_mie_gruneisen=False)
static debye_integral(y)

Debye integral. Eq(5) in doi.org/10.1016/j.comphy.2003.12.001

Args:
y (float): debye temperature/T, upper limit
Returns:
float: unitless
debye_temperature(volume)

Calculates the debye temperature. Eq(6) in doi.org/10.1016/j.comphy.2003.12.001. Thanks to Joey.

Args:
volume (float): in Ang^3
Returns:
float: debye temperature in K
get_summary_dict()

Returns a dict with a summary of the computed properties.

gruneisen_parameter(temperature, volume)
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 doi.org/10.1016/j.comphy.2003.12.001 Eq(7) in MA Blanc0 ef al.lJoumal 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)
Args:
temperature (float): temperature in K volume (float): in Ang^3
Returns:
float: unitless
optimize_gibbs_free_energy()

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.

optimizer(temperature)

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.
Args:
temperature (float): temperature in K
Returns:
float, float: G_opt(V_opt, T, P) in eV and V_opt in Ang^3.
thermal_conductivity(temperature, volume)

Eq(17) in 10.1103/PhysRevB.90.174107

Args:
temperature (float): temperature in K volume (float): in Ang^3
Returns:
float: thermal conductivity in W/K/m
vibrational_free_energy(temperature, volume)

Vibrational Helmholtz free energy, A_vib(V, T). Eq(4) in doi.org/10.1016/j.comphy.2003.12.001

Args:
temperature (float): temperature in K volume (float)
Returns:
float: vibrational free energy in eV
vibrational_internal_energy(temperature, volume)

Vibrational internal energy, U_vib(V, T). Eq(4) in doi.org/10.1016/j.comphy.2003.12.001

Args:
temperature (float): temperature in K volume (float): in Ang^3
Returns:
float: vibrational internal energy in eV
atomate.tools.analysis.get_phonopy_gibbs(energies, volumes, force_constants, structure, t_min, t_step, t_max, mesh, eos, pressure=0)

Compute QHA gibbs free energy using the phonopy interface.

Args:

energies (list): volumes (list): force_constants (list): structure (Structure): t_min (float): min temperature t_step (float): temperature step t_max (float): max temperature mesh (list/tuple): reciprocal space density eos (str): equation of state used for fitting the energies and the volumes.

options supported by phonopy: vinet, murnaghan, birch_murnaghan

pressure (float): in GPa, optional.

Returns:
(numpy.ndarray, numpy.ndarray): Gibbs free energy, Temperature
atomate.tools.analysis.get_phonopy_qha(energies, volumes, force_constants, structure, t_min, t_step, t_max, mesh, eos, pressure=0)

Return phonopy QHA interface.

Args:

energies (list): volumes (list): force_constants (list): structure (Structure): t_min (float): min temperature t_step (float): temperature step t_max (float): max temperature mesh (list/tuple): reciprocal space density eos (str): equation of state used for fitting the energies and the volumes.

options supported by phonopy: vinet, murnaghan, birch_murnaghan

pressure (float): in GPa, optional.

Returns:
PhonopyQHA
atomate.tools.analysis.get_phonopy_thermal_expansion(energies, volumes, force_constants, structure, t_min, t_step, t_max, mesh, eos, pressure=0)

Compute QHA thermal expansion coefficient using the phonopy interface.

Args:

energies (list): volumes (list): force_constants (list): structure (Structure): t_min (float): min temperature t_step (float): temperature step t_max (float): max temperature mesh (list/tuple): reciprocal space density eos (str): equation of state used for fitting the energies and the volumes.

options supported by phonopy: vinet, murnaghan, birch_murnaghan

pressure (float): in GPa, optional.

Returns:
(numpy.ndarray, numpy.ndarray): thermal expansion coefficient, Temperature

Module contents