コード例 #1
0
def test_operator_receiver():
    seis = SeismicModule()
    seis.create_velocity_model(frame,
                               vmax=5,
                               vmin=2,
                               sigma_x=5,
                               sigma_y=5,
                               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=None,
                             show_wavelet=False,
                             show_model=False)
    seis.inject_source(src)
    seis.operator_and_solve()

    seis.show_velocity(seis.model,
                       source=src.coordinates.data,
                       receiver=rec.coordinates.data[::4, :])
コード例 #2
0
def test_show_shot_record():
    seis = SeismicModule()
    seis.create_velocity_model(frame,
                               vmax=5,
                               vmin=2,
                               sigma_x=5,
                               sigma_y=5,
                               show_velocity=False)
    #seis.create_velocity_model(None, norm=False, smooth=False, show_velocity=True)
    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.01,
                             source_coordinates=(500, 20),
                             show_wavelet=False,
                             show_model=False)
    seis.inject_source(src)
    seis.operator_and_solve()
    seis.show_shotrecord(rec.data, seis.model, 0, 1000)
コード例 #3
0
def test_interpolate_receivers():
    seis = SeismicModule()
    seis.create_velocity_model(frame,
                               vmax=5,
                               vmin=2,
                               sigma_x=5,
                               sigma_y=5,
                               show_velocity=False)
    seis.create_time_axis(t0=0, tn=1000)
    seis.create_time_function()
    rec = seis.create_receivers(name='rec',
                                n_receivers=100,
                                depth_receivers=200,
                                show_receivers=True)
    seis.interpolate_receiver(rec)
コード例 #4
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)