Различия
Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
sensors:p:ph_kamzolkin_ivanov [2016/02/09 14:22] admin created |
sensors:p:ph_kamzolkin_ivanov [2018/11/12 15:08] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Ph: Камзолкин-Иванов, 2015 ====== | ====== Ph: Камзолкин-Иванов, 2015 ====== | ||
- | На основе модели линейной регрессией на большом объеме природных и экспериментальных образцов. | + | На основе модели линейной регрессией на большом объеме природных и экспериментальных образцов. Для Si_pfu < 3.25 и Si_pfu > 3.25 применяются разные уравнения. |
=== Подробнее === | === Подробнее === | ||
- | ^ Информация о публикации | ожидает публикации | | + | ^ Статья | <ref:kamzolkin2015> | |
- | ^ Ссылка | | | + | |
^ Калибровка | На 460 образцах, как естественных, так и экспериментальных | | ^ Калибровка | На 460 образцах, как естественных, так и экспериментальных | | ||
^ Точность | ±2.5 ºС Kbar | | ^ Точность | ±2.5 ºС Kbar | | ||
^ Диапазон значений | 400-1100 ºС 3-80 Kbar | | ^ Диапазон значений | 400-1100 ºС 3-80 Kbar | | ||
- | ^ Обновляет сенсоры | [[:sensors:p:phe_caddick_thompson|Caddick-Thompson, 2008]] | | + | ^ Связанные сенсоры | [[:sensors:p:ph_caddick_thompson|Caddick-Thompson, 2008]] | |
- | ^[[:ppy:mod_sensors#p_ph_kamzolkin_ivanov|Рассчитать]] ^ ^ | + | |
+ | <use:sensors.p.ph_kamzolkin_ivanov> | ||
+ | <test:sensors.p.ph_kamzolkin_ivanov> | ||
+ | |||
+ | <WRAP center round todo 60%> | ||
+ | * <del>заголовок</del> | ||
+ | * <del>краткое описание</del> | ||
+ | * <del>статья</del> | ||
+ | * <del>ссылка</del> | ||
+ | * <del>карточка</del> | ||
+ | * подробное описание | ||
+ | * <del>код</del> | ||
+ | * <del>тест</del> | ||
+ | </WRAP> | ||
=== Код метода === | === Код метода === | ||
Строка 20: | Строка 33: | ||
sensors.p.ph_kamzolkin_ivanov <- function(Phe, Temp=600, usePFU = FALSE, ...){ | sensors.p.ph_kamzolkin_ivanov <- function(Phe, Temp=600, usePFU = FALSE, ...){ | ||
- | if (!usePFU) Phe <- recalc.common_oxygen(Phe,12); | + | if (!usePFU) Phe <- recalc.common_oxygen(Phe,11); |
- | Pcalc <- 0.03*Temp + 19.21*Phe$Si_pfu - 2.91*Phe$Al_pfu + 2.17*(Phe$Mg_pfu + Phe$Fe_pfu)-57.22; | + | Phe$Pcalc1 <- 0.023*Temp + 5.99*Phe$Si_pfu + 1.76*Phe$Al_pfu + 12.89*(Phe$Mg_pfu + Phe$Fe_pfu)-31.91; |
+ | Phe$Pcalc2 <- 0.03*Temp + 19.21*Phe$Si_pfu - 2.91*Phe$Al_pfu + 2.17*(Phe$Mg_pfu + Phe$Fe_pfu)-57.22; | ||
- | return (data.frame(Name=Phe$Name,T_seq=Temp,P_calc_phe_kamzolkin_ivanov=Pcalc)); | + | Phe$Pcalc <- ifelse(Phe$Si_pfu <= 3.25, Phe$Pcalc1, Phe$Pcalc2); |
+ | |||
+ | return (data.frame(Name=Phe$Name,T_seq=Temp,P_calc_phe_kamzolkin_ivanov_ASel=Phe$Pcalc, | ||
+ | P_calc_phe_kamzolkin_ivanov_1 = Phe$Pcalc1, | ||
+ | P_calc_phe_kamzolkin_ivanov_2 = Phe$Pcalc2)); | ||
} | } | ||
Строка 32: | Строка 50: | ||
ars$ranges = c('Temp'); | ars$ranges = c('Temp'); | ||
return(ars); | return(ars); | ||
+ | } | ||
+ | |||
+ | sensors.p.ph_kamzolkin_ivanov.test <- function() { | ||
+ | src <- data.frame(Name='test', SiO2_wtp=46.92, TiO2_wtp=0.50, Al2O3_wtp=29.43, | ||
+ | FeO_wtp=3.61, MnO_wtp=0.18, MgO_wtp=2.28, Na2O_wtp=0.64, K2O_wtp=9.33); | ||
+ | |||
+ | result <- sensors.p.ph_kamzolkin_ivanov (src, Temp=680); | ||
+ | |||
+ | expect_equal(object = result$P_calc_phe_kamzolkin_ivanov, 12.9, tolerance = 0.1); | ||
+ | |||
} | } | ||
</Code> | </Code> |