====== Grt-Cpx: Slavinskiy, 1980 ====== === Details === This sensor from [[:about_tpf|TPF]] collection ^ Article | | ^ Collibration | | ^ Precision | | ^ Ranges | | ^ Renew sensors | | * заголовок * краткое описание * статья * ссылка * карточка * подробное описание * код * тест === Source === source("utilities_tpf.r"); sensors.t.grt_cpx_slavinskiy_1980 <- function(Grt, Cpx, P, ...){ Grt <- tpf.recalc_minaral("GRT",Grt); Cpx <- tpf.recalc_minaral("CPX",Cpx); A <- Grt$Mg_pfu / (Grt$Fe_p2_pfu + Grt$Mg_pfu + Grt$Ca_pfu); B <- Grt$Ca_pfu / (Grt$Fe_p2_pfu + Grt$Mg_pfu + Grt$Ca_pfu); C <- Grt$Fe_p2_pfu / (Grt$Fe_p2_pfu + Grt$Mg_pfu + Grt$Ca_pfu); X <- Cpx$Mg_pfu / (Cpx$Fe_p2_pfu + Cpx$Mg_pfu + Cpx$Ca_pfu); Y <- Cpx$Ca_pfu / (Cpx$Fe_p2_pfu + Cpx$Mg_pfu + Cpx$Ca_pfu); Z <- Cpx$Fe_p2_pfu / (Cpx$Fe_p2_pfu + Cpx$Mg_pfu + Cpx$Ca_pfu); M <- Grt$Mg_pfu / (Grt$Mg_pfu + Grt$Fe_p2_pfu); N <- Cpx$Mg_pfu / (Cpx$Mg_pfu + Cpx$Fe_p2_pfu); XX <- 0.5 * (N + M); F <- (Z / C - X / A) / (Y / B - Z / C); K <- log(X / A) + F * log(Y / B) - (1 + F) * log(Z / C); T <- (1179 + 400 * XX) / (K / (1 + F) - 0.0042 * P + 0.925) - 273; warning(" ACCURACY +/-37 C"); return(data.frame(Name=paste0(Cpx$Name,"-", Grt$Name),P=P,T_calc=T)); } sensors.t.grt_cpx_slavinskiy_1980.args <- function(){ ars <- list(); ars$minerals <- c("Grt", "Cpx"); ars$ranges <- c("P"); return(ars); } #sensors.t.grt_cpx_slavinskiy_1980.test <- function(){ # #} {{tag> tpf Cpx Grt }}