====== Grt-Opx: Slavinskiy, 1980 ====== === Details === This sensor from [[:about_tpf|TPF]] collection ^ Article | | ^ Collibration | | ^ Precision | | ^ Ranges | | ^ Renew sensors | | * заголовок * краткое описание * статья * ссылка * карточка * подробное описание * код * тест === Source === source("utilities_tpf.r"); sensors.t.grt_opx_slavinskiy_1980_a <- function(Grt, Opx, ...){ Opx <- tpf.recalc_minaral("OPX",Opx); Grt <- tpf.recalc_minaral("GRT",Grt); A <- (Opx$Al_c4_pfu + Opx$Al_c6_pfu + Opx$Cr_pfu) / (Opx$Al_c4_pfu + Opx$Al_c6_pfu + Opx$Cr_pfu + Opx$Ca_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Mn_pfu + Opx$Mg_pfu); C <- Opx$Ca_pfu / (Opx$Al_c4_pfu + Opx$Al_c6_pfu + Opx$Cr_pfu + Opx$Ca_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Mn_pfu + Opx$Mg_pfu); F <- (Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Mn_pfu + Opx$Mg_pfu) / (Opx$Al_c4_pfu + Opx$Al_c6_pfu + Opx$Cr_pfu + Opx$Ca_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Mn_pfu + Opx$Mg_pfu); MO <- Opx$Mg_pfu / (Opx$Mg_pfu + Opx$Mn_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu); X <- (Grt$Al_c4_pfu + Grt$Al_c6_pfu + Grt$Cr_pfu) / (Grt$Al_c4_pfu + Grt$Al_c6_pfu + Grt$Cr_pfu + Grt$Ca_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mn_pfu + Grt$Mg_pfu); Y <- Grt$Ca_pfu / (Grt$Al_c4_pfu + Grt$Al_c6_pfu + Grt$Cr_pfu + Grt$Ca_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mn_pfu + Grt$Mg_pfu); Z <- (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mn_pfu + Grt$Mg_pfu) / (Grt$Al_c4_pfu + Grt$Al_c6_pfu + Grt$Cr_pfu + Grt$Ca_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mn_pfu + Grt$Mg_pfu); MG <- Grt$Mg_pfu / (Grt$Mg_pfu + Grt$Mn_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu); XX <- 0.5 * MG + 0.5 * MO; K <- F * Y / Z / C; U <- - (A / X - F / Z) / (C / Y - F / Z); J <- A / X * (C / Y)^U * (F / Z)^( - 1 - U); J <- log(J); T <- 10000 / (3.68 * log(K) + 0.77 * log(A) - 2.26 * XX + 6.79) - 273; TT <- - 1009 * log(J / (1 + U)) - 866 * log(A) + 539 * XX; T <- (T + TT) / 2; warning(" ACCURACY +/- 30-58 C IN RANG 1000-1500 C"); return(data.frame(Name=paste0(Grt$Name,"-", Opx$Name),T_calc=T)); } sensors.t.grt_opx_slavinskiy_1980_a.args <- function(){ ars <- list(); ars$minerals <- c("Grt", "Opx"); ars$ranges <- c(); return(ars); } #sensors.t.grt_opx_slavinskiy_1980_a.test <- function(){ # #} {{tag> tpf Grt Opx }}