This vignette runs the code to make selected plots from the following paper:
von der Heyden BP, Dick J, Rosenfels RC, Carlton L, Lilova K, Navrotsky A, Subramani T, Woodfield BF, Gibson A 2024. Growth and stability of stratiform carrollite (CuCo2S4) in the Tenke-Fungurume ore district, Central African Copperbelt. The Canadian Journal of Mineralogy and Petrology 62(1): 77–93. doi: 10.3389/feart.2019.00180
This vignette was compiled on 2024-12-02 with JMDplots 1.2.20-13 and CHNOSZ 2.1.0-27.
library(JMDplots)
# Set plot resolution
res <- if(nzchar(Sys.getenv("BUILD_LARGE_VIGNETTES"))) 400 else 75
This compares the thermodynamic parameters for carrollite in the OBIGT database with values calculated on-the-fly. The latter values include computed parameters for the high-temperature polymorph and heat capacity coefficients for both polymorphs. After the test, we reset the OBIGT database so the testing data don’t get in the way of the following calculations.
# Calculate parameters
calc <- calc_carrollite()
# Get parameters stored in OBIGT
ref <- info(info("carrollite", c("cr", "cr2")))
# Columns of OBIGT with parameters to check
ichk <- 10:22
stopifnot(all.equal(calc$cr[, ichk], ref[1, ichk], check.attributes = FALSE, tolerance = 1e-4))
stopifnot(all.equal(calc$cr2[, ichk], ref[2, ichk], check.attributes = FALSE, tolerance = 1e-4))
reset()
This uses CHNOSZ::logB.to.OBIGT()
to fit formation constants for aqueous Co complexes (Migdisov et al., 2011) to an equation with two adjustable parameters (ΔG°f and S°) that are then added to OBIGT.
complexes <- add_Co_aqueous()
## mod.OBIGT: updated CoCl+(aq)
## logB.to.OBIGT: mean difference between logB (experimental) and logK (calculated) is 0.0134
## mod.OBIGT: updated CoCl2(aq)
## logB.to.OBIGT: mean difference between logB (experimental) and logK (calculated) is 0.0172
## mod.OBIGT: updated CoCl3-(aq)
## logB.to.OBIGT: mean difference between logB (experimental) and logK (calculated) is 0.0987
## mod.OBIGT: updated CoCl4-2(aq)
## logB.to.OBIGT: mean difference between logB (experimental) and logK (calculated) is 0.0404
## mod.OBIGT: updated CoHS+(aq)
## logB.to.OBIGT: mean difference between logB (experimental) and logK (calculated) is 0.079
The fitted parameters are listed below for comparison with Table 1 in the paper.
Co <- info(info(c("CoCl+", "CoCl2", "CoCl3-", "CoCl4-2")))
Co$G <- round(Co$G)
Co$H <- round(Co$H)
Co$S <- round(Co$S, 3)
rownames(Co) <- Co$name
kable(Co[, c("G", "H", "S")])
G | H | S | |
---|---|---|---|
CoCl+ | -190674 | -228519 | -50.692 |
CoCl2 | -318845 | -375729 | 62.333 |
CoCl3- | -459477 | -559857 | 93.327 |
CoCl4-2 | -601033 | -742682 | 131.788 |
CHNOSZ::solubility()
calculation for Co or Cu without carrollite (Figure S6)Migdisov AA, Zezin D, Williams-Jones AE. 2011. An experimental study of cobalt (II) complexation in Cl- and H2S-bearing hydrothermal solutions. Geochimica et Cosmochimica Acta 75(14): 4065–4079. doi: 10.1016/j.gca.2011.05.003