This sensor from TPF collection
| Article | Fonarev, V.I., Graphchikov, A.A. Two-pyroxene thermometry: a critical evaluation, 1991 [ref] |
|---|---|
| Callibration | |
| Precision | 50-100 °C |
| Ranges | 890-1250 °C |
| Renew sensors |
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(){
#
#}