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 given a 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.