Skip to content

Thermodynamics

Available since Sierra v1.5.0.

The ThermodynamicsInput can be used to straightforwardly calculate gas-phase thermodynamic quantities.

The results of a ThermodynamicsInput calculation are stored in the ThermodynamicsResult object.

Example

The following examples demonstrate how to perform a thermodynamics calculation:

import sierra
from sierra.inputs import *

water = Molecule(pubchem="water")

# Calculate thermodynamic properties for water at GFN1-xTB level of theory
thermo_inp = ThermodynamicsInput(molecule=water, method=XTBMethod(model="GFN1"))
thermo_result = sierra.run(thermo_inp)
print("Thermodynamic properties for water:")
#> Thermodynamic properties for water:
print(thermo_result.gibbs_free_energy_total)
#> -5.767088376824507
print(thermo_result.heat_capacity)
#> 9.620470386724576e-06

ThermodynamicsInput

Fields

method

The computational method for this call

molecule

The molecule the result is computed with

pressure

The pressure for which thermodynamic quantities are calculated.

temperature

The temperature for which thermodynamic quantities are calculated.

details

Additional detail parameters to supply to the computation

Detail Fields

energy_threshold

threshold for energy convergence

  • Type: Optional[float]
result_contract
store_extras

This field determines the amount of output that is kept in the 'extras' field in addition to the requirements of the contract. 'True' will lead to storing all available information and 'False' will lead to storing no information beyond the requirements of the contract. Alternatively, a list of field names can be provided that shall be stored.

  • Type: One of: [bool, List[str]]
  • Default: False

ThermodynamicsResult

Note that for each field labeled *_correction, there is a corresponding field *_total. E.g: internal_energy_correction and internal_energy_total. In each case, the *_total value is the sum of the correction and the reference_energy.

Fields

All the fields in ThermodynamicsInput and the following:

enthalpy_correction

The enthalpy (H) of the system, relative to the 'reference_energy'.

entropy

The total entropy (S) of the system.

extras

Additional key/value pairs generated during the computation.

  • Type: Mapping[str, Any]
  • Default: {}
gibbs_free_energy_correction

The Gibbs free energy, G = H - TS, relative to the 'reference_energy'.

heat_capacity

The heat capacity at constant pressure.

internal_energy_correction

The internal energy (U) of the system, relative to the 'reference_energy'.

reference_energy

The energy on top of which thermodynamic contributions of the energy are added. Usually, this is the electronic energy.

zero_point_energy_correction

The zero-point vibrational energy of the system, i.e. the energy due to molecular motion at zero Kelvin, relative to the 'reference_energy'.

internal_energy_total

The total internal energy of the system, U = reference_energy + internal_energy_correction.

  • Type: EnergyQuantity
enthalpy_total

The total enthalpy (H) of the system, H = reference_energy + enthalpy_correction.

  • Type: EnergyQuantity
gibbs_free_energy_total

The total Gibbs free energy, G = reference_energy + gibbs_free_energy_correction.

  • Type: EnergyQuantity
zero_point_energy_total

For consistency, this value is defined as ZPE = reference_energy + zero_point_energy_correction.

  • Type: EnergyQuantity