Synthetic model

Acquisition

class PyFWI.acquisition.Source(src_loc, dh, dt, src_type=0)

Bases: object

A class for defining different types of sources.

Parameters:
  • src_loc (float32) – location of sources.

  • dh (float) – Spatial sampling rate.

  • dt (float) – Temporal sampling rate

  • src_type (int, optional) –

    Source type: 0: explosive

    1: directional x 2: directional z

Ricker(fdom)

Amethod to generate Ricker wavelet.

Parameters:

fdom (float32) – Dominant frequency of wavelet

delta()

A method to generate spike.

Parameters:

fdom (float32) – Dominant frequency of wavelet

PyFWI.acquisition.acq_parameters(ns, rec_dis, offsetx, depth, dh, sdo, acq_type)

A function to define the acquisition based on user’s demand

Parameters:

INPA (dictionary) –

A dictionnary containing required parameters for iversion, at least:
  • ns: Number of sources

  • rec_dis: Distance between receivers

  • offsetx: Length of acquisition in x-direction

  • depth: Depth of acquisition

  • dh: spatial sampling rate

  • sdo: Spatial differentiation order

  • acq_type: Type of acquisition (0: crosswell, 1: surface, 2: both)

Returns:

  • src_loc (float32) – Location of sources

  • rec_loc (float32) – Location of receivers

  • n_surface_rec (int) – Number of receivers at the surface

  • n_well_rec (int) – Number of receivers in wells at each side of the model

PyFWI.acquisition.acquisition_plan(ns, nr, src_loc, rec_loc, acq_type, n_well_rec, dh)

acquisition_plan generates the matrix of acquisition plan

[extended_summary]

Parameters:
  • ns ([type]) – [description]

  • nr ([type]) – [description]

  • src_loc ([type]) – [description]

  • rec_loc ([type]) – [description]

  • acq_type ([type]) – [description]

  • n_well_rec ([type]) – [description]

  • dh ([type]) – [description]

Returns:

[description]

Return type:

[type]

PyFWI.acquisition.crosswell(ns, rec_dis, offsetx, depth, dh, sdo)

A function to design a crosswell acquisition

Parameters:
  • ns (int) – Number of sources

  • rec_dis (float32) – Distance between receivers

  • offsetx (flloat32) – Length of survey in x-direction

  • depth (float32) – Depth of survey

  • dh (float32) – Sampling rate

  • sdo ({2, 4, 8}) – Spatial order of finite difference method

Returns:

  • src_loc (float32) – Location of sources

  • rec_loc (float32) – Location of receivers

PyFWI.acquisition.discretized_acquisition_plan(data_guide, dh, npml=0)

discretized_acquisition_plan discretizes the matrix of acquisition plan

[extended_summary]

Parameters:
  • data_guide ([type]) – [description]

  • dh ([type]) – [description]

  • npml (int, optional) – [description]. Defaults to 0.

Returns:

[description]

Return type:

[type]

PyFWI.acquisition.surface_seismic(ns, rec_dis, offsetx, dh, sdo)

A function to design a surface seismic acquisition

Parameters:
  • ns (int) – Number of sources

  • rec_dis (float32) – Distance between receivers

  • offsetx (flloat32) – Length of survey in x-direction

  • depth (float32) – Depth of survey

  • dh (float32) – Spatial sampling rate

  • sdo ({2, 4, 8}) – Spatial order of finite difference method

Returns:

  • src_loc (float32) – Location of sources

  • rec_loc (float32) – Location of receivers

Wave propagation

class PyFWI.wave_propagation.WavePropagator(inpa, src, rec_loc, model_shape, components=0, n_well_rec=0, chpr=0, set_env_variable=True)

wave_propagator is a class to handle the forward modeling and gradient calculation.

[extended_summary]

Parameters:
  • inpa (dict) – A dictionary including most of the required inputs

  • src (class) – Source object

  • rec_loc (ndarray) – Location of the receivers

  • model_shape (tuple) – Shape of the model

  • n_well_rec (int) – Number of receivers in the well

  • chpr (percentage) – Checkpoint ratio in percentage

  • component – Seismic output

WavePropagator.forward_modeling(model0, show=False)

forward_modeling performs the forward modeling.

Parameters:
  • model0 (dict) – The earth model

  • show (bool, optional) – True if you desire to see the propagation of the wave, by default False

Returns:

Seismic section

Return type:

dict