This sensor from TPF collection
| Article | |
|---|---|
| Collibration | |
| Precision | |
| Ranges | |
| Renew sensors |
source("utilities_tpf.r");
sensors.p.grt_opx_slavinskiy_1980_b <- function(Grt, Opx, ...){
Opx <- tpf.recalc_minaral("OPX",Opx);
Grt <- tpf.recalc_minaral("GRT",Grt);
A <- (Opx$Al_c4_pfu + Opx$Al_c6_pfu + Opx$Cr_pfu) / (Opx$Al_c4_pfu + Opx$Al_c6_pfu + Opx$Cr_pfu + Opx$Ca_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Mn_pfu + Opx$Mg_pfu);
C <- Opx$Ca_pfu / (Opx$Al_c4_pfu + Opx$Al_c6_pfu + Opx$Cr_pfu + Opx$Ca_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Mn_pfu + Opx$Mg_pfu);
F <- (Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Mn_pfu + Opx$Mg_pfu) / (Opx$Al_c4_pfu + Opx$Al_c6_pfu + Opx$Cr_pfu + Opx$Ca_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Mn_pfu + Opx$Mg_pfu);
MO <- Opx$Mg_pfu / (Opx$Mg_pfu + Opx$Mn_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu);
X <- (Grt$Al_c4_pfu + Grt$Al_c6_pfu + Grt$Cr_pfu) / (Grt$Al_c4_pfu + Grt$Al_c6_pfu + Grt$Cr_pfu + Grt$Ca_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mn_pfu + Grt$Mg_pfu);
Y <- Grt$Ca_pfu / (Grt$Al_c4_pfu + Grt$Al_c6_pfu + Grt$Cr_pfu + Grt$Ca_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mn_pfu + Grt$Mg_pfu);
Z <- (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mn_pfu + Grt$Mg_pfu) / (Grt$Al_c4_pfu + Grt$Al_c6_pfu + Grt$Cr_pfu + Grt$Ca_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mn_pfu + Grt$Mg_pfu);
MG <- Grt$Mg_pfu / (Grt$Mg_pfu + Grt$Mn_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu);
XX <- 0.5 * MG + 0.5 * MO;
K <- F * Y / Z / C;
U <- - (A / X - F / Z) / (C / Y - F / Z);
J <- A / X * (C / Y)^U * (F / Z)^( - 1 - U);
J <- log(J);
P <- - 31.8 * log(K) - 52.8 * log(A) + 36.6 * XX - 36.9;
PP <- - 36.3 * log(J / (1 + U)) - 74.7 * log(A) + 34.3 * XX - 75;
P <- (P + PP) / 2;
warning(" ACCURACY +- 2.6 KBAR.");
return(data.frame(Name=paste0(Grt$Name,"-", Opx$Name),P_calc=P));
}
sensors.p.grt_opx_slavinskiy_1980_b.args <- function(){
ars <- list();
ars$minerals <- c("Grt", "Opx");
ars$ranges <- c();
return(ars);
}
#sensors.p.grt_opx_slavinskiy_1980_b.test <- function(){
#
#}