====== Grt-Cpx-Pl-Qtz: Eckert, 1991 ====== === Details === This sensor from [[:about_tpf|TPF]] collection ^ Article | | ^ Collibration | | ^ Precision | | ^ Ranges | | ^ Renew sensors | | * заголовок * краткое описание * статья * ссылка * карточка * подробное описание * код * тест === Source === source("utilities_tpf.r"); sensors.p.grt_cpx_pl_qtz_eckert_1991 <- function(Grt, Cpx, Pl, Temp, ...){ Name <- paste0(Pl$Name,"-", Cpx$Name,"-", Grt$Name); T <- Temp; Pl <- tpf.recalc_minaral("PL",Pl); Grt <- tpf.recalc_minaral("GRT",Grt); Cpx <- tpf.recalc_minaral("CPX",Cpx); A <- (1 - (Cpx$Al_c4_pfu + Cpx$Al_c6_pfu) / 2 - Cpx$Ti_pfu - Cpx$Cr_pfu - Cpx$Fe_p3_pfu) * Cpx$Mg_pfu * Cpx$Ca_pfu; B <- (1 - (Cpx$Al_c4_pfu + Cpx$Al_c6_pfu) / 2 - Cpx$Ti_pfu - Cpx$Cr_pfu - Cpx$Fe_p3_pfu + 1 - Cpx$Mn_pfu - Cpx$Ca_pfu - Cpx$Na_pfu); X <- Grt$Ca_pfu / (Grt$Ca_pfu + Grt$Mg_pfu + Grt$Fe_p2_pfu + Grt$Mn_pfu); Y <- Grt$Mg_pfu / (Grt$Ca_pfu + Grt$Mg_pfu + Grt$Fe_p2_pfu + Grt$Mn_pfu); F <- Grt$Fe_p2_pfu / (Grt$Ca_pfu + Grt$Mg_pfu + Grt$Fe_p2_pfu + Grt$Mn_pfu); Z <- Pl$Ca_pfu / (Pl$Ca_pfu + Pl$Na_pfu + Pl$K_pfu); G <- Pl$Na_pfu / (Pl$Ca_pfu + Pl$Na_pfu + Pl$K_pfu); TT <- T + 273.15; K <- exp((3300 - 1.5 * TT) * (Y^2 + Y * F) / (1.9872 * TT)); L <- exp((3300 - 1.5 * TT) * (X^2 + X * F) / (1.9872 * TT)); K <- X * K; L <- Y * L; A <- A / B; M <- exp(G^2 * (2025 + 2 * Z * (6746 - 2025)) / (1.9872 * TT)); M <- M * Z * (1 + Z)^2 / 4; P <- 2.6 + 0.01718 * TT + 0.003596 * TT * log(K^2 * L / A / M); warning(" ACCURACY +-1.9 KBAR"); return(data.frame(Name=Name,Temp=Temp,P_calc=P)); } sensors.p.grt_cpx_pl_qtz_eckert_1991.args <- function(){ ars <- list(); ars$minerals <- c("Grt", "Cpx", "Pl"); ars$ranges <- c("Temp"); return(ars); } #sensors.p.grt_cpx_pl_qtz_eckert_1991.test <- function(){ # #} {{tag> tpf Pl Cpx Grt }}