====== Grt-Cpx: Slavinskiy, 1980 ======
=== Details ===
This sensor from [[:about_tpf|TPF]] collection
^ Article | |
^ Collibration | |
^ Precision | |
^ Ranges | |
^ Renew sensors | |
* заголовок
* краткое описание
* статья
* ссылка
* карточка
* подробное описание
* код
* тест
=== Source ===
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(){
#
#}
{{tag> tpf Cpx Grt }}