====== Cpx-Opx: Fonarev, Graphchikov, 1991 ====== === Details === This sensor from [[:about_tpf|TPF]] collection ^ Article | | ^ Callibration | | ^ Precision | 50-100 °C | ^ Ranges | 890-1250 °C | ^ Renew sensors | | * заголовок * краткое описание * статья * ссылка * карточка * подробное описание * код * тест === Source === source("utilities_tpf.r"); sensors.t.cpx_opx_fonarev_graphchikov_1991_d <- function(Cpx, Opx, P, usePFU=FALSE, ...){ row_names <- Cpx$Name; if(!usePFU){ Cpx <- tpf.recalc_minaral("CPX",Cpx); } X <- (Cpx$Fe_p2_pfu + Cpx$Fe_p3_pfu) / (Cpx$Mg_pfu + Cpx$Fe_p2_pfu + Cpx$Fe_p3_pfu + Cpx$Ca_pfu); Y <- Cpx$Ca_pfu / (Cpx$Mg_pfu + Cpx$Fe_p2_pfu + Cpx$Fe_p3_pfu + Cpx$Ca_pfu); Z <- Cpx$Al2O3_wtp + Cpx$TiO2_wtp + Cpx$MnO_wtp + Cpx$Na2O_wtp; A <- 0.0435 - 2.0422 * X + 14.2661 * X^2 - 38.4323 * X^3 + 34.4206 * X^4 - Y * (1 - (0.5 - X) * 0.012 * P); B <- 0.6859 + 1.2269 * X - 37.7330 * X^2 + 119.7173 * X^3 - 109.3990 * X^4; G <- - 0.2832 + 0.9887 * X + 27.5921 * X^2 - 97.3991 * X^3 + 88.8668 * X^4; T <- (2 * G * 1000 / ( - B + sqrt(B^2 - 4 * G * A))) - 273.15; T <- ifelse(Z<5.0, T, NA); T <- ifelse(X>0.1, T, NA); T <- ifelse(T > 890 && T < 1250, T, NA); return(data.frame(Name=row_names,P=P,T_calc=T)); } sensors.t.cpx_opx_fonarev_graphchikov_1991_d.args <- function(){ ars <- list(); ars$minerals <- c("Cpx"); ars$ranges <- c("P"); return(ars); } #sensors.t.cpx_opx_fonarev_graphchikov_1991_d.test <- function(){ # #} {{tag> tpf Cpx AP_igroup fixed}}