====== Grt-Opx: Harley, 1984 ====== === Details === This sensor from [[:about_tpf|TPF]] collection ^ Article | | ^ Collibration | | ^ Precision | | ^ Ranges | | ^ Renew sensors | | * заголовок * краткое описание * статья * ссылка * карточка * подробное описание * код * тест === Source === source("utilities_tpf.r"); sensors.p.grt_opx_harley_1984_b <- function(Grt, Opx, Temp, ...){ T <- Temp; Opx <- tpf.recalc_minaral("OPX",Opx); Grt <- tpf.recalc_minaral("GRT",Grt); X <- Grt$Ca_pfu / (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mg_pfu + Grt$Ca_pfu); Y <- Grt$Mg_pfu / (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mg_pfu + Grt$Ca_pfu); Z <- (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu) / (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu + Grt$Mg_pfu + Grt$Ca_pfu); A <- Opx$Mg_pfu / (Opx$Mg_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu); B <- (Opx$Fe_p2_pfu + Opx$Fe_p3_pfu) / (Opx$Mg_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu); C <- (Opx$Al_c6_pfu + Opx$Al_c4_pfu) / 2; TT <- T + 273; K <- log(Y^3 / C / A^3 / (1 - C)); J <- 1.9872 * K * TT + TT * (0.15 + 0.001507 * (TT - 970)) - 2467; F <- (3525 * 1000 / TT - 1667) * (1 - 2 * A * (1 - C)) * (1 - A) * (1 - C); W <- (4.75 * TT - 6680) * 2 * (1 - A) * (1 - C) - 920 * (1 - 2 * C) * (1 - C) * (1 - A); L <- (5436 - 2.45 * TT) * ((1 - A) * (A * (1 - C) + C)) + 5700 * (X * (X + Z)); P <- 1 / 206.74 * (J - (2458 * 1000 / TT - 1261) * 2 * B^2 - F - W + L); warning(" WITH AN AUTHOR CORRECTION (PERS. COMMUNIC.)"); return(data.frame(Name=paste0(Grt$Name,"-", Opx$Name),Temp=Temp,P_calc=P)); } sensors.p.grt_opx_harley_1984_b.args <- function(){ ars <- list(); ars$minerals <- c("Grt", "Opx"); ars$ranges <- c("Temp"); return(ars); } #sensors.p.grt_opx_harley_1984_b.test <- function(){ # #} {{tag> tpf Grt Opx }}