Rodin/Variational/Flow.h file

Flow map operators for shape functions and grid functions.

This file defines the Rodin::Variational::Flow class, which implements the flow map (push-forward) of functions along a vector field. Flow maps are used in advection problems, level set methods, and semi-Lagrangian time integration schemes.

Mathematical foundation

Given a velocity field $ \mathbf{v}(x,t) $ , the flow map $ \Phi_t $ satisfies:

\[ \frac{d\Phi}{dt}(x,t) = \mathbf{v}(\Phi(x,t), t), \qquad \Phi(x,0) = x. \]

The flow operator computes $ u(\Phi(x,t)) $ , which represents the value of function $ u $ advected along the flow.

Applications

  • Advection-diffusion: $ \partial_t u + \mathbf{v}\cdot\nabla u = f $
  • Semi-Lagrangian methods: characteristic tracking for transport equations
  • Level set methods: interface evolution and tracking
  • ALE formulations: arbitrary Lagrangian-Eulerian methods

Namespaces

namespace Rodin
The Rodin library for finite element methods and shape optimization.
namespace Rodin::FormLanguage
Namespace Rodin::FormLanguage.
namespace Rodin::Variational
Namespace Rodin::Variational.

Classes

template<class Derived, class FES, class VectorField, class Step, class BoundaryPolicy>
struct Rodin::FormLanguage::Traits<Variational::Flow<Variational::ShapeFunctionBase<Derived, FES, Variational::TestSpace>, VectorField, Step, BoundaryPolicy>>
Type traits for Flow over a shape function: exposes the finite element space, the shape function space and the operand type.
struct Rodin::Variational::BoundaryHit
Information passed to a boundary policy when a trajectory reaches the domain boundary.
class Rodin::Variational::DefaultBoundaryPolicy
Default boundary policy for flow maps.
template<class Derived, class VectorField, class Step, class BoundaryPolicy>
class Rodin::Variational::Flow<FunctionBase<Derived>, VectorField, Step, BoundaryPolicy>
Flow map operator for functions.
class Rodin::Variational::Flow<FunctionBase<Derived>, VectorField, Step, BoundaryPolicy>::Trace
Result of a characteristic trace.