Это старая версия документа!
Cpx-Opx: Fonarev, Graphchikov, 1991 <C>
Details
This sensor from TPF collection
Article | |
---|---|
Collibration | |
Precision | |
Ranges | |
Renew sensors |
заголовок- краткое описание
- статья
- ссылка
- карточка
- подробное описание
код- тест
Source
- source("utilities_tpf.r");
- sensors.t.cpx_opx_fonarev_graphchikov_1991_c <- function(Cpx, Opx, P, ...){
- 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);
- Y <- (Opx$Fe_p2_pfu + Opx$Fe_p3_pfu) / (Opx$Mg_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Ca_pfu);
- Z <- Opx$MnO_wtp;
- C <- (Cpx$Fe_p2_pfu + Cpx$Fe_p3_pfu) / Cpx$Mn_pfu;
- O <- (Opx$Fe_p2_pfu + Opx$Fe_p3_pfu) / Opx$Mn_pfu;
- LK <- log(C / O);
- K <- 1.0221 - 0.2816 * LK;
- 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) * K;
- G <- (6.9830 * X + 10.0505 * X^2 - 9.1097 * X^3 - 85.1719 * X^4) * K^2;
- N <- (2 * G * 1000 / ( - B + sqrt(B^2 - 4 * A * G))) - 273.15;
- if (N<850.001) {
- T <- N;
- warning(" FOR MNO IN OPX >4 W.P.");
- if (N<600) {
- warning(" IS NOT TO BE USED FOR T<600 C");
- }
- }
- if (N>850.001) {
- LK <- log(C / O);
- K <- 1.0221 - 0.2816 * LK;
- 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) * K;
- G <- ( - 27.1202 * X + 212.7500 * X^2 - 462.5763 * X^3 + 316.4015 * X^4) * K^2;
- M <- (2 * G * 1000 / ( - B + sqrt(B^2 - 4 * A * G))) - 273.15;
- if (M<900.001) {
- T <- (M + N) / 2;
- warning(" FOR MNO IN OPX >4 W.P.");
- }
- if (M>900.001) {
- warning(" IS NOT TO BE USED FOR T>900 C");
- }
- }
- if (Z<4.0) {
- warning(" IS NOT TO BE USED FOR MNO IN OPX <4 W.");
- }
- 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));
- }
- sensors.t.cpx_opx_fonarev_graphchikov_1991_c.args <- function(){
- ars <- list();
- ars$minerals <- c("Cpx", "Opx");
- ars$ranges <- c("P");
- return(ars);
- }
- #sensors.t.cpx_opx_fonarev_graphchikov_1991_c.test <- function(){
- #
- #}