Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
sensors:t:cpx_opx_finnerty_boyd_1984 [2017/05/18 12:19] 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 perifotites. Constraint for CPX: 2*(CA/(CA+MG)) < 1. | + | For Cpx-Opx. Only for garnet peridotites. Constraint for CPX: 2*(CA/(CA+MG)) < 1. |
=== Details === | === Details === | ||
Строка 10: | Строка 10: | ||
^ Article | <ref:finnerty1984> (clarification required) | | ^ Article | <ref:finnerty1984> (clarification required) | | ||
- | ^ Collibration | | | + | ^ Callibration | | |
^ Precision | | | ^ Precision | | | ||
^ Ranges | | | ^ Ranges | | | ||
Строка 34: | Строка 34: | ||
sensors.t.cpx_opx_finnerty_boyd_1984 <- function(Cpx, P, usePFU = FALSE, ...){ | sensors.t.cpx_opx_finnerty_boyd_1984 <- function(Cpx, P, usePFU = FALSE, ...){ | ||
+ | | ||
+ | row_names = Cpx$Name; | ||
| | ||
if(!usePFU) Cpx <- tpf.recalc_minaral("CPX",Cpx); | 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; | ||
} | } | ||
- | + | | |
- | if (2 * X>1) { | + | return(data.frame(Name=paste0(row_names),P=P,T_calc=T)); |
- | T <- NaN; | + | |
- | } | + | |
- | return(data.frame(Name=paste0(Cpx$Name),P=P,T_calc=T)); | + | |
} | } | ||
Строка 56: | Строка 57: | ||
} | } | ||
- | #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}} |