Cpx-Opx: Fonarev, Graphchikov, 1991 <C>

Details

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 600-900 °C
Renew sensors

Использовать Проверить

  • заголовок
  • краткое описание
  • статья
  • ссылка
  • карточка
  • подробное описание
  • код
  • тест

Source

  1. source("utilities_tpf.r");
  2.  
  3. sensors.t.cpx_opx_fonarev_graphchikov_1991_c <- function(Cpx, Opx, P, usePFU=FALSE, ...){
  4. row_names <- paste0(Cpx$Name,"-", Opx$Name);
  5.  
  6. if(!usePFU){
  7. Opx <- tpf.recalc_minaral("OPX",Opx);
  8. Cpx <- tpf.recalc_minaral("CPX",Cpx);
  9. }
  10.  
  11. X <- (Cpx$Fe_p2_pfu + Cpx$Fe_p3_pfu) / (Cpx$Mg_pfu + Cpx$Fe_p2_pfu + Cpx$Fe_p3_pfu + Cpx$Ca_pfu);
  12. Y <- (Opx$Fe_p2_pfu + Opx$Fe_p3_pfu) / (Opx$Mg_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Ca_pfu);
  13. Z <- Opx$MnO_wtp;
  14. C <- (Cpx$Fe_p2_pfu + Cpx$Fe_p3_pfu) / Cpx$Mn_pfu;
  15. O <- (Opx$Fe_p2_pfu + Opx$Fe_p3_pfu) / Opx$Mn_pfu;
  16. LK <- log(C / O);
  17. K <- 1.0221 - 0.2816 * LK;
  18. A <- 5.6066 * X + 13.6767 * X^2 - 23.6366 * X^3 - 60.7866 * X^4 - Y * (1 - (0.35 - X) * 0.01 * P);
  19. B <- ( - 9.9203 * X - 25.1949 * X^2 + 30.5070 * X^3 + 148.9344 * X^4) * K;
  20. G <- (6.9830 * X + 10.0505 * X^2 - 9.1097 * X^3 - 85.1719 * X^4) * K^2;
  21. N <- (2 * G * 1000 / ( - B + sqrt(B^2 - 4 * A * G))) - 273.15;
  22.  
  23. T <- N;
  24.  
  25. A <- - 15.9135 * X + 112.8452 * X^2 - 232.7006 * X^3 + 156.3120 * X^4 - Y * (1 - (0.5 - X) * 0.01 * P);
  26. B <- (44.2986 * X - 313.6564 * X^2 + 660.4657 * X^3 - 446.5655 * X^4) * K;
  27. G <- ( - 27.1202 * X + 212.7500 * X^2 - 462.5763 * X^3 + 316.4015 * X^4) * K^2;
  28. M <- (2 * G * 1000 / ( - B + sqrt(B^2 - 4 * A * G))) - 273.15;
  29.  
  30. T <- ifelse(T<850,T,(M + N) / 2)
  31.  
  32. T <- ifelse(Z>4.0, T, NA);
  33. T <- ifelse(X>0.1, T, NA);
  34. T <- ifelse(T > 600 && T < 900, T, NA);
  35.  
  36. return(data.frame(Name=row_names,P=P,T_calc=T));
  37. }
  38.  
  39. sensors.t.cpx_opx_fonarev_graphchikov_1991_c.args <- function(){
  40. ars <- list();
  41. ars$minerals <- c("Cpx", "Opx");
  42. ars$ranges <- c("P");
  43. return(ars);
  44. }
  45.  
  46. #sensors.t.cpx_opx_fonarev_graphchikov_1991_c.test <- function(){
  47. #
  48. #}
  • sensors/t/cpx_opx_fonarev_graphchikov_1991_c.txt
  • Последние изменения: 2018/11/12 15:08
  • (внешнее изменение)