Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
recalc:grt_tindle [2015/09/11 19:05] admin |
recalc:grt_tindle [2018/11/12 15:08] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Grt: Пересчет для гранатов по Тиндле ====== | + | ====== Grt: Tindle ====== |
- | Метод расчета на 12 атомов кислорода для гранатов. Также рассчитываются значения Fe_p3_pfu Fe_p2_pfu | + | Метод расчета на 12 атомов кислорода для гранатов. |
- | === Подробнее === | + | === Details === |
- | <WRAP center round info 60%> | + | ^ Reference | | |
- | * Описание: 100% | + | ^ Input | SiO2_wtp, Al2O3_wtp, TiO2_wtp, Cr2O3_wtp, Fe2O3_wtp, FeO_wtp, MnO_wtp, MgO_wtp, CaO_wtp, Na2O_wtp, K2O_wtp, BaO_wtp, NiO_wtp, ZnO_wtp, BeO_wtp, P2O5_wtp, V2O5_wtp, CoO_wtp, GeO2_wtp, ZrO2_wtp, Cs2O_wtp, PbO_wtp, SO3_wtp, CO2_wtp, F_wtp, Cl_wtp | |
- | * Код: 100% | + | ^ Results | pfu, Fe_p3_pfu, Fe_p2_pfu | |
- | * Тест: :?: | + | |
- | </WRAP> | + | |
- | Источник: http://www.open.ac.uk/earth-research/tindle/AGTWebPages/AGTSoft.html | + | <use:recalc.grt_tindle> |
+ | <test:recalc.grt_tindle> | ||
- | === Код === | + | <WRAP center round todo 60%> |
+ | * заголовок | ||
+ | * краткое описание | ||
+ | * статья | ||
+ | * ссылка | ||
+ | * <del>карточка</del> | ||
+ | * подробное описание | ||
+ | * <del>код</del> | ||
+ | * тест | ||
+ | </WRAP> | ||
- | <code> | + | === Source === |
- | recalc.grt_tindle <- function (wtp_data, ...) | + | <Code linenums lang-r> |
- | { | + | recalc.grt_tindle <- function (wtp_data, ...) { |
- | base_names <-c('SiO2_wtp','TiO2_wtp', 'Al2O3_wtp', 'Cr2O3_wtp', 'FeO_wtp', 'MnO_wtp', 'MgO_wtp', 'NiO_wtp', 'ZnO_wtp', 'CaO_wtp'); | + | base_names <- c("SiO2_wtp", "TiO2_wtp", "Al2O3_wtp", "Cr2O3_wtp", |
+ | "FeO_wtp", "MnO_wtp", "MgO_wtp", "NiO_wtp", | ||
+ | "ZnO_wtp", "CaO_wtp"); | ||
data <- selectNames(wtp_data,base_names); | data <- selectNames(wtp_data,base_names); | ||
- | anions_factor <- c(2/60.09, 2/79.9, 3/101.96, 3/152, 1/71.85, 1/70.94, 1/40.31, 1/74.708, 1/81.38, 1/56.08); | + | anions_factor <- c(2 / 60.09, 2 / 79.9, 3 / 101.96, 3 / 152, |
+ | 1 / 71.85, 1 / 70.94, 1 / 40.31, 1 / 74.708, | ||
+ | 1 / 81.38, 1 / 56.08); | ||
- | cations_factor <- c(1/60.09, 1/79.9, 2/101.96, 2/152, 1/71.85, 1/70.94, 1/40.31, 1/74.708, 1/81.38, 1/56.08); | + | cations_factor <- c(1 / 60.09, 1 / 79.9, 2 / 101.96, 2 / 152, |
+ | 1 / 71.85, 1 / 70.94, 1 / 40.31, 1 / 74.708, | ||
+ | 1 / 81.38, 1 / 56.08); | ||
raw_anions <- rowApply(`*`, data, anions_factor); | raw_anions <- rowApply(`*`, data, anions_factor); | ||
Строка 34: | Строка 48: | ||
raw_cations_sum <- rowSums(raw_cations); | raw_cations_sum <- rowSums(raw_cations); | ||
- | based_on_oxygen <- 12*raw_cations/raw_anions_sum; | + | based_on_oxygen <- 12 * raw_cations / raw_anions_sum; |
based_on_oxygen_sum <- rowSums(based_on_oxygen); | based_on_oxygen_sum <- rowSums(based_on_oxygen); | ||
- | names(based_on_oxygen) <- c('Si_pfu', 'Ti_pfu', 'Al_pfu', 'Cr_pfu', 'Fe_pfu', 'Mn_pfu', 'Mg_pfu', 'Ni_pfu', 'Zn_pfu', 'Ca_pfu'); | + | names(based_on_oxygen) <- c("Si_pfu", "Ti_pfu", "Al_pfu", "Cr_pfu", |
+ | "Fe_pfu", "Mn_pfu", "Mg_pfu", "Ni_pfu", | ||
+ | "Zn_pfu", "Ca_pfu"); | ||
- | fe3_em <- rep(5, nrow(based_on_oxygen)) - ( based_on_oxygen$Si_pfu + based_on_oxygen$Ti_pfu + based_on_oxygen$Al_pfu + based_on_oxygen$Cr_pfu ); | + | fe3_em <- rep(5, nrow(based_on_oxygen)) - |
- | fe3_em <- ifelse(fe3_em<0,0,fe3_em); | + | ( based_on_oxygen$Si_pfu + based_on_oxygen$Ti_pfu + |
+ | based_on_oxygen$Al_pfu + based_on_oxygen$Cr_pfu ); | ||
+ | |||
+ | fe3_em <- ifelse(fe3_em < 0, 0, fe3_em); | ||
fe2_em <- based_on_oxygen$Fe_pfu - fe3_em; | fe2_em <- based_on_oxygen$Fe_pfu - fe3_em; | ||
Строка 52: | Строка 71: | ||
intermid_12$Fe_p3_pfu <- fe3; | intermid_12$Fe_p3_pfu <- fe3; | ||
- | intermid_12 <- intermid_12[,c('Si_pfu', 'Ti_pfu', 'Al_pfu', 'Cr_pfu', 'Fe_p3_pfu', 'Fe_p2_pfu', 'Mn_pfu', 'Mg_pfu', 'Ni_pfu', 'Zn_pfu', 'Ca_pfu')]; | + | intermid_12 <- intermid_12[, c("Si_pfu", "Ti_pfu", "Al_pfu", "Cr_pfu", |
+ | "Fe_p3_pfu", "Fe_p2_pfu", "Mn_pfu", "Mg_pfu", | ||
+ | "Ni_pfu", "Zn_pfu", "Ca_pfu")]; | ||
mult_factor <- c(2, 2, 1.5, 1.5, 1.5, 1, 1, 1, 1, 1, 1); | mult_factor <- c(2, 2, 1.5, 1.5, 1.5, 1, 1, 1, 1, 1, 1); | ||
Строка 60: | Строка 81: | ||
intermid_12_sum <- rowSums(intermid_12); | intermid_12_sum <- rowSums(intermid_12); | ||
- | f_factor <- 12/intermid_12_sum; | + | f_factor <- 12 / intermid_12_sum; |
- | result_12 <-rowApply(`/`, intermid_12, mult_factor); | + | result_12 <- rowApply(`/`, intermid_12, mult_factor); |
result_12 <- result_12 * f_factor; | result_12 <- result_12 * f_factor; | ||
- | return(cbind(Name=wtp_data$Name,result_12,Fe_pfu=result_12$Fe_p2_pfu+result_12$Fe_p3_pfu)); | + | return(cbind(Name = wtp_data$Name, result_12, |
+ | Fe_pfu = result_12$Fe_p2_pfu + result_12$Fe_p3_pfu)); | ||
} | } | ||
- | </code> | + | </Code> |