Skip to main content

Reaction Energy Profile

Compute the reaction Gibbs free energy ΔG(T) = G_products − G_reactants along a user-supplied temperature grid. The workflow runs single-point energies, harmonic vibrational analyses, and MSRRHO thermochemistry corrections for both the reactant and product molecules, then returns the temperature-dependent reaction energy profile.

from atomiverse import Atoms, ReactionEnergyProfile
from atomiverse.levels import GFN2_XTB

reactant = Atoms.from_smiles("O")
product = Atoms.from_smiles("O")

job = ReactionEnergyProfile(
reactant_atoms=reactant,
product_atoms=product,
charge=0,
multiplicity=1,
level_of_theory=GFN2_XTB,
temperature_start=200.0,
temperature_end=800.0,
temperature_step=50.0,
)
job.submit()

result = job.require_result()
for t, dg in zip(result.temperatures, result.reaction_energies_kcal_per_mol):
print(f"{t:.0f} K ΔG = {dg:.2f} kcal/mol")

Inputs

reactant_atoms is the geometry of the reactant molecule. It should be at a minimum on the potential energy surface.

product_atoms is the geometry of the product molecule. It should be at a minimum on the potential energy surface.

charge and multiplicity describe the total charge and spin multiplicity of the system (same for both reactant and product).

level_of_theory selects the computational method used for single-point energy evaluations and vibrational frequency calculations.

temperature_start, temperature_end, and temperature_step define the temperature grid in Kelvin. Defaults are 200 K, 800 K, and 50 K respectively.

Results

result.temperatures is the list of temperature grid points in Kelvin.

result.reaction_energies_kcal_per_mol is ΔG at each temperature in kcal/mol.

result.reaction_energies_kj_per_mol is ΔG at each temperature in kJ/mol.

result.reactant_energy_hartree and result.product_energy_hartree are the single-point electronic energies in Hartree.

result.reactant_frequencies_cm1 and result.product_frequencies_cm1 are the harmonic vibrational frequencies in cm⁻¹ computed for both molecules.

Workflow Details

The job runs the following steps for both the reactant and the product:

  1. Single-point energy — electronic energy at the provided geometry, stored in the global SPE cache so that subsequent jobs on the same geometry hit the cache instantly.
  2. Vibrational analysis — harmonic frequencies via finite-difference Hessian at the same level of theory.
  3. MSRRHO thermochemistry — Gibbs free energy corrections (ZPE, thermal enthalpy, and entropy) computed inline at every temperature in the grid.

The final ΔG(T) = G_products(T) − G_reactants(T) is returned for each temperature point.

Important Notes

  • Input geometries should be at their respective minima. Frequencies are computed but the workflow does not re-optimise — imaginary modes in the frequency output indicate a non-stationary input geometry.
  • The temperature grid is constructed as start, start+step, start+2*step, ... up to end (inclusive if it lands exactly on the endpoint).
  • The maximum number of temperature points is 2000.
  • Reaction energies are reported in both kcal/mol and kJ/mol for convenience.

Compute Resources

CPU cores and memory are determined automatically based on the molecule size and level of theory. The walltime estimate accounts for two single-point evaluations and two vibrational analyses (finite-difference Hessians), which is the dominant cost for larger molecules.