Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
sensors:t:cpx_opx_fonarev_graphchikov_1991_b [2017/01/17 13:44]
127.0.0.1 внешнее изменение
sensors:t:cpx_opx_fonarev_graphchikov_1991_b [2018/11/12 15:08] (текущий)
Строка 1: Строка 1:
 ====== Cpx-Opx: Fonarev, Graphchikov,​ 1991 <B> ====== ====== Cpx-Opx: Fonarev, Graphchikov,​ 1991 <B> ======
- + 
 +IS NOT TO BE USED FOR (AL2O3+MNO+TIO2+NA2O) IN CPX >5 W. 
 + 
 +IS NOT TO BE USED FOR FE/​(FE+MG+CA) IN CPX < 0.1 
 === Details === === Details ===
  
Строка 7: Строка 11:
 </​WRAP>​ </​WRAP>​
  
-^ Article |  +^ Article | <​ref:​fonarev1991b> ​
-Collibration ​|  | +Callibration ​|  | 
-^ Precision |  +^ Precision | ±50-100 °C 
-^ Ranges |  |+^ Ranges | 600-900 °C |
 ^ Renew sensors |  | ^ Renew sensors |  |
  
Строка 31: Строка 35:
 source("​utilities_tpf.r"​);​ source("​utilities_tpf.r"​);​
  
-sensors.t.cpx_opx_fonarev_graphchikov_1991_b <- function(Cpx,​ Opx, P, ...){ +sensors.t.cpx_opx_fonarev_graphchikov_1991_b <- 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 + Cpx$Mn_pfu + Cpx$Al_c6_pfu + Cpx$Ti_pfu + Cpx$K_pfu + Cpx$Na_pfu);​     X <- (Cpx$Fe_p2_pfu + Cpx$Fe_p3_pfu) / (Cpx$Mg_pfu + Cpx$Fe_p2_pfu + Cpx$Fe_p3_pfu + Cpx$Ca_pfu + Cpx$Mn_pfu + Cpx$Al_c6_pfu + Cpx$Ti_pfu + Cpx$K_pfu + Cpx$Na_pfu);​
Строка 41: Строка 50:
     Y2 <- (Opx$Fe_p2_pfu + Opx$Fe_p3_pfu) / (Opx$Mg_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Ca_pfu);​     Y2 <- (Opx$Fe_p2_pfu + Opx$Fe_p3_pfu) / (Opx$Mg_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Ca_pfu);​
     OZ <- Opx$Al2O3_wtp + Opx$TiO2_wtp + Opx$MnO_wtp + Opx$Na2O_wtp;​     OZ <- Opx$Al2O3_wtp + Opx$TiO2_wtp + Opx$MnO_wtp + Opx$Na2O_wtp;​
-    ​if (Z<OZ) { +     
-    X <- X2; +    X <- ifelse(Z<​OZ,​X2,X)
-    Y <- Y2; +    Y <- ifelse(Z<​OZ,​Y2,Y)
-    ​}+    ​
     A <- 5.6066 * X + 13.6767 * X^2 - 23.6366 * X^3 - 60.7866 * X^4 - Y * (1 - (0.35 - X) * 0.01 * P);     A <- 5.6066 * X + 13.6767 * X^2 - 23.6366 * X^3 - 60.7866 * X^4 - Y * (1 - (0.35 - X) * 0.01 * P);
     B <-  - 9.9203 * X - 25.1949 * X^2 + 30.5070 * X^3 + 148.9344 * X^4;     B <-  - 9.9203 * X - 25.1949 * X^2 + 30.5070 * X^3 + 148.9344 * X^4;
     G <- 6.9830 * X + 10.0505 * X^2 - 9.1097 * X^3 - 85.1719 * X^4;     G <- 6.9830 * X + 10.0505 * X^2 - 9.1097 * X^3 - 85.1719 * X^4;
     N <- (2 * G * 1000 / ( - B + sqrt(B^2 - 4 * A * G))) - 273.15;     N <- (2 * G * 1000 / ( - B + sqrt(B^2 - 4 * A * G))) - 273.15;
-    if (N<​850.001) {+
     T <- N;     T <- N;
-    if (N<600) { +
-    warning("​ IS NOT TO BE USED FOR T<600 C"); +
-    } +
-    } +
-    if (N>​850.001) {+
     A <-  - 15.9135 * X + 112.8452 * X^2 - 232.7006 * X^3 + 156.3120 * X^4 - Y * (1 - (0.5 - X) * 0.01 * P);     A <-  - 15.9135 * X + 112.8452 * X^2 - 232.7006 * X^3 + 156.3120 * X^4 - Y * (1 - (0.5 - X) * 0.01 * P);
     B <- 44.2986 * X - 313.6564 * X^2 + 660.4657 * X^3 - 446.5655 * X^4;     B <- 44.2986 * X - 313.6564 * X^2 + 660.4657 * X^3 - 446.5655 * X^4;
     G <-  - 27.1202 * X + 212.7500 * X^2 - 462.5763 * X^3 + 316.4015 * X^4;     G <-  - 27.1202 * X + 212.7500 * X^2 - 462.5763 * X^3 + 316.4015 * X^4;
     M <- (2 * G * 1000 / ( - B + sqrt(B^2 - 4 * A * G))) - 273.15;     M <- (2 * G * 1000 / ( - B + sqrt(B^2 - 4 * A * G))) - 273.15;
-    if (M<​900.001) {+
     T <- (M + N) / 2;     T <- (M + N) / 2;
-    } + 
-    ​if (M>​900.001) { +    T <- ifelse(Z>5.0, T, NA); 
-    warning("​ IS NOT TO BE USED FOR T>900 C"); +    ​T <- ifelse(X<0.1, T, NA)
-    } +  
-    } +    ​T <- ifelse(T > 600 && T 900, T, NA); 
-    if (Z>5.0) { + 
-    warning("​ IS NOT TO BE USED FOR (AL2O3+MNO+TIO2+NA2O) IN CPX >5 W."); +    return(data.frame(Name=row_names,​P=P,​T_calc=T));​
-    ​+
-    if (X<0.10{ +
-    ​warning(" IS NOT TO BE USED FOR FE/​(FE+MG+CA) IN CPX 0.1"); +
-    } +
-    return(data.frame(Name=paste0(Cpx$Name,"​-",​ Opx$Name),​P=P,​T_calc=T));​+
 } }
  
Строка 88: Строка 88:
 </​Code>​ </​Code>​
  
-{{tag> tpf Cpx Opx }}+{{tag> tpf Cpx Opx AP_igroup fixed}}
  • sensors/t/cpx_opx_fonarev_graphchikov_1991_b.1484660690.txt.gz
  • Последние изменения: 2018/11/12 15:08
  • (внешнее изменение)