# and compare by using the pre-computed grid padxy = np.r_[dx[1]*expf**(np.asarray(range(npadxy['DC']))+1)] padz = np.r_[dx[1]*expf**(np.asarray(range(npadz['DC']))+1)] hx = np.r_[padxy[::-1], core['DC'], padxy] hy = np.r_[padxy[::-1], core['DC'],core['DC'], padxy] hz = np.r_[padz[::-1],[33],np.ones(25)*30,[23,18,15,12], np.ones(15)*10,[12,15,18,23],30*expf**(np.asarray(range(npadz['DC'])))] mesh = Mesh.TensorMesh([hx,hy,hz], 'CC0') mesh._x0 = (mesh.x0[0] + np.mean(X[tID]), mesh.x0[1]+np.mean(Y[tID]), mesh.x0[2]-(np.sum(hz[:(npadz['DC']+20)]))) # Extract model from global tolocal mesh actv2 = Utils.surface2ind_topo(mesh, topo, 'N') P = Maps.Mesh2MeshTopo([mesh_global,mesh],[actv,actv2],nIterpPts = 12) model = mesh_global.readModelUBC(work_dir + '\\' + modelfile['DC']) model_Tile = P*(model[actv]) m = np.ones(mesh.nC)*1e-8 m[actv2] = model_Tile # mtemp = m.reshape(mesh.vnC, order='F') Mesh.TensorMesh.writeUBC(mesh,work_dir +'\\MeshTile.msh') Mesh.TensorMesh.writeModelUBC(mesh,work_dir +'\\MeshTile.mod',m) # Create survey a = 50 b = 525
# hz = np.r_[padb*2.,[33,26],np.ones(25)*22,[18,15,12,10,8,7,6], np.ones(18)*5,5*expf**(np.asarray(range(2*npad)))] hz = np.r_[padz[::-1],[33],np.ones(25)*30,[23,18,15,12], np.ones(15)*10,[12,15,18,23],30*expf**(np.asarray(range(npadz[dID])))] mesh = Mesh.TensorMesh([hx,hy,hz], 'CC0') # mtemp._x0 = [x0[ii]-np.sum(padb), y0[ii]-np.sum(padb), mesh.x0[2]] mesh._x0 = (mesh.x0[0] + X[tID], mesh.x0[1]+Y[tID], mesh.x0[2]-(np.sum(hz[:(npadz[dID]+20)]))) # meshes.append(mtemp) # Extract model from global tolocal mesh actv2 = Utils.surface2ind_topo(mesh, topo, 'N') if ckdTree is None: ckdTree = Maps.Mesh2MeshTopo([mesh_global,mesh],[actv,actv2],nIterpPts = 12) P = Maps.Mesh2MeshTopo([mesh_global,mesh],[actv,actv2],nIterpPts = 12, tree=ckdTree.tree ) if dID == 'FDEM': model_Tile = P*(model['DC'][actv]) elif dID == 'TDEM': model_Tile = P*(model['DC'][actv]) else: model_Tile = P*(model[dID][actv]) m = np.ones(mesh.nC)*ndv[dID] m[actv2] = model_Tile mtemp = m.reshape(mesh.vnC, order='F')