Cpx-Opx: Fonarev, 1994 <B>

Details

This sensor from TPF collection

Article
Collibration
Precision
Ranges
Renew sensors

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

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

Source

  1. source("utilities_tpf.r");
  2.  
  3. sensors.t.cpx_opx_fonarev_1994_b <- function(Cpx, Opx, P, ...){
  4. Opx <- tpf.recalc_minaral("OPX",Opx);
  5. Cpx <- tpf.recalc_minaral("CPX",Cpx);
  6.  
  7. 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);
  8. Y <- (Opx$Fe_p2_pfu + Opx$Fe_p3_pfu) / (Opx$Mg_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Ca_pfu + Opx$Mn_pfu + Opx$Al_c6_pfu + Opx$Ti_pfu + Opx$K_pfu + Opx$Na_pfu);
  9. Z <- Cpx$Al2O3_wtp + Cpx$TiO2_wtp + Cpx$MnO_wtp + Cpx$Na2O_wtp;
  10. X2 <- (Cpx$Fe_p2_pfu + Cpx$Fe_p3_pfu) / (Cpx$Mg_pfu + Cpx$Fe_p2_pfu + Cpx$Fe_p3_pfu + Cpx$Ca_pfu);
  11. Y2 <- (Opx$Fe_p2_pfu + Opx$Fe_p3_pfu) / (Opx$Mg_pfu + Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Ca_pfu);
  12. OZ <- Opx$Al2O3_wtp + Opx$TiO2_wtp + Opx$MnO_wtp + Opx$Na2O_wtp;
  13. if (Z<OZ) {
  14. X <- X2;
  15. Y <- Y2;
  16. }
  17. if (P<20.001) {
  18. if (Z<5.0) {
  19. if (X>0.10) {
  20. A <- 5.6066 * X + 13.6767 * X^2 - 23.6366 * X^3 - 60.7866 * X^4 - Y * (1 - (0.35 - X) * 0.01 * P);
  21. B <- - 9.9203 * X - 25.1949 * X^2 + 30.5070 * X^3 + 148.9344 * X^4;
  22. G <- 6.9830 * X + 10.0505 * X^2 - 9.1097 * X^3 - 85.1719 * X^4;
  23. N <- (2 * G * 1000 / ( - B + sqrt(B^2 - 4 * A * G))) - 273.15;
  24. if (N<850.001) {
  25. if (N>600.001) {
  26. T <- N;
  27. if (X<0.2001) {
  28. warning(" ACCURACY +-30,C");
  29. }
  30. if (X>0.2001) {
  31. if (X<0.3001) {
  32. warning(" ACCURACY +-20,C");
  33. }
  34. }
  35. if (X>0.3001) {
  36. warning(" ACCURACY +-10,C");
  37. }
  38. }
  39. if (N<600) {
  40. warning(" IS NOT TO BE USED FOR T<600 C");
  41. }
  42. }
  43. if (N>850.001) {
  44. if (N<900.001) {
  45. A <- - 15.9135 * X + 112.8452 * X^2 - 232.7006 * X^3 + 156.3120 * X^4 - Y * (1 - (0.5 - X) * 0.01 * P);
  46. B <- 44.2986 * X - 313.6564 * X^2 + 660.4657 * X^3 - 446.5655 * X^4;
  47. G <- - 27.1202 * X + 212.7500 * X^2 - 462.5763 * X^3 + 316.4015 * X^4;
  48. M <- (2 * G * 1000 / ( - B + sqrt(B^2 - 4 * A * G))) - 273.15;
  49. T <- (M + N) / 2;
  50. }
  51. if (N>900.001) {
  52. warning(" IS NOT TO BE USED FOR T>900 C");
  53. }
  54. }
  55. }
  56. }
  57. if (Z>5.0) {
  58. warning(" CANNOT BE USED FOR (AL2O3+TIO2+MNO+NA2O) IN CPX >5 WT.");
  59. }
  60. if (X<0.1) {
  61. warning(" CANNOT BE USED FOR FE/(FE+MG+CA) IN CPX <0.1");
  62. }
  63. }
  64. if (P>20.001) {
  65. warning(" IS NOT TO BE USED FOR P>20 KBAR");
  66. }
  67. return(data.frame(Name=paste0(Cpx$Name,"-", Opx$Name),P=P,T_calc=T));
  68. }
  69.  
  70. sensors.t.cpx_opx_fonarev_1994_b.args <- function(){
  71. ars <- list();
  72. ars$minerals <- c("Cpx", "Opx");
  73. ars$ranges <- c("P");
  74. return(ars);
  75. }
  76.  
  77. #sensors.t.cpx_opx_fonarev_1994_b.test <- function(){
  78. #
  79. #}
  • sensors/t/cpx_opx_fonarev_1994_b.txt
  • Последние изменения: 2018/11/12 15:08
  • (внешнее изменение)