====== Grt-Pl-Mag-Qtz: Graphchikov, 1989 ====== === Details === This sensor from [[:about_tpf|TPF]] collection ^ Article | | ^ Collibration | | ^ Presition | | ^ Ranges | | ^ Renew sensors | | * заголовок * краткое описание * статья * ссылка * карточка * подробное описание * код * тест === Source === source("utilities_tpf.r"); sensors.f.grt_pl_mag_qtz_graphchikov_1989 <- function(Grt, Pl, Mag, Qtz, Temp, P, ...){ T <- Temp; Pl <- tpf.recalc_minaral("PL",Pl); Grt <- tpf.recalc_minaral("GRT",Grt); FG <- (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu - 2 + Grt$Al_c6_pfu + Grt$Al_c4_pfu) / (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu - 2 + Grt$Al_c4_pfu + Grt$Al_c6_pfu + Grt$Ca_pfu + Grt$Mg_pfu + Grt$Mn_pfu); MGG <- Grt$Mg_pfu / (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu - 2 + Grt$Al_c4_pfu + Grt$Al_c6_pfu + Grt$Ca_pfu + Grt$Mg_pfu + Grt$Mn_pfu); CG <- Grt$Ca_pfu / (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu - 2 + Grt$Al_c4_pfu + Grt$Al_c6_pfu + Grt$Ca_pfu + Grt$Mg_pfu + Grt$Mn_pfu); MNG <- Grt$Mn_pfu / (Grt$Fe_p2_pfu + Grt$Fe_p3_pfu - 2 + Grt$Al_c4_pfu + Grt$Al_c6_pfu + Grt$Ca_pfu + Grt$Mg_pfu + Grt$Mn_pfu); CP <- Pl$Ca_pfu / (Pl$Ca_pfu + Pl$Na_pfu + Pl$K_pfu); if (MNG>0.050) { warning(" CANNOT BE USED FOR MN/(MN+CA+MG+FE) IN GRT >0.05"); } if (MNG<0.050) { TT <- T + 273.15; ALM <- MGG^2 * (0.2 + FG * 4.6) + CG^2 * (3.5 - 0.0014 * TT - 7.1 * FG) + CG * MGG * (CG * 4.3 - MGG * 1.8 - 0.7); GRS <- MGG^2 * (4 - 0.0015 * TT - CG * 6.1) + FG^2 * (7.1 * CG - 0.1 - 0.0014 * TT) + FG * MGG * (3.4 - 0.0029 * TT - 2.8 * FG + 1.8 * MGG); AN <- (1 - CP)^2 * (1.980 - 0.001526 * TT + 2 * CP * (4.88 - 0.002348 * TT)); AALM <- (exp(ALM / 0.001987 / TT) * FG)^3; AGRS <- (exp(GRS / 0.001987 / TT) * CG)^3; AAN <- exp(AN / 0.001987 / TT) * CP; LK <- log(AAN^3 / AGRS / (AALM)^2); Y <- - 32.544 + 0.038462 * TT; if (PY) { F <- - 7.458 + 32.748 * 1000 / TT - 4.431 * (1000 / TT)^2 - 1.101 * P / (0.001987 * TT) - 0.4343 * LK; LGFO2 <- - F; } } return(data.frame(Name=paste0(Pl$Name,"-", Grt$Name),Temp=Temp,P=P,LGFO2_calc=LGFO2)); } sensors.f.grt_pl_mag_qtz_graphchikov_1989.args <- function(){ ars <- list(); ars$minerals <- c("Grt", "Pl", "Mag", "Qtz"); ars$ranges <- c("Temp", "P"); return(ars); } #sensors.f.grt_pl_mag_qtz_graphchikov_1989.test <- function(){ # #} {{tag> tpf Pl Grt }}