# Computing standard thermodynamic properties of reactions#

Written by Allan Leal (ETH Zurich) on Jan 21th, 2022

This tutorial demonstrates the use of Reaktoro for the computation of standard thermodynamic properties of a chemical reaction such as:

• the equilibrium constant of reaction, $$K_r$$

• the standard Gibbs energy of reaction, $$\Delta G_r^\circ$$

• the standard Helmholtz energy of reaction, $$\Delta A_r^\circ$$

• the standard enthalpy of reaction, $$\Delta H_r^\circ$$

• the standard internal energy of reaction, $$\Delta U_r^\circ$$

• the standard entropy of reaction, $$\Delta S_r^\circ$$

• the standard volume of reaction, $$\Delta V_r^\circ$$

• the standard heat capacity (constant pressure) of reaction, $$\Delta C_{P,r}^\circ$$

• the standard heat capacity (constant volume) of reaction, $$\Delta C_{V,r}^\circ$$

Reaktoro computes these reaction properties using the standard thermodynamic properties of the reacting species at a given temperature and pressure. For example, consider the reaction

$2\mathrm{A}+3\mathrm{B}=\mathrm{C}.$

The standard Gibbs energy of this reaction is computed using

$\Delta G_{r}^{\circ}=G_{\mathrm{C}}^{\circ}-2G_{\mathrm{A}}^{\circ}-3G_{\mathrm{B}}^{\circ}.$

This rationale (stoichiometric property contribution from product species minus the contribution of reactant species) can be applied to all other standard thermodynamic properties (e.g., $$\Delta H_r^\circ$$) and every reaction.

The equilibrium constant of the reaction is defined as:

$\ln K_r = -\dfrac{\Delta G^{\circ}_m}{RT}$

but it’s often handled in logarithm base 10, $$\lg K_r = \ln K_r/\ln 10$$.

It’s very easy to compute these reaction properties in Reaktoro as shown next:

from reaktoro import *

db = PhreeqcDatabase("phreeqc.dat")

rxn = db.reaction("H+ + OH- = H2O")

rprops = rxn.props(25.0, "C", 1.0, "atm")
print(rprops)

+------------------------------------------------+-------------+-------------+
| Property                                       |       Value |        Unit |
+------------------------------------------------+-------------+-------------+
| Temperature                                    |    298.1500 |           K |
| Pressure                                       |      1.0132 |         bar |
| Equilibrium Constant (log base 10)             |     13.9948 |           - |
| Delta Standard Gibbs Energy                    | -79882.1698 |       J/mol |
| Delta Standard Enthalpy                        | -56358.9238 |       J/mol |
| Delta Standard Volume                          |  2.2208e-05 |      m3/mol |
| Delta Standard Volume (Temperature Derivative) |  0.0000e+00 |  m3/(mol*K) |
| Delta Standard Volume (Pressure Derivative)    |  0.0000e+00 | m3/(mol*Pa) |
| Delta Standard Isobaric Heat Capacity          |    189.6441 |   J/(mol*K) |
| Delta Standard Isochoric Heat Capacity         |    189.6441 |   J/(mol*K) |
| Delta Standard Internal Energy                 | -56361.1740 |       J/mol |
| Delta Standard Entropy                         |     78.8974 |   J/(mol*K) |
| Delta Standard Helmholtz Energy                | -79884.4200 |       J/mol |
+------------------------------------------------+-------------+-------------+


Another more complicated example (mineral dissolution reaction):

rxn = db.reaction("Kaolinite + 6*H+ = H2O + 2*H4SiO4 + 2*Al+3")

rprops = rxn.props(40.0, "C", 1.0, "atm")
print(rprops)

+------------------------------------------------+--------------+-------------+
| Property                                       |        Value |        Unit |
+------------------------------------------------+--------------+-------------+
| Temperature                                    |     313.1500 |           K |
| Pressure                                       |       1.0132 |         bar |
| Equilibrium Constant (log base 10)             |       6.1956 |           - |
| Delta Standard Gibbs Energy                    |  -37143.5851 |       J/mol |
| Delta Standard Enthalpy                        | -147695.2000 |       J/mol |
| Delta Standard Volume                          |  -6.6423e-05 |      m3/mol |
| Delta Standard Volume (Temperature Derivative) |   0.0000e+00 |  m3/(mol*K) |
| Delta Standard Volume (Pressure Derivative)    |   0.0000e+00 | m3/(mol*Pa) |
| Delta Standard Isobaric Heat Capacity          |       0.0000 |   J/(mol*K) |
| Delta Standard Isochoric Heat Capacity         |       0.0000 |   J/(mol*K) |
| Delta Standard Internal Energy                 | -147688.4696 |       J/mol |
| Delta Standard Entropy                         |    -353.0309 |   J/(mol*K) |
| Delta Standard Helmholtz Energy                |  -37136.8547 |       J/mol |
+------------------------------------------------+--------------+-------------+


That’s it! As long as you specify species names that exists in the database, you are free to define your reaction as you wish.