====== Cpx-Opx: Powell, 1978 ====== === Details === This sensor from [[:about_tpf|TPF]] collection ^ Article | | ^ Callibration | ~25 points from different sources | ^ Precision | | ^ Ranges | ±50°C | ^ Renew sensors | | * заголовок * краткое описание * статья * ссылка * карточка * подробное описание * код * тест === Source === source("utilities_tpf.r"); sensors.t.cpx_opx_powell_1978 <- function(Cpx, Opx, P, usePFU=FALSE, ...){ row_names = paste0(Cpx$Name,"-", Opx$Name); if(!usePFU){ Opx <- tpf.recalc_minaral("OPX",Opx); Cpx <- tpf.recalc_minaral("CPX",Cpx); } M1 <- (1 - Opx$Mn_pfu - Opx$Ca_pfu - Opx$Na_pfu) * Opx$Mg_pfu; M2 <- (1 - (Opx$Al_c4_pfu + Opx$Al_c6_pfu) / 2 - Opx$Ti_pfu - Opx$Cr_pfu - Opx$Fe_p3_pfu + 1 - Opx$Mn_pfu - Opx$Ca_pfu - Opx$Na_pfu); F1 <- (1 - Opx$Mn_pfu - Opx$Ca_pfu - Opx$Na_pfu) * Opx$Fe_p2_pfu; F2 <- (1 - (Opx$Al_c4_pfu + Opx$Al_c6_pfu) / 2 - Opx$Ti_pfu - Opx$Cr_pfu - Opx$Fe_p3_pfu + 1 - Opx$Mn_pfu - Opx$Ca_pfu - Opx$Na_pfu); C <- Opx$Ca_pfu; W1 <- (1 - Cpx$Mn_pfu - Cpx$Ca_pfu - Cpx$Na_pfu) * Cpx$Mg_pfu; W2 <- (1 - (Cpx$Al_c4_pfu + Cpx$Al_c6_pfu) / 2 - Cpx$Ti_pfu - Cpx$Cr_pfu - Cpx$Fe_p3_pfu + 1 - Cpx$Mn_pfu - Cpx$Ca_pfu - Cpx$Na_pfu); G1 <- (1 - Cpx$Mn_pfu - Cpx$Ca_pfu - Cpx$Na_pfu) * Cpx$Fe_p2_pfu; G2 <- (1 - (Cpx$Al_c4_pfu + Cpx$Al_c6_pfu) / 2 - Cpx$Ti_pfu - Cpx$Cr_pfu - Cpx$Fe_p3_pfu + 1 - Cpx$Mn_pfu - Cpx$Ca_pfu - Cpx$Na_pfu); K <- Cpx$Ca_pfu; M <- M1 / M2; F <- F1 / F2; W <- W1 / W2; G <- G1 / G2; L <- log(C / M / (K / W)); T <- - (1600 + 80 * P + (K - W) * (6670 - 88 * P) - 1900 * F) / L - 273; return(data.frame(Name=row_names,P=P,T_calc=T)); } sensors.t.cpx_opx_powell_1978.args <- function(){ ars <- list(); ars$minerals <- c("Cpx", "Opx"); ars$ranges <- c("P"); return(ars); } #sensors.t.cpx_opx_powell_1978.test <- function(){ # #} {{tag> tpf Cpx Opx AP_igroup fixed}}