pylops.waveeqprocessing.UpDownComposition3D

pylops.waveeqprocessing.UpDownComposition3D(nt, nr, dt, dr, rho, vel, nffts=(None, None, None), critical=100.0, ntaper=10, scaling=1.0, dtype='complex128')[source]

3D Up-down wavefield composition.

Apply multi-component seismic wavefield composition from its up- and down-going constituents. The input model required by the operator should be created by flattening the separated wavefields of size \(\lbrack n_{r_y} \times n_{r_x} \times n_t \rbrack\) concatenated along the first spatial axis.

Similarly, the data is also a flattened concatenation of pressure and vertical particle velocity wavefields.

Parameters:
nt : int

Number of samples along the time axis

nr : tuple

Number of samples along the receiver axes

dt : float

Sampling along the time axis

dr : tuple

Samplings along the receiver array

rho : float

Density along the receiver array (must be constant)

vel : float

Velocity along the receiver array (must be constant)

nffts : tuple, optional

Number of samples along the wavenumbers and frequency axes (for the wavenumbers axes the same order as nr and dr must be followed)

critical : float, optional

Percentage of angles to retain in obliquity factor. For example, if critical=100 only angles below the critical angle \(\sqrt{k_y^2 + k_x^2} < \frac{\omega}{vel}\) will be retained

ntaper : float, optional

Number of samples of taper applied to obliquity factor around critical angle

scaling : float, optional

Scaling to apply to the operator (see Notes for more details)

dtype : str, optional

Type of elements in input array.

Returns:
UDop : pylops.LinearOperator

Up-down wavefield composition operator

See also

UpDownComposition2D
2D Wavefield composition
WavefieldDecomposition
Wavefield decomposition

Notes

Multi-component seismic data (\(p(y, x, t)\) and \(v_z(y, x, t)\)) can be synthesized in the frequency-wavenumber domain as the superposition of the up- and downgoing constituents of the pressure wavefield (\(p^-(y, x, t)\) and \(p^+(y, x, t)\)) as described pylops.waveeqprocessing.UpDownComposition2D.

Here the vertical wavenumber \(k_z\) is defined as \(k_z=\sqrt{\omega^2/c^2 - k_y^2 - k_x^2}\).