====== Grt-Opx: Nickel, Green, 1985 ======
=== Details ===
This sensor from [[:about_tpf|TPF]] collection
^ Article | |
^ Collibration | |
^ Precision | |
^ Ranges | |
^ Renew sensors | |
* заголовок
* краткое описание
* статья
* ссылка
* карточка
* подробное описание
* код
* тест
=== Source ===
source("utilities_tpf.r");
sensors.p.grt_opx_nickel_green_1985 <- function(Grt, Opx, Temp, ...){
T <- Temp;
Opx <- tpf.recalc_minaral("OPX",Opx);
Grt <- tpf.recalc_minaral("GRT",Grt);
X <- (Opx$Al_c4_pfu + Opx$Al_c6_pfu - Opx$Cr_pfu - 2 * Opx$Ti_pfu + Opx$Na_pfu) / 2;
Y <- 1 - Opx$Cr_pfu - Opx$Ti_pfu;
Z <- 1 - Opx$Ca_pfu - Opx$Na_pfu - Opx$Mn_pfu;
M <- Opx$Mg_pfu / (Opx$Mg_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu);
F <- (Opx$Fe_p2_pfu + Opx$Fe_p3_pfu) / (Opx$Mg_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu);
A <- Grt$Ca_pfu / (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mg_pfu + Grt$Ca_pfu + Grt$Mn_pfu);
B <- (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu) / (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mg_pfu + Grt$Ca_pfu + Grt$Mn_pfu);
C <- (Grt$Al_c4_pfu + Grt$Al_c6_pfu) / (Grt$Al_c4_pfu + Grt$Al_c6_pfu + Grt$Cr_pfu);
D <- Grt$Cr_pfu / (Grt$Al_c4_pfu + Grt$Al_c6_pfu + Grt$Cr_pfu);
R <- Opx$Cr_pfu;
TT <- T + 273;
YY <- Y - X;
ZM <- YY * M;
ZF <- YY * F;
K <- log((1 - A)^3 * C^2 / YY / Z^2 / X);
P <- ( - 1 / (183.3 + 178.98 * X * (1 - X))) * ( - 1.987 * K * TT - 9000 * A^2 - 3400 * (2 * D^2 - ZM * R) - A * D * (90853 - 52.1 * TT) - 7590 * B * A + 5157 * ZM * ZF + 6047 - 3.23 * TT);
return(data.frame(Name=paste0(Grt$Name,"-", Opx$Name),Temp=Temp,P_calc=P));
}
sensors.p.grt_opx_nickel_green_1985.args <- function(){
ars <- list();
ars$minerals <- c("Grt", "Opx");
ars$ranges <- c("Temp");
return(ars);
}
#sensors.p.grt_opx_nickel_green_1985.test <- function(){
#
#}
{{tag> tpf Grt Opx }}