Различия
Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| 
                    sensors:t:cpx_opx_finnerty_boyd_1984 [2017/05/18 12:18] 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 === | ||
| Строка 9: | Строка 9: | ||
| </WRAP> | </WRAP> | ||
| - | ^ Article | <ref:finnerty1984> | | + | ^ 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}} |