This sensor from TPF collection
| Article | |
|---|---|
| Collibration | |
| Precision | |
| Ranges | |
| Renew sensors | 
source("utilities_tpf.r");
sensors.p.grt_opx_harley_1984_b <- function(Grt, Opx, Temp, ...){
T <- Temp;
    Opx <- tpf.recalc_minaral("OPX",Opx);
    Grt <- tpf.recalc_minaral("GRT",Grt);
    X <- Grt$Ca_pfu / (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mg_pfu + Grt$Ca_pfu);
    Y <- Grt$Mg_pfu / (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mg_pfu + Grt$Ca_pfu);
    Z <- (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu) / (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mg_pfu + Grt$Ca_pfu);
    A <- Opx$Mg_pfu / (Opx$Mg_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu);
    B <- (Opx$Fe_p2_pfu + Opx$Fe_p3_pfu) / (Opx$Mg_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu);
    C <- (Opx$Al_c6_pfu + Opx$Al_c4_pfu) / 2;
    TT <- T + 273;
    K <- log(Y^3 / C / A^3 / (1 - C));
    J <- 1.9872 * K * TT + TT * (0.15 + 0.001507 * (TT - 970)) - 2467;
    F <- (3525 * 1000 / TT - 1667) * (1 - 2 * A * (1 - C)) * (1 - A) * (1 - C);
    W <- (4.75 * TT - 6680) * 2 * (1 - A) * (1 - C) - 920 * (1 - 2 * C) * (1 - C) * (1 - A);
    L <- (5436 - 2.45 * TT) * ((1 - A) * (A * (1 - C) + C)) + 5700 * (X * (X + Z));
    P <- 1 / 206.74 * (J - (2458 * 1000 / TT - 1261) * 2 * B^2 - F - W + L);
    warning(" WITH AN AUTHOR CORRECTION (PERS. COMMUNIC.)");
    return(data.frame(Name=paste0(Grt$Name,"-", Opx$Name),Temp=Temp,P_calc=P));
}
sensors.p.grt_opx_harley_1984_b.args <- function(){
    ars <- list();
    ars$minerals <- c("Grt", "Opx");
    ars$ranges <- c("Temp");
    return(ars);
}
#sensors.p.grt_opx_harley_1984_b.test <- function(){
#
#}