pylops.waveeqprocessing.UpDownComposition3D#

pylops.waveeqprocessing.UpDownComposition3D(nt, nr, dt, dr, rho, vel, nffts=(None, None, None), critical=100.0, ntaper=10, scaling=1.0, backend='numpy', dtype='complex128', name='U')[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
ntint

Number of samples along the time axis

nrtuple

Number of samples along the receiver axes

dtfloat

Sampling along the time axis

drtuple

Samplings along the receiver array

rhofloat

Density \(\rho\) along the receiver array (must be constant)

velfloat

Velocity \(c\) along the receiver array (must be constant)

nfftstuple, optional

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

criticalfloat, 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}{c}\) will be retained

ntaperfloat, optional

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

scalingfloat, optional

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

backendstr, optional

Backend used for creation of obliquity factor operator (numpy or cupy)

dtypestr, optional

Type of elements in input array.

namestr, optional

New in version 2.0.0.

Name of operator (to be used by pylops.utils.describe.describe)

Returns
UDoppylops.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{\frac{\omega^2}{c^2} - k_y^2 - k_x^2}\).