def run(plotIt=True): M = Mesh.TensorMesh([100, 100]) h1 = Utils.meshTensor([(6, 7, -1.5), (6, 10), (6, 7, 1.5)]) h1 = h1 / h1.sum() M2 = Mesh.TensorMesh([h1, h1]) V = Utils.ModelBuilder.randomModel(M.vnC, seed=79, its=50) v = Utils.mkvc(V) modh = Maps.Mesh2Mesh([M, M2]) modH = Maps.Mesh2Mesh([M2, M]) H = modH * v h = modh * H if not plotIt: return ax = plt.subplot(131) M.plotImage(v, ax=ax) ax.set_title('Fine Mesh (Original)') ax = plt.subplot(132) M2.plotImage(H, clim=[0, 1], ax=ax) ax.set_title('Course Mesh') ax = plt.subplot(133) M.plotImage(h, clim=[0, 1], ax=ax) ax.set_title('Fine Mesh (Interpolated)')
def run(plotIt=True): """ Maps: Mesh2Mesh =============== This mapping allows you to go from one mesh to another. """ M = Mesh.TensorMesh([100, 100]) h1 = Utils.meshTensor([(6, 7, -1.5), (6, 10), (6, 7, 1.5)]) h1 = h1 / h1.sum() M2 = Mesh.TensorMesh([h1, h1]) V = Utils.ModelBuilder.randomModel(M.vnC, seed=79, its=50) v = Utils.mkvc(V) modh = Maps.Mesh2Mesh([M, M2]) modH = Maps.Mesh2Mesh([M2, M]) H = modH * v h = modh * H if not plotIt: return import matplotlib.pyplot as plt ax = plt.subplot(131) M.plotImage(v, ax=ax) ax.set_title('Fine Mesh (Original)') ax = plt.subplot(132) M2.plotImage(H, clim=[0, 1], ax=ax) ax.set_title('Course Mesh') ax = plt.subplot(133) M.plotImage(h, clim=[0, 1], ax=ax) ax.set_title('Fine Mesh (Interpolated)') plt.show()
def test_Mesh2MeshMapVec(self): maps = Maps.Mesh2Mesh([self.mesh22, self.mesh2]) self.assertTrue(maps.testVec())