Water fugacity
Flow laws of hydrous rocks and the solubility of water in nominally anhydrous minerals depend on the fugacity of water, Unitful quantities.
Pitzer & Sterner (1994)
compute_water_fugacity solves the equation of state of Pitzer & Sterner (1994) for the molar density
where each coefficient is a function of temperature,
The implementation reproduces the online calculator of A. Withers to better than 0.4% for 0.1-2.8 GPa and 100-1500 °C.
Crustal approximation
compute_water_fugacity_Shinevar uses the closed-form approximation of Shinevar et al. (2015),
which is within a factor 1.5 of the Pitzer & Sterner value for 0.2-1 GPa and 600-1000 K.
Water content of olivine
compute_water_content_olivine gives the hydrogen solubility in olivine of Zhao et al. (2004),
in H/10⁶ Si (with
Example
julia> using GeoParams
julia> fH2O = compute_water_fugacity(1GPa, 800C); # Pitzer & Sterner (1994), in Pa
julia> round(MPa, fH2O, digits = 1)
1642.0 MPa
julia> round(MPa, compute_water_fugacity_Shinevar(1GPa, 800C), digits = 1) # crustal approximation
1575.3 MPa
julia> round(compute_water_content_olivine(fH2O, 1GPa, 800C)) # H/10⁶ Si, water-saturated olivine
157.0Routines
GeoParams.WaterFugacity.compute_water_fugacity Function
fH2O = compute_water_fugacity(P, T)Fugacity of pure H2O [Pa] at pressure P [Pa] and temperature T [K], computed with the equation of state of Pitzer & Sterner (1994). The density of H2O is found by solving the equation of state with a bracketed root finder; the fugacity then follows from the residual Helmholtz energy
The equation of state is calibrated for 0-10 GPa and 0-2000 °C. P and T can also be given as Unitful quantities, in which case the fugacity is returned in Pa. For non-positive pressure (e.g. near the free surface of a numerical model) the fugacity is zero, its physical limit; a wet creep law then gives zero strain rate.
Reference: Pitzer, K.S. & Sterner, S.M. (1994), Equations of state valid continuously from zero to extreme pressures for H2O and CO2, J. Chem. Phys. 101, 3111-3116.
Example
julia> round(compute_water_fugacity(1.0e9, 1073.15) / 1.0e6, digits = 1) # MPa
1642.0
julia> round(MPa, compute_water_fugacity(1GPa, 800C), digits = 1)
1642.0 MPaGeoParams.WaterFugacity.compute_water_fugacity_Shinevar Function
fH2O = compute_water_fugacity_Shinevar(P, T)Approximate fugacity of H2O [Pa] at pressure P [Pa] and temperature T [K] for crustal conditions, following Shinevar, Behn & Hirth (2015):
with compute_water_fugacity, the deviation grows for colder conditions at high pressure (factor ~2.3 at 1 GPa and 500 K). P and T can also be given as Unitful quantities.
Reference: Shinevar, W.J., Behn, M.D. & Hirth, G. (2015), Compositional dependence of lower crustal viscosity, Geophys. Res. Lett. 42, 8333-8340.
Example
julia> round(compute_water_fugacity_Shinevar(1.0e9, 800.0) / 1.0e6, digits = 1) # MPa
1026.6GeoParams.WaterFugacity.compute_water_content_olivine Function
C_OH = compute_water_content_olivine(fH2O, P, T)Solubility of water (hydrogen) in olivine, fH2O [Pa], pressure P [Pa] and temperature T [K] after Zhao, Ginsberg & Kohlstedt (2004):
with Unitful quantities; the result is always a plain number in H/10⁶ Si.
For water-saturated conditions, combine it with compute_water_fugacity.
Reference: Zhao, Y.-H., Ginsberg, S.B. & Kohlstedt, D.L. (2004), Solubility of hydrogen in olivine: dependence on temperature and iron content, Contrib. Mineral. Petrol. 147, 155-161.
Example
julia> P, T = 2.0e9, 1573.15;
julia> round(compute_water_content_olivine(compute_water_fugacity(P, T), P, T)) # H/10⁶ Si
3018.0