def setupSurvey(sigmaHalf,tD=True): # Frequency nFreq = 33 freqs = np.logspace(3,-3,nFreq) # Make the mesh ct = 5 air = meshTensor([(ct,25,1.3)]) # coreT0 = meshTensor([(ct,15,1.2)]) # coreT1 = np.kron(meshTensor([(coreT0[-1],15,1.3)]),np.ones((7,))) core = np.concatenate( ( np.kron(meshTensor([(ct,15,-1.2)]),np.ones((10,))) , meshTensor([(ct,20)]) ) ) bot = meshTensor([(core[0],10,-1.3)]) x0 = -np.array([np.sum(np.concatenate((core,bot)))]) m1d = simpeg.Mesh.TensorMesh([np.concatenate((bot,core,air))], x0=x0) # Make the model sigma = np.zeros(m1d.nC) + sigmaHalf sigma[m1d.gridCC > 0 ] = 1e-8 rxList = [] for rxType in ['z1dr','z1di']: rxList.append(simpegmt.SurveyMT.RxMT(simpeg.mkvc(np.array([0.0]),2).T,rxType)) # Source list srcList =[] if tD: for freq in freqs: srcList.append(simpegmt.SurveyMT.srcMT_polxy_1DhomotD(rxList,freq)) else: for freq in freqs: srcList.append(simpegmt.SurveyMT.srcMT_polxy_1Dprimary(rxList,freq)) survey = simpegmt.SurveyMT.SurveyMT(srcList) return survey, sigma, m1d
def setupSurvey(sigmaHalf,tD=True): # Frequency nFreq = 33 freqs = np.logspace(3,-3,nFreq) # Make the mesh ct = 5 air = meshTensor([(ct,25,1.3)]) # coreT0 = meshTensor([(ct,15,1.2)]) # coreT1 = np.kron(meshTensor([(coreT0[-1],15,1.3)]),np.ones((7,))) core = np.concatenate( ( np.kron(meshTensor([(ct,15,-1.2)]),np.ones((10,))) , meshTensor([(ct,20)]) ) ) bot = meshTensor([(core[0],10,-1.3)]) x0 = -np.array([np.sum(np.concatenate((core,bot)))]) m1d = simpeg.Mesh.TensorMesh([np.concatenate((bot,core,air))], x0=x0) # Make the model sigma = np.zeros(m1d.nC) + sigmaHalf sigma[m1d.gridCC > 0 ] = 1e-8 rxList = [] for rxType in ['z1dr','z1di']: rxList.append(MT.Rx(simpeg.mkvc(np.array([0.0]),2).T,rxType)) # Source list srcList =[] if tD: for freq in freqs: srcList.append(MT.SrcMT.polxy_1DhomotD(rxList,freq)) else: for freq in freqs: srcList.append(MT.SrcMT.polxy_1Dprimary(rxList,freq)) survey = MT.Survey(srcList) return survey, sigma, m1d
def setup1DSurvey(sigmaHalf, tD=False, structure=False): # Frequency nFreq = 33 freqs = np.logspace(3, -3, nFreq) # Make the mesh ct = 5 air = meshTensor([(ct, 25, 1.3)]) # coreT0 = meshTensor([(ct,15,1.2)]) # coreT1 = np.kron(meshTensor([(coreT0[-1],15,1.3)]),np.ones((7,))) core = np.concatenate((np.kron(meshTensor([(ct, 15, -1.2)]), np.ones( (10, ))), meshTensor([(ct, 20)]))) bot = meshTensor([(core[0], 20, -1.3)]) x0 = -np.array([np.sum(np.concatenate((core, bot)))]) m1d = simpeg.Mesh.TensorMesh([np.concatenate((bot, core, air))], x0=x0) # Make the model sigma = np.zeros(m1d.nC) + sigmaHalf sigma[m1d.gridCC > 0] = 1e-8 sigmaBack = sigma.copy() # Add structure if structure: shallow = (m1d.gridCC < -200) * (m1d.gridCC > -600) deep = (m1d.gridCC < -3000) * (m1d.gridCC > -5000) sigma[shallow] = 1 sigma[deep] = 0.1 rxList = [] for rxType in ['z1d', 'z1d']: rxList.append( Point_impedance1D(simpeg.mkvc(np.array([0.0]), 2).T, 'real')) rxList.append( Point_impedance1D(simpeg.mkvc(np.array([0.0]), 2).T, 'imag')) # Source list srcList = [] if tD: for freq in freqs: srcList.append(Planewave_xy_1DhomotD(rxList, freq)) else: for freq in freqs: srcList.append(Planewave_xy_1Dprimary(rxList, freq)) survey = Survey(srcList) return (survey, sigma, sigmaBack, m1d)
def setup1DSurvey(sigmaHalf, tD=False, structure=False): # Frequency nFreq = 33 freqs = np.logspace(3, -3, nFreq) # Make the mesh ct = 5 air = meshTensor([(ct, 25, 1.3)]) # coreT0 = meshTensor([(ct,15,1.2)]) # coreT1 = np.kron(meshTensor([(coreT0[-1],15,1.3)]),np.ones((7,))) core = np.concatenate((np.kron(meshTensor([(ct, 15, -1.2)]), np.ones((10,))), meshTensor([(ct, 20)]))) bot = meshTensor([(core[0], 20, -1.3)]) x0 = -np.array([np.sum(np.concatenate((core, bot)))]) m1d = simpeg.Mesh.TensorMesh([np.concatenate((bot, core, air))], x0=x0) # Make the model sigma = np.zeros(m1d.nC) + sigmaHalf sigma[m1d.gridCC > 0] = 1e-8 sigmaBack = sigma.copy() # Add structure if structure: shallow = (m1d.gridCC < -200) * (m1d.gridCC > -600) deep = (m1d.gridCC < -3000) * (m1d.gridCC > -5000) sigma[shallow] = 1 sigma[deep] = 0.1 rxList = [] for rxType in ["z1d", "z1d"]: rxList.append(Point_impedance1D(simpeg.mkvc(np.array([0.0]), 2).T, "real")) rxList.append(Point_impedance1D(simpeg.mkvc(np.array([0.0]), 2).T, "imag")) # Source list srcList = [] if tD: for freq in freqs: srcList.append(Planewave_xy_1DhomotD(rxList, freq)) else: for freq in freqs: srcList.append(Planewave_xy_1Dprimary(rxList, freq)) survey = Survey(srcList) return (survey, sigma, sigmaBack, m1d)