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.wavenumberalways 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_hankelcan 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=Noneandhtarg={pts_per_dec: != 0}, thepts_per_decwas not used for the FHT and the QWE. New, this will be used according to the above definitions. -
Bugfix in
model.wavenumberforab=36(zeroes).