CHNOSZ FAQ

Jeffrey M. Dick

This vignette was compiled on 2023-06-24 with CHNOSZ version 2.0.0-13.

How is ‘CHNOSZ’ pronounced?

As one syllable that starts with an sh sound and rhymes with Oz. CHNOSZ and schnoz are homophones.

Answered on 2023-05-22.

How can CHNOSZ be cited?

info(info("alanine"))[c("ref1", "ref2")]
##       ref1    ref2
## 1714 AH97b DLH06.1
thermo.refs(info("alanine"))
##         key                                      author year
## 71    AH97b              J. P. Amend and H. C. Helgeson 1997
## 154 DLH06.1 J. M. Dick, D. E. LaRowe and H. C. Helgeson 2006
##                                        citation                       note
## 71  J. Chem. Soc., Faraday Trans. 93, 1927-1941            amino acids GHS
## 154                   Biogeosciences 3, 311-336 amino acids HKF parameters
##                                       URL
## 71       https://doi.org/10.1039/A608126F
## 154 https://doi.org/10.5194/bg-3-311-2006

Answered on 2023-05-27.

What thermodynamic models are used in CHNOSZ?

Answered on 2018-11-13; moved from https://chnosz.net/ on 2023-05-27.

When and why do equal-activity boundaries depend on total activity?

Short answer: When the species have the same number of the conserved element (let’s take C for example), their activities are raised to the same exponent in reaction quotient, so the activity ratio in the law of mass action becomes unity. But when the species have different numbers of the conserved element (for example, propanoate with 3 C and bicarbonate with 1 C), their activities are raised to different exponents, and the activity ratio does not become unity even when the activities are equal (except for the specific case where the activities themselves are equal to 1). Therefore, in general, the condition of “equal activity” is not sufficient to define boundaries on a relative stability diagram; instead, we need to say “activity of each species equal to x” or alternatively “total activity equal to y”.

Long answer: First, consider a reaction between formate and bicarbonate: HCO2 + 0.5 O2 HCO3. The law of mass action (LMA) is log K = log (aHCO3 / aHCO2) 0.5 log fO2. The condition of equal activity is aHCO2 = aHCO3. Then, the LMA simplifies to log K = 0.5 log fO2. The total activity of C is given by Ctot = aHCO2 + aHCO3. According to the LMA, log fO2 is a function only of log K, so dlog fO2/dlog Ctot = 0. In other words, the position of the equal-activity boundary is independent of the value of Ctot.

Next, consider a reaction between propanoate and bicarbonate: C3H5O2 + 72 O2 3 HCO3 + 2 H+. The LMA is log K = log (a3HCO3 / aC3H5O2) pH 72 log fO2. The condition of equal activity is aC3H5O2 = aHCO3. Then, the LMA simplifies to log K = log a2HCO3 pH 72 log fO2. The total activity of C is given by Ctot = 3 aC3H5O2 + aHCO3; combined with the condition of equal activity, this gives Ctot = 4 aHCO3. Substituting this into the LMA gives log K = log (Ctot / 4)2 pH 72 log fO2, which can be rearranged to write log fO2 = 27 (2 log Ctot log K log 16 pH). It follows that dlog fO2/dlog Ctot = 47, and the position of the equal-activity boundary depends on Ctot.

According to this analysis, increasing Ctot from 0.03 to 3 molal (a 2 log-unit increase) would have no effect on the location of the formate-bicarbonate equal-activity boundary, but would raise the propanoate-bicarbonate equal-activity boundary by 87 units on the log fO2 scale. Because the reaction between bicarbonate and CO2 does not involve O2 (but rather H2O and H+), the same effect should occur on the propanoate-CO2 equal-activity boundary. The plots below, which are made using equilibrate() for species in the Deep Earth Water (DEW) model, illustrate this effect.

Answered on 2023-05-17.

How can minerals with phase transitions be added to the database?

Many minerals undergo phase transitions upon heating. The stable phases at different temperatures are called polymorphs. Each polymorph for a given mineral should have its own entry in OBIGT, including values of the standard thermodynamic properties (ΔG°, ΔH°, and S°) at 25 °C. The 25 °C (or 298.15 K) values for high-temperature polymorphs are often not listed in thermodynamic tables, but they can be calculated. This thermodynamic cycle shows how: we calculate the changes of a thermodyamic property (pictured here as DS1 and DS2) between 298.15 K and the transition temperature (Ttr) for two polymorphs, then combine those with the property of the polymorphic transition (DStr) to obtain the difference of the property between the polymorphs at 298.15 K (DS298).

               DStr              DStr: entropy of transition between polymorphs 1 and 2
      Ttr  o---------->o          Ttr: temperature of transition
           ^           |         
           |           |         
       DS1 |           | DS2      DS1: entropy change of polymorph 1 from 298.15 K to Ttr
           |           |          DS2: entropy change of polymorph 2 from 298.15 K to Ttr
           |           v
 298.15 K  o==========>o    DS298: entropy difference between polymorphs 1 and 2 at 298.15 K
               DS298        DS298 = DS1 + DStr - DS2
Polymorph  1           2

As an example, let’s add pyrrhotite (Fe0.877S) from Pankratz et al. (1987). The formula and thermodynamic properties of this pyrrhotite differ from those of FeS from Helgeson et al. (1978), which is already in OBIGT. We begin by defining all the input values in the next code block. In addition to G, H, S, and the heat capacity coefficients, non-NA values of volume (V) must be provided for the polymorph transitions to be calculated correctly by subcrt().

# The formula of the new mineral and literature reference
formula <- "Fe0.877S"
ref1 <- "PMW87"
# Because the properties from Pankratz et al. (1987) are listed in calories,
# we need to change the output of subcrt() to calories (the default is Joules)
E.units("cal")
# Use temperature in Kelvin for the calculations below
T.units("K")
# Thermodynamic properties of polymorph 1 at 25 °C (298.15 K)
G1 <- -25543
H1 <- -25200
S1 <- 14.531
Cp1 <- 11.922
# Heat capacity coefficients for polymorph 1
a1 <- 7.510
b1 <- 0.014798
# For volume, use the value from Helgeson et al. (1978)
V1 <- V2 <- 18.2
# Transition temperature
Ttr <- 598
# Transition enthalpy (cal/mol)
DHtr <- 95
# Heat capacity coefficients for polymorph 2
a2 <- -1.709
b2 <- 0.011746
c2 <- 3073400
# Maximum temperature of polymorph 2
T2 <- 1800

Use the temperature (Ttr) and enthalpy of transition (DHtr) to calculate the entropy of transition (DStr). Note that the Gibbs energy of transition (DGtr) is zero at Ttr.

DGtr <- 0  # DON'T CHANGE THIS
TDStr <- DHtr - DGtr  # TΔS° = ΔH° - ΔG°
DStr <- TDStr / Ttr

Start new database entries that include basic information, volume, and heat capacity coefficients for each polymorph. Pankratz et al. (1987) don’t list Cp of the high-temperature polymorph extrapolated to 298.15 K, so leave it out. If the properties were in Joules, we would omit E_units = "cal" or change it to E_units = "J".

mod.OBIGT("pyrrhotite_new", formula = formula, state = "cr", ref1 = ref1,
  E_units = "cal", G = 0, H = 0, S = 0, V = V1, Cp = Cp1,
  a = a1, b = b1, c = 0, d = 0, e = 0, f = 0, lambda = 0, T = Ttr)
mod.OBIGT("pyrrhotite_new", formula = formula, state = "cr2", ref1 = ref1,
  E_units = "cal", G = 0, H = 0, S = 0, V = V2,
  a = a2, b = b2, c = c2, d = 0, e = 0, f = 0, lambda = 0, T = T2)

For the time being, we set G, H, and S (i.e., the properties at 25 °C) to zero in order to easily calculate the temperature integrals of the properties from 298.15 K to Ttr. Values of zero are placeholders that don’t satisfy ΔG° = ΔH° − TΔS° for the formation properties from the elements for either polymorph, as indicated by the following messages. We will check again for consistency of the thermodynamic parameters at the end of the example.

info(info("pyrrhotite_new", "cr"))

check.GHS: calculated G of pyrrhotite_new(cr) differs by 3989 cal mol-1 from database value

info(info("pyrrhotite_new", "cr2"))

check.GHS: calculated G of pyrrhotite_new(cr2) differs by 3989 cal mol-1 from database value

info.numeric: Cp of pyrrhotite_new(cr2) is NA; set by EOS parameters to 36.37 cal K-1 mol-1

In order to calculate the temperature integral of ΔG°, we need not only the heat capacity coefficients but also actual values of S°. Therefore, we start by calculating the entropy changes of each polymorph from 298.15 to 598 K (DS1 and DS2) and combining those with the entropy of transition to obtain the difference of entropy between the polymorphs at 298.15 K. For polymorph 1 (with state = "cr") it’s advisable to include use.polymorphs = FALSE to prevent subcrt() from trying to identify the most stable polymorph at the indicated temperature.

DS1 <- subcrt("pyrrhotite_new", "cr", P = 1, T = Ttr, use.polymorphs = FALSE)$out[[1]]$S
DS2 <- subcrt("pyrrhotite_new", "cr2", P = 1, T = Ttr)$out[[1]]$S
DS25 <- DS1 + DStr - DS2

Put the values of S° at 298.15 into OBIGT, then calculate the changes of all thermodynamic properties of each polymorph between 298.15 K and Ttr.

mod.OBIGT("pyrrhotite_new", state = "cr", S = S1)
mod.OBIGT("pyrrhotite_new", state = "cr2", S = S1 + DS25)
D1 <- subcrt("pyrrhotite_new", "cr", P = 1, T = Ttr, use.polymorphs = FALSE)$out[[1]]
D2 <- subcrt("pyrrhotite_new", "cr2", P = 1, T = Ttr)$out[[1]]

It’s a good idea to check that the entropy of transition is calculated correctly.

stopifnot(all.equal(D2$S - D1$S, DStr))

Now we’re ready to add up the contributions to ΔG° and ΔH° from the left, top, and right sides of the cycle. This gives us the differences between the polymorphs at 298.15 K, which we use to make the final changes to the database.

DG25 <- D1$G + DGtr - D2$G
DH25 <- D1$H + DHtr - D2$H
mod.OBIGT("pyrrhotite_new", state = "cr", G = G1, H = H1)
mod.OBIGT("pyrrhotite_new", state = "cr2", G = G1 + DG25, H = H1 + DH25)

It’s a good idea to check that the values of G, H, and S at 25 °C for a given polymorph are consistent with each other. Here we use check.GHS() to calculate the difference between the value given for G and the value calculated from H and S. The difference of less than 1 cal/mol can probably be attributed to small differences in the entropies of the elements used by Pankratz et al. (1987) and in CHNOSZ. We still get a message that the database value of Cp at 25 °C for the high-temperature polymorph is NA; this is OK because the (extrapolated) value can be calculated from the heat capacity coefficients.

cr_parameters <- info(info("pyrrhotite_new", "cr"))
stopifnot(abs(check.GHS(cr_parameters)) < 1)
cr2_parameters <- info(info("pyrrhotite_new", "cr2"))

info.numeric: Cp of pyrrhotite_new(cr2) is NA; set by EOS parameters to 36.37 cal K-1 mol-1

stopifnot(abs(check.GHS(cr2_parameters)) < 1)

For the curious, here are the parameter values:

cr_parameters
##                name abbrv  formula state  ref1 ref2 date model E_units      G
## 3466 pyrrhotite_new  <NA> Fe0.877S    cr PMW87 <NA> <NA>   CGL     cal -25543
##           H      S     Cp    V    a        b c d e f lambda   T
## 3466 -25200 14.531 11.922 18.2 7.51 0.014798 0 0 0 0      0 598
cr2_parameters
##                name abbrv  formula state  ref1 ref2 date model E_units
## 3467 pyrrhotite_new  <NA> Fe0.877S   cr2 PMW87 <NA> <NA>   CGL     cal
##              G        H        S       Cp    V      a        b       c d e f
## 3467 -25802.75 -27099.4 9.031592 36.36706 18.2 -1.709 0.011746 3073400 0 0 0
##      lambda    T
## 3467      0 1800

Finally, let’s look at the thermodynamic properties of the newly added pyrrhotite as a function of temperature around Ttr. Here, we use the feature of subcrt() that identifies the stable polymorph at each temperature. Note that ΔG° is a continuous function – visual confirmation that the parameters yield zero for DGtr – but ΔH°, S°, and Cp° are discontinuous at the transition temperature.

For additional polymorphs, we could repeat the above procedure using polymorph 2 as the starting point to calculate G, H, and S of polymorph 3, and so on.

Answered on 2023-06-23.

References

Alberty RA. 1996. Recommendations for nomenclature and tables in biochemical thermodynamics. European Journal of Biochemistry 240(1): 1–14. doi: 10.1111/j.1432-1033.1996.0001h.x
Anderson GM, Crerar DA. 1993. Thermodynamics in Geochemistry: The Equilibrium Model. New York: Oxford University Press. doi: 10.1093/oso/9780195064643.001.0001
Berman RG, Brown TH. 1985. Heat capacity of minerals in the system Na2O–K2O–CaO–MgO–FeO–Fe2O3–Al2O3–SiO2–TiO2–H2O–CO2: Representation, estimation, and high temperature extrapolation. Contributions to Mineralogy and Petrology 89(2): 168–183. doi: 10.1007/BF00379451
Dick JM. 2008. Calculation of the relative metastabilities of proteins using the CHNOSZ software package. Geochemical Transactions 9: 10. doi: 10.1186/1467-4866-9-10
Dick JM. 2019. CHNOSZ: Thermodynamic calculations and diagrams for geochemistry. Frontiers in Earth Science 7: 180. doi: 10.3389/feart.2019.00180
Dick JM. 2021. Diagrams with multiple metals in CHNOSZ. Applied Computing and Geosciences 10: 100059. doi: 10.1016/j.acags.2021.100059
Dick JM, LaRowe DE, Helgeson HC. 2006. Temperature, pressure, and electrochemical constraints on protein speciation: Group additivity calculation of the standard molal thermodynamic properties of ionized unfolded proteins. Biogeosciences 3(3): 311–336. doi: 10.5194/bg-3-311-2006
Helgeson HC, Delany JM, Nesbitt HW, Bird DK. 1978. Summary and critique of the thermodynamic properties of rock-forming minerals. American Journal of Science 278A: 1–229. Available at https://www.worldcat.org/oclc/13594862.
Helgeson HC, Kirkham DH, Flowers GC. 1981. Theoretical prediction of the thermodynamic behavior of aqueous electrolytes at high pressures and temperatures: IV. Calculation of activity coefficients, osmotic coefficients, and apparent molal and standard and relative partial molal properties to 600°C and 5 Kb. American Journal of Science 281(10): 1249–1516. doi: 10.2475/ajs.281.10.1249
Johnson JW, Oelkers EH, Helgeson HC. 1992. SUPCRT92: A software package for calculating the standard molal thermodynamic properties of minerals, gases, aqueous species, and reactions from 1 to 5000 bar and 0 to 1000°C. Computers & Geosciences 18(7): 899–947. doi: 10.1016/0098-3004(92)90029-Q
Manning CE, Shock EL, Sverjensky DA. 2013. The chemistry of carbon in aqueous fluids at crustal and upper-mantle conditions: Experimental and theoretical constraints. Reviews in Mineralogy and Geochemistry 75(1): 109–148. doi: 10.2138/rmg.2013.75.5
Pankratz LB, Mah AD, Watson SW. 1987. Thermodynamic Properties of Sulfides. United States Department of the Interior, Bureau of Mines. (Bulletin; Vol. 689). Available at https://www.worldcat.org/oclc/16131757.
Sverjensky DA, Harrison B, Azzolini D. 2014. Water in the deep Earth: The dielectric constant and the solubilities of quartz and corundum to 60 kb and 1,200 °C. Geochimica et Cosmochimica Acta 129: 125–145. doi: 10.1016/j.gca.2013.12.019
Wagner W, Pruß A. 2002. The IAPWS formulation 1995 for the thermodynamic properties of ordinary water substance for general and scientific use. Journal of Physical and Chemical Reference Data 31(2): 387–535. doi: 10.1063/1.1461829