Пример #1
0
    def nabla(self, mesh, m, g):
        if PAR.CREEPING:
            G, grid = mesh2grid(g, mesh)
            DG = nabla(G, order=2)
            dg = grid2mesh(DG, grid, mesh)
            return -dg/np.mean(m)

        else:
            M, grid = mesh2grid(m, mesh)
            DM = nabla(M, order=2)
            dm = grid2mesh(DM, grid, mesh)
            return dm/np.mean(m)
Пример #2
0
    def nabla(self, mesh, m, g):
        if PAR.CREEPING:
            G, grid = mesh2grid(g, mesh)
            DG = nabla(G, order=1)
            dg = grid2mesh(DG, grid, mesh)
            return -dg / np.mean(m)

        else:
            M, grid = mesh2grid(m, mesh)
            DM = nabla(M, order=1)
            dm = grid2mesh(DM, grid, mesh)
            return dm / np.mean(m)
Пример #3
0
    def write_damping_term(self, parameter):
        path_coords = PATH.OUTPUT+'/'+'model_init'
        path_input = PATH.GRAD+'/'+'model'
        path_output = PATH.MUMFORD_SHAH_OUTPUT
        path_run = PATH.SUBMIT

        x = sem.read(path_coords, 'x', 0)
        z = sem.read(path_coords, 'z', 0)
        mesh = stack(x,z)

        m, grid = mesh2grid(sem.read(path_input, parameter, 0), mesh)
        nu, _ = mesh2grid(sem.read(path_output, parameter+'_nu', 0), mesh)

        grad_m = grad(m)
        grad_nu = grad(nu)

        V = -2.*(grad_m[0]*grad_nu[0] + grad_m[1]*grad_nu[1]) +\
            -nu**2 * nabla2(m)

        v = grid2mesh(V, grid, mesh)

        sem.write(v, path_output, parameter+'_dm', 0)
Пример #4
0
 def nabla(self, mesh, m, g):
     M, grid = mesh2grid(g, mesh)
     DM = tv(M, epsilon=PAR.EPSILON)
     dm = grid2mesh(DM, grid, mesh)
     return dm/np.mean(m)
Пример #5
0
 def nabla(self, mesh, m, g):
     M, grid = mesh2grid(g, mesh)
     DM = tv(M, epsilon=PAR.EPSILON)
     dm = grid2mesh(DM, grid, mesh)
     return dm / np.mean(m)