Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
recalc:amp_13ecnk [2017/03/21 13:26]
admin
recalc:amp_13ecnk [2018/11/12 15:08] (текущий)
Строка 1: Строка 1:
-====== Amp: 13eCNK ​Method ​======+====== Amp: 13eCNK ======
  
 Droop equation No 6 assuming 13 cations excluding Ca,Na & K and with ZrO2. Droop equation No 6 assuming 13 cations excluding Ca,Na & K and with ZrO2.
Строка 7: Строка 7:
 ^ Reference | Based on [[http://​www.gabbrosoft.org/​spreadsheets.html|Gabbresoft spreadsheet]] AMPH13 | ^ Reference | Based on [[http://​www.gabbrosoft.org/​spreadsheets.html|Gabbresoft spreadsheet]] AMPH13 |
 ^ Input | SiO2_wtp, TiO2_wtp, Al2O3_wtp, Cr2O3_wtp, FeO_wtp, MnO_wtp, MgO_wtp, CaO_wtp, Na2O_wtp, K2O_wtp, ZrO2_wtp | ^ Input | SiO2_wtp, TiO2_wtp, Al2O3_wtp, Cr2O3_wtp, FeO_wtp, MnO_wtp, MgO_wtp, CaO_wtp, Na2O_wtp, K2O_wtp, ZrO2_wtp |
 +^ Output | All elements in pfu, also Fe_p2_pfu, Fe_p3_pfu, Al_c4_pfu, Al_c6_pfu, and elements by groups T,C,B and A with sum for each group |
 ^ Results | pfu | ^ Results | pfu |
  
Строка 13: Строка 14:
  
 <WRAP center round todo 60%> <WRAP center round todo 60%>
-  * заголовок+  * <del>заголовок</​del>​
   * <​del>​краткое описание</​del>​   * <​del>​краткое описание</​del>​
   * статья   * статья
Строка 19: Строка 20:
   * <​del>​карточка</​del>​   * <​del>​карточка</​del>​
   * подробное описание   * подробное описание
-  * код +  * <del>код</​del>​ 
-  * тест+  * <del>тест</​del>​
 </​WRAP>​ </​WRAP>​
  
Строка 60: Строка 61:
 Fe_p3 <- ifelse(Fe_p3>​fnorm$Fe_pfu,​fnorm$Fe_pfu,​Fe_p3);​ Fe_p3 <- ifelse(Fe_p3>​fnorm$Fe_pfu,​fnorm$Fe_pfu,​Fe_p3);​
  
 +rformula <- formula[0, ];
  
-rformula <- ifelse(ToverS<​13,​formula,​fnorm); +for(i in 1:​nrow(formula)){ 
-print(rformula);+    if (cationCNK[i]<​13) { 
 +        ​rformula ​<- rbind(rformula,​ formula[i,​]);​ 
 +    } else { 
 +        rformula <- rbind(rformula,​ fnorm[i,​]);​ 
 +    } 
 +
 + 
 +rformula$Fe_p3_pfu ​<- ifelse(cationCNK<​13,​0,​Fe_p3);​ 
 +rformula$Fe_p2_pfu <- ifelse(cationCNK<​13,​formula$Fe_pfu,Fe_p2); 
 +rformula$Fe_pfu <- rformula$Fe_p3_pfu+rformula$Fe_p2_pfu;​ 
 +Ca_2m <- 2 - rformula$Ca_pfu;​ 
 +Si_8m <- 8 - rformula$Si_pfu;​ 
 +Al_mSi_8m <- rformula$Al_pfu - Si_8m; 
 + 
 +rformula$Si_T_pfu <- rformula$Si_pfu;​ 
 +rformula$Al_T_pfu <- ifelse(rformula$Al_pfu<​Si_8m,​rformula$Al_pfu,​Si_8m)
 +rformula$Al_c4_pfu <- rformula$Al_T_pfu;​ 
 +rformula$Sum_T <- rformula$Si_T_pfu + rformula$Al_T_pfu;​ 
 + 
 +rformula$Al_C_pfu <- ifelse(rformula$Al_pfu<​Si_8m,​0,​Al_mSi_8m);​ 
 +rformula$Al_c6_pfu <- rformula$Al_C_pfu;​ 
 +rformula$Ti_C_pfu <- rformula$Ti_pfu;​ 
 +rformula$Cr_C_pfu <- rformula$Cr_pfu;​ 
 +rformula$Fe_p2_C_pfu <- rformula$Fe_p2_pfu;​ 
 +rformula$Fe_p3_C_pfu <- rformula$Fe_p3_pfu;​ 
 +rformula$Fe_C_pfu <- rformula$Fe_pfu;​ 
 +rformula$Mn_C_pfu <- rformula$Mn_pfu;​ 
 +rformula$Mg_C_pfu <- rformula$Mg_pfu;​ 
 +rformula$Sum_C <- rformula$Al_C_pfu+rformula$Ti_C_pfu+rformula$Cr_C_pfu+rformula$Fe_pfu+rformula$Mn_C_pfu+rformula$Mg_C_pfu;​ 
 + 
 +rformula$Ca_B_pfu <- rformula$Ca_pfu;​ 
 +rformula$Na_B_pfu <- ifelse(Ca_2m>​rformula$Na_pfu,​ rformula$Na_pfu,​ Ca_2m); 
 +rformula$Sum_B <- rformula$Ca_B_pfu + rformula$Na_B_pfu;
  
-rformula$Fe_pfu = 0+rformula$Na_A_pfu <- rformula$Na_pfu - rformula$Na_B_pfu
-rformula$Fe_p3_pfu = ifelse(ToverS<13,0,Fe_p3)+rformula$K_A_pfu ​<- rformula$K_pfu
-rformula$Fe_p2_pfu = ifelse(ToverS<13,formula$Fe_pfu,​Fe_p2);+rformula$Sum_A <- rformula$Na_A_pfu + rformula$K_A_pfu;
  
 result <- cbind(data.frame(Name=wtp_data$Name),​rformula);​ result <- cbind(data.frame(Name=wtp_data$Name),​rformula);​
-print(result);​ 
 return(result);​ return(result);​
 } }
 +# избыточная выдача;​ невозможно прочитать всю строку
 +# или удвоить строку или вывести необходимые величины вперед
 +# достаточно SiT/ AlT/ Al6/ Fe3/ Ti/ Cr/ Fe2/ Mn/ Mg/ Ca/ Na/ K/ TOTAL
  
 recalc.amp_13ecnk.test <- function (){ recalc.amp_13ecnk.test <- function (){
Строка 78: Строка 114:
  
     result <- recalc.amp_13ecnk(tdata);​     result <- recalc.amp_13ecnk(tdata);​
 +    ​
 +    expect_equal(object = result[1,​]$Fe_p3_pfu,​0.308,​ tolerance = 0.05);
 +    expect_equal(object = result[2,​]$Si_pfu,​5.267,​ tolerance = 0.05);
 } }
  
 </​Code>​ </​Code>​
  • recalc/amp_13ecnk.1490102796.txt.gz
  • Последние изменения: 2018/11/12 15:08
  • (внешнее изменение)