This sensor from TPF collection
| Article | |
|---|---|
| Collibration | |
| Precision | |
| Ranges | |
| Renew sensors |
source("utilities_tpf.r");
sensors.t.grt_cpx_slavinskiy_1980 <- function(Grt, Cpx, P, ...){
Grt <- tpf.recalc_minaral("GRT",Grt);
Cpx <- tpf.recalc_minaral("CPX",Cpx);
A <- Grt$Mg_pfu / (Grt$Fe_p2_pfu + Grt$Mg_pfu + Grt$Ca_pfu);
B <- Grt$Ca_pfu / (Grt$Fe_p2_pfu + Grt$Mg_pfu + Grt$Ca_pfu);
C <- Grt$Fe_p2_pfu / (Grt$Fe_p2_pfu + Grt$Mg_pfu + Grt$Ca_pfu);
X <- Cpx$Mg_pfu / (Cpx$Fe_p2_pfu + Cpx$Mg_pfu + Cpx$Ca_pfu);
Y <- Cpx$Ca_pfu / (Cpx$Fe_p2_pfu + Cpx$Mg_pfu + Cpx$Ca_pfu);
Z <- Cpx$Fe_p2_pfu / (Cpx$Fe_p2_pfu + Cpx$Mg_pfu + Cpx$Ca_pfu);
M <- Grt$Mg_pfu / (Grt$Mg_pfu + Grt$Fe_p2_pfu);
N <- Cpx$Mg_pfu / (Cpx$Mg_pfu + Cpx$Fe_p2_pfu);
XX <- 0.5 * (N + M);
F <- (Z / C - X / A) / (Y / B - Z / C);
K <- log(X / A) + F * log(Y / B) - (1 + F) * log(Z / C);
T <- (1179 + 400 * XX) / (K / (1 + F) - 0.0042 * P + 0.925) - 273;
warning(" ACCURACY +/-37 C");
return(data.frame(Name=paste0(Cpx$Name,"-", Grt$Name),P=P,T_calc=T));
}
sensors.t.grt_cpx_slavinskiy_1980.args <- function(){
ars <- list();
ars$minerals <- c("Grt", "Cpx");
ars$ranges <- c("P");
return(ars);
}
#sensors.t.grt_cpx_slavinskiy_1980.test <- function(){
#
#}