====== Opx-Cpx: Putirka, 2009 ====== Global regression, based on the partitioning of enstatite + ferrosilite (Fm2Si2O6 = EnFs; FmO = FeO + MgO + MnO) between clinopyroxene and orthopyroxene. Cpx with Mg#>0.75 for best accuracy. === Details === ^ Article | | ^ Collibration | 483 points from different sources | ^ Accuracy | ± 60 °C, ±3.2 kbar | ^ Ranges | P < 70 kbar, 700 °C < T < 2000 °C | ^ Used sensors | [[sensors:p:opx_cpx_putirka]] [[sensors:t:opx_cpx_putirka]] | ^ Method | Simple interation. Start: P = 1 kbar, T = 700 °C. Count = 15 | ^ Renew sensors | | Для улучшения этой статьи следует: * Добавить подробное описание * Добавить тест === Source === source('sensors_p_opx_cpx_putirka.r'); source('sensors_t_opx_cpx_putirka.r'); sensors.pt.opx_cpx_putirka <- function(Opx, Cpx, usePFU = FALSE, ...){ stopifnot(usePFU == F); P <- 1; Temp <- 700; interations <- 1; repeat{ P_DF <- sensors.p.opx_cpx_putirka(Opx, Cpx, Temp = Temp); Temp_DF <- sensors.t.opx_cpx_putirka(Opx, Cpx, P = P); P <- P_DF$P_calc_Opx_Cpx_Putirka; Temp <- Temp_DF$T_calc_Opx_Cpx_Putirka; interations <- interations + 1; if (interations > 15) {break;} } return (data.frame(Name=paste0(Opx$Name,'-',Cpx$Name),P_calc_Opx_Cpx_Putirka=P,T_calc_Opx_Cpx_Putirka=Temp)); } sensors.pt.opx_cpx_putirka.args <- function() { ars <- list(); ars$minerals = c('Opx','Cpx'); ars$ranges = c(); return(ars); }