Maps: Mesh2MeshΒΆ

This mapping allows you to go from one mesh to another.

(Source code, png, hires.png, pdf)

../../_images/Maps_Mesh2Mesh-1.png
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
from SimPEG import Mesh, Maps, Utils
import matplotlib.pyplot as plt


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

    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)')


if __name__ == '__main__':
    run()
    plt.show()