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