Grt-Ms-Pl-Bt: Ashworth, Evirgen, 1985 <A>

Details

This sensor from TPF collection

Article
Collibration
Precision
Ranges
Renew sensors

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

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

Source

source("utilities_tpf.r");

sensors.p.grt_ms_pl_bt_ashworth_evirgen_1985_a <- function(Grt, Ms, Pl, Bt, Temp, ...){
T <- Temp;
    Bt <- tpf.recalc_minaral("BT",Bt);
    Ms <- tpf.recalc_minaral("MS",Ms);
    Pl <- tpf.recalc_minaral("PL",Pl);
    Grt <- tpf.recalc_minaral("GRT",Grt);

    X <- Grt$Mg_pfu / (Grt$Mg_pfu + Grt$Mn_pfu + Grt$Ca_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu);
    Y <- (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu) / (Grt$Mg_pfu + Grt$Mn_pfu + Grt$Ca_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu);
    Z <- Grt$Mn_pfu / (Grt$Mg_pfu + Grt$Mn_pfu + Grt$Ca_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu);
    F <- Grt$Ca_pfu / (Grt$Mg_pfu + Grt$Mn_pfu + Grt$Ca_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu);
    M <- Bt$K_pfu;
    L <- Ms$K_pfu;
    N <- Bt$Mg_pfu / 3;
    R <- Ms$Al_c6_pfu / 2;
    S <- Pl$Ca_pfu / (Pl$Ca_pfu + Pl$Na_pfu + Pl$K_pfu);
    TT <- T + 273;
    A <- M * N^3;
    B <- L * R^2;
    E <- S * (1 + S)^2 / 4 * exp((1 - S)^2 / TT / 1.9872 * (2050 + 9392 * S));
    C <- (X * exp(F^2 * ( - 0.104 + 3.968 * X) + Y^2 * (1.628 - 2.995 * X) +      Y * F * (4.673 - 6.414 * X - 3.418 * (F - Y)) + Z * Y * (3.824 - 3.482 * X)))^3;
    D <- (F * exp(X^2 * (1.88 - 3.968 * F) + Y^2 * ( - 1.165 + 6.836 * F) + X * Y * (     4.003 - 5.467 * F + 1.497 * (X - Y)) + Z * Y * ( - 1.165 + 6.836 * F)))^3;
    QQ <- A * E^3;
    P <- ( - 425 + 30.98 * TT - 1.9872 * TT * log(QQ / C / D / B)) / 1.733 / 1000;
    return(data.frame(Name=paste0(Ms$Name,"-", Pl$Name,"-", Grt$Name,"-", Bt$Name),Temp=Temp,P_calc=P));
}

sensors.p.grt_ms_pl_bt_ashworth_evirgen_1985_a.args <- function(){
    ars <- list();
    ars$minerals <- c("Grt", "Ms", "Pl", "Bt");
    ars$ranges <- c("Temp");
    return(ars);
}

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