====== Cpx-Opx: Perchuk, 1977* ====== === Details === This sensor from [[:about_tpf|TPF]] collection ^ Article | | ^ Collibration | | ^ Precision | | ^ Ranges | | ^ Renew sensors | | * заголовок * краткое описание * статья * ссылка * карточка * подробное описание * код * тест === Source === source("utilities_tpf.r"); sensors.t.cpx_opx_perchuk_1977* <- function(Cpx, Opx, ...){ Opx <- tpf.recalc_minaral("OPX",Opx); Cpx <- tpf.recalc_minaral("CPX",Cpx); X <- Opx$Mg_pfu / (Opx$Fe_p2_pfu + Opx$Fe_p3_pfu + Opx$Mg_pfu + Opx$Mn_pfu); Y <- Cpx$Mg_pfu / (Cpx$Fe_p2_pfu + Cpx$Fe_p3_pfu + Cpx$Mg_pfu + Cpx$Mn_pfu); N <- Opx$FeO_wtp; M <- Cpx$FeO_wtp; Z <- 0.5 * (X + Y); if (Z>0.68) { T <- (1000 / (0.4305 - 0.1651 * log(M / N) + 1.1072 * Z - 1.0525 * Z^2 - 0.0304 * log(M / N) * Z^2)) - 273; } if (Z<0.68) { warning(" IS NOT TO BE USED FOR 0.5*[MG/(MG+FF+MN)OPX+MG/(MG+FE+MN)CPX] <0.68"); } return(data.frame(Name=paste0(Cpx$Name,"-", Opx$Name),T_calc=T)); } sensors.t.cpx_opx_perchuk_1977*.args <- function(){ ars <- list(); ars$minerals <- c("Cpx", "Opx"); ars$ranges <- c(); return(ars); } #sensors.t.cpx_opx_perchuk_1977*.test <- function(){ # #} {{tag> tpf Cpx Opx }}