Source code for pyrocko.modelling.eikonal

# https://pyrocko.org - GPLv3
#
# The Pyrocko Developers, 21st Century
# ---|P------/S----------~Lg----------

'''
FMM solver for the  eikonal equation in 2D and 3D.
'''

from .. import eikonal_ext


[docs]def eikonal_solver_fmm_cartesian(speeds, times, delta): ''' Solve eikonal equation in 2D or 3D using the fast marching method. This function implements the fast marching method (FMM) by [sethian1996]_. :param speeds: Velocities at the grid nodes. :type speeds: 2D or 3D :py:class:`numpy.ndarray` :param times: Arrival times (input and output). The solution is obtained at nodes where times is set to a negative value. Values of zero, or positive values are used as seeding points. :type times: 2D or 3D :py:class:`numpy.ndarray`, same shape as `speeds` :param delta: Grid spacing. :type delta: float .. [sethian1996] Sethian, James A. "A fast marching level set method for monotonically advancing fronts." Proceedings of the National Academy of Sciences 93.4 (1996): 1591-1595. https://doi.org/10.1073/pnas.93.4.1591 ''' return eikonal_ext.eikonal_solver_fmm_cartesian(speeds, times, delta)