Rodin::Distance::Poisson class

Poisson approximation to the distance function.

This class computes an approximation to the distance function by solving a Poisson equation with appropriate boundary conditions. The method solves:

\[ -\Delta u = 1 \quad \text{in } \Omega \]
\[ u = 0 \quad \text{on } \partial\Omega \]

where $ u $ approximates the distance to the boundary.

Mathematical Background

Unlike the Eikonal equation which gives exact distances, the Poisson approach provides a smooth approximation that can be computed more efficiently for certain applications.

Usage Example

P1 fes(mesh);
Poisson poissonDist;
auto u = poissonDist(fes);

Public functions

template<class FES>
auto operator()(const FES& fes) const -> auto
Computes the Poisson-based distance approximation.

Function documentation

template<class FES>
auto Rodin::Distance::Poisson::operator()(const FES& fes) const

Computes the Poisson-based distance approximation.

Template parameters
FES Finite element space type
Parameters
fes in Finite element space on which to solve
Returns Grid function containing the distance approximation