More DLF improvements
This release is not completely backwards compatible for the main modelling routines in empymod.model
, but almost. Read below to see which functions are affected.
-
Improved Hankel DLF [empymod#11].
empymod.kernel.wavenumber
always returns three kernels,PJ0
,PJ1
, andPJ0b
. The first one is angle-independent, the latter two depend on the angle. Now, depending of what source-receiver configuration is chosen, some of these might be zero. If-statements were now included to avoid the calculation of the DLF, interpolation, and reshaping for 0-kernels, which improves speed for these cases. -
Unified DLF arguments [empymod#10].
These changes are backwards compatible for all main modelling routines in
empymod.model
. However, they are not backwards compatible for the following routines:empymod.model.fem
(removeduse_spline
),empymod.transform.fht
(removeduse_spline
),empymod.transform.hqwe
(removeduse_spline
),empymod.transform.quad
(removeduse_spline
),empymod.transform.dlf
(lagged
,splined
=>pts_per_dec
),empymod.utils.check_opt
(no longer returnsuse_spline
),empymod.utils.check_hankel
(changes inpts_per_dec
), andempymod.utils.check_time
(changes inpts_per_dec
).
The function
empymod.utils.spline_backwards_hankel
can be used for backwards compatibility.Now the Hankel and Fourier DLF have the same behaviour for
pts_per_dec
:pts_per_dec = 0
: Standard DLF,pts_per_dec < 0
: Lagged Convolution DLF, andpts_per_dec > 0
: Splined DLF.
There is one exception which is not backwards compatible: Before, if
opt=None
andhtarg={pts_per_dec: != 0}
, thepts_per_dec
was not used for the FHT and the QWE. New, this will be used according to the above definitions. -
Bugfix in
model.wavenumber
forab=36
(zeroes).