Различия
Здесь показаны различия между двумя версиями данной страницы.
| Следующая версия | Предыдущая версия | ||
|
sensors:t:cpx_opx_fonarev_graphchikov_1982 [2017/01/17 13:44] 127.0.0.1 внешнее изменение |
sensors:t:cpx_opx_fonarev_graphchikov_1982 [2018/11/12 15:07] (текущий) |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== Cpx-Opx: Fonarev, Graphchikov, 1982 ====== | ====== Cpx-Opx: Fonarev, Graphchikov, 1982 ====== | ||
| - | + | ||
| + | IS NOT TO BE USED FOR (AL2O3+TIO2+MNO+NA2O) IN CPX >5 W. | ||
| + | |||
| + | IS NOT TO BE USED FOR P>20 KBAR | ||
| === Details === | === Details === | ||
| Строка 7: | Строка 11: | ||
| </WRAP> | </WRAP> | ||
| - | ^ Article | | | + | ^ Article | Fonarev V.I., Graphchikov A.A. //Two-pyroxene geo-thermometer// Mineral. zhurnal, v. 4, N 5, p. 3-12, 1982. (in Russian) | |
| - | ^ Collibration | | | + | ^ Callibration | | |
| ^ Precision | | | ^ Precision | | | ||
| - | ^ Ranges | | | + | ^ Ranges | 600-820 °C | |
| ^ Renew sensors | | | ^ Renew sensors | | | ||
| + | |||
| <use:sensors.t.cpx_opx_fonarev_graphchikov_1982> | <use:sensors.t.cpx_opx_fonarev_graphchikov_1982> | ||
| Строка 31: | Строка 36: | ||
| source("utilities_tpf.r"); | source("utilities_tpf.r"); | ||
| - | sensors.t.cpx_opx_fonarev_graphchikov_1982 <- function(Cpx, Opx, P, ...){ | + | sensors.t.cpx_opx_fonarev_graphchikov_1982 <- function(Cpx, Opx, P, usePFU=FALSE, ...){ |
| - | Opx <- tpf.recalc_minaral("OPX",Opx); | + | |
| - | Cpx <- tpf.recalc_minaral("CPX",Cpx); | + | row_names = paste0(Cpx$Name,"-", Opx$Name); |
| + | |||
| + | if(!usePFU) { | ||
| + | Opx <- tpf.recalc_minaral("OPX",Opx); | ||
| + | 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); | X <- (Cpx$Fe_p2_pfu + Cpx$Fe_p3_pfu) / (Cpx$Mg_pfu + Cpx$Fe_p2_pfu + Cpx$Fe_p3_pfu + Cpx$Ca_pfu); | ||
| Y <- (Opx$Fe_p2_pfu + Opx$Fe_p3_pfu) / (Opx$Mg_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Ca_pfu); | Y <- (Opx$Fe_p2_pfu + Opx$Fe_p3_pfu) / (Opx$Mg_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Ca_pfu); | ||
| Z <- Cpx$Al2O3_wtp + Cpx$TiO2_wtp + Cpx$MnO_wtp + Cpx$Na2O_wtp; | Z <- Cpx$Al2O3_wtp + Cpx$TiO2_wtp + Cpx$MnO_wtp + Cpx$Na2O_wtp; | ||
| - | if (P<20.001) { | + | |
| A <- 1.9943 * X + 19.2401 * X^2 - 63.0069 * X^3 + 16.7365 * X^4 - Y * (1 + 0.000673813 * P); | A <- 1.9943 * X + 19.2401 * X^2 - 63.0069 * X^3 + 16.7365 * X^4 - Y * (1 + 0.000673813 * P); | ||
| B <- - 0.2018 * X - 75.909 * X^2 + 245.2007 * X^3 - 141.3534 * X^4; | B <- - 0.2018 * X - 75.909 * X^2 + 245.2007 * X^3 - 141.3534 * X^4; | ||
| G <- 0.3893 * X + 61.3861 * X^2 - 205.0557 * X^3 + 147.2069 * X^4; | G <- 0.3893 * X + 61.3861 * X^2 - 205.0557 * X^3 + 147.2069 * X^4; | ||
| T <- (2 * G * 1000 / ( - B + sqrt(B^2 - 4 * A * G))) - 273.15; | T <- (2 * G * 1000 / ( - B + sqrt(B^2 - 4 * A * G))) - 273.15; | ||
| - | if (T<820) { | + | |
| - | if (T<600) { | + | T<-ifelse(T>820,T,'T too high'); |
| - | warning(" IS NOT TO BE USED FOR T<600 C"); | + | T<-ifelse(T<600,T,'T too low'); |
| - | } | + | |
| - | if (Z>5.0) { | + | T<-ifelse(Z>5.0,T,'Composition out of bounds'); |
| - | warning(" IS NOT TO BE USED FOR (AL2O3+TIO2+MNO+NA2O) IN CPX >5 W."); | + | T<-ifelse(X<0.1,T,'Composition out of bounds'); |
| - | } | + | |
| - | if (X<0.1) { | + | T<-ifelse(P<20,T,'P too high'); |
| - | warning(" IS NOT TO BE USED FOR FE/(FE+MG+CA) IN CPX <0.1"); | + | |
| - | } | + | return(data.frame(Name=row_names,P=P,T_calc=T)); |
| - | } | + | |
| - | if (T>820) { | + | |
| - | warning(" IS NOT TO BE USED FOR T>820 C"); | + | |
| - | } | + | |
| - | } | + | |
| - | if (P>20.001) { | + | |
| - | warning(" IS NOT TO BE USED FOR P>20 KBAR"); | + | |
| - | } | + | |
| - | return(data.frame(Name=paste0(Cpx$Name,"-", Opx$Name),P=P,T_calc=T)); | + | |
| } | } | ||
| Строка 76: | Строка 77: | ||
| </Code> | </Code> | ||
| - | {{tag> tpf Cpx Opx }} | + | {{tag> tpf Cpx Opx AP_igroup fixed}} |