====== Grt-Opx-Pl-Qtz: Wells, 1979 ====== === Details === This sensor from [[:about_tpf|TPF]] collection ^ Article | | ^ Collibration | | ^ Precision | | ^ Ranges | | ^ Renew sensors | | * заголовок * краткое описание * статья * ссылка * карточка * подробное описание * код * тест === Source === source("utilities_tpf.r"); sensors.p.grt_opx_pl_qtz_wells_1979 <- function(Grt, Opx, Pl, Qtz, Temp, ...){ T <- Temp; Opx <- tpf.recalc_minaral("OPX",Opx); Pl <- tpf.recalc_minaral("PL",Pl); Grt <- tpf.recalc_minaral("GRT",Grt); A <- (1 - (Opx$Al_c4_pfu + Opx$Al_c6_pfu) / 2 - Opx$Ti_pfu - Opx$Cr_pfu - Opx$Fe_p3_pfu) * Opx$Mg_pfu; B <- (1 - Opx$Mn_pfu - Opx$Ca_pfu - Opx$Na_pfu) * Opx$Mg_pfu; C <- (1 - (Opx$Al_c4_pfu + Opx$Al_c6_pfu) / 2 - Opx$Ti_pfu - Opx$Cr_pfu - Opx$Fe_p3_pfu) * Opx$Fe_p2_pfu; D <- 1 - (Opx$Al_c4_pfu + Opx$Al_c6_pfu) / 2 - Opx$Ti_pfu - Opx$Cr_pfu - Opx$Fe_p3_pfu + 1 - Opx$Mn_pfu - Opx$Ca_pfu - Opx$Na_pfu; X <- Grt$Ca_pfu / (Grt$Ca_pfu + Grt$Mg_pfu + Grt$Fe_p3_pfu + Grt$Fe_p2_pfu + Grt$Mn_pfu); Y <- Grt$Mg_pfu / (Grt$Ca_pfu + Grt$Mg_pfu + Grt$Fe_p3_pfu + Grt$Fe_p2_pfu + Grt$Mn_pfu); F <- (Grt$Fe_p3_pfu + Grt$Fe_p2_pfu) / (Grt$Ca_pfu + Grt$Mg_pfu + Grt$Fe_p3_pfu + Grt$Fe_p2_pfu + Grt$Mn_pfu); Z <- Pl$Ca_pfu / (Pl$Ca_pfu + Pl$Na_pfu + Pl$K_pfu); TT <- T + 273.15; APL <- 1.276 * Z; L <- exp((1000 * F^2 + 3300 * Y^2 + (1000 + 3300) * Y * F) / 1.9872 / TT); ACG <- (L * X); G <- exp((3300 * X^2 + (3300 - 1000) * F * X) / 1.9872 / TT); AMG <- G * Y; A <- A * B / D / D; P <- (1 + (3300 + 6.26 * TT + 1.9872 * TT * log(ACG * AMG^2 / A / APL)) / 0.56771) / 1000; return(data.frame(Name=paste0(Pl$Name,"-", Grt$Name,"-", Opx$Name),Temp=Temp,P_calc=P)); } sensors.p.grt_opx_pl_qtz_wells_1979.args <- function(){ ars <- list(); ars$minerals <- c("Grt", "Opx", "Pl", "Qtz"); ars$ranges <- c("Temp"); return(ars); } #sensors.p.grt_opx_pl_qtz_wells_1979.test <- function(){ # #} {{tag> tpf Pl Grt Opx }}