Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
recalc:ms_tindle [2015/11/13 10:01]
admin
recalc:ms_tindle [2018/11/12 15:08] (текущий)
Строка 1: Строка 1:
-====== Ms: Tindle ​method ​======+====== Ms: Tindle, 1990 ======
  
-Recalculation to 22 ox with F,Cl correction. Li2O and H2O calculations after Tindle and Webb, 1990.+Recalculation to 22 ox with F,Cl correction. Li2O and H2O not calculated.
  
 === Details === === Details ===
  
-^ Article | Tindle and Webb (1990) European Journal of Mineralogy, vol. 2, pgs. 595-610. | +^ Reference | <ref:tindle1990> ​|
-^ Reference | http://​www.open.ac.uk/​earth-research/​tindle/​AGTWebPages/​AGTSoft.html ​|+
 ^ Input components | SiO2_wtp, TiO2_wtp, Al2O3_wtp, FeO_wtp, MnO_wtp, MgO_wtp, CaO_wtp, Na2O_wtp, K2O_wtp, SrO_wtp, BaO_wtp, Rb2O_wtp, Cs2O_wtp, ZnO_wtp, SnO2_wtp, Ga2O3_wtp, F_wtp, Cl_wtp, Cr2O3_wtp, NiO_wtp, CuO_wtp | ^ Input components | SiO2_wtp, TiO2_wtp, Al2O3_wtp, FeO_wtp, MnO_wtp, MgO_wtp, CaO_wtp, Na2O_wtp, K2O_wtp, SrO_wtp, BaO_wtp, Rb2O_wtp, Cs2O_wtp, ZnO_wtp, SnO2_wtp, Ga2O3_wtp, F_wtp, Cl_wtp, Cr2O3_wtp, NiO_wtp, CuO_wtp |
 ^ Calculated components | Al_c4_pfu, Al_c6_pfu, Li_pfu, OH_pfu | ^ Calculated components | Al_c4_pfu, Al_c6_pfu, Li_pfu, OH_pfu |
-^[[:​ppy:​mod_recalc#​ms_tindle |Calculate]] ^ ^ 
  
-=== Код ​===+<​use:​recalc.ms_tindle>​ 
 +<​test:​recalc.ms_tindle>​ 
 + 
 +<WRAP center round todo 60%> 
 +  * <​del>​заголовок</​del>​ 
 +  * <​del>​краткое описание</​del>​ 
 +  * <​del>​статья</​del>​ 
 +  * <​del>​ссылка</​del>​ 
 +  * <​del>​карточка</​del>​ 
 +  * подробное описание 
 +  * <​del>​код</​del>​ 
 +  * <​del>​тест</​del>​ 
 +</​WRAP>​ 
 + 
 +=== Source ​===
  
 <Code linenums lang-r> <Code linenums lang-r>
Строка 28: Строка 40:
  
 step1_data <- rowApply(`/​`,​ data, step1_coeff);​ step1_data <- rowApply(`/​`,​ data, step1_coeff);​
 +
 step1_sum <- rowSums(step1_data);​ step1_sum <- rowSums(step1_data);​
 F_Cl_corr <- step1_sum - step1_data$F_wtp - step1_data$Cl_wtp;​ F_Cl_corr <- step1_sum - step1_data$F_wtp - step1_data$Cl_wtp;​
Строка 36: Строка 49:
 pfu_names <- c('​Si_pfu','​Ti_pfu','​Al_pfu','​Fe_pfu','​Mn_pfu','​Mg_pfu','​Ca_pfu','​Na_pfu','​K_pfu',​ pfu_names <- c('​Si_pfu','​Ti_pfu','​Al_pfu','​Fe_pfu','​Mn_pfu','​Mg_pfu','​Ca_pfu','​Na_pfu','​K_pfu',​
                '​Sr_pfu','​Ba_pfu','​Rb_pfu','​Cs_pfu','​Zn_pfu','​Sn_pfu','​Ga_pfu',​                '​Sr_pfu','​Ba_pfu','​Rb_pfu','​Cs_pfu','​Zn_pfu','​Sn_pfu','​Ga_pfu',​
-               '​F_pfu','​Cl_pfu','​Cr_pfu','​Ni_pfu','​Cu_pfu','​Li_pfu');+               '​F_pfu','​Cl_pfu','​Cr_pfu','​Ni_pfu','​Cu_pfu'​);​
  
 ox_norm <- c( 1/​2,​1/​2,​2/​3,​1/​1,​1/​1,​1/​1,​1/​1,​2/​1,​2/​1,​ ox_norm <- c( 1/​2,​1/​2,​2/​3,​1/​1,​1/​1,​1/​1,​1/​1,​2/​1,​2/​1,​
               1/​1,​1/​1,​2/​1,​2/​1,​1/​1,​1/​2,​2/​3,​               1/​1,​1/​1,​2/​1,​2/​1,​1/​1,​1/​2,​2/​3,​
-              1,​1,​2/​3,​1/​1,​1/1,2/1);+              1,​1,​2/​3,​1/​1,​1/​1);​
  
 step3_data <-  rowApply(`*`,​ step2_data, ox_norm) ; step3_data <-  rowApply(`*`,​ step2_data, ox_norm) ;
 names(step3_data) <- pfu_names; names(step3_data) <- pfu_names;
 +step3_data$Name <- wtp_data$Name;​
 +
 +step3_data$Al_c4_pfu <- ifelse((step2_data$Al2O3_wtp/​3)*2>​8-step3_data$Si_pfu,​8-step3_data$Si_pfu,​(step2_data$Al2O3_wtp/​3)*2);​
 +step3_data$Al_c4_pfu <- ifelse(step3_data$Si_pfu>​8,​0,​step3_data$Al_c4_pfu);​
 +step3_data$Al_c6_pfu <- ifelse(step3_data$Si_pfu+(step2_data$Al2O3_wtp/​3)*2<​8,​0,​((step2_data$Al2O3_wtp/​3)*2)-step3_data$Al_c4_pfu);​
  
 Li_ve <- 0.31134*data$F_wtp-0.075895;​ Li_ve <- 0.31134*data$F_wtp-0.075895;​
 Li_ve <- ifelse(Li_ve<​0,​0,​Li_ve);​ Li_ve <- ifelse(Li_ve<​0,​0,​Li_ve);​
  
-step3_data$Name <- wtp_data$Name;+step3_data$Li_pfu ​<- Li_ve; 
 + 
 +step3_data$OH_pfu = 4-(step3_data$Cl_pfu+step3_data$F_pfu)
  
-return(step3_data);​+return(step3_data[,​c('​Name',​pfu_names,'​Al_c4_pfu','​Al_c6_pfu',​ '​Li_pfu',​ '​OH_pfu'​)]);
 } }
  
Строка 58: Строка 78:
   TiO2_wtp=2.3,​Cr2O3_wtp=0.06,​FeO_wtp =20.36);   TiO2_wtp=2.3,​Cr2O3_wtp=0.06,​FeO_wtp =20.36);
    
-  ​<- recalc.bt_tindle ​(src); +  ​result ​<- recalc.ms_tindle ​(src); 
-   + 
-  expect_equal(object = result$Al_c4_pfu,​2.781, tolerance = 0.005); +  expect_equal(object = result$Al_c4_pfu,​2.761, tolerance = 0.05); 
-  expect_equal(object = result$Al_c6_pfu,​0.732, tolerance = 0.005); +  expect_equal(object = result$Al_c6_pfu,​0.766, tolerance = 0.05); 
-  expect_equal(object = result$Li_pfu,​0.17, tolerance = 0.005); +  expect_equal(object = result$Li_pfu,​0.0, tolerance = 0.05); 
-  expect_equal(object = result$Mg_pfu,​2.115, tolerance = 0.005); +  expect_equal(object = result$Mg_pfu,​2.123, tolerance = 0.05); 
-  expect_equal(object = result$OH_pfu,​3.982,​ tolerance = 0.005);+  expect_equal(object = result$OH_pfu,​3.982,​ tolerance = 0.05);
 } }
 </​Code>​ </​Code>​
  • recalc/ms_tindle.1447408864.txt.gz
  • Последние изменения: 2018/11/12 15:08
  • (внешнее изменение)