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 curvetravand 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 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. - wav :