====== Grt-Opx-Pl-Qtz: Fonarev, 1994 ======
=== Details ===
This sensor from [[:about_tpf|TPF]] collection
^ Article | |
^ Collibration | |
^ Precision | |
^ Ranges | |
^ Renew sensors | |
* заголовок
* краткое описание
* статья
* ссылка
* карточка
* подробное описание
* код
* тест
=== Source ===
source("utilities_tpf.r");
sensors.p.grt_opx_pl_qtz_fonarev_1994 <- function(Grt, Opx, Pl, Qtz, Temp, ...){
T <- Temp;
Grt <- tpf.recalc_minaral("GRT2",Grt);
Opx <- tpf.recalc_minaral("OPX",Opx);
Pl <- tpf.recalc_minaral("PL",Pl);
Grt <- tpf.recalc_minaral("GRT",Grt);
B <- Opx$Mg_pfu / (Opx$Mg_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Mn_pfu + Opx$Ca_pfu + (Opx$Al_c4_pfu + Opx$Al_c6_pfu - (Opx$Na_pfu - Opx$Cr_pfu) - 2 * Opx$Ti_pfu) / 2);
A1 <- (Opx$Fe_p2_pfu + Opx$Fe_p3_pfu);
A2 <- (Opx$Mg_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Mn_pfu + Opx$Ca_pfu + (Opx$Al_c4_pfu + Opx$Al_c6_pfu - (Opx$Na_pfu - Opx$Cr_pfu) - 2 * Opx$Ti_pfu) / 2);
C1 <- (Opx$Al_c4_pfu + Opx$Al_c6_pfu - (Opx$Na_pfu - Opx$Cr_pfu) - 2 * Opx$Ti_pfu) / 2;
C2 <- (Opx$Mg_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Mn_pfu + Opx$Ca_pfu + (Opx$Al_c4_pfu + Opx$Al_c6_pfu - (Opx$Na_pfu - Opx$Cr_pfu) - 2 * Opx$Ti_pfu) / 2);
L <- Pl$Ca_pfu / (Pl$Ca_pfu + Pl$Na_pfu + Pl$K_pfu);
M <- Pl$Na_pfu / (Pl$Ca_pfu + Pl$Na_pfu + Pl$K_pfu);
X <- Grt$Fe_p2_pfu / (Grt$Fe_p2_pfu + Grt$Mg_pfu + Grt$Ca_pfu + Grt$Mn_pfu);
Y <- Grt$Ca_pfu / (Grt$Fe_p2_pfu + Grt$Mg_pfu + Grt$Ca_pfu + Grt$Mn_pfu);
Z <- Grt$Mg_pfu / (Grt$Fe_p2_pfu + Grt$Mg_pfu + Grt$Ca_pfu + Grt$Mn_pfu);
W <- Grt$TiO2_wtp + Grt$Fe2O3_wtp + Grt$MnO_wtp + Grt$Na2O_wtp + Grt$Grt$K_pfu2O_wtp + Grt$Cr2O3_wtp;
A <- A1 / A2;
C <- C1 / C2;
if (W<5.0) {
TT <- T + 273;
AA <- 3 * log(X) + 3 * ((Z^2 * (0.2 + X * 4.6) + Y^2 * (3.5 - 0.0014 * TT - 7.1 * X) + Y * Z * (Y * 4.3 - Z * 1.8 - 0.7)) / 0.001987 / TT);
AG <- 3 * log(Y) + 3 * ((Z^2 * (4 - 0.0015 * TT - Y * 6.1) + X^2 * ( - 0.1 - 0.0014 * TT + Y * 7.1) + X * Z * (3.4 - 0.0029 * TT - 2.8 * X + 1.8 * Z)) / 0.001987 / TT);
AF <- log(A) + ((B^2 * (5 * 1000 / TT - 4.4) - 6.5 * C^2 + B * C * (5 * 1000 / TT - 9.6)) / 0.001987 / TT);
AP <- log(L) + (M^2 * ((1980 - 1.526 * TT) + 2 * L * (4880 - 2.348 * TT)) / 1.9872 / TT);
K <- 3 * AP + 6 * AF - AG - 2 * AA;
P <- 17.4 + 0.0038 * TT - 11.48 * 1000 / TT - 1.09 * TT * K / 1000;
}
if (W>5.0) {
warning(" CANNOT BE USED FOR (TIO2+FE2O3+MNO+NA2O+K2O+CR2O3) IN GRT >5 WT.");
}
return(data.frame(Name=paste0(Pl$Name,"-", Grt$Name,"-", Opx$Name),Temp=Temp,P_calc=P));
}
sensors.p.grt_opx_pl_qtz_fonarev_1994.args <- function(){
ars <- list();
ars$minerals <- c("Grt", "Opx", "Pl", "Qtz");
ars$ranges <- c("Temp");
return(ars);
}
#sensors.p.grt_opx_pl_qtz_fonarev_1994.test <- function(){
#
#}
{{tag> tpf Pl Grt Opx }}