Eikonal module
Eikonal equations and distance propagation.
FMM implements fast marching on simplicial meshes, propagating arrival times from prescribed seed vertices. It provides the underlying distance propagation used by level-set reinitialization and distance-field construction, with a priority queue controlling the order of vertex updates.
where is a speed function. When , the solution represents the distance function.
Fast Marching Method (FMM)
The primary solver is FMM, which implements the Fast Marching Method on unstructured simplicial meshes. The algorithm propagates a wavefront from seed vertices, updating arrival times in causal order using a priority queue. Vertex states during propagation:
| State | Description |
|---|---|
| Far | Not yet visited |
| Considered | In the priority queue, tentative value computed |
| Accepted | Finalized — arrival time is correct |
The FMM specialization for P1 finite elements on local meshes supports:
- Arbitrary spatial dimension (2D triangular, 3D tetrahedral, surface meshes)
- User-defined speed functions
- Seed interface specification (initial zero-distance vertices)
Typical Usage
P1 Vh(mesh); GridFunction u(Vh); // Speed function F(x) = 1 (distance computation) auto speed = [](const Geometry::Point&) -> Real { return 1.0; }; Eikonal::FMM fmm(u, speed); fmm.seed(interfaceVertices).solve();
Classes
-
template<class Solution, class SpeedFunction>class FMM
- Fast marching method for solving the Eikonal equation.
See specializations
Specialization Description Variational::GridFunction<…>, SpeedFunctionFMM specialization for P1 finite elements on local meshes.
Functions
-
template<class Solution, class SpeedFunction>FMM(Solution& u, SpeedFunction&& speed) -> FMM< Solution, SpeedFunction >
- Deduction guide for FMM constructor.
Function documentation
FMM
Defined in Rodin/Eikonal/FMM.h
See declaration
Deduction guide for FMM constructor.
| Parameters | |
|---|---|
| u | Solution field updated by the fast marching method. |
| speed | Function operand. |
Allows template argument deduction when constructing FMM objects.