Различия
Здесь показаны различия между двумя версиями данной страницы.
| Следующая версия | Предыдущая версия | ||
| 
                    sensors:t:cpx_opx_kretz_1982_a [2017/01/17 13:44] 127.0.0.1 внешнее изменение  | 
                
                    sensors:t:cpx_opx_kretz_1982_a [2018/11/12 15:07] (текущий) | 
            ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== Cpx-Opx: Kretz, 1982 <A> ====== | ====== Cpx-Opx: Kretz, 1982 <A> ====== | ||
| - | + | ||
| + | Cpx slope of the solvus surface based on Natural data for associated Ca pyroxene (Cpx) and orthopyroxene (Opx) or pigeonite are combined with experimental data for Fe-free pyroxenes. | ||
| === Details === | === Details === | ||
| Строка 7: | Строка 9: | ||
| </WRAP> | </WRAP> | ||
| - | ^ Article | | | + | ^ Article | <ref:kretz1982> | | 
| - | ^ Collibration | | | + | ^ Callibration | Experimetal and data from Skaergaard and Bushveld | | 
| - | ^ Precision | | | + | ^ Precision | ±60°C | | 
| - | ^ Ranges | | | + | ^ Ranges | 750-1400 °C | | 
| - | ^ Renew sensors | | | + | ^ See also | [[sensors:t:cpx_opx_kretz_1982_b|Kretz, 1982 <B>]] | | 
| <use:sensors.t.cpx_opx_kretz_1982_a> | <use:sensors.t.cpx_opx_kretz_1982_a> | ||
| Строка 31: | Строка 33: | ||
| source("utilities_tpf.r"); | source("utilities_tpf.r"); | ||
| - | sensors.t.cpx_opx_kretz_1982_a <- function(Cpx, Opx, ...){ | + | sensors.t.cpx_opx_kretz_1982_a <- function(Cpx, usePFU = FALSE, ...){ | 
| - | Cpx <- tpf.recalc_minaral("CPX",Cpx); | + |  | 
| + | row_names = Cpx$Name; | ||
| + | |||
| + | if(!usePFU) Cpx <- tpf.recalc_minaral("CPX",Cpx); | ||
| X <- Cpx$Fe_p2_pfu / (Cpx$Fe_p2_pfu + Cpx$Mg_pfu); | X <- Cpx$Fe_p2_pfu / (Cpx$Fe_p2_pfu + Cpx$Mg_pfu); | ||
| Y <- Cpx$Ca_pfu / (Cpx$Ca_pfu + Cpx$Mg_pfu + Cpx$Fe_p2_pfu); | Y <- Cpx$Ca_pfu / (Cpx$Ca_pfu + Cpx$Mg_pfu + Cpx$Fe_p2_pfu); | ||
| TH <- (1000 / (0.468 + 0.246 * X - 0.123 * log(1 - 2 * Y))) - 273.15; | TH <- (1000 / (0.468 + 0.246 * X - 0.123 * log(1 - 2 * Y))) - 273.15; | ||
| - | if (TH>1080.0) { | ||
| - | T <- TH; | ||
| - | warning(" ONLY CPX COMPOSITION IS INVOLVED IN CALCULATIONS, ACCURACY: +/-60 C"); | ||
| - | } | ||
| TL <- (1000 / (0.054 + 0.608 * X - 0.304 * log(1 - 2 * Y))) - 273.15; | TL <- (1000 / (0.054 + 0.608 * X - 0.304 * log(1 - 2 * Y))) - 273.15; | ||
| - | if (TL<1080.0) { | + | |
| - | T <- TL; | + | Ts <- data.frame(TH = TH, TL = TL, T = rep(NA, nrow(Cpx))); | 
| - | warning(" ONLY CPX COMPOSITION IS INVOLVED IN CALCULATIONS, ACCURACY: +/-60 C"); | + | Ts$T <- ifelse(Ts$TH>1080.0,Ts$TH,ifelse(Ts$TL<1080.0,TL,NA)); | 
| - | } | + | |
| - | if (TH<1080.0) { | + | return(data.frame(Name=row_names,T_calc=Ts$T)); | 
| - | if (TL>1080.0) { | + | |
| - | warning(" IS NOT TO BE USED FOR THESE COMPOSITIONS"); | + | |
| - | } | + | |
| - | } | + | |
| - | return(data.frame(Name=paste0(Cpx$Name),T_calc=T)); | + | |
| } | } | ||
| sensors.t.cpx_opx_kretz_1982_a.args <- function(){ | sensors.t.cpx_opx_kretz_1982_a.args <- function(){ | ||
| ars <- list(); | ars <- list(); | ||
| - | ars$minerals <- c("Cpx", "Opx"); | + | ars$minerals <- c("Cpx"); | 
| ars$ranges <- c(); | ars$ranges <- c(); | ||
| return(ars); | return(ars); | ||
| Строка 66: | Строка 62: | ||
| </Code> | </Code> | ||
| - | {{tag> tpf Cpx }} | + | {{tag> tpf Cpx AP_igroup fixed}} |