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