====== Grt-Pl-Qtz-Sil: Ganguly, Saxena, 1984 ======
=== Details ===
This sensor from [[:about_tpf|TPF]] collection
^ Article | |
^ Collibration | |
^ Precision | |
^ Ranges | |
^ Renew sensors | |
* заголовок
* краткое описание
* статья
* ссылка
* карточка
* подробное описание
* код
* тест
=== Source ===
source("utilities_tpf.r");
sensors.p.grt_pl_qtz_sil_ganguly_saxena_1984 <- function(Grt, Pl, Qtz, Sil, Temp, ...){
T <- Temp;
Pl <- tpf.recalc_minaral("PL",Pl);
Grt <- tpf.recalc_minaral("GRT",Grt);
X <- Grt$Ca_pfu / (Grt$Mg_pfu + Grt$Ca_pfu + Grt$Mn_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu);
M <- Grt$Mn_pfu / (Grt$Mg_pfu + Grt$Ca_pfu + Grt$Mn_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu);
Y <- Grt$Mg_pfu / (Grt$Mg_pfu + Grt$Ca_pfu + Grt$Mn_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu);
Z <- (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu) / (Grt$Mg_pfu + Grt$Ca_pfu + Grt$Mn_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu);
N <- Pl$Ca_pfu / (Pl$Ca_pfu + Pl$Na_pfu + Pl$K_pfu);
S <- Pl$Na_pfu / (Pl$Ca_pfu + Pl$Na_pfu + Pl$K_pfu);
TT <- T + 273;
A <- X * exp(((4047 - 1.5 * TT - 6094 * X) * Y^2 + ( - 630 - 1.5 * TT + 10500 * X) * Z^2 + Y * Z * (3168 - 3 * TT + 2203 * X + 2300 * (Y - Z) + 5300 * (1 - 2 * X)) + Y * M * ( - 476 - 1.5 * TT - 3047 * X + 1523 * (1 - 2 * X)) + Z * M * (1995 - 1.5 * TT + 5250 * X - 2625 * (1 - 2 * X)) - 2 * 1150 * Z * Y * M) / 1.9872 / TT);
B <- N * exp(S^2 * (967 + 715 * (3 * N - S)) / 1.9872 / TT);
D <- - 0.418 - 0.062 * Z / (Z + Y);
G <- (Z + Y - 0.94 + 0.026 * Z / (Z + Y)) / (0.083 - 0.017 * Z / (Z + Y));
E <- (1 + G * (Z + Y) / (0.083 - 0.017 * Z / (Z + Y))) * exp( - G^2 / 2);
C <- 179.86 - (125.24 - ( - 0.512 - 0.97 * Z / (Z + Y)) * (Z + Y)^2 + D * E);
P <- 41.84 * (1.304 * 1000 * (0.0238 * (TT - 273) - 1.17) + 3 * 1.9872 * TT * log(A / B)) / C / 1000;
return(data.frame(Name=paste0(Pl$Name,"-", Grt$Name),Temp=Temp,P_calc=P));
}
sensors.p.grt_pl_qtz_sil_ganguly_saxena_1984.args <- function(){
ars <- list();
ars$minerals <- c("Grt", "Pl", "Qtz", "Sil");
ars$ranges <- c("Temp");
return(ars);
}
#sensors.p.grt_pl_qtz_sil_ganguly_saxena_1984.test <- function(){
#
#}
{{tag> tpf Pl Grt }}