Global regression, based on the partitioning of enstatite + ferrosilite (Fm2Si2O6 = EnFs; FmO = FeO + MgO + MnO) between clinopyroxene and orthopyroxene.
| Article | K. D. Putirka Thermometers and Barometers for Volcanic Systems, 2008 [ref] |
|---|---|
| Collibration | 483 points from different sources |
| Precision | ± 3.2 kbar |
| Ranges | P < 70 kbar, 700 °C < T < 2000 °C |
| Renew sensors |
source('recalc_px_putirka.r');
source('interpmin_opx_thompson.r');
source('interpmin_cpx_putirka.r');
sensors.p.opx_cpx_putirka <- function(Opx, Cpx, Temp=1000, usePFU = FALSE, ...){
stopifnot(usePFU == F);
CpxCmp <-interpmin.cpx_putirka(Cpx);
Cpx <- recalc.px_putirka(Cpx);
OpxCmp <- interpmin.opx_thompson(Opx);
Opx <- recalc.px_putirka(Opx);
Kf <- Opx$Ca_pfu/(1-Cpx$Ca_pfu);
Opx_En_Act <- (0.5*Opx$Mg_pfu/(Opx$Ca_pfu+0.5*Opx$Mg_pfu+0.5*(Opx$Fe_pfu-Opx$Fe_p3_pfu)+Opx$Mn_pfu+Opx$Na_pfu))*
(0.5*Opx$Mg_pfu/(Opx$Fe_p3_pfu+0.5*Opx$Fe_p2_pfu+Opx$Al_c6_pfu+Opx$Ti_pfu+Opx$Cr_pfu+0.5*Opx$Mg_pfu));
Cpx_Di_Act <- Cpx$Ca_pfu/(Cpx$Ca_pfu+0.5*Cpx$Mg_pfu+0.5*Cpx$Fe_p2_pfu+Cpx$Mn_pfu+Cpx$Na_pfu);
Pcalc <- -94.25 +0.045*Temp +187.7*Opx$Al_c6_pfu +246.8*OpxCmp$X_Fm2Si2O6 -212.5*OpxCmp$X_En +
127.5*Opx_En_Act -69.4*CpxCmp$X_EnFs -133.9*Cpx_Di_Act -1.66/Kf;
Eq_check <- (Cpx$Fe_pfu/Cpx$Mg_pfu)/(Opx$Fe_pfu/Opx$Mg_pfu);
Eq_check <- Eq_check > 0.95 && Eq_check < 1.23;
return (data.frame(Name=paste0(Opx$Name,'-',Cpx$Name),T_seq=Temp,P_calc_Opx_Cpx_Putirka=Pcalc,Eq_check=Eq_check));
}
sensors.p.opx_cpx_putirka.args <- function() {
ars <- list();
ars$minerals = c('Opx','Cpx');
ars$ranges = c('Temp');
return(ars);
}