Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
sensors:t:cpx_opx_finnerty_boyd_1984 [2017/05/18 11:14] admin |
sensors:t:cpx_opx_finnerty_boyd_1984 [2018/11/12 15:07] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Cpx-Opx: Finnerty, Boyd, 1984 ====== | ====== Cpx-Opx: Finnerty, Boyd, 1984 ====== | ||
+ | For Cpx-Opx. Only for garnet peridotites. Constraint for CPX: 2*(CA/(CA+MG)) < 1. | ||
+ | |||
=== Details === | === Details === | ||
Строка 7: | Строка 9: | ||
</WRAP> | </WRAP> | ||
- | ^ Article | | | + | ^ Article | <ref:finnerty1984> (clarification required) | |
- | ^ Collibration | | | + | ^ Callibration | | |
^ Precision | | | ^ Precision | | | ||
^ Ranges | | | ^ Ranges | | | ||
Строка 18: | Строка 20: | ||
<WRAP center round todo 60%> | <WRAP center round todo 60%> | ||
* <del>заголовок</del> | * <del>заголовок</del> | ||
- | * краткое описание | + | * <del>краткое описание</del> |
- | * статья | + | * <del>статья</del> |
- | * ссылка | + | * <del>ссылка</del> |
* карточка | * карточка | ||
* подробное описание | * подробное описание | ||
Строка 31: | Строка 33: | ||
source("utilities_tpf.r"); | source("utilities_tpf.r"); | ||
- | sensors.t.cpx_opx_finnerty_boyd_1984 <- function(Cpx, Opx, P, ...){ | + | sensors.t.cpx_opx_finnerty_boyd_1984 <- function(Cpx, P, usePFU = FALSE, ...){ |
- | Cpx <- tpf.recalc_minaral("CPX",Cpx); | + | |
+ | row_names = Cpx$Name; | ||
+ | |||
+ | if(!usePFU) Cpx <- tpf.recalc_minaral("CPX",Cpx); | ||
X <- Cpx$Ca_pfu / (Cpx$Ca_pfu + Cpx$Mg_pfu); | X <- Cpx$Ca_pfu / (Cpx$Ca_pfu + Cpx$Mg_pfu); | ||
+ | |||
+ | T <- rep(NaN, nrow(Cpx)); | ||
+ | |||
if (2 * X<1) { | if (2 * X<1) { | ||
- | T <- exp((log(1 - 2 * X) + 5.37 * log(1941 + 5.04 * P)) / 5.37) - 273.15; | + | T <- exp((log(1 - 2 * X) + 5.37 * log(1941 + 5.04 * P)) / 5.37) - 273.15; |
- | warning(" ONLY FOR GARNET PERIDOTITES"); | + | |
} | } | ||
- | if (2 * X>1) { | + | |
- | warning(" IS NOT TO BE USED FOR 2*(CA/(CA+MG)) IN CPX >1"); | + | return(data.frame(Name=paste0(row_names),P=P,T_calc=T)); |
- | } | + | |
- | return(data.frame(Name=paste0(Cpx$Name),P=P,T_calc=T)); | + | |
} | } | ||
sensors.t.cpx_opx_finnerty_boyd_1984.args <- function(){ | sensors.t.cpx_opx_finnerty_boyd_1984.args <- function(){ | ||
ars <- list(); | ars <- list(); | ||
- | ars$minerals <- c("Cpx", "Opx"); | + | ars$minerals <- c("Cpx"); |
ars$ranges <- c("P"); | ars$ranges <- c("P"); | ||
return(ars); | return(ars); | ||
} | } | ||
- | #sensors.t.cpx_opx_finnerty_boyd_1984.test <- function(){ | + | sensors.t.cpx_opx_finnerty_boyd_1984.test <- function(){ |
- | # | + | sensors.t.cpx_opx_finnerty_boyd_1984(data.frame(Name=c('Test'), SiO2_wtp=c(50), CaO_wtp=c(10), MgO_wtp=c(20)),15); |
- | #} | + | } |
</Code> | </Code> | ||
- | {{tag> tpf Cpx AP_igroup}} | + | {{tag> tpf Cpx AP_igroup fixed}} |