Термометр с учетом неидеальности Fe-Mg обмена в гранате.
| Reference: | D. Nakamura A new formulation of garnet-clinopyroxene geothermometer based on accumulation and statistical analysis of a large experimental data set, 2009 [ref] |
|---|---|
| Collibration: | Экспериментальные данные. 333 пары в графитовых капсулах |
| Accuracy: | ±74 ºС |
| Ranges: | 800-1820 ºС 15-75 Kbar |
| Renew: | Krogh Ravna, 2000 |
Для улучшения этой статьи следует:
source('recalc_grt_8cat_norm.r');
source('recalc_cpx_4cat_norm_jd.r');
sensors.t.grt_cpx_nakamura <- function(Grt, Cpx, P, usePFU = FALSE, ...){
if (!usePFU) Grt <- recalc.grt_8cat_norm(Grt);
if (!usePFU) Cpx <- recalc.cpx_4cat_norm_jd(Cpx);
X_Grt_Ca <- Grt$Ca_pfu / (Grt$Mg_pfu + Grt$Fe_pfu + Grt$Ca_pfu);
X_Grt_Fe <- Grt$Fe_pfu / (Grt$Mg_pfu + Grt$Fe_pfu + Grt$Ca_pfu);
X_Grt_Mg <- Grt$Mg_pfu / (Grt$Mg_pfu + Grt$Fe_pfu + Grt$Ca_pfu);
X_Cpx_Fe <- Cpx$Fe_p2_pfu / (Cpx$Al_pfu + Cpx$Fe_p2_pfu + Cpx$Fe_p3_pfu + Cpx$Mg_pfu);
X_Cpx_Mg <- Cpx$Mg_pfu / (Cpx$Al_pfu + Cpx$Fe_p2_pfu + Cpx$Fe_p3_pfu + Cpx$Mg_pfu);
Kd <- (Grt$Fe_pfu / Grt$Mg_pfu) / (Cpx$Fe_p2_pfu / Cpx$Mg_pfu);
X_Prp <- Grt$Mg_pfu / (Grt$Fe_pfu + Grt$Mn_pfu + Grt$Mg_pfu + Grt$Ca_pfu);
X_Alm <- Grt$Fe_pfu / (Grt$Fe_pfu + Grt$Mn_pfu + Grt$Mg_pfu + Grt$Ca_pfu);
X_Sps <- Grt$Mn_pfu / (Grt$Fe_pfu + Grt$Mn_pfu + Grt$Mg_pfu + Grt$Ca_pfu);
X_Grs <- Grt$Ca_pfu / (Grt$Fe_pfu + Grt$Mn_pfu + Grt$Mg_pfu + Grt$Ca_pfu);
A <- 0.5*X_Grs*(X_Prp - X_Alm - X_Sps);
B <- 0.5*X_Grs*(X_Prp - X_Alm + X_Sps);
C <- 0.5*(X_Grs + X_Sps)*(X_Prp - X_Alm);
Tcalc <- ( 2784 + 14.52 * P +
(2610 + 1.44*P)*(2*X_Grs*X_Prp - A) +
(1183 + 6.98*P)*(X_Grs^2 - A) -
105*(2*X_Grs*X_Alm + B) +
(814.6 + 3.61*P)*(X_Grs^2 + B) -
(254.6 + 8.42*P)*(2*X_Prp*X_Alm - X_Alm^2 + C) -
83.6*(X_Prp^2 - 2*X_Prp*X_Alm + C) +
1388*X_Sps -
462*(X_Cpx_Mg - X_Cpx_Fe) ) /
( log(Kd) + 1.431 + 0.695*(2*X_Grs*X_Prp + X_Grs^2 - 2*A) +
0.203 * (X_Grs^2 - 2*X_Grs*X_Alm) +
0.922 * X_Sps ) -
273;
return (data.frame(Name=paste0(Grt$Name,'-',Cpx$Name),P = P, T_calc_GrtCpx_Nakamura = Tcalc));
}
sensors.t.grt_cpx_nakamura.args <- function() {
ars <- list();
ars$minerals = c('Grt','Cpx');
ars$ranges = c('P');
return(ars);
}
sensors.t.grt_cpx_nakamura.test <- function () {
Grt <- data.frame(Name='Grt',SiO2_wtp=40.23,TiO2_wtp=0.55, Al2O3_wtp=21.87, FeO_wtp=19.03, MnO_wtp=0.40, MgO_wtp=10.07, CaO_wtp=7.27);
Cpx <- data.frame(Name='Cpx',SiO2_wtp=52.86,TiO2_wtp=1.11, Al2O3_wtp=10.24, FeO_wtp=6.31, MgO_wtp=9.92, CaO_wtp=14.49, Na2O=4.65);
result <- sensors.t.grt_cpx_nakamura (Grt, Cpx, 25);
expect_equal(result$T_calc_GrtCpx_Nakamura, 1036, tolerance = 1);
}