コード例 #1
0
def test_run_aruco_source():
    seis = SeismicModule()
    file = np.load(_test_data['test'] + "frame1.npz")
    frame = seis.crop_frame(origin=(10, 10),
                            width=230,
                            height=180,
                            frame=file['arr_0'])
    seis.init_model(vmin=2, vmax=4, frame=np.transpose(frame), nbl=40)

    marker = pytest.sb_params['marker']
    seis.xy_aruco = marker.loc[marker.is_inside_box, ('box_x', 'box_y')].values
    seis.insert_aruco_source()

    seis.show_velocity(seis.model, source=seis.src_coordinates)
    print(seis.src_coordinates)
    seis.operator_and_solve()

    seis.show_velocity(seis.model, source=seis.src_coordinates)
    seis.show_wavefield(timeslice=10)
    seis.show_wavefield(timeslice=50)
    seis.show_wavefield(timeslice=100)
    seis.show_wavefield(timeslice=200)
    seis.show_wavefield(timeslice=300)
    seis.show_wavefield(timeslice=400)
    seis.show_wavefield(timeslice=5000)
コード例 #2
0
def test_show_wavefield():
    seis = SeismicModule()
    seis.create_velocity_model(frame,
                               vmax=5,
                               vmin=2,
                               sigma_x=5,
                               sigma_y=5,
                               nbl=40,
                               show_velocity=False)
    #seis.create_velocity_model(None, norm=False, smooth=False, show_velocity=False)
    seis.create_time_axis(t0=0, tn=1000)
    seis.create_time_function()
    seis.solve_PDE()

    rec = seis.create_receivers(name='rec',
                                n_receivers=100,
                                depth_receivers=20,
                                show_receivers=False)
    seis.interpolate_receiver(rec)

    src = seis.create_source(name="src",
                             f0=0.025,
                             source_coordinates=(500, 400),
                             show_wavelet=False,
                             show_model=False)
    src1 = seis.create_source(name="src1",
                              f0=0.025,
                              source_coordinates=(800, 800),
                              show_wavelet=False,
                              show_model=False)
    seis.inject_source(src)
    seis.inject_source(src1)
    seis.operator_and_solve()

    seis.show_velocity(seis.model,
                       source=seis.src_coordinates,
                       receiver=rec.coordinates.data)
    seis.show_wavefield(timeslice=10)
    seis.show_wavefield(timeslice=50)
    seis.show_wavefield(timeslice=100)
    seis.show_wavefield(timeslice=200)
    seis.show_wavefield(timeslice=300)
    seis.show_wavefield(timeslice=400)

    seis.show_wavefield(timeslice=5000)