====== Grt-Cpx: Pattison, Newton, 1989 ====== === Details === This sensor from [[:about_tpf|TPF]] collection ^ Article | | ^ Collibration | | ^ Precision | | ^ Ranges | | ^ Renew sensors | | * заголовок * краткое описание * статья * ссылка * карточка * подробное описание * код * тест === Source === source("utilities_tpf.r"); sensors.t.grt_cpx_pattison_newton_1989_a <- function(Grt, Cpx, P, ...){ Grt <- tpf.recalc_minaral("GRT2",Grt); Cpx <- tpf.recalc_minaral("CPX1",Cpx); Cpx <- tpf.recalc_minaral("CPX",Cpx); XX <- Grt$Fe_p2_pfu / Grt$Mg_pfu; Y <- Grt$Ca_pfu / (Grt$Fe_p2_pfu + Grt$Mg_pfu + Grt$Mn_pfu + Grt$Ca_pfu); X <- Grt$Mg_pfu / (Grt$Fe_p2_pfu + Grt$Mg_pfu); Z <- Cpx$Fe_p2_pfu / Cpx$Mg_pfu; N <- Cpx$Na2O_wtp; if (N>2.2) { warning(" CANNOT BE USED FOR NA2O IN CPX >2.2 W. "); } if (N<2.2) { if (X<0.6) { if (X<0.125) { warning(" CANNOT BE USED FOR MG/(FE2+MG) IN GRT <0.125"); } if (X>0.125) { if (Y<0.17) { warning(" CANNOT BE USED FOR CA/(FE2+MG+CA+MN) IN GRT <0.17"); } if (Y>0.17) { if (Y<0.30) { C <- 10 * (Y - 0.2); A0 <- 3.606 + C * (15.87 - 3.606); B0 <- - 5.172 + C * ( - 20.3 + 5.172); C0 <- 2.317 + C * (7.468 - 2.317); D0 <- 0.1742 + C * ( - 0.1479 - 0.1742); A1 <- 26370 + C * (43210 - 26370); B1 <- - 32460 + C * ( - 53230 + 32460); C1 <- 11050 + C * (18120 - 11050); D1 <- 1012 + C * (776 - 1012); K <- log(XX / Z); T <- (A1 * X^3 + B1 * X^2 + C1 * X + D1) / (K + A0 * X^3 + B0 * X^2 + C0 * X + D0) + 5.5 * (P - 15) - 273; warning(" ONLY FE2 IS INVOLVED IN CALCULATIONS "); } } if (Y>0.3) { warning(" CANNOT BE USED FOR CA/(FE2+MG+CA+MN) IN GRT >0.3"); } } } if (X>0.6) { warning(" CANNOT BE USED FOR MG/(FE2+MG) IN GRT > 0.6 "); } } return(data.frame(Name=paste0(Cpx$Name,"-", Grt$Name),P=P,T_calc=T)); } sensors.t.grt_cpx_pattison_newton_1989_a.args <- function(){ ars <- list(); ars$minerals <- c("Grt", "Cpx"); ars$ranges <- c("P"); return(ars); } #sensors.t.grt_cpx_pattison_newton_1989_a.test <- function(){ # #} {{tag> tpf Cpx Grt }}