====== Cpx-Opx: Sen, Jones, 1989 ======
Pyroxenes in the spinel peridotite field.
=== Details ===
This sensor from [[:about_tpf|TPF]] collection
^ Article | |
^ Callibration | 8 experiments |
^ Precision | T = ±50° |
^ Ranges | P = 10 - 15 kBar, T = 925 - 1150 |
^ Renew sensors | Wells, Nikel et al., Bertrand-Mercier |
* заголовок
* краткое описание
* статья
* ссылка
* карточка
* подробное описание
* код
* тест
=== Source ===
source("utilities_tpf.r");
sensors.t.cpx_opx_sen_jones_1989 <- function(Cpx, Opx, usePFU=FALSE, ...){
row_names = paste0(Cpx$Name,"-", Opx$Name);
if(!usePFU) {
Cpx <- tpf.recalc_minaral("CPX",Cpx);
Opx <- tpf.recalc_minaral("OPX",Opx);
}
A1 <- (1 - (Cpx$Al_c4_pfu + Cpx$Al_c6_pfu) / 2 - Cpx$Ti_pfu - Cpx$Cr_pfu - Cpx$Fe_p3_pfu) * Cpx$Mg_pfu;
A2 <- (1 - (Cpx$Al_c4_pfu + Cpx$Al_c6_pfu) / 2 - Cpx$Ti_pfu - Cpx$Cr_pfu - Cpx$Fe_p3_pfu + 1 - Cpx$Mn_pfu - Cpx$Ca_pfu - Cpx$Na_pfu);
A3 <- (1 - Cpx$Mn_pfu - Cpx$Ca_pfu - Cpx$Na_pfu) * Cpx$Mg_pfu;
A4 <- (1 - (Cpx$Al_c4_pfu + Cpx$Al_c6_pfu) / 2 - Cpx$Ti_pfu - Cpx$Cr_pfu - Cpx$Fe_p3_pfu + 1 - Cpx$Mn_pfu - Cpx$Ca_pfu - Cpx$Na_pfu);
B1 <- (1 - (Opx$Al_c4_pfu + Opx$Al_c6_pfu) / 2 - Opx$Ti_pfu - Opx$Cr_pfu - Opx$Fe_p3_pfu) * Opx$Mg_pfu;
B2 <- (1 - (Opx$Al_c4_pfu + Opx$Al_c6_pfu) / 2 - Opx$Ti_pfu - Opx$Cr_pfu - Opx$Fe_p3_pfu + 1 - Opx$Mn_pfu - Opx$Ca_pfu - Opx$Na_pfu);
B3 <- (1 - Opx$Mn_pfu - Opx$Ca_pfu - Opx$Na_pfu) * Opx$Mg_pfu;
B4 <- (1 - (Opx$Al_c4_pfu + Opx$Al_c6_pfu) / 2 - Opx$Ti_pfu - Opx$Cr_pfu - Opx$Fe_p3_pfu + 1 - Opx$Mn_pfu - Opx$Ca_pfu - Opx$Na_pfu);
A <- A1 / A2 * A3 / A4;
B <- B1 / B2 * B3 / B4;
T_eq3 <- 4900 / (1.807 - log(A / B)) - 273;
A <- (1 - (Cpx$Al_c6_pfu) - Cpx$Ti_pfu - Cpx$Cr_pfu - Cpx$Fe_p3_pfu) * Cpx$Mg_pfu / (Cpx$Mg_pfu + Cpx$Fe_p2_pfu) * Cpx$Ca_pfu;
B <- (1 - (Opx$Al_c6_pfu) - Opx$Ti_pfu - Opx$Cr_pfu - Opx$Fe_p3_pfu) * Opx$Mg_pfu / (Opx$Mg_pfu + Opx$Fe_p2_pfu) * Opx$Ca_pfu;
T_eq4 <- 7045 / (2.47 - log(B / A)) - 273;
return(data.frame(Name=row_names,T_calc_eq3=T_eq3,T_calc_eq4=T_eq4));
}
sensors.t.cpx_opx_sen_jones_1989.args <- function(){
ars <- list();
ars$minerals <- c("Cpx", "Opx");
ars$ranges <- c();
return(ars);
}
sensors.t.cpx_opx_sen_jones_1989.test <- function(){
cpx <- data.frame(Name=c('Cpx'), SiO2_wtp=c(55.65), TiO2_wtp=c(0.06), Al2O3_wtp=c(0.59), Cr2O3_wtp=c(0.08),
FeO_wtp=c(1.53), MgO_wtp=c(19.85), CaO_wtp=c(22.27), MnO_wtp=c(0.00), Na2O_wtp=c(0.26));
opx <- data.frame(Name=c('Opx'), SiO2_wtp=c(55.16), TiO2_wtp=c(0.08), Al2O3_wtp=c(4.16), Cr2O3_wtp=c(0.38),
FeO_wtp=c(5.00), MgO_wtp=c(34.87), CaO_wtp=c(1.21), MnO_wtp=c(0.11), Na2O_wtp=c(0.09));
res <- sensors.t.cpx_opx_sen_jones_1989(cpx,opx);
expect_equal(object = res[1,]$T_calc_eq3, 1040, tolerance = 1);
expect_equal(object = res[1,]$T_calc_eq4, 1006, tolerance = 1);
}
{{tag> tpf Cpx Opx AP_igroup fixed}}