pylops.waveeqprocessing.marchenko.directwave

pylops.waveeqprocessing.marchenko.directwave(wav, trav, nt, dt, nfft=None, dist=None, kind='2d', derivative=True)[source]

Analytical direct wave in acoustic media

Compute the analytical acoustic 2d or 3d Green’s function in frequency domain givena wavelet wav, traveltime curve trav and distance dist (for 3d case only).

Parameters:
wav : numpy.ndarray

Wavelet in time domain to apply to direct arrival when created using trav. Phase will be discarded resulting in a zero-phase wavelet with same amplitude spectrum as provided by wav

trav : numpy.ndarray

Traveltime of first arrival from subsurface point to surface receivers of size \(\lbrack n_r \times 1 \rbrack\)

nt : float, optional

Number of samples in time

dt : float, optional

Sampling in time

nfft : int, optional

Number of samples in fft time (if None, nfft=nt)

dist: :obj:`numpy.ndarray`

Distance between subsurface point to surface receivers of size \(\lbrack n_r \times 1 \rbrack\)

kind : str, optional

2-dimensional (2d) or 3-dimensional (3d)

derivative : bool, optional

Apply time derivative (True) or not (False)

Returns:
direct : numpy.ndarray

Direct arrival in time domain of size \(\lbrack n_t \times n_r \rbrack\)

Notes

The analytical Green’s function in 2D [1] is :

\[G^{2D}(\mathbf{r}) = -\frac{i}{4}H_0^{(1)}(k|\mathbf{r}|)\]

and in 3D [1] is:

\[G^{3D}(\mathbf{r}) = \frac{e^{-jk\mathbf{r}}}{4 \pi \mathbf{r}}\]

Note that these Green’s functions represent the acoustic response to a point source of volume injection. In case the response to a point source of volume injection rate is desired, a \(j\omega\) scaling (which is equivalent to applying a first derivative in time domain) must be applied. Here this is accomplished by setting derivative=True.

[1](1, 2) Snieder, R. “A Guided Tour of Mathematical Methods for the Physical Sciences”, Cambridge University Press, pp. 302, 2004.