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

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_b <- 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));
    D <- (F * exp((3300 - 1.5 * TT) * X * (1 - F) / 1.9872 / TT))^3;
    C <- (X * exp((3300 - 1.5 * TT) * F * (1 - X) / 1.9872 / TT))^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_b.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_b.test <- function(){
#
#}
, , , ,