#include <Rodin/Advection/Lagrangian.h>
template<class ... Params>
Lagrangian class
Lagrangian variational advection for scalar fields.
This class implements semi-Lagrangian time-stepping for the advection equation:
where is the scalar field and is the velocity field.
Semi-Lagrangian Method
At each time step, the method:
- Traces characteristics backwards:
- Interpolates the solution at departure points
- Solves a projection problem to obtain the new solution
The variational formulation at each step is:
Advantages
- Unconditionally stable for large CFL numbers
- Naturally handles complex geometries
- Mass-conservative in variational form
| Specialization | Description |
|---|---|
| Lagrangian<TrialFunction<GridFunction<FES, Data>, FES>, TestFunction<FES>, Initial, VectorField, Step> | Semi-Lagrangian projection update for a trial/test scalar transport formulation. |
| Lagrangian<...> | Primary template documenting the supported specialization family for advection schemes. |