Grt-Opx: Slavinskiy, 1980 <B>

Details

This sensor from TPF collection

Article
Collibration
Precision
Ranges
Renew sensors

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

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

Source

source("utilities_tpf.r");

sensors.p.grt_opx_slavinskiy_1980_b <- function(Grt, Opx, ...){
    Opx <- tpf.recalc_minaral("OPX",Opx);
    Grt <- tpf.recalc_minaral("GRT",Grt);

    A <- (Opx$Al_c4_pfu + Opx$Al_c6_pfu + Opx$Cr_pfu) / (Opx$Al_c4_pfu + Opx$Al_c6_pfu + Opx$Cr_pfu + Opx$Ca_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Mn_pfu + Opx$Mg_pfu);
    C <- Opx$Ca_pfu / (Opx$Al_c4_pfu + Opx$Al_c6_pfu + Opx$Cr_pfu + Opx$Ca_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Mn_pfu + Opx$Mg_pfu);
    F <- (Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Mn_pfu + Opx$Mg_pfu) / (Opx$Al_c4_pfu + Opx$Al_c6_pfu + Opx$Cr_pfu + Opx$Ca_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Mn_pfu + Opx$Mg_pfu);
    MO <- Opx$Mg_pfu / (Opx$Mg_pfu + Opx$Mn_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu);
    X <- (Grt$Al_c4_pfu + Grt$Al_c6_pfu + Grt$Cr_pfu) / (Grt$Al_c4_pfu + Grt$Al_c6_pfu + Grt$Cr_pfu + Grt$Ca_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mn_pfu + Grt$Mg_pfu);
    Y <- Grt$Ca_pfu / (Grt$Al_c4_pfu + Grt$Al_c6_pfu + Grt$Cr_pfu + Grt$Ca_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mn_pfu + Grt$Mg_pfu);
    Z <- (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mn_pfu + Grt$Mg_pfu) / (Grt$Al_c4_pfu + Grt$Al_c6_pfu + Grt$Cr_pfu + Grt$Ca_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mn_pfu + Grt$Mg_pfu);
    MG <- Grt$Mg_pfu / (Grt$Mg_pfu + Grt$Mn_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu);
    XX <- 0.5 * MG + 0.5 * MO;
    K <- F * Y / Z / C;
    U <-  - (A / X - F / Z) / (C / Y - F / Z);
    J <- A / X * (C / Y)^U * (F / Z)^( - 1 - U);
    J <- log(J);
    P <-  - 31.8 * log(K) - 52.8 * log(A) + 36.6 * XX - 36.9;
    PP <-  - 36.3 * log(J / (1 + U)) - 74.7 * log(A) + 34.3 * XX - 75;
    P <- (P + PP) / 2;
    warning(" ACCURACY +- 2.6 KBAR.");
    return(data.frame(Name=paste0(Grt$Name,"-", Opx$Name),P_calc=P));
}

sensors.p.grt_opx_slavinskiy_1980_b.args <- function(){
    ars <- list();
    ars$minerals <- c("Grt", "Opx");
    ars$ranges <- c();
    return(ars);
}

#sensors.p.grt_opx_slavinskiy_1980_b.test <- function(){
#
#}
, ,
  • sensors/p/grt_opx_slavinskiy_1980_b.txt
  • Последние изменения: 2018/11/12 15:08
  • (внешнее изменение)