Grt-Opx: Bhattacharya, 1991

Details

This sensor from TPF collection

Article
Collibration
Precision
Ranges
Renew sensors

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

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

Source

source("utilities_tpf.r");

sensors.t.grt_opx_bhattacharya_1991 <- function(Grt, Opx, P, ...){
    Opx <- tpf.recalc_minaral("OPX",Opx);
    Grt <- tpf.recalc_minaral("GRT",Grt);

    MGR <- Grt$Mg_pfu / (Grt$Mg_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mn_pfu + Grt$Ca_pfu);
    CGR <- Grt$Ca_pfu / (Grt$Mg_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mn_pfu + Grt$Ca_pfu);
    FGR <- (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu) / (Grt$Mg_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mn_pfu + Grt$Ca_pfu);
    MNG <- Grt$Mn_pfu / (Grt$Mg_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mn_pfu + Grt$Ca_pfu);
    FOP <- (Opx$Fe_p2_pfu + Opx$Fe_p3_pfu) / (Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Mg_pfu);
    MOP <- Opx$Mg_pfu / (Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Mg_pfu);
    if (CGR<0.3001) {
    if (MNG<0.0501) {
    if (P<15.000) {
    A <-  - 1220 * (FGR * MGR) - 441 * CGR * (MGR - FGR) - 136 * MGR^2 + 746 * FGR^2;
    K <- (MOP * FGR / FOP / MGR);
    T <- (1611 + 0.012 * P * 1000 + 906 * CGR + A + 477 * (2 * MOP - 1)) /        (log(K) + 0.796) - 273;
    }
    }
    }
    if (CGR>0.3001) {
    warning(" CAN BE USED ONLY FOR CA/(MG+FE2+FE3+MN+CA) IN GRT <0.3");
    }
    if (MNG>0.0501) {
    warning(" CAN BE USED ONLY FOR MN/(MG+FE2+FE3+MN+CA) IN GRT <0.05");
    }
    if (P>15.000) {
    warning(" CAN BE USED ONLY FOR P<15 KBAR");
    }
    return(data.frame(Name=paste0(Grt$Name,"-", Opx$Name),P=P,T_calc=T));
}

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

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