This sensor from TPF collection
| Article | |
|---|---|
| Collibration | |
| Precision | |
| Ranges | |
| Renew sensors |
source("utilities_tpf.r");
sensors.p.grt_opx_cpx_pl_qtz_paria_1988_b <- function(Grt, Opx, Cpx, Pl, Qtz, Temp, ...){
T <- Temp;
Opx <- tpf.recalc_minaral("OPX",Opx);
Pl <- tpf.recalc_minaral("PL",Pl);
Grt <- tpf.recalc_minaral("GRT",Grt);
Cpx <- tpf.recalc_minaral("CPX",Cpx);
A1 <- (1 - (Cpx$Al_c4_pfu + Cpx$Al_c6_pfu) / 2 - Cpx$Ti_pfu - Cpx$Cr_pfu - Cpx$Fe_p3_pfu) * Cpx$Fe_p2_pfu;
A2 <- ((1 - (Cpx$Al_c4_pfu + Cpx$Al_c6_pfu) / 2 - Cpx$Ti_pfu - Cpx$Cr_pfu - Cpx$Fe_p3_pfu + 1 - Cpx$Mn_pfu - Cpx$Ca_pfu - Cpx$Na_pfu));
A3 <- Cpx$Ca_pfu;
B1 <- (1 - (Opx$Al_c4_pfu + Opx$Al_c6_pfu) / 2 - Opx$Ti_pfu - Opx$Cr_pfu - Opx$Fe_p3_pfu) * Opx$Fe_p2_pfu;
B2 <- (1 - (Opx$Al_c4_pfu + Opx$Al_c6_pfu) / 2 - Opx$Ti_pfu - Opx$Cr_pfu - Opx$Fe_p3_pfu + 1 - Opx$Mn_pfu - Opx$Ca_pfu - Opx$Na_pfu);
B3 <- (1 - Opx$Mn_pfu - Opx$Ca_pfu - Opx$Na_pfu) * Opx$Fe_p2_pfu;
B4 <- (1 - (Opx$Al_c4_pfu + Opx$Al_c6_pfu) / 2 - Opx$Ti_pfu - Opx$Cr_pfu - Opx$Fe_p3_pfu + 1 - Opx$Mn_pfu - Opx$Ca_pfu - Opx$Na_pfu);
C <- Pl$Ca_pfu / (Pl$Ca_pfu + Pl$Na_pfu + Pl$K_pfu);
AL <- (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);
PY <- Grt$Mg_pfu / (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mg_pfu + Grt$Ca_pfu + Grt$Mn_pfu);
GR <- Grt$Ca_pfu / (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mg_pfu + Grt$Ca_pfu + Grt$Mn_pfu);
A <- A1 / A2 * A3;
B <- B1 / B2 * B3 / B4;
TT <- T + 273;
AC <- exp((1 - C)^2 * (1.009 + 4.62 * C)) * C * (1 + C)^2 / 4;
AAL <- (AL * exp(GR^2 * (1.52 - 5.165 * AL) + PY * GR * ( - 0.259 - 2.583 * AL - 1.498 * PY + 1.498 * GR))) ^3;
P <- (32.097 * TT - 26385 - 22.79 * (TT - 848 - TT * log(TT / 848)) - (3.655 + 0.0138 * TT) * (TT - 848)^2 / TT - 3.123 * TT * log(AC * B^2 / AAL / A)) / 1000;
warning(" THERE IS FORMULATIONS FOR THE FE- MEMBER EQUILIBRIA");
return(data.frame(Name=paste0(Pl$Name,"-", Cpx$Name,"-", Grt$Name,"-", Opx$Name),Temp=Temp,P_calc=P));
}
sensors.p.grt_opx_cpx_pl_qtz_paria_1988_b.args <- function(){
ars <- list();
ars$minerals <- c("Grt", "Opx", "Cpx", "Pl", "Qtz");
ars$ranges <- c("Temp");
return(ars);
}
#sensors.p.grt_opx_cpx_pl_qtz_paria_1988_b.test <- function(){
#
#}