Isotropic Elastic

Devito

class stride.physics.iso_elastic.devito.IsoElasticDevito(**kwargs)[source]

Bases: ProblemTypeBase

This class represents the stress-strain formulation of the elastic wave equation, implemented using Devito from the tutorial https://slimgroup.github.io/Devito-Examples/tutorials/07_elastic_varying_parameters/.

Parameters:
  • name (str, optional) – Name of the PDE, defaults to an automatic name.

  • grid (Grid, optional) – Existing grid, if not provided one will be created. Either a grid or space, time and slow_time need to be provided.

  • space (Space, optional)

  • time (Time, optional)

  • slow_time (SlowTime, optional)

Notes

For forward execution of the PDE, the following parameters can be used:

waveletsTraces

Source wavelets.

vpScalarField

Compressional (acoustic) speed of sound of the medium, in [m/s].

vsScalarField

Transverse (shear) speed of sound of the medium, in [m/s].

rhoScalarField

Density of the medium in [kg/m^3].

problemProblem

Sub-problem being solved by the PDE.

after_adjoint(**kwargs)[source]

Not implemented

after_forward(wavelets, vp, vs, rho, **kwargs)[source]

Clean up after the state run and retrieve the time traces.

Parameters:
  • wavelets (Traces) – Source wavelets.

  • vp (ScalarField) – Compressional (acoustic) speed of sound of the medium, in [m/s].

  • vs (ScalarField) – Transverse (shear) speed of sound of the medium, in [m/s].

  • rho (ScalarField) – Density of the medium in [kg/m^3].

  • problem (Problem) – Sub-problem being solved by the PDE.

Returns:

Time traces produced by the state run.

Return type:

Traces

before_adjoint(adjoint_source, wavelets, vp, rho=None, alpha=None, **kwargs)[source]

Not implemented

before_forward(wavelets, vp, vs, rho, **kwargs)[source]

Prepare the problem type to run the state or forward problem.

Parameters:
  • wavelets (Traces) – Source wavelets.

  • vp (ScalarField) – Compressional (acoustic) speed of sound of the medium, in [m/s].

  • vs (ScalarField) – Transverse (shear) speed of sound of the medium, in [m/s].

  • rho (ScalarField) – Density of the medium in [kg/m^3].

  • problem (Problem) – Sub-problem being solved by the PDE.

clear_operators()[source]
property comms
get_grad_vp(**kwargs)[source]

Not implemented

property head
init_grad_vp(**kwargs)[source]

Not implemented

classmethod local(*args, uid=None, **kwargs)
classmethod local_parameter(*args, uid=None, **kwargs)
property logger
property loop
property monitor
property node
classmethod parameter(*args, uid=None, **kwargs)
prepare_grad_vp(**kwargs)[source]

Not implemented

classmethod remote(*args, **kwargs)
run_adjoint(adjoint_source, wavelets, vp, rho=None, alpha=None, **kwargs)[source]

Not implemented

run_forward(wavelets, vp, vs, rho, **kwargs)[source]

Run the state or forward problem.

Parameters:
  • wavelets (Traces) – Source wavelets.

  • vp (ScalarField) – Compressional (acoustic) speed of sound of the medium, in [m/s].

  • vs (ScalarField) – Transverse (shear) speed of sound of the medium, in [m/s].

  • rho (ScalarField) – Density of the medium in [kg/m^3].

  • problem (Problem) – Sub-problem being solved by the PDE.

property runtime
async classmethod select_worker(runtime=None)

Select an available worker.

Parameters:

runtime (str or Runtime, optional) – If a valid runtime is given, this will be selected as the target worker.

Returns:

UID of the target worker.

Return type:

str

space_order = 10
time_order = 1
property worker
property zmq_context