Пример #1
0
    def mapping(self):
        # secondary mapping
        # here, we construct the parametric mapping to take the parameters
        # describing the block in a layered space and map it to a conductivity
        # model on our mesh
        if getattr(self, '_mapping', None) is None:
            print('building secondary mapping')
            paramMap = Maps.ParametricBlockInLayer(
                self.meshs, indActive=self.indActive
                )
            self._mapping = (
                self.expMap *  # log sigma --> sigma
                self.injActMap *  # inject air cells
                paramMap  # block in a layered space (subsurface)
                            )
            print('... done building secondary mapping')

        return self._mapping
Пример #2
0
# primary mesh
hx = [(csx, ncx), (csx, npadx, pf)]
hz = [(csz, npadz, -pf), (csz, ncz), (csz, npadz, pf)]
meshp = Mesh.CylMesh([hx, 1., hz], x0='0CC')

# secondary mesh
h = [(csz, npadz - 4, -pf), (csz, ncz), (csz, npadz - 4, pf)]
meshs = Mesh.TensorMesh(3 * [h], x0='CCC')

# mappings
primaryMapping = (Maps.ExpMap(meshp) * Maps.SurjectFull(meshp) *
                  Maps.Projection(nP=8, index=[0]))

mapping = (
    Maps.ExpMap(meshs) * Maps.ParametricBlockInLayer(meshs) *
    Maps.Projection(nP=8, index=np.hstack([np.r_[0], np.arange(0, 8)])))

primaryMap2Meshs = (Maps.ExpMap(meshs) * Maps.SurjectFull(meshs) *
                    Maps.Projection(nP=8, index=[0]))


class PrimSecFDEMTest(object):

    # --------------------- Run some tests! --------------------- #
    def DataTest(self):
        print('\nTesting Data')
        dpred_primsec = self.secondarySurvey.dpred(model,
                                                   f=self.fields_primsec)
        dpred_3D = self.survey3D.dpred(model, f=self.fields_3D)