====== Grt-Opx: Bhattacharya, 1991 ====== === Details === This sensor from [[:about_tpf|TPF]] collection ^ Article | | ^ Collibration | | ^ Precision | | ^ Ranges | | ^ Renew sensors | | * заголовок * краткое описание * статья * ссылка * карточка * подробное описание * код * тест === Source === source("utilities_tpf.r"); sensors.t.grt_opx_bhattacharya_1991 <- function(Grt, Opx, P, ...){ Opx <- tpf.recalc_minaral("OPX",Opx); Grt <- tpf.recalc_minaral("GRT",Grt); MGR <- Grt$Mg_pfu / (Grt$Mg_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mn_pfu + Grt$Ca_pfu); CGR <- Grt$Ca_pfu / (Grt$Mg_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mn_pfu + Grt$Ca_pfu); FGR <- (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu) / (Grt$Mg_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mn_pfu + Grt$Ca_pfu); MNG <- Grt$Mn_pfu / (Grt$Mg_pfu + Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mn_pfu + Grt$Ca_pfu); FOP <- (Opx$Fe_p2_pfu + Opx$Fe_p3_pfu) / (Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Mg_pfu); MOP <- Opx$Mg_pfu / (Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Mg_pfu); if (CGR<0.3001) { if (MNG<0.0501) { if (P<15.000) { A <- - 1220 * (FGR * MGR) - 441 * CGR * (MGR - FGR) - 136 * MGR^2 + 746 * FGR^2; K <- (MOP * FGR / FOP / MGR); T <- (1611 + 0.012 * P * 1000 + 906 * CGR + A + 477 * (2 * MOP - 1)) / (log(K) + 0.796) - 273; } } } if (CGR>0.3001) { warning(" CAN BE USED ONLY FOR CA/(MG+FE2+FE3+MN+CA) IN GRT <0.3"); } if (MNG>0.0501) { warning(" CAN BE USED ONLY FOR MN/(MG+FE2+FE3+MN+CA) IN GRT <0.05"); } if (P>15.000) { warning(" CAN BE USED ONLY FOR P<15 KBAR"); } return(data.frame(Name=paste0(Grt$Name,"-", Opx$Name),P=P,T_calc=T)); } sensors.t.grt_opx_bhattacharya_1991.args <- function(){ ars <- list(); ars$minerals <- c("Grt", "Opx"); ars$ranges <- c("P"); return(ars); } #sensors.t.grt_opx_bhattacharya_1991.test <- function(){ # #} {{tag> tpf Grt Opx }}