Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
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); | ||
- | r <- 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> |