Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
sensors:t:cpx_opx_fonarev_graphchikov_1982 [2017/05/18 11:14] admin |
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 AP_igroup}} | + | {{tag> tpf Cpx Opx AP_igroup fixed}} |