예제 #1
0
    def test_aliasFunction(self):
        def alias(e, ind):
            self.assertTrue(ind[0] is self.Src0)
            return self.F.mesh.edgeCurl * e

        F = Problem.Fields(self.F.mesh,
                           self.F.survey,
                           knownFields={'e': 'E'},
                           aliasFields={'b': ['e', 'F', alias]})
        e = np.random.rand(F.mesh.nE, 1)
        F[self.Src0, 'e'] = e
        F[self.Src0, 'b']

        def alias(e, ind):
            self.assertTrue(type(ind) is list)
            self.assertTrue(ind[0] is self.Src0)
            self.assertTrue(ind[1] is self.Src1)
            return self.F.mesh.edgeCurl * e

        F = Problem.Fields(self.F.mesh,
                           self.F.survey,
                           knownFields={'e': 'E'},
                           aliasFields={'b': ['e', 'F', alias]})
        e = np.random.rand(F.mesh.nE, 2)
        F[[self.Src0, self.Src1], 'e'] = e
        F[[self.Src0, self.Src1], 'b']
예제 #2
0
 def setUp(self):
     mesh = Mesh.TensorMesh([np.ones(n) * 5 for n in [10, 11, 12]],
                            [0, 0, -30])
     x = np.linspace(5, 10, 3)
     XYZ = Utils.ndgrid(x, x, np.r_[0.])
     srcLoc = np.r_[0., 0., 0.]
     rxList0 = Survey.BaseRx(XYZ, 'exi')
     Src0 = Survey.BaseSrc([rxList0], loc=srcLoc)
     rxList1 = Survey.BaseRx(XYZ, 'bxi')
     Src1 = Survey.BaseSrc([rxList1], loc=srcLoc)
     rxList2 = Survey.BaseRx(XYZ, 'bxi')
     Src2 = Survey.BaseSrc([rxList2], loc=srcLoc)
     rxList3 = Survey.BaseRx(XYZ, 'bxi')
     Src3 = Survey.BaseSrc([rxList3], loc=srcLoc)
     Src4 = Survey.BaseSrc([rxList0, rxList1, rxList2, rxList3], loc=srcLoc)
     srcList = [Src0, Src1, Src2, Src3, Src4]
     survey = Survey.BaseSurvey(srcList=srcList)
     self.D = Survey.Data(survey)
     self.F = Problem.Fields(mesh,
                             survey,
                             knownFields={
                                 'phi': 'CC',
                                 'e': 'E',
                                 'b': 'F'
                             },
                             dtype={
                                 "phi": float,
                                 "e": complex,
                                 "b": complex
                             })
     self.Src0 = Src0
     self.Src1 = Src1
     self.mesh = mesh
     self.XYZ = XYZ
예제 #3
0
 def setUp(self):
     mesh = Mesh.TensorMesh([np.ones(n) * 5 for n in [10, 11, 12]],
                            [0, 0, -30])
     x = np.linspace(5, 10, 3)
     XYZ = Utils.ndgrid(x, x, np.r_[0.])
     srcLoc = np.r_[0, 0, 0.]
     rxList0 = Survey.BaseRx(XYZ, 'exi')
     Src0 = Survey.BaseSrc([rxList0], loc=srcLoc)
     rxList1 = Survey.BaseRx(XYZ, 'bxi')
     Src1 = Survey.BaseSrc([rxList1], loc=srcLoc)
     rxList2 = Survey.BaseRx(XYZ, 'bxi')
     Src2 = Survey.BaseSrc([rxList2], loc=srcLoc)
     rxList3 = Survey.BaseRx(XYZ, 'bxi')
     Src3 = Survey.BaseSrc([rxList3], loc=srcLoc)
     Src4 = Survey.BaseSrc([rxList0, rxList1, rxList2, rxList3], loc=srcLoc)
     srcList = [Src0, Src1, Src2, Src3, Src4]
     survey = Survey.BaseSurvey(srcList=srcList)
     self.F = Problem.Fields(
         mesh,
         survey,
         knownFields={'e': 'E'},
         aliasFields={
             'b': ['e', 'F', (lambda e, ind: self.F.mesh.edgeCurl * e)]
         })
     self.Src0 = Src0
     self.Src1 = Src1
     self.mesh = mesh
     self.XYZ = XYZ