changed tx -> src

This commit is contained in:
Lindsey
2015-04-17 17:17:03 -07:00
parent 59ffc57da3
commit c8b9611fca
4 changed files with 35 additions and 35 deletions
+13 -13
View File
@@ -23,40 +23,40 @@ def run(plotIt=False):
# ax.plot(xyz_rxN[:,0],xyz_rxN[:,1], 'r.', ms = 3)
rx = DC.DipoleRx(xyz_rxP, xyz_rxN)
tx = DC.DipoleTx([-200, 0, -12.5],[+200, 0, -12.5], [rx])
survey = DC.SurveyDC([tx])
src = DC.DipoleSrc([-200, 0, -12.5],[+200, 0, -12.5], [rx])
survey = DC.SurveyDC([src])
problem = DC.ProblemDC(mesh)
problem.pair(survey)
data = survey.dpred(sigma)
def DChalf(txlocP, txlocN, rxloc, sigma, I=1.):
rp = (txlocP.reshape([1,-1])).repeat(rxloc.shape[0], axis = 0)
rn = (txlocN.reshape([1,-1])).repeat(rxloc.shape[0], axis = 0)
def DChalf(srclocP, srclocN, rxloc, sigma, I=1.):
rp = (srclocP.reshape([1,-1])).repeat(rxloc.shape[0], axis = 0)
rn = (srclocN.reshape([1,-1])).repeat(rxloc.shape[0], axis = 0)
rP = np.sqrt(((rxloc-rp)**2).sum(axis=1))
rN = np.sqrt(((rxloc-rn)**2).sum(axis=1))
return I/(sigma*2.*np.pi)*(1/rP-1/rN)
data_analP = DChalf(np.r_[-200, 0, 0.],np.r_[+200, 0, 0.], xyz_rxP, sighalf)
data_analN = DChalf(np.r_[-200, 0, 0.],np.r_[+200, 0, 0.], xyz_rxN, sighalf)
data_anal = data_analP-data_analN
Data_anal = data_anal.reshape((21, 21), order = 'F')
data_anaP = DChalf(np.r_[-200, 0, 0.],np.r_[+200, 0, 0.], xyz_rxP, sighalf)
data_anaN = DChalf(np.r_[-200, 0, 0.],np.r_[+200, 0, 0.], xyz_rxN, sighalf)
data_ana = data_anaP-data_anaN
Data_ana = data_ana.reshape((21, 21), order = 'F')
Data = data.reshape((21, 21), order = 'F')
X = xyz_rxM[:,0].reshape((21, 21), order = 'F')
Y = xyz_rxM[:,1].reshape((21, 21), order = 'F')
if plotIt:
fig, ax = plt.subplots(1,2, figsize = (12, 5))
vmin = np.r_[data, data_anal].min()
vmax = np.r_[data, data_anal].max()
vmin = np.r_[data, data_ana].min()
vmax = np.r_[data, data_ana].max()
dat1 = ax[1].contourf(X, Y, Data, 60, vmin = vmin, vmax = vmax)
dat0 = ax[0].contourf(X, Y, Data_anal, 60, vmin = vmin, vmax = vmax)
dat0 = ax[0].contourf(X, Y, Data_ana, 60, vmin = vmin, vmax = vmax)
cb0 = plt.colorbar(dat1, orientation = 'horizontal', ax = ax[0])
cb1 = plt.colorbar(dat1, orientation = 'horizontal', ax = ax[1])
ax[1].set_title('Analytic')
ax[0].set_title('Computed')
plt.show()
return np.linalg.norm(data-data_anal)/np.linalg.norm(data_anal)
return np.linalg.norm(data-data_ana)/np.linalg.norm(data_ana)
if __name__ == '__main__':
+8 -8
View File
@@ -3,7 +3,7 @@ import simpegDC as DC
import matplotlib.pyplot as plt
def getTxList(nElecs, aSpacing, in2D=False, plotIt=False):
def getSrcList(nElecs, aSpacing, in2D=False, plotIt=False):
elocs = np.arange(0,aSpacing*nElecs,aSpacing)
elocs -= (nElecs*aSpacing - aSpacing)/2
@@ -24,19 +24,19 @@ def getTxList(nElecs, aSpacing, in2D=False, plotIt=False):
plt.plot(elocs[WENNER[:,i]],s+'.')
plt.show()
# Create transmitters and receivers
# Create sources and receivers
i = 0
if in2D:
getLoc = lambda ii, abmn: np.r_[elocs[WENNER[ii,abmn]],0]
else:
getLoc = lambda ii, abmn: np.r_[elocs[WENNER[ii,abmn]],0, 0]
txList = []
srcList = []
for i in range(WENNER.shape[0]):
rx = DC.DipoleRx(getLoc(i,1),getLoc(i,2))
tx = DC.DipoleTx(getLoc(i,0),getLoc(i,3), [rx])
txList += [tx]
src = DC.DipoleSrc(getLoc(i,0),getLoc(i,3), [rx])
srcList += [src]
return txList
return srcList
@@ -53,8 +53,8 @@ def example(aSpacing=2.5, nElecs=10, plotIt=False):
if plotIt:
mesh.plotGrid(showIt=True)
txList = getTxList(nElecs, aSpacing, in2D=True)
survey = DC.SurveyDC(txList)
srcList = getSrcList(nElecs, aSpacing, in2D=True)
survey = DC.SurveyDC(srcList)
problem = DC.ProblemDC(mesh)
problem.pair(survey)