[CHNOSZ-commits] r242 - in pkg/CHNOSZ: . R demo inst inst/extdata/OBIGT man tests/testthat vignettes
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Wed Oct 4 17:51:39 CEST 2017
Author: jedick
Date: 2017-10-04 17:51:38 +0200 (Wed, 04 Oct 2017)
New Revision: 242
Modified:
pkg/CHNOSZ/DESCRIPTION
pkg/CHNOSZ/R/basis.R
pkg/CHNOSZ/demo/00Index
pkg/CHNOSZ/inst/NEWS
pkg/CHNOSZ/inst/extdata/OBIGT/H2O_aq.csv.xz
pkg/CHNOSZ/man/makeup.Rd
pkg/CHNOSZ/tests/testthat/test-IAPWS95.R
pkg/CHNOSZ/tests/testthat/test-berman.R
pkg/CHNOSZ/tests/testthat/test-makeup.R
pkg/CHNOSZ/tests/testthat/test-subcrt.R
pkg/CHNOSZ/vignettes/obigt.Rmd
pkg/CHNOSZ/vignettes/obigt.bib
Log:
change formula of aqueous electron from "Z0-1" to "(Z-1)"
Modified: pkg/CHNOSZ/DESCRIPTION
===================================================================
--- pkg/CHNOSZ/DESCRIPTION 2017-10-03 08:41:50 UTC (rev 241)
+++ pkg/CHNOSZ/DESCRIPTION 2017-10-04 15:51:38 UTC (rev 242)
@@ -1,6 +1,6 @@
-Date: 2017-10-03
+Date: 2017-10-04
Package: CHNOSZ
-Version: 1.1.0-40
+Version: 1.1.0-41
Title: Thermodynamic Calculations for Geobiochemistry
Author: Jeffrey Dick
Maintainer: Jeffrey Dick <j3ffdick at gmail.com>
Modified: pkg/CHNOSZ/R/basis.R
===================================================================
--- pkg/CHNOSZ/R/basis.R 2017-10-03 08:41:50 UTC (rev 241)
+++ pkg/CHNOSZ/R/basis.R 2017-10-04 15:51:38 UTC (rev 242)
@@ -104,7 +104,7 @@
rownames(comp) <- as.character(thermo$obigt$formula[ispecies])
# FIXME: the electron doesn't look like a chemical formula
# this is needed for affinity() to understand a 'pe' or 'Eh' variable
- if("Z0-1" %in% rownames(comp)) rownames(comp)[rownames(comp)=="Z0-1"] <- "e-"
+ if("(Z-1)" %in% rownames(comp)) rownames(comp)[rownames(comp)=="(Z-1)"] <- "e-"
# now check it for validity of basis species
# the first test: matrix is square
if( nrow(comp) > ncol(comp) ) stop("overdetermined system; square stoichiometric matrix needed")
Modified: pkg/CHNOSZ/demo/00Index
===================================================================
--- pkg/CHNOSZ/demo/00Index 2017-10-03 08:41:50 UTC (rev 241)
+++ pkg/CHNOSZ/demo/00Index 2017-10-04 15:51:38 UTC (rev 242)
@@ -21,3 +21,4 @@
adenine HKF parameters regressed from heat capacity and volume of aqueous adenine
DEW Deep Earth Water (DEW) model for high pressures
lambda Effects of lambda transtion on thermodynamic properties of quartz
+berman Mineral stability diagrams calculated using Berman's equations
Modified: pkg/CHNOSZ/inst/NEWS
===================================================================
--- pkg/CHNOSZ/inst/NEWS 2017-10-03 08:41:50 UTC (rev 241)
+++ pkg/CHNOSZ/inst/NEWS 2017-10-04 15:51:38 UTC (rev 242)
@@ -1,4 +1,4 @@
-CHANGES IN CHNOSZ 1.1.0-40 (2017-10-03)
+CHANGES IN CHNOSZ 1.1.0-41 (2017-10-04)
---------------------------------------
MAJOR CHANGES:
@@ -71,6 +71,11 @@
inconsistent results for metastable steam (Zavarin et al., 2016,
LLNL-TR-701407, doi: 10.2172/1325873).
+- Change the formula of the electron from "Z0-1" (parsed as "zero Z
+ with minus one charge") to the equivalent but nicer-to-read "(Z-1)"
+ (parsed as "minus one Z"; the parentheses cause "-1" to be interpreted
+ as the coefficient on Z instead of the charge in the formula).
+
OTHER CHANGES:
- Add 'tol' argument to equil.reaction() (convergence tolerance for
Modified: pkg/CHNOSZ/inst/extdata/OBIGT/H2O_aq.csv.xz
===================================================================
--- pkg/CHNOSZ/inst/extdata/OBIGT/H2O_aq.csv.xz 2017-10-03 08:41:50 UTC (rev 241)
+++ pkg/CHNOSZ/inst/extdata/OBIGT/H2O_aq.csv.xz 2017-10-04 15:51:38 UTC (rev 242)
@@ -1 +1 @@
-ý7zXZ æÖ´F ! t/å£à ¤] 7Iýúb¿ñ9²¶Ë¦¨TB;qý"½qù¦cL;ù"ß<²ëbï¨gò;ø¥Kä¥f1Æw?ozÆCþaì]IبÝ5icÂ.Ôò`ê¯ÚjFTíö×ÿÃoëh ÆsdáþXb`oR[}ôÞN±¯=r# sH"=³/ÂÅþ%ÃåñiÉ?ê!±à gÆ#Õõ\÷ À ¡Æ±±Ägû YZ
\ No newline at end of file
+ý7zXZ æÖ´F ! t/å£à ¥] 7Iýúb¿ñ9²¶Ë¦¨TB;qý"½qù¦cL;ù"ß<²ëbï¨gò;ø¥Kä¥f1Æw?ozÆCþaì]IبÝ5icÂ.Ôò`ê¯ÚjFTíö×ÿÃoëh ÆsdáþXÒ ÈbQTP.GZphÕñGZ¦åJßr²n¶ dÈÙAhÀ é´5ñìè Á à&±Ägû YZ
\ No newline at end of file
Modified: pkg/CHNOSZ/man/makeup.Rd
===================================================================
--- pkg/CHNOSZ/man/makeup.Rd 2017-10-03 08:41:50 UTC (rev 241)
+++ pkg/CHNOSZ/man/makeup.Rd 2017-10-04 15:51:38 UTC (rev 242)
@@ -66,8 +66,9 @@
# these all represent a single negative charge, i.e., electron
makeup("-1")
-makeup("Z0-1")
makeup("Z-1+0")
+makeup("Z0-1") # the "old" formula for the electron in thermo$obigt
+makeup("(Z-1)") # the current formula in thermo$obigt
# hypothetical compounds with negative numbers of elements
makeup("C-4(O-2)") # -4 carbon, -2 oxygen
@@ -76,7 +77,7 @@
# the 'sum' argument can be used to check mass and charge
# balance in a chemical reaction
-formula <- c("H2O", "H+", "Z0-1", "O2")
+formula <- c("H2O", "H+", "(Z-1)", "O2")
(mf <- makeup(formula, c(-1, 2, 2, 0.5), sum=TRUE))
stopifnot(all(mf==0))
}
Modified: pkg/CHNOSZ/tests/testthat/test-IAPWS95.R
===================================================================
--- pkg/CHNOSZ/tests/testthat/test-IAPWS95.R 2017-10-03 08:41:50 UTC (rev 241)
+++ pkg/CHNOSZ/tests/testthat/test-IAPWS95.R 2017-10-04 15:51:38 UTC (rev 242)
@@ -62,9 +62,9 @@
expect_equal(round(signif(vapor.calc$p, 5), 6), P.ref, tolerance=1e-4)
# take H to 6 significant digits but not more than 3 decimals
expect_equal(round(signif(liquid.calc$h, 6), 3), H.liquid.ref, tolerance=1e-5)
- expect_that(round(signif(vapor.calc$h, 6), 3), equals(H.vapor.ref)) # spot on!
+ expect_equal(round(signif(vapor.calc$h, 6), 3), H.vapor.ref) # spot on!
# round S to 4 decimals
- expect_that(round(liquid.calc$s, 4), equals(S.liquid.ref)) # spot on!
+ expect_equal(round(liquid.calc$s, 4), S.liquid.ref) # spot on!
expect_equal(round(vapor.calc$s, 4), S.vapor.ref, tolerance=1e-4)
# round cv to 4 decimals
expect_equal(round(liquid.calc$cv, 4), cv.liquid.ref, tolerance=1e-4)
@@ -78,8 +78,8 @@
test_that("calculations are possible at low temperatures", {
# the sequences start at the lowest whole-number temperature (K)
# where the function returns a value of density at the given pressure
- expect_that(any(is.na(water.IAPWS95("rho", T=seq(234, 274, 3), P=rep(1, 14)))), is_false())
- expect_that(any(is.na(water.IAPWS95("rho", T=seq(227, 272, 3), P=rep(1000, 16)))), is_false())
+ expect_false(any(is.na(water.IAPWS95("rho", T=seq(234, 274, 3), P=rep(1, 14)))))
+ expect_false(any(is.na(water.IAPWS95("rho", T=seq(227, 272, 3), P=rep(1000, 16)))))
})
# reference
Modified: pkg/CHNOSZ/tests/testthat/test-berman.R
===================================================================
--- pkg/CHNOSZ/tests/testthat/test-berman.R 2017-10-03 08:41:50 UTC (rev 241)
+++ pkg/CHNOSZ/tests/testthat/test-berman.R 2017-10-04 15:51:38 UTC (rev 242)
@@ -23,10 +23,6 @@
"fluortremolite", all=TRUE)
# save the results so we can use them in the next tests
assign("prop_Berman", properties, inherits=TRUE)
-
- ## - warnings are produced for 7 minerals with GfPrTr(calc) >= 1000 J/cal different from GfPrTr(table)
- #expect_warning(Berman <- lapply(mineral, berman),
- # "annite|dawsonite|dravite|fluortremolite|greenalite|siderite|Na-Fe-saponite.3W", all=TRUE)
})
# assemble a data frame for Berman properties
@@ -41,14 +37,11 @@
# minerals with missing properties are not matched here
# (i.e. fluorphlogopite, fluortremolite, glaucophane, and pyrope: no G and H in prop_Helgeson data)
-test_that("Berman and Helgeson properties have large differences for few minerals", {
+test_that("Berman and Helgeson tabulated properties have large differences for few minerals", {
# which minerals differ in DGf by more than 4 kcal/mol?
idiffG <- which(abs(prop_Berman$G - prop_Helgeson$G) > 4000)
expect_match(mineral[idiffG],
"paragonite|anthophyllite|antigorite|Ca-Al-pyroxene|lawsonite|margarite|merwinite")
- ## we find 9 of them, as follow:
- #expect_match(mineral[idiffG],
- # "anthophyllite|antigorite|Ca-Al-pyroxene|cordierite,dry|cordierite,hydrous|lawsonite|margarite|merwinite|paragonite")
# which minerals differ in DHf by more than 4 kcal/mol?
idiffH <- which(abs(prop_Berman$H - prop_Helgeson$H) > 4000)
@@ -59,17 +52,52 @@
# which minerals differ in S by more than 4 cal/K/mol?
idiffS <- which(abs(prop_Berman$S - prop_Helgeson$S) > 4)
expect_match(mineral[idiffS], "albite|annite|almandine|fluortremolite")
- #expect_match(mineral[idiffS], "albite|almandine|annite|cordierite,hydrous|fluortremolite")
# which minerals differ in Cp by more than 4 cal/K/mol?
idiffCp <- which(abs(prop_Berman$Cp - prop_Helgeson$Cp) > 4)
expect_match(mineral[idiffCp], "antigorite|cristobalite,beta|K-feldspar|fluortremolite")
- #expect_match(mineral[idiffCp],
- # "antigorite|cordierite,hydrous|cristobalite,beta|fluortremolite|glaucophane|greenalite|K-feldspar")
# which minerals differ in V by more than 1 cm^3/mol?
idiffV <- which(abs(prop_Berman$V - prop_Helgeson$V) > 1)
expect_match(mineral[idiffV], "anthophyllite|antigorite|chrysotile|merwinite")
- #expect_match(mineral[idiffV],
- # "anthophyllite|antigorite|chrysotile|cordierite,hydrous|glaucophane|greenalite|merwinite")
})
+
+
+test_that("Berman and Helgeson calculated properties are similar", {
+ # Reference values for G were taken from the spreadsheet Berman_Gibbs_Free_Energies.xlsx
+ # (http://www.dewcommunity.org/uploads/4/1/7/6/41765907/sunday_afternoon_sessions__1_.zip accessed on 2017-10-03)
+ # The spreadsheet also has values for some minerals using the Helgeson data
+ T <- c(100, 100, 1000, 1000)
+ P <- c(5000, 50000, 5000, 50000)
+
+ ## Start with uncomplicated minerals (no transitions)
+ # Helgeson akermanite
+ Ak_Hel_G <- c(-872485, -772662, -970152, -870328)
+ Ak_Hel <- subcrt("akermanite", T=T, P=P)$out[[1]]
+ expect_equal(Ak_Hel_G, Ak_Hel$G, tol=1e-5)
+ # Berman andalusite
+ And_Ber_G <- c(-579368, -524987, -632421, -576834)
+ And_Ber <- subcrt("andalusite", "cr_Berman", T=T, P=P)$out[[1]]
+ expect_equal(And_Ber_G, And_Ber$G, tol=1e-4)
+
+ ## Now a more complicated case with polymorphic transitions
+ # Helgeson quartz
+ Qz_Hel_G <- c(-202778, -179719, -223906, -199129)
+ Qz_Hel <- subcrt("quartz", T=T, P=P)$out[[1]]
+ # they're very close, but less so at the extremest condition
+ expect_equal(Qz_Hel_G[-4], Qz_Hel$G[-4], tol=1e-5)
+ expect_equal(Qz_Hel_G[4], Qz_Hel$G[4], tol=1e-2)
+ # Berman alpha-quartz
+ aQz_Ber_G <- c(-202800, -179757, -223864, -200109)
+ aQz_Ber <- subcrt("quartz", "cr_Berman", T=T, P=P)$out[[1]]
+ # here, the high-P, low-T point suffers
+ expect_equal(aQz_Ber_G[-2], aQz_Ber$G[-2], tol=1e-5)
+ expect_equal(aQz_Ber_G[2], aQz_Ber$G[2], tol=1e-2)
+
+ ## This one has disordering effects
+ Kfs_Ber_G <- c(-888115, -776324, -988950, -874777)
+ Kfs_Ber <- subcrt("K-feldspar", "cr_Berman", T=T, P=P)$out[[1]]
+ # we lose some accuracy at high T
+ expect_equal(Kfs_Ber_G[1:2], Kfs_Ber$G[1:2], tol=1e-5)
+ expect_equal(Kfs_Ber_G[3:4], Kfs_Ber$G[3:4], tol=1e-2)
+})
Modified: pkg/CHNOSZ/tests/testthat/test-makeup.R
===================================================================
--- pkg/CHNOSZ/tests/testthat/test-makeup.R 2017-10-03 08:41:50 UTC (rev 241)
+++ pkg/CHNOSZ/tests/testthat/test-makeup.R 2017-10-04 15:51:38 UTC (rev 242)
@@ -14,10 +14,11 @@
test_that("numeric species indices, and coefficients indicating charge can be parsed", {
# these are all equivalent formulas for the electron
expect_equal(makeup("-1"), makeup("Z0-1"))
+ expect_equal(makeup("-1"), makeup("(Z-1)")[1])
expect_equal(makeup("-1"), makeup("Z-1+0"))
# the species index of the electron in thermo$obigt
ie <- info("e-")
- expect_equal(makeup("-1"), makeup(ie))
+ expect_equal(makeup("-1"), makeup(ie)[1])
})
test_that("signed and fractional coefficients can be parsed", {
Modified: pkg/CHNOSZ/tests/testthat/test-subcrt.R
===================================================================
--- pkg/CHNOSZ/tests/testthat/test-subcrt.R 2017-10-03 08:41:50 UTC (rev 241)
+++ pkg/CHNOSZ/tests/testthat/test-subcrt.R 2017-10-04 15:51:38 UTC (rev 242)
@@ -90,7 +90,7 @@
oldwat <- water("IAPWS95")
sb <- subcrt(c("H2O", "Na+"), T=c(-30, -20, 0, 10), P=1)$out
# the test is not a demanding numerical comparison, more that we got numbers and no error
- expect_that(all(sb$`Na+`$G < sb$water$G), is_true())
+ expect_true(all(sb$`Na+`$G < sb$water$G))
# clean up
water(oldwat)
})
Modified: pkg/CHNOSZ/vignettes/obigt.Rmd
===================================================================
--- pkg/CHNOSZ/vignettes/obigt.Rmd 2017-10-03 08:41:50 UTC (rev 241)
+++ pkg/CHNOSZ/vignettes/obigt.Rmd 2017-10-04 15:51:38 UTC (rev 242)
@@ -14,7 +14,7 @@
bibliography: obigt.bib
# so that these appear in the bibliography
nocite: |
- @SPRONS92, @SLOP98, @SLOP07, @SLOP15, @CHNOSZ
+ @SPRONS92, @SLOP98, @SLOP07, @SLOP15, @CHNOSZ, @JOH92, @WP02, @CWM89, @PRPG97, @TH88, @Kul06
# 20170212: comment the csl line to build package on R-Forge, to avoid
# getting an error there (pandoc-citeproc: error while parsing the XML string)
csl: elementa.csl
@@ -119,8 +119,14 @@
Symbols show whether the data were present in the earliest of the sprons92.dat (ø), slop98.dat (\*), slop07.dat (â ), or slop15.dat (â¡) datafiles for the SUPCRT92 package.
Any additional comments are placed at the beginning of the sections.
-Abbreviations used below are: Cp (heat capacity), GHS (standard Gibbs energy, enthalpy, entropy), HKF (Helgeson-Kirkham-Flowers equations), V (volume).
+Abbreviations used below are: Cp (heat capacity), GHS (standard Gibbs energy, enthalpy, entropy), HKF (Helgeson-Kirkham-Flowers equations), *V* (volume), *T* (temperature), *P* (pressure).
+# Recent additions (late 2017)
+
+* Mineral data using the [Berman (1988)]() equations are listed under **Solids**.
+
+* Aqueous species data compatible with the [Deep Earth Water](http://www.dewcommunity.org/) model are listed under **Optional Data**.
+
# Sources of data {.tabset .tabset-fade}
<!-- uncomment for full version -->
@@ -131,7 +137,19 @@
### `r setfile("H2O_aq.csv")`
```{r H2O_aq, results="asis", echo=FALSE}
-cat('This file contains H<sub>2</sub>O, *e*<sup>-</sup>, and H<sup>+</sup>. The properties of H<sub>2</sub>O are listed as NA; CHNOSZ calculates its properties using a Fortran subroutine taken from SUPRCT92 [@JOH92]. The properties of the proton (H<sup>+</sup>) are 0. The properties of the electron (*e*<sup>-</sup>) are 0, except for *S*°, which is the opposite of *S*° for the "element" of charge, Z (see `?thermo`).\n')
+cat('This file contains H<sub>2</sub>O, *e*<sup>-</sup>, and H<sup>+</sup>.\n')
+cat('The properties of H<sub>2</sub>O are listed as NA; CHNOSZ calculates its properties using a Fortran subroutine taken from SUPRCT92 ([Johnson et al., 1992](https://doi.org/10.1016/0098-3004(92)90029-Q)) (default) or using the IAPWS-95 equations ([Wagner and PruÃ, 2002](https://doi.org/10.1063/1.1461829)) or the [Deep Earth Water](http://www.dewcommunity.org/) (DEW) model ([Sverjensky et al., 2014](https://doi.org/10.1016/j.gca.2013.12.019)).\n\n')
+cat('By convention, the standard Gibbs energy of formation, entropy, and heat capacity of the aqueous proton (H<sup>+</sup>) are 0 at all *T* and *P* ([e.g. Cox et al., 1989](http://www.worldcat.org/oclc/18559968)).\n')
+cat('The formation reaction of the proton can be expressed as ½H<sub>2,(*g*)</sub> + Z = H<sup>+</sup>, where Z is the "element" of positive charge.\n')
+cat('Because the conventional standard Gibbs energy of this reaction is 0 at all *T*, the standard entropy of the reaction is also constrained to be zero (cf. [Puigdomenech et al., 1997](http://www.oecd-nea.org/dbtdb/pubs/book-pdf/427-494.pdf)).\n')
+cat('Therefore, the "element" of positive charge (Z) has zero thermodynamic properties except for an entropy, *S*°<sub>*T*<sub>r</sub></sub>, that is negative one-half that of H<sub>2,(*g*)</sub>.\n')
+cat('The standard entropy of the aqueous electron, which is a solely a pseudospecies defined by *e*<sup>-</sup> = -Z, is opposite that of Z.<span style="color:red">**</span>\n\n')
+cat('Despite these considerations, the final column of the thermodynamic database (`thermo$obigt`) lists a charge of "0" for both the aqueous proton and electron.\n')
+cat('Data in this this column are used in CHNOSZ only to specify the charge that is input to the "*g*-function" ([Tanger and Helgeson, 1988](https://doi.org/10.2475/ajs.288.1.19); [Shock and Helgeson, 1988](https://doi.org/10.1016/0016-7037(88)90181-0)).\n')
+cat('Setting it to zero prevents activation of the *g*-function, which would result in non-zero contributions to thermodynamic properties, conflicting with the conventions mentioned above.\n')
+cat('All other calculations in CHNOSZ obtain the elemental makeup, including the correct charge for the species, by parsing the chemical formulas stored in the database.<span style="color:red">^^</span>\n\n')
+cat('<span style="color:red">**</span>Likewise, [GEM-Selektor](http://gems.web.psi.ch/) defines "independent components" to be stoichiometric units usually consisting of elements and charge; the latter, [which is named Zz](http://gems.web.psi.ch/tests/TestNaCl-dep.html) and has a standard molal entropy of -65.34 J/mol/K and heat capacity of -14.418 J/mol/K (negative one-half those of gaseous hydrogen), is negated in the formula of the hypothetical "aqueous electron" ([Kulik, 2006](https://doi.org/10.1016/j.chemgeo.2005.08.014)).\n\n')
+cat('<span style="color:red">^^</span> Relatedly, charged amino acid sidechain groups have a charge that is tabulated as zero, because other values would be incompatible with group additivity of cations and anions (for which the *g*-function produces derivatives of the omega parameter (ω) in the revised HKF equations of state that are not opposite each other) to give a neutral species (for which the derivatives of ω are taken to be zero) (cf. [Dick et al., 2006](https://doi.org/10.5194/bg-3-311-2006)).\n')
```
```{r used, include=FALSE}
# initialize the list of used species
@@ -147,7 +165,7 @@
### `r setfile("inorganic_aq.csv")`
```{r inorganic_aq, results="asis", echo=FALSE}
-cat("ZnCl4-2 was present in sprons92.dat but not in slop98.dat or later files, and is not included in CHNOSZ.<hr>")
+cat("ZnCl<sub>4</sub><sup>-2</sup> was present in sprons92.dat but not in slop98.dat or later files, and is not included in CHNOSZ.<hr>")
```
```{r reflist, results="asis", echo=FALSE}
Modified: pkg/CHNOSZ/vignettes/obigt.bib
===================================================================
--- pkg/CHNOSZ/vignettes/obigt.bib 2017-10-03 08:41:50 UTC (rev 241)
+++ pkg/CHNOSZ/vignettes/obigt.bib 2017-10-04 15:51:38 UTC (rev 242)
@@ -742,6 +742,17 @@
doi = {10.1016/S0016-7037(97)00009-4},
}
+ at Article{TH88,
+ author = {Tanger, IV, John C. and Helgeson, Harold C.},
+ journal = {American Journal of Science},
+ title = {{C}alculation of the thermodynamic and transport properties of aqueous species at high pressures and temperatures: {R}evised equations of state for the standard partial molal properties of ions and electrolytes},
+ year = {1988},
+ volume = {288},
+ number = {1},
+ pages = {19--98},
+ doi = {10.2475/ajs.288.1.19},
+}
+
@Article{TSD97,
author = {Tardy, Yves and Schaul, Rapha\`ele and Duplay, Jo\"elle},
journal = {Comptes Rendus de l'Academie des Sciences, Serie IIa: Sciences de la Terre et des Planetes},
@@ -764,6 +775,27 @@
url = {https://srd.nist.gov/JPCRD/jpcrdS2Vol11.pdf},
}
+ at Article{WP02,
+ author = {Wagner, W. and Pru{\ss}, A.},
+ journal = {Journal of Physical and Chemical Reference Data},
+ title = {{T}he {IAPWS} formulation 1995 for the thermodynamic properties of ordinary water substance for general and scientific use},
+ year = {2002},
+ volume = {31},
+ number = {2},
+ pages = {387 -- 535},
+ doi = {10.1063/1.1461829},
+}
+
+ at Book{CWM89,
+ editor = {Cox, J. D. and Wagman, D. D. and Medvedev, V. A.},
+ publisher = {Hemisphere Publishing Corporation},
+ title = {{CODATA} {K}ey {V}alues for {T}hermodynamics},
+ year = {1989},
+ address = {New York},
+ pages = {271},
+ url = {http://www.worldcat.org/oclc/18559968},
+}
+
@Article{GM09,
author = {Grevel, Klaus-Dieter and Majzlan, Juraj},
journal = {Geochimica et Cosmochimica Acta},
@@ -950,16 +982,16 @@
}
@Article{Eva90,
- author = {Evans, Bernard W.},
- journal = {Lithos},
- title = {{P}hase relations of epidote-blueschists},
- year = {1990},
- volume = {25},
- number = {1},
- pages = {3--23},
- note = {Third International Eclogite Conference},
- doi = {10.1016/0024-4937(90)90003-J},
- issn = {0024-4937},
+ author = {Evans, Bernard W.},
+ journal = {Lithos},
+ title = {{P}hase relations of epidote-blueschists},
+ year = {1990},
+ volume = {25},
+ number = {1},
+ pages = {3--23},
+ note = {Third International Eclogite Conference},
+ doi = {10.1016/0024-4937(90)90003-J},
+ issn = {0024-4937},
}
@Misc{JUN92,
@@ -970,3 +1002,27 @@
url = {http://titan.minpet.unibas.ch/minpet/theriak/prog170204/},
}
+ at Incollection{PRPG97,
+ author = {Puigdomenech, Ignasi and Rard, Joseph A. and Plyasunov, Andrey V. and Grenthe, Ingmar},
+ booktitle = {Modelling in Aquatic Chemistry},
+ publisher = {OECD Nuclear Energy Data Bank},
+ title = {{T}emperature corrections to thermodynamic data and enthalpy calculations},
+ year = {1997},
+ editor = {Grenthe, I. and Puigdomenech, I.},
+ pages = {427--493},
+ url = {http://www.oecd-nea.org/dbtdb/pubs/book-pdf/427-494.pdf},
+}
+
+ at Article{Kul06,
+ author = {Kulik, D. A.},
+ journal = {Chemical Geology},
+ title = {{D}ual-thermodynamic estimation of stoichiometry and stability of solid solution end members in aqueousâsolid solution systems},
+ year = {2006},
+ volume = {225},
+ number = {3},
+ pages = {189--212},
+ note = {Solid solutions: from theory to experiment},
+ doi = {10.1016/j.chemgeo.2005.08.014},
+ issn = {0009-2541},
+}
+
More information about the CHNOSZ-commits
mailing list