Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
sensors:p:grt_cpx_beyer [2017/06/02 10:10]
admin
sensors:p:grt_cpx_beyer [2018/11/12 15:08] (текущий)
Строка 34: Строка 34:
 sensors.p.grt_cpx_beyer <- function(Grt,​ Cpx, Temp, usePFU = FALSE, ...){ sensors.p.grt_cpx_beyer <- function(Grt,​ Cpx, Temp, usePFU = FALSE, ...){
  
-    ​row_names ​<- paste0(Grt$Name,"​-",​Cpx$Name);​+    ​presults ​<- data.frame(Name = paste0(Grt$Name,"​-",​Cpx$Name));
     ​     ​
     if(!usePFU){     if(!usePFU){
         Grt <- recalc.grt_nm(Grt);​         Grt <- recalc.grt_nm(Grt);​
-        Cpx <- recalc.px_nm(Grt);+        Cpx <- recalc.px_nm(Cpx);
     }     }
     ​     ​
Строка 98: Строка 98:
     ​     ​
     Grt$Pyr_RTLn_X3Y2 <- 8.314*T*log(Grt$X_Mg^3);​     Grt$Pyr_RTLn_X3Y2 <- 8.314*T*log(Grt$X_Mg^3);​
-    Grt$Grs_RTlna_MgAl ​<-  3*Grt$Pyr_RTg + Grt$Pyr_RTLn_X3Y2;​+    Grt$Pyr_RTlna_MgAl ​<-  3*Grt$Pyr_RTg + Grt$Pyr_RTLn_X3Y2;​
     ​     ​
     Cpx$W_MgFe <- 0;     Cpx$W_MgFe <- 0;
Строка 125: Строка 125:
     Cpx$Dio_RTLn_tet <- Cpx$W_AlSi*(Cpx$Al_T_pfu/​2)^2;​     Cpx$Dio_RTLn_tet <- Cpx$W_AlSi*(Cpx$Al_T_pfu/​2)^2;​
     ​     ​
-    Cpx$Dio_Recip <-  -Cpx$Al_M1_pfu*(Cpx$Fe_M2_pfu*(-21000))- +    Cpx$Dio_Recip <​-  ​0-Cpx$Al_M1_pfu*(Cpx$Fe_M2_pfu*(-21000))- 
-                       ​Cpx$Fe_p2_M1_pfu*(Cpx$Fe_M2_pfu*(-4680)+ +                        Cpx$Fe_M1_p2_pfu*(Cpx$Fe_M2_pfu*(-4680) + Cpx$Mg_M2_pfu*(-5010));​ 
-                       Cpx$Mg_M2_pfu*(-5010));​ +
-    +
     Cpx$Dio_RTLna_CaMgSi <- Cpx$Dio_RTLn_XM1XM2Xtet + Cpx$Dio_RTLn_M2 + Cpx$Dio_RTLn_M1 + Cpx$Dio_RTLn_tet + Cpx$Dio_Recip;​     Cpx$Dio_RTLna_CaMgSi <- Cpx$Dio_RTLn_XM1XM2Xtet + Cpx$Dio_RTLn_M2 + Cpx$Dio_RTLn_M1 + Cpx$Dio_RTLn_tet + Cpx$Dio_Recip;​
     ​     ​
Строка 135: Строка 134:
     Cpx$CaTs_RTLn_M2 <- Cpx$Dio_RTLn_M2;​     Cpx$CaTs_RTLn_M2 <- Cpx$Dio_RTLn_M2;​
     ​     ​
-    Cpx$CaTs_RTLn_M1 <- Cpx$Mg_M1_pfu^2*Cpx$W_MgAl+Cpx$Fe_p2_M1_pfu^2*Cpx$W_FeAl+ +    Cpx$CaTs_RTLn_M1 <- Cpx$Mg_M1_pfu^2*Cpx$W_MgAl+Cpx$Fe_M1_p2_pfu^2*Cpx$W_FeAl+ 
-                        Cpx$Mg_M1_pfu*Cpx$Fe_p2_M1_pfu*(Cpx$W_MgAl+Cpx$W_FeAl-Cpx$W_MgFe);​+                        Cpx$Mg_M1_pfu*Cpx$Fe_M1_p2_pfu*(Cpx$W_MgAl+Cpx$W_FeAl-Cpx$W_MgFe);​
     ​     ​
     Cpx$CaTs_RTLn_tet <- Cpx$W_AlSi*(Cpx$Si_pfu/​2)^2;​     Cpx$CaTs_RTLn_tet <- Cpx$W_AlSi*(Cpx$Si_pfu/​2)^2;​
     ​     ​
     Cpx$CaTs_Recip <- (1-Cpx$Al_M1_pfu)*(Cpx$Fe_M2_pfu*(-21000))-     Cpx$CaTs_Recip <- (1-Cpx$Al_M1_pfu)*(Cpx$Fe_M2_pfu*(-21000))-
-                      Cpx$Fe_p2_M1_pfu*(Cpx$Fe_M2_pfu*(-4680)+Cpx$Mg_M2_pfu*(-5010));​+                      Cpx$Fe_M1_p2_pfu*(Cpx$Fe_M2_pfu*(-4680)+Cpx$Mg_M2_pfu*(-5010));​
     ​     ​
     Cpx$CaTs_RTLna_CaAlAl <- Cpx$CaTs_RTLn_XM1XM2Xtet + Cpx$CaTs_RTLn_M2 + Cpx$CaTs_RTLn_M1 +      Cpx$CaTs_RTLna_CaAlAl <- Cpx$CaTs_RTLn_XM1XM2Xtet + Cpx$CaTs_RTLn_M2 + Cpx$CaTs_RTLn_M1 + 
                              ​Cpx$CaTs_RTLn_tet + Cpx$CaTs_Recip;​                              ​Cpx$CaTs_RTLn_tet + Cpx$CaTs_Recip;​
   ​   ​
-    return(Cpx);+    ​presults$RTLnK <- Cpx$CaTs_RTLna_CaAlAl +Cpx$Dio_RTLna_CaMgSi -1/​3*Grt$Pyr_RTlna_MgAl -2/​3*Grt$Grs_RTlna_CaAl;​ 
 + 
 +    presults$K <- exp(presults$RTLnK/​(8.314*T));​ 
 +     
 +    presults$dGt <- 16500-23.5*T;​ 
 + 
 +    presults$P <- -(presults$dGt+8.314*T*log(presults$K))/​(0.719*1000);​ 
 +    # if NA -> "no Al4 in cpx!"​ 
 + 
 +    ​return(data.frame(Name = presults$Name,​ T=Temp, P_calc = presults$P));
 } }
  
Строка 166: Строка 174:
 </​Code>​ </​Code>​
  
 +{{tag> MA_igroup Grt Cpx fixed}}
  • sensors/p/grt_cpx_beyer.1496398255.txt.gz
  • Последние изменения: 2018/11/12 15:08
  • (внешнее изменение)