Grt-Cpx: Slavinskiy, 1980

Details

This sensor from TPF collection

Article
Collibration
Precision
Ranges
Renew sensors

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

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

Source

source("utilities_tpf.r");

sensors.t.grt_cpx_slavinskiy_1980 <- function(Grt, Cpx, P, ...){
    Grt <- tpf.recalc_minaral("GRT",Grt);
    Cpx <- tpf.recalc_minaral("CPX",Cpx);

    A <- Grt$Mg_pfu / (Grt$Fe_p2_pfu + Grt$Mg_pfu + Grt$Ca_pfu);
    B <- Grt$Ca_pfu / (Grt$Fe_p2_pfu + Grt$Mg_pfu + Grt$Ca_pfu);
    C <- Grt$Fe_p2_pfu / (Grt$Fe_p2_pfu + Grt$Mg_pfu + Grt$Ca_pfu);
    X <- Cpx$Mg_pfu / (Cpx$Fe_p2_pfu + Cpx$Mg_pfu + Cpx$Ca_pfu);
    Y <- Cpx$Ca_pfu / (Cpx$Fe_p2_pfu + Cpx$Mg_pfu + Cpx$Ca_pfu);
    Z <- Cpx$Fe_p2_pfu / (Cpx$Fe_p2_pfu + Cpx$Mg_pfu + Cpx$Ca_pfu);
    M <- Grt$Mg_pfu / (Grt$Mg_pfu + Grt$Fe_p2_pfu);
    N <- Cpx$Mg_pfu / (Cpx$Mg_pfu + Cpx$Fe_p2_pfu);
    XX <- 0.5 * (N + M);
    F <- (Z / C - X / A) / (Y / B - Z / C);
    K <- log(X / A) + F * log(Y / B) - (1 + F) * log(Z / C);
    T <- (1179 + 400 * XX) / (K / (1 + F) - 0.0042 * P + 0.925) - 273;
    warning(" ACCURACY +/-37 C");
    return(data.frame(Name=paste0(Cpx$Name,"-", Grt$Name),P=P,T_calc=T));
}

sensors.t.grt_cpx_slavinskiy_1980.args <- function(){
    ars <- list();
    ars$minerals <- c("Grt", "Cpx");
    ars$ranges <- c("P");
    return(ars);
}

#sensors.t.grt_cpx_slavinskiy_1980.test <- function(){
#
#}
, ,