Grt-Cpx: Pattison, Newton, 1989 <C>

Details

This sensor from TPF collection

Article
Collibration
Precision
Ranges
Renew sensors

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

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

Source

  1. source("utilities_tpf.r");
  2.  
  3. sensors.t.grt_cpx_pattison_newton_1989_c <- function(Grt, Cpx, P, ...){
  4. Grt <- tpf.recalc_minaral("GRT2",Grt);
  5. Cpx <- tpf.recalc_minaral("CPX1",Cpx);
  6. Cpx <- tpf.recalc_minaral("CPX",Cpx);
  7.  
  8. XX <- Grt$Fe_p2_pfu / Grt$Mg_pfu;
  9. Y <- Grt$Ca_pfu / (Grt$Fe_p2_pfu + Grt$Mg_pfu + Grt$Mn_pfu + Grt$Ca_pfu);
  10. X <- Grt$Mg_pfu / (Grt$Fe_p2_pfu + Grt$Mg_pfu);
  11. Z <- Cpx$Fe_p2_pfu / Cpx$Mg_pfu;
  12. N <- Cpx$Na2O_wtp;
  13. if (N>2.2) {
  14. warning(" CANNOT BE USED FOR NA2O IN CPX >2.2 W.");
  15. }
  16. if (N<2.2) {
  17. if (X<0.6) {
  18. if (X<0.125) {
  19. warning(" CANNOT BE USED FOR MG/(FE2+MG) IN GRT <0.125 ");
  20. }
  21. if (X>0.125) {
  22. if (Y<0.4) {
  23. warning(" CANNOT BE USED FOR CA/(FE2+MG+CA+MN) IN GRT <0.4 ");
  24. }
  25. if (Y>0.40) {
  26. if (Y<0.52) {
  27. F <- 10 * (Y - 0.4);
  28. A0 <- 14.64 + F * (9.408 - 14.64);
  29. B0 <- - 18.72 + F * ( - 12.37 + 18.72);
  30. C0 <- 6.940 + F * (4.775 - 6.94);
  31. D0 <- - 0.2583 + F * ( - 0.2331 + 0.2583);
  32. A1 <- 44900 + F * (38840 - 44900);
  33. B1 <- - 55250 + F * ( - 47880 + 55250);
  34. C1 <- 18820 + F * (16300 - 18820);
  35. D1 <- 712 + F * (859 - 712);
  36. K <- log(XX / Z);
  37. T <- (A1 * X^3 + B1 * X^2 + C1 * X + D1) / (K + A0 * X^3 + B0 * X^2 + C0 * X + D0) + 5.5 * (P - 15) - 273;
  38. warning(" ONLY FE2 IS INVOLVED IN CALCULATIONS");
  39. }
  40. }
  41. if (Y>0.52) {
  42. warning(" CANNOT BE USED FOR CA/(FE2+MG+CA+MN) IN GRT >0.52");
  43. }
  44. }
  45. }
  46. if (X>0.6) {
  47. warning(" CANNOT BE USED FOR MG/(FE2+MG) IN GRT > 0.6");
  48. }
  49. }
  50. return(data.frame(Name=paste0(Cpx$Name,"-", Grt$Name),P=P,T_calc=T));
  51. }
  52.  
  53. sensors.t.grt_cpx_pattison_newton_1989_c.args <- function(){
  54. ars <- list();
  55. ars$minerals <- c("Grt", "Cpx");
  56. ars$ranges <- c("P");
  57. return(ars);
  58. }
  59.  
  60. #sensors.t.grt_cpx_pattison_newton_1989_c.test <- function(){
  61. #
  62. #}
  • sensors/t/grt_cpx_pattison_newton_1989_c.txt
  • Последние изменения: 2018/11/12 15:08
  • (внешнее изменение)