examples.seismic.elastic package

Submodules

examples.seismic.elastic.elastic_example module

examples.seismic.elastic.elastic_example.elastic_setup(shape=(50, 50), spacing=(15.0, 15.0), tn=500.0, space_order=4, nbpml=10, constant=False, **kwargs)[source]
examples.seismic.elastic.elastic_example.run(shape=(50, 50), spacing=(20.0, 20.0), tn=1000.0, space_order=4, nbpml=40, autotune=False, constant=False, **kwargs)[source]

examples.seismic.elastic.operators module

examples.seismic.elastic.operators.ForwardOperator(model, source, receiver, space_order=4, save=False, **kwargs)[source]

Constructor method for the forward modelling operator in an elastic media

Parameters:
  • modelModel object containing the physical parameters
  • sourcePointData object containing the source geometry
  • receiverPointData object containing the acquisition geometry
  • space_order – Space discretization order
  • save – Saving flag, True saves all time steps, False only the three buffered indices (last three time steps)
examples.seismic.elastic.operators.elastic_2d(model, space_order, save, source, receiver)[source]

2D elastic wave equation FD kernel

examples.seismic.elastic.operators.elastic_3d(model, space_order, save, source, receiver)[source]

3D elastic wave equation FD kernel

examples.seismic.elastic.operators.particle_velocity_fields(model, save, space_order)[source]

Create the particle velocity fields

examples.seismic.elastic.operators.src_rec(vx, vy, vz, txx, tyy, tzz, model, source, receiver)[source]

Source injection and receiver interpolation

examples.seismic.elastic.operators.stress_fields(model, save, space_order)[source]

Create the TimeFunction objects for the stress fields in the elastic formulation

examples.seismic.elastic.wavesolver module

class examples.seismic.elastic.wavesolver.ElasticWaveSolver(model, source, receiver, space_order=4, **kwargs)[source]

Bases: object

Solver object that provides operators for seismic inversion problems and encapsulates the time and space discretization for a given problem setup.

Parameters:
  • model – Physical model with domain parameters
  • source – Sparse point symbol providing the injected wave
  • receiver – Sparse point symbol describing an array of receivers
  • space_order – Order of the spatial stencil discretisation (default: 4)

Note: This is an experimental staggered grid elastic modeling kernel. Only 2D supported

forward(src=None, rec1=None, rec2=None, vp=None, vs=None, rho=None, vx=None, vz=None, txx=None, tzz=None, txz=None, save=None, **kwargs)[source]

Forward modelling function that creates the necessary data objects for running a forward modelling operator.

Parameters:
  • src – (Optional) Symbol with time series data for the injected source term
  • rec1 – (Optional) Symbol to store interpolated (txx) receiver data
  • rec2 – (Optional) Symbol to store interpolated (tzz) receiver data
  • vx – (Optional) Symbol to store the computed horizontal particle velocity
  • vz – (Optional) Symbol to store the computed vertical particle velocity
  • txx – (Optional) Symbol to store the computed horizontal stress
  • tzz – (Optional) Symbol to store the computed vertical stress
  • txz – (Optional) Symbol to store the computed diagonal stresss
  • vp – (Optional) Symbol for the time-constant P-wave velocity (km/s)
  • vs – (Optional) Symbol for the time-constant S-wave velocity (km/s)
  • vs – (Optional) Symbol for the time-constant density (rho=1 for water)
  • save – Option to store the entire (unrolled) wavefield
Returns:

Rec1 (txx), Rec2 (tzz), particle velocities vx and vz, stress txx, tzz and txz and performance summary

op_fwd(save=None)[source]

Cached operator for forward runs with buffered wavefield

Module contents