Различия
Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
recalc:ms_tindle [2015/11/13 10:03] 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, | ||
| Строка 44: | Строка 57: | ||
| 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); | ||
| - | return(cbind(wtp_data$Name,step3_data)); | + | step3_data$Li_pfu <- Li_ve; |
| + | |||
| + | step3_data$OH_pfu = 4-(step3_data$Cl_pfu+step3_data$F_pfu) | ||
| + | |||
| + | return(step3_data[,c('Name',pfu_names,'Al_c4_pfu','Al_c6_pfu', 'Li_pfu', 'OH_pfu')]); | ||
| } | } | ||
| Строка 56: | Строка 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> | ||