def transFwdArchiePhi(rFluid=20, m=2): r"""Archies law transformation function for resistivity(porosity). .. math:: \rho & = a\rho_{\text{fl}}\phi^{-m}\S_w^{-n} \\ \rho & = \rho_{\text{fl}}\phi^(-m) = \left(\phi/\rho_{\text{fl}}^{-1/n}\right)^{-n} See also :py:mod:`pygimli.physics.petro.resistivityArchie` Returns ------- trans : :gimliapi:`GIMLI::RTransPower` Transformation function Examples -------- >>> from pygimli.physics.petro import * >>> phi = 0.3 >>> tFAPhi = transFwdArchiePhi(rFluid=20) >>> r1 = tFAPhi.trans(phi) >>> r2 = resistivityArchie(rFluid=20.0, porosity=phi, ... a=1.0, m=2.0, sat=1.0, n=2.0) >>> print(r1-r2 < 1e-12) True >>> phi = [0.3] >>> tFAPhi = transFwdArchiePhi(rFluid=20) >>> r1 = tFAPhi.trans(phi) >>> r2 = resistivityArchie(rFluid=20.0, porosity=phi, ... a=1.0, m=2.0, sat=1.0, n=2.0) >>> print((r1-r2 < 1e-12)[0]) True """ return pg.RTransPower(-m, rFluid**(1. / m))
def transInvArchiePhi(rFluid=20, m=2): # phi(rho) """Inverse Archie transformation function porosity(resistivity). # rFluid/rho = phi^m ==> phi = (rFluid/rho)^(1/m) = (rho/rFluid)^(-1/m) See --- :py:mod:`pygimli.physics.petro.transFwdArchiePhi` """ return pg.RTransPower(-1 / m, rFluid)
def transInvArchieS(rFluid=20, phi=0.4, m=2, n=2): # S(rho) """Inverse Archie transformation function saturation(resistivity).""" # rFluid/rho = phi^m S^n => S=(rFluid/rho/phi^m)^(1/n) # S = (rho/rFluid/phi^-m)^(-1/n) return pg.RTransPower(-1 / n, rFluid * phi**(-m))
def transFwdArchieS(rFluid=20, phi=0.4, m=2, n=2): # rho(S) """Inverse Archie transformation function resistivity(saturation).""" # rho = rFluid * phi^(-m) S^(-n) return pg.RTransPower(-n, (rFluid * phi**(-m))**(1 / n))