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:
- 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.
- Vibrational analysis — harmonic frequencies via finite-difference Hessian at the same level of theory.
- 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 toend(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.