Grt-Pl-Qtz-And: Aranovich, Podlesskii, 1980

Details

This sensor from TPF collection

Article
Collibration
Precision
Ranges
Renew sensors

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

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

Source

source("utilities_tpf.r");


sensors.p.grt_pl_qtz_and_aranovich_podlesskii_1980 <- function(Grt, Pl, Temp, ...){
    T <- Temp;
    Pl <- tpf.recalc_minaral("PL",Pl);
    Grt <- tpf.recalc_minaral("GRT",Grt);

    print(Pl);
    print(Grt);
    
    X <- Grt$Ca_pfu / (Grt$Mg_pfu + Grt$Ca_pfu + Grt$Mn_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu);
    print(X);
    Y <- Grt$Mg_pfu / (Grt$Mg_pfu + Grt$Ca_pfu + Grt$Mn_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu);
    print(Y);
    Z <- (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mn_pfu) / (Grt$Mg_pfu + Grt$Ca_pfu + Grt$Mn_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu);
    print(Z);
    N <- Pl$Ca_pfu / (Pl$Ca_pfu + Pl$Na_pfu);
    TT <- T + 273;
    P <- 2.446 * ( - 2328 + TT * (10.39 - 1.9872 * log(N / X)) + 3200 * Y^2 - 1000 * Z^2 +      2200 * Y * Z - 48.57 - 2206.5 * (1 - N)^2) / 1000;
    return(data.frame(Name=paste0(Pl$Name,"-", Grt$Name),Temp=Temp,P_calc=P));
}

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

sensors.p.grt_pl_qtz_and_aranovich_podlesskii_1980.test <- function(){

  Grt <- data.frame(Name='Grt',SiO2_wtp=37.980,Al2O3_wtp=21.270,FeO_wtp=29.930, MnO_wtp=1.060, MgO_wtp=4.090, CaO_wtp=6.770);
  Pl <- data.frame(Name='Pl',Na2O_wtp=5.650, Al2O3_wtp=28.710, SiO2_wtp=55.400, CaO_wtp=10.240);

  result <- sensors.p.grt_pl_qtz_and_aranovich_podlesskii_1980(Grt, Pl, Temp=500);
  print(result);
}
, ,
  • sensors/p/grt_pl_qtz_and_aranovich_podlesskii_1980.txt
  • Последние изменения: 2018/11/12 15:08
  • (внешнее изменение)