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 curvetrav
and distancedist
(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 bywav
- trav :
numpy.ndarray
Traveltime of first arrival from subsurface point to surface receivers of size \(\lbrack nr \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 nr \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 nt \times nr \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.
- wav :