01 - Speciation calculation¶
The simplest thing PHREEQC does, and the foundation of everything else: take an analysis of a water and work out what is actually in it.
A laboratory reports total concentrations – so much calcium, so much sulfate. A speciation calculation turns those totals into the distribution of species they imply: free Ca²⁺, the ion pair CaSO₄, CaHCO₃⁺ and the rest, each with its activity. From that it computes a saturation index for every mineral it knows, which says whether the water would dissolve or precipitate each one.
The water here is seawater, from the analysis of Nordstrom and others (1979).
The input¶
TITLE Example 1.--Add uranium and speciate seawater.
SOLUTION 1 SEAWATER FROM NORDSTROM AND OTHERS (1979)
units ppm
pH 8.22
pe 8.451
density 1.023
temp 25.0
redox O(0)/O(-2)
Ca 412.3
Mg 1291.8
Na 10768.0
K 399.1
Fe 0.002
Mn 0.0002 pe
Si 4.28
Cl 19353.0
Alkalinity 141.682 as HCO3
S(6) 2712.0
N(5) 0.29 gfw 62.0
N(-3) 0.03 as NH4
U 3.3 ppb N(5)/N(-3)
O(0) 1.0 O2(g) -0.7
SOLUTION_MASTER_SPECIES
U U+4 0.0 238.0290 238.0290
U(4) U+4 0.0 238.0290
U(5) UO2+ 0.0 238.0290
U(6) UO2+2 0.0 238.0290
SOLUTION_SPECIES
#primary master species for U
#is also secondary master species for U(4)
U+4 = U+4
log_k 0.0
U+4 + 4 H2O = U(OH)4 + 4 H+
log_k -8.538
delta_h 24.760 kcal
U+4 + 5 H2O = U(OH)5- + 5 H+
log_k -13.147
delta_h 27.580 kcal
#secondary master species for U(5)
U+4 + 2 H2O = UO2+ + 4 H+ + e-
log_k -6.432
delta_h 31.130 kcal
#secondary master species for U(6)
U+4 + 2 H2O = UO2+2 + 4 H+ + 2 e-
log_k -9.217
delta_h 34.430 kcal
UO2+2 + H2O = UO2OH+ + H+
log_k -5.782
delta_h 11.015 kcal
2UO2+2 + 2H2O = (UO2)2(OH)2+2 + 2H+
log_k -5.626
delta_h -36.04 kcal
3UO2+2 + 5H2O = (UO2)3(OH)5+ + 5H+
log_k -15.641
delta_h -44.27 kcal
UO2+2 + CO3-2 = UO2CO3
log_k 10.064
delta_h 0.84 kcal
UO2+2 + 2CO3-2 = UO2(CO3)2-2
log_k 16.977
delta_h 3.48 kcal
UO2+2 + 3CO3-2 = UO2(CO3)3-4
log_k 21.397
delta_h -8.78 kcal
PHASES
Uraninite
UO2 + 4 H+ = U+4 + 2 H2O
log_k -3.490
delta_h -18.630 kcal
END
Two things in it are worth pointing out.
Redox is specified, twice over. The solution carries pe 8.451, but
also redox O(0)/O(-2), telling PHREEQC which couple to use as the master
redox variable – and then individual elements override it:
Mn 0.0002 pe uses pe itself, and U 3.3 ppb N(5)/N(-3) uses the
nitrate-ammonium couple. Natural waters are rarely at redox equilibrium, and
different couples give different answers, so PHREEQC makes you say which one
governs each element rather than quietly picking one.
The database is extended in the input. Seawater contains uranium, and
phreeqc.dat has none – which is what the first Database example finds.
So the input carries SOLUTION_MASTER_SPECIES, SOLUTION_SPECIES and
PHASES blocks that add uranium to the database for this run only.
That is the pattern for working with a species a database lacks: add it where the model is, not by editing the database. The addition travels with the input, and the database stays the one everyone else is using.
What to look at¶
The results are a table rather than a figure. Two parts of it carry the interest.
The species distribution shows how little of a total is usually free. Seawater’s calcium is not all Ca²⁺: a substantial part is paired with sulfate and carbonate, and it is the free ion’s activity, not the total, that determines whether a mineral precipitates.
The saturation indices say what seawater is in equilibrium with. Values near zero mean equilibrium; positive means the mineral could precipitate, negative that it would dissolve. Seawater is supersaturated with respect to calcite and dolomite – which it famously is, without precipitating them, because the kinetics are slow and the surfaces are poisoned. A saturation index says what is thermodynamically possible, never what will happen or how fast.
Where this goes next¶
Every other example in this set starts from a speciation like this one and then does something to it: changes the temperature (02 - Mineral Solubility), mixes it with another water (03 - Mixing), reacts it (05 - Irreversible Reactions) or transports it (11 - Transport and Cation Exchange).
The Monte Carlo example in the Statistics set takes this same seawater and asks what the uncertainty in its inputs does to the answer.
Source¶
Parkhurst, D. L. and Appelo, C. A. J. (2013). Description of input and examples for PHREEQC version 3. U.S. Geological Survey Techniques and Methods, book 6, chapter A43. This is Example 1 of that manual.
Nordstrom, D. K. and others (1979). The seawater analysis used here.