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 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 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
)
- wav
- Returns
- direct
numpy.ndarray
Direct arrival in time domain of size \(\lbrack n_t \times n_r \rbrack\)
- direct
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
.