hankel_qwe#
- empymod.transform.hankel_qwe(zsrc, zrec, lsrc, lrec, off, ang_fact, depth, ab, etaH, etaV, zetaH, zetaV, xdirect, htarg, msrc, mrec)[source]#
Hankel Transform using Quadrature-With-Extrapolation.
Quadrature-With-Extrapolation was introduced to geophysics by [Key12]. It is one of many so-called ISE methods to solve Hankel Transforms, where ISE stands for Integration, Summation, and Extrapolation.
Following [Key12], but without going into the mathematical details here, the QWE method rewrites the Hankel transform of the form
(1)#\[F(r) = \int^\infty_0 f(\lambda)J_v(\lambda r)\ \mathrm{d}\lambda\]as a quadrature sum which form is similar to the DLF (equation 15),
(2)#\[F_i \approx \sum^m_{j=1} f(x_j/r)w_j g(x_j) = \sum^m_{j=1} f(x_j/r)\hat{g}(x_j) \ ,\]but with various bells and whistles applied (using the so-called Shanks transformation in the form of a routine called \(\epsilon\)-algorithm ([Shan55], [Wynn56]; implemented with algorithms from [Tref00] and [Weni89]).
This function is based on get_CSEM1D_FD_QWE.m, qwe.m, and getBesselWeights.m from the source code distributed with [Key12].
In the spline-version,
hankel_qwechecks how steep the decay of the wavenumber-domain result is, and calls QUAD for the very steep interval, for which QWE is not suited.The function is called from one of the modelling routines in
empymod.model. Consult these modelling routines for a description of the input and output parameters.- Returns
- fEMarray
Returns frequency-domain EM response.
- kcountint
Kernel count.
- convbool
If true, QWE/QUAD converged. If not, htarg might have to be adjusted.