Computing pH
This page follows Chapter 11 of Bethke (2007).
The geochemistry
module can be used to provide values for pH assuming equilibrium. Recall that where denotes activity.
An example of such a calculation involves the mineral hematite. Hematite's equilibrium reaction is has an equilibrium constant at 25C. Assuming a water activity of 1, and , equilibrium reads (1)
To perform this calculation using the geochemistry
module, a GeochemicalModelDefinition object must be created with the desired mineral species:
[UserObjects]
[definition]
type = GeochemicalModelDefinition
database_file = "../../../database/moose_geochemdb.json"
basis_species = "H2O Fe++ H+ O2(aq)"
equilibrium_minerals = "Hematite"
piecewise_linear_interpolation = true # to get exact logK at 25degC with no best-fit interpolation
[]
[]
(modules/geochemistry/test/tests/interrogate_reactions/hematite.i)Then a GeochemicalModelInterrogator must be created which specifies the desired swaps and the interrogation = activity
instruction:
[GeochemicalModelInterrogator]
model_definition = definition
equilibrium_species = Hematite
activity_species = 'H2O Fe++'
activity_values = '1 1E-10'
interrogation = activity
[]
(modules/geochemistry/test/tests/interrogate_reactions/hematite.i)The output yields the desired information:
(A_H+)^-4 (A_O2(aq))^0.5 = 10^3.068
This is the square-root of Eq. (1).
References
- Craig M. Bethke.
Geochemical and Biogeochemical Reaction Modeling.
Cambridge University Press, 2 edition, 2007.
doi:10.1017/CBO9780511619670.[BibTeX]