Пример #1
0
    def setUp(self):
        mesh = discretize.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.0])
        srcLoc = np.r_[0, 0, 0.0]
        rxList0 = survey.BaseRx(XYZ)
        Src0 = survey.BaseSrc(receiver_list=[rxList0], location=srcLoc)
        rxList1 = survey.BaseRx(XYZ)
        Src1 = survey.BaseSrc(receiver_list=[rxList1], location=srcLoc)
        rxList2 = survey.BaseRx(XYZ)
        Src2 = survey.BaseSrc(receiver_list=[rxList2], location=srcLoc)
        rxList3 = survey.BaseRx(XYZ)
        Src3 = survey.BaseSrc(receiver_list=[rxList3], location=srcLoc)
        Src4 = survey.BaseSrc(
            receiver_list=[rxList0, rxList1, rxList2, rxList3],
            location=srcLoc)
        source_list = [Src0, Src1, Src2, Src3, Src4]
        mysurvey = survey.BaseSurvey(source_list=source_list)
        sim = simulation.BaseTimeSimulation(mesh,
                                            time_steps=[(10.0, 3), (20.0, 2)],
                                            survey=mysurvey)

        def alias(b, srcInd, timeInd):
            return self.F.mesh.edgeCurl.T * b + timeInd

        self.F = fields.TimeFields(sim,
                                   knownFields={"b": "F"},
                                   aliasFields={"e": ["b", "E", alias]})
        self.Src0 = Src0
        self.Src1 = Src1
        self.mesh = mesh
        self.XYZ = XYZ
        self.simulation = sim
Пример #2
0
 def setUp(self):
     mesh = discretize.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.0])
     srcLoc = np.r_[0, 0, 0.0]
     rxList0 = survey.BaseRx(XYZ)
     Src0 = survey.BaseSrc([rxList0], location=srcLoc)
     rxList1 = survey.BaseRx(XYZ)
     Src1 = survey.BaseSrc([rxList1], location=srcLoc)
     rxList2 = survey.BaseRx(XYZ)
     Src2 = survey.BaseSrc([rxList2], location=srcLoc)
     rxList3 = survey.BaseRx(XYZ)
     Src3 = survey.BaseSrc([rxList3], location=srcLoc)
     Src4 = survey.BaseSrc([rxList0, rxList1, rxList2, rxList3],
                           location=srcLoc)
     source_list = [Src0, Src1, Src2, Src3, Src4]
     mysurvey = survey.BaseSurvey(source_list=source_list)
     sim = simulation.BaseTimeSimulation(mesh,
                                         time_steps=[(10.0, 3), (20.0, 2)],
                                         survey=mysurvey)
     self.F = fields.TimeFields(simulation=sim,
                                knownFields={
                                    "phi": "CC",
                                    "e": "E",
                                    "b": "F"
                                })
     self.Src0 = Src0
     self.Src1 = Src1
     self.mesh = mesh
     self.XYZ = XYZ
Пример #3
0
    def setUp(self):
        mesh = discretize.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.0])
        srcLoc = np.r_[0, 0, 0.0]
        rxList0 = survey.BaseRx(XYZ)
        Src0 = survey.BaseSrc([rxList0], location=srcLoc)

        rxList1 = survey.BaseRx(XYZ)
        Src1 = survey.BaseSrc([rxList1], location=srcLoc)

        rxList2 = survey.BaseRx(XYZ)
        Src2 = survey.BaseSrc([rxList2], location=srcLoc)

        rxList3 = survey.BaseRx(XYZ)
        Src3 = survey.BaseSrc([rxList3], location=srcLoc)
        Src4 = survey.BaseSrc([rxList0, rxList1, rxList2, rxList3],
                              location=srcLoc)

        source_list = [Src0, Src1, Src2, Src3, Src4]
        mysurvey = survey.BaseSurvey(source_list=source_list)
        sim = simulation.BaseSimulation(mesh=mesh, survey=mysurvey)
        self.F = fields.Fields(
            sim,
            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
        self.simulation = sim
Пример #4
0
    def setUp(self):
        mesh = discretize.TensorMesh([30])
        sigma = np.ones(mesh.nC)
        model = np.log(sigma)

        # prob = DC.Simulation3DCellCentered(mesh, rhoMap=Maps.ExpMap(mesh))

        receivers = survey.BaseRx(20 * [[0.0]])
        source = survey.BaseSrc([receivers])
        sim = simulation.ExponentialSinusoidSimulation(
            mesh=mesh, survey=survey.BaseSurvey([source]), model_map=maps.ExpMap(mesh)
        )

        synthetic_data = sim.make_synthetic_data(model)
        dobs = synthetic_data.dobs

        self.relative = 0.01
        self.noise_floor = 1e-8

        synthetic_data.relative_error = self.relative
        synthetic_data.noise_floor = self.noise_floor

        dmis = data_misfit.L2DataMisfit(simulation=sim, data=synthetic_data)

        self.model = model
        self.mesh = mesh
        self.sim = sim
        self.survey = sim.survey
        # self.survey = survey
        # self.prob = prob
        self.data = synthetic_data
        self.dmis = dmis
Пример #5
0
    def setUp(self):
        mesh = discretize.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.0])
        srcLoc = np.r_[0.0, 0.0, 0.0]
        receiver_list0 = survey.BaseRx(XYZ)
        Src0 = survey.BaseSrc([receiver_list0], location=srcLoc)

        receiver_list1 = survey.BaseRx(XYZ)
        Src1 = survey.BaseSrc([receiver_list1], location=srcLoc)

        receiver_list2 = survey.BaseRx(XYZ)
        Src2 = survey.BaseSrc([receiver_list2], location=srcLoc)

        receiver_list3 = survey.BaseRx(XYZ)
        Src3 = survey.BaseSrc([receiver_list3], location=srcLoc)
        Src4 = survey.BaseSrc(
            [receiver_list0, receiver_list1, receiver_list2, receiver_list3],
            location=srcLoc,
        )
        source_list = [Src0, Src1, Src2, Src3, Src4]

        mysurvey = survey.BaseSurvey(source_list=source_list)
        sim = simulation.BaseSimulation(mesh=mesh, survey=mysurvey)
        self.D = data.Data(mysurvey)
        self.F = fields.Fields(
            sim,
            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
        self.simulation = sim
Пример #6
0
 def test_sourceIndex(self):
     mysurvey = self.D.survey
     srcs = mysurvey.source_list
     assert mysurvey.getSourceIndex([srcs[1], srcs[0]]) == [1, 0]
     assert mysurvey.getSourceIndex([srcs[1], srcs[2], srcs[2]]) == [1, 2, 2]
     SrcNotThere = survey.BaseSrc(srcs[0].receiver_list, location=np.r_[0, 0, 0])
     self.assertRaises(KeyError, mysurvey.getSourceIndex, [SrcNotThere])
     self.assertRaises(
         KeyError, mysurvey.getSourceIndex, [srcs[1], srcs[2], SrcNotThere]
     )
Пример #7
0
 def setUp(self):
     mesh = discretize.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.0])
     srcLoc = np.r_[0, 0, 0.0]
     rxList0 = survey.BaseRx(XYZ)
     Src0 = survey.BaseSrc([rxList0], location=srcLoc)
     rxList1 = survey.BaseRx(XYZ)
     Src1 = survey.BaseSrc([rxList1], location=srcLoc)
     rxList2 = survey.BaseRx(XYZ)
     Src2 = survey.BaseSrc([rxList2], location=srcLoc)
     rxList3 = survey.BaseRx(XYZ)
     Src3 = survey.BaseSrc([rxList3], location=srcLoc)
     Src4 = survey.BaseSrc([rxList0, rxList1, rxList2, rxList3],
                           location=srcLoc)
     srcList = [Src0, Src1, Src2, Src3, Src4]
     mysurvey = survey.BaseSurvey(source_list=srcList)
     self.D = data.Data(mysurvey)
Пример #8
0
    def setUp(self):
        mesh = discretize.TensorMesh([30])
        sigma = np.ones(mesh.nC)
        model = np.log(sigma)

        receivers = survey.BaseRx(20 * [[0.0]])
        source = survey.BaseSrc([receivers])

        self.sim = simulation.ExponentialSinusoidSimulation(
            mesh=mesh,
            survey=survey.BaseSurvey([source]),
            model_map=maps.ExpMap(mesh))

        self.dobs = self.sim.dpred(model)
Пример #9
0
 def get_problem_survey(self, nx=20, ny=20, dx=10, dy=20):
     hx = np.ones(nx) * dx
     hy = np.ones(ny) * dy
     self._mesh_prop = TensorMesh([hx, hy])
     y = np.linspace(0, 400, 10)
     self._source_locations_prop = np.c_[y * 0 +
                                         self._mesh_prop.vectorCCx[0], y]
     self._receiver_locations_prop = np.c_[y * 0 +
                                           self._mesh_prop.vectorCCx[-1], y]
     rx = survey.BaseRx(self._receiver_locations_prop)
     srcList = [
         survey.BaseSrc(location=self._source_locations_prop[i, :],
                        receiver_list=[rx]) for i in range(y.size)
     ]
     self._survey_prop = seismic.survey.StraightRaySurvey(srcList)
     self._simulation_prop = seismic.simulation.Simulation2DIntegral(
         survey=self._survey_prop,
         mesh=self._mesh_prop,
         slownessMap=maps.IdentityMap(self._mesh_prop))
     self._data_prop = data.Data(self._survey_prop)