Grt-Pl-Qtz-Ky: Koziol, Newton, 1989

Details

This sensor from TPF collection

Article
Collibration
Precision
Ranges
Renew sensors

Использовать Проверить

  • заголовок
  • краткое описание
  • статья
  • ссылка
  • карточка
  • подробное описание
  • код
  • тест

Source

source("utilities_tpf.r");

sensors.p.grt_pl_qtz_ky_koziol_newton_1989 <- function(Grt, Pl, Qtz, Ky, 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);
    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);
    M <- Grt$Mg_pfu / (Grt$Mg_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu);
    N <- Pl$Ca_pfu / (Pl$Ca_pfu + Pl$Na_pfu + Pl$K_pfu);
    TT <- T + 273;
    A <- X * exp(((1 - X)^2 * ( - 2060 + 35700 * M - 49500 * M^2 + 2 * X * (3390 - 37100 * M + 69400 * M^2 +      2060 - 35700 * M + 49500 * M^2))) / TT / 8.314);
    B <- N * (1 + N)^2 / 4 * exp((2050 + 9392 * N) * (1 - N)^2 / 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 <- 190.86 - (125.24 - ( - 0.512 - 0.97 * Z / (Z + Y)) * (Z + Y)^2 + D * E);
    P <- 41.84 * (1.582 * (22.80 * (TT - 273) - 1093) + 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_ky_koziol_newton_1989.args <- function(){
    ars <- list();
    ars$minerals <- c("Grt", "Pl", "Qtz", "Ky");
    ars$ranges <- c("Temp");
    return(ars);
}

#sensors.p.grt_pl_qtz_ky_koziol_newton_1989.test <- function(){
#
#}
, ,