Grt-Pl-Mag-Qtz: Graphchikov, 1989

Details

This sensor from TPF collection

Article
Collibration
Presition
Ranges
Renew sensors

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

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

Source

source("utilities_tpf.r");

sensors.f.grt_pl_mag_qtz_graphchikov_1989 <- function(Grt, Pl, Mag, Qtz, Temp, P, ...){
T <- Temp;
    Pl <- tpf.recalc_minaral("PL",Pl);
    Grt <- tpf.recalc_minaral("GRT",Grt);

    FG <- (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu - 2 + Grt$Al_c6_pfu + Grt$Al_c4_pfu) / (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu - 2 + Grt$Al_c4_pfu + Grt$Al_c6_pfu + Grt$Ca_pfu + Grt$Mg_pfu + Grt$Mn_pfu);
    MGG <- Grt$Mg_pfu / (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu - 2 + Grt$Al_c4_pfu + Grt$Al_c6_pfu + Grt$Ca_pfu + Grt$Mg_pfu + Grt$Mn_pfu);
    CG <- Grt$Ca_pfu / (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu - 2 + Grt$Al_c4_pfu + Grt$Al_c6_pfu + Grt$Ca_pfu + Grt$Mg_pfu + Grt$Mn_pfu);
    MNG <- Grt$Mn_pfu / (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu - 2 + Grt$Al_c4_pfu + Grt$Al_c6_pfu + Grt$Ca_pfu + Grt$Mg_pfu + Grt$Mn_pfu);
    CP <- Pl$Ca_pfu / (Pl$Ca_pfu + Pl$Na_pfu + Pl$K_pfu);
    if (MNG>0.050) {
    warning("  CANNOT BE USED FOR MN/(MN+CA+MG+FE) IN GRT >0.05");
    }
    if (MNG<0.050) {
    TT <- T + 273.15;
    ALM <- MGG^2 * (0.2 + FG * 4.6) + CG^2 * (3.5 - 0.0014 * TT - 7.1 * FG) + CG * MGG *          (CG * 4.3 - MGG * 1.8 - 0.7);
    GRS <- MGG^2 * (4 - 0.0015 * TT - CG * 6.1) + FG^2 * (7.1 * CG - 0.1 - 0.0014 * TT) +          FG * MGG * (3.4 - 0.0029 * TT - 2.8 * FG + 1.8 * MGG);
    AN <- (1 - CP)^2 * (1.980 - 0.001526 * TT + 2 * CP * (4.88 - 0.002348 * TT));
    AALM <- (exp(ALM / 0.001987 / TT) * FG)^3;
    AGRS <- (exp(GRS / 0.001987 / TT) * CG)^3;
    AAN <- exp(AN / 0.001987 / TT) * CP;
    LK <- log(AAN^3 / AGRS / (AALM)^2);
    Y <-  - 32.544 + 0.038462 * TT;
    if (P<Y) {
    F <-  - 7.135 + 32.475 * 1000 / TT - 4.431 * (1000 / TT)^2 - 1.118 * P / (0.001987 * TT) -          0.4343 * LK;
    LGFO2 <-  - F;
    }
    if (P>Y) {
    F <-  - 7.458 + 32.748 * 1000 / TT - 4.431 * (1000 / TT)^2 - 1.101 * P / (0.001987 * TT) -          0.4343 * LK;
    LGFO2 <-  - F;
    }
    }
    return(data.frame(Name=paste0(Pl$Name,"-", Grt$Name),Temp=Temp,P=P,LGFO2_calc=LGFO2));
}

sensors.f.grt_pl_mag_qtz_graphchikov_1989.args <- function(){
    ars <- list();
    ars$minerals <- c("Grt", "Pl", "Mag", "Qtz");
    ars$ranges <- c("Temp", "P");
    return(ars);
}

#sensors.f.grt_pl_mag_qtz_graphchikov_1989.test <- function(){
#
#}
, ,