Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
recalc:cpx_sturm [2016/02/18 12:50] admin |
recalc:cpx_sturm [2018/11/12 15:08] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Cpx: by Sturm, 2002 with Fe3+ by Droop, 1983 ====== | + | ====== Cpx: Sturm, 2002 with Fe3+ by Droop, 1983 ====== |
- | В расчет берутся: Si, Al, Fe, Ti, Cr, V, Zr, Sc, Zn, Mg, Mn, Li, Ca, Na | + | Recalculatation for Cpx. Fe3+ calculated. |
- | === Подробнее === | + | === Details === |
- | ^ Reference: | <ref:sturm02> | | + | ^ Reference | <ref:sturm02> | |
- | ^ Учитываемые компоненты | Si, Al, Fe, Ti, Cr, V, Zr, Sc, Zn, Mg, Mn, Li, Ca, Na | | + | ^ Input | SiO2_wtp, TiO2_wtp, Al2O3_wtp, FeO_wtp, MnO_wtp, MgO_wtp, CaO_wtp, K2O_wtp, Na2O_wtp, Li2O_wtp, ZnO_wtp, NiO_wtp, Cr2O3_wtp, Sc2O3_wtp | |
- | ^ Рассчитываемые компоненты | Fe_p2_pfu, Fe_p3_pfu, Si_T_pfu, Al_M1_pfu, Fe_M1_pfu, Al_T_pfu, Fe_T_pfu, Mg_M2_pfu, Fe_M2_pfu, Mg_M1_pfu | | + | ^ Results | pfu, Fe_p2_pfu, Fe_p3_pfu, Si_T_pfu, Al_M1_pfu, Fe_M1_pfu, Al_T_pfu, Fe_T_pfu, Mg_M2_pfu, Fe_M2_pfu, Mg_M1_pfu | |
- | ^[[:ppy:mod_recalc#cpx_sturm|Рассчитать]] ^ ^ | + | |
+ | <use:recalc.cpx_sturm> | ||
+ | <test:recalc.cpx_sturm> | ||
+ | |||
+ | <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> | ||
Строка 14: | Строка 29: | ||
source("recalc_common_oxygen.r") | source("recalc_common_oxygen.r") | ||
- | recalc.cpx_sturm <- function (wtp_data, ...) | + | recalc.cpx_sturm <- function (wtp_data, ...) { |
- | { | + | |
- | ox_group <-c("SiO2_wtp","TiO2_wtp", "Al2O3_wtp", "FeO_wtp", | + | ox_group <- c("SiO2_wtp","TiO2_wtp", "Al2O3_wtp", "FeO_wtp", |
- | "MnO_wtp", "MgO_wtp", "CaO_wtp", "K2O_wtp", | + | "MnO_wtp", "MgO_wtp", "CaO_wtp", "K2O_wtp", |
- | "Na2O_wtp" ,"Li2O_wtp", "ZnO_wtp", "NiO_wtp", | + | "Na2O_wtp" ,"Li2O_wtp", "ZnO_wtp", "NiO_wtp", |
- | "Cr2O3_wtp", "Sc2O3_wtp"); | + | "Cr2O3_wtp", "Sc2O3_wtp"); |
wtp_group <- selectNames(wtp_data,ox_group); | wtp_group <- selectNames(wtp_data,ox_group); | ||
- | oxcoeff = c( 2 / 60.0848, 2 / 79.8988, 3 / 101.96128, 1 / 71.8464, | + | oxcoeff <- c( 2 / 60.0848, 2 / 79.8988, 3 / 101.96128, 1 / 71.8464, |
1 / 70.9374, 1 / 40.3044, 1 / 56.0794, 1 / 94.1954, | 1 / 70.9374, 1 / 40.3044, 1 / 56.0794, 1 / 94.1954, | ||
1 / 61.97894, 1 / 29.8814, 1 / 81.3794, 1 / 74.7094, | 1 / 61.97894, 1 / 29.8814, 1 / 81.3794, 1 / 74.7094, | ||
3 / 151.9902, 3 / 137.91 ); | 3 / 151.9902, 3 / 137.91 ); | ||
- | cxcoeff = c( 1 / 60.0848, 1 / 79.8988, 2 / 101.96128, 1 / 71.8464, | + | cxcoeff <- c( 1 / 60.0848, 1 / 79.8988, 2 / 101.96128, 1 / 71.8464, |
1 / 70.9374, 1 / 40.3044, 1 / 56.0794, 2 / 94.1954, | 1 / 70.9374, 1 / 40.3044, 1 / 56.0794, 2 / 94.1954, | ||
2 / 61.97894, 2 / 29.8814, 2 / 81.3794, 1 / 74.7094, | 2 / 61.97894, 2 / 29.8814, 2 / 81.3794, 1 / 74.7094, | ||
Строка 36: | Строка 50: | ||
step1_data <- rowApply(`*`, wtp_group, oxcoeff); | step1_data <- rowApply(`*`, wtp_group, oxcoeff); | ||
- | step1_sum <- 6/rowSums(step1_data); | + | step1_sum <- 6 / rowSums(step1_data); |
step1_data <- rowApply(`*`, wtp_group, cxcoeff) * step1_sum; | step1_data <- rowApply(`*`, wtp_group, cxcoeff) * step1_sum; | ||
Строка 50: | Строка 64: | ||
ifelse( | ifelse( | ||
sum_pfu > 6 / 1.5, | sum_pfu > 6 / 1.5, | ||
- | 2 * 6 * (1 - (6 / 1.5)/sum_pfu), | + | 2 * 6 * (1 - (6 / 1.5) / sum_pfu), |
0 | 0 | ||
) > step1_data$Fe_pfu, | ) > step1_data$Fe_pfu, | ||
Строка 56: | Строка 70: | ||
ifelse( | ifelse( | ||
sum_pfu > 6 / 1.5, | sum_pfu > 6 / 1.5, | ||
- | 2 * 6 * (1 - (6 / 1.5)/sum_pfu), | + | 2 * 6 * (1 - (6 / 1.5) / sum_pfu), |
0 | 0 | ||
) | ) | ||
Строка 62: | Строка 76: | ||
fe3_lind <- ifelse( | fe3_lind <- ifelse( | ||
- | (2 - step1_data$Si_pfu * ((6 / 1.5) / sum_pfu)) + | + | (2 - step1_data$Si_pfu * ((6 / 1.5) / sum_pfu) ) + |
- | step1_data$Na_pfu * ((6 / 1.5) / sum_pfu) - | + | step1_data$Na_pfu * ((6 / 1.5) / sum_pfu) - |
- | (step1_data$Al_pfu * ((6 / 1.5) / sum_pfu) - | + | (step1_data$Al_pfu * ( (6 / 1.5) / sum_pfu) - |
- | (2-step1_data$Si_pfu * ((6 / 1.5) / sum_pfu))) - | + | (2 - step1_data$Si_pfu * ( (6 / 1.5) / sum_pfu) ) ) - |
- | step1_data$Cr_pfu * ((6 / 1.5) / sum_pfu) - | + | step1_data$Cr_pfu * ( (6 / 1.5) / sum_pfu) - |
- | 2 * step1_data$Ti_pfu * ((6 / 1.5) / sum_pfu) > 0, | + | 2 * step1_data$Ti_pfu * ( (6 / 1.5) / sum_pfu) > 0, |
- | (2 - step1_data$Si_pfu * ((6 / 1.5) / sum_pfu)) + | + | (2 - step1_data$Si_pfu * ( (6 / 1.5) / sum_pfu) ) + |
- | step1_data$Na_pfu * ((6 / 1.5) / sum_pfu) - | + | step1_data$Na_pfu * ( (6 / 1.5) / sum_pfu) - |
- | (step1_data$Al_pfu * ((6 / 1.5) / sum_pfu) - | + | (step1_data$Al_pfu * ( (6 / 1.5) / sum_pfu) - |
- | (2 - step1_data$Si_pfu * ((6 / 1.5) / sum_pfu))) - | + | (2 - step1_data$Si_pfu * ( (6 / 1.5) / sum_pfu) ) ) - |
- | step1_data$Cr_pfu * ((6 / 1.5) / sum_pfu) - | + | step1_data$Cr_pfu * ( (6 / 1.5) / sum_pfu) - |
- | 2 * step1_data$Ti_pfu * ((6 / 1.5) / sum_pfu), | + | 2 * step1_data$Ti_pfu * ( (6 / 1.5) / sum_pfu), |
0); | 0); | ||
Строка 96: | Строка 110: | ||
"Mg_pfu", "Fe_p2_pfu")); | "Mg_pfu", "Fe_p2_pfu")); | ||
- | step1_data$Fe_M1_pfu = step1_data$Fe_p3_pfu - | + | step1_data$Fe_M1_pfu <- step1_data$Fe_p3_pfu - |
- | step1_data$Fe_T_pfu - | + | step1_data$Fe_T_pfu - |
- | compose_data$Fe_p3_pfu; | + | compose_data$Fe_p3_pfu; |
ret <- data.frame(Name = wtp_data$Name); | ret <- data.frame(Name = wtp_data$Name); |