update constant in casing analytic to match whole-space dipole soln

This commit is contained in:
Lindsey Heagy
2015-06-16 11:37:57 -07:00
parent 32f83322ca
commit 527133c709
2 changed files with 13 additions and 10 deletions
+2 -1
View File
@@ -5,7 +5,8 @@ from simpegEM.Utils.EMUtils import k
def getKc(freq,sigma,a,b,mu=mu_0,eps=epsilon_0):
a = float(a)
b = float(b)
return 2./np.pi * np.sqrt(b / a) * np.exp(-1j*k(freq,sigma,mu,eps)*(b-a))
# return 1./(2*np.pi) * np.sqrt(b / a) * np.exp(-1j*k(freq,sigma,mu,eps)*(b-a))
return np.sqrt(b / a) * np.exp(-1j*k(freq,sigma,mu,eps)*(b-a))
def _r2(xyz):
return np.sum(xyz**2,1)
+11 -9
View File
@@ -1,6 +1,7 @@
from SimPEG import Tests, Utils, np
import simpegEM.Analytics.FDEMcasing as Casing
import unittest
from scipy.constants import mu_0
n = 50.
@@ -8,41 +9,42 @@ freq = 1.
a = 5e-2
b = a + 1e-2
sigma = np.r_[10., 5.5e6, 1e-1]
mu = mu_0*np.r_[1.,100.,1.]
srcloc = np.r_[0., 0., 0.]
xobs = np.random.rand(n)+10.
yobs = np.zeros(n)
zobs = np.random.randn(n)
zobs = np.random.randn(n)
plotit = False
def CasingMagDipoleDeriv_r(x):
obsloc = np.vstack([x, yobs, zobs]).T
f = Casing._getCasingHertzMagDipole(srcloc,obsloc,freq,sigma,a,b)
g = Utils.sdiag(Casing._getCasingHertzMagDipoleDeriv_r(srcloc,obsloc,freq,sigma,a,b))
f = Casing._getCasingHertzMagDipole(srcloc,obsloc,freq,sigma,a,b,mu)
g = Utils.sdiag(Casing._getCasingHertzMagDipoleDeriv_r(srcloc,obsloc,freq,sigma,a,b,mu))
return f,g
def CasingMagDipoleDeriv_z(z):
obsloc = np.vstack([xobs, yobs, z]).T
f = Casing._getCasingHertzMagDipole(srcloc,obsloc,freq,sigma,a,b)
g = Utils.sdiag(Casing._getCasingHertzMagDipoleDeriv_z(srcloc,obsloc,freq,sigma,a,b))
f = Casing._getCasingHertzMagDipole(srcloc,obsloc,freq,sigma,a,b,mu)
g = Utils.sdiag(Casing._getCasingHertzMagDipoleDeriv_z(srcloc,obsloc,freq,sigma,a,b,mu))
return f,g
def CasingMagDipole2Deriv_z_r(x):
obsloc = np.vstack([x, yobs, zobs]).T
f = Casing._getCasingHertzMagDipoleDeriv_z(srcloc,obsloc,freq,sigma,a,b)
g = Utils.sdiag(Casing._getCasingHertzMagDipole2Deriv_z_r(srcloc,obsloc,freq,sigma,a,b))
f = Casing._getCasingHertzMagDipoleDeriv_z(srcloc,obsloc,freq,sigma,a,b,mu)
g = Utils.sdiag(Casing._getCasingHertzMagDipole2Deriv_z_r(srcloc,obsloc,freq,sigma,a,b,mu))
return f,g
def CasingMagDipole2Deriv_z_z(z):
obsloc = np.vstack([xobs, yobs, z]).T
f = Casing._getCasingHertzMagDipoleDeriv_z(srcloc,obsloc,freq,sigma,a,b)
g = Utils.sdiag(Casing._getCasingHertzMagDipole2Deriv_z_z(srcloc,obsloc,freq,sigma,a,b))
f = Casing._getCasingHertzMagDipoleDeriv_z(srcloc,obsloc,freq,sigma,a,b,mu)
g = Utils.sdiag(Casing._getCasingHertzMagDipole2Deriv_z_z(srcloc,obsloc,freq,sigma,a,b,mu))
return f,g