示例#1
0
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)')
示例#2
0
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()
示例#3
0
 def test_Mesh2MeshMapVec(self):
     maps = Maps.Mesh2Mesh([self.mesh22, self.mesh2])
     self.assertTrue(maps.testVec())