====== Cpx-Opx: Powell, 1978 ======
=== Details ===
This sensor from [[:about_tpf|TPF]] collection
^ Article | |
^ Callibration | ~25 points from different sources |
^ Precision | |
^ Ranges | ±50°C |
^ Renew sensors | |
* заголовок
* краткое описание
* статья
* ссылка
* карточка
* подробное описание
* код
* тест
=== Source ===
source("utilities_tpf.r");
sensors.t.cpx_opx_powell_1978 <- function(Cpx, Opx, P, usePFU=FALSE, ...){
row_names = paste0(Cpx$Name,"-", Opx$Name);
if(!usePFU){
Opx <- tpf.recalc_minaral("OPX",Opx);
Cpx <- tpf.recalc_minaral("CPX",Cpx);
}
M1 <- (1 - Opx$Mn_pfu - Opx$Ca_pfu - Opx$Na_pfu) * Opx$Mg_pfu;
M2 <- (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);
F1 <- (1 - Opx$Mn_pfu - Opx$Ca_pfu - Opx$Na_pfu) * Opx$Fe_p2_pfu;
F2 <- (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);
C <- Opx$Ca_pfu;
W1 <- (1 - Cpx$Mn_pfu - Cpx$Ca_pfu - Cpx$Na_pfu) * Cpx$Mg_pfu;
W2 <- (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);
G1 <- (1 - Cpx$Mn_pfu - Cpx$Ca_pfu - Cpx$Na_pfu) * Cpx$Fe_p2_pfu;
G2 <- (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);
K <- Cpx$Ca_pfu;
M <- M1 / M2;
F <- F1 / F2;
W <- W1 / W2;
G <- G1 / G2;
L <- log(C / M / (K / W));
T <- - (1600 + 80 * P + (K - W) * (6670 - 88 * P) - 1900 * F) / L - 273;
return(data.frame(Name=row_names,P=P,T_calc=T));
}
sensors.t.cpx_opx_powell_1978.args <- function(){
ars <- list();
ars$minerals <- c("Cpx", "Opx");
ars$ranges <- c("P");
return(ars);
}
#sensors.t.cpx_opx_powell_1978.test <- function(){
#
#}
{{tag> tpf Cpx Opx AP_igroup fixed}}