include/pops/numerics/fv/reconstruction.hpp File ReferenceΒΆ
|
adc_cpp 0.3.0
Model-free C++23 core for coupled hyperbolic-elliptic systems on adaptive (AMR) meshes, with MPI and GPU (Kokkos) backends
|
reconstruction.hpp File Reference
Interface reconstruction policies: MUSCL limiters and WENO5-Z. More...
Include dependency graph for reconstruction.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | pops::NoSlope |
| First-order reconstruction (piecewise constant): zero slope, 1 ghost. More... | |
| struct | pops::Minmod |
| minmod limiter: TVD (Total Variation Diminishing), 2 ghosts, order 2 in smooth regions. More... | |
| struct | pops::VanLeer |
| van Leer limiter: smooth, 2 ghosts, better order at extrema than Minmod. More... | |
| struct | pops::Weno5 |
| WENO5 tag policy: marks the stencil at 3 ghosts, delegates to weno5z. More... | |
Namespaces | |
| namespace | pops |
Functions | |
| POPS_HD Real | pops::weno5z (Real vm2, Real vm1, Real v0, Real vp1, Real vp2) |
| weno5z: WENO5-Z reconstruction (Borges 2008) at one interface, on a 5-point stencil. | |
Detailed Description
Interface reconstruction policies: MUSCL limiters and WENO5-Z.
Each policy exposes:
n_ghost: required stencil radius (1 = first order, 2 = linear MUSCL, 3 = WENO5).operator()(am, ap): slope limited from the backward (am) and forward (ap) differences.
All policies are POPS_HD (no std::, no branch to UB). The limiter is a template parameter in assemble_rhs / reconstruct (static polymorphism, inlined on device). INVARIANT: a reconstruction policy is POINTWISE – it does not loop over the grid and does not access any global array. The mesh stencil access lives in reconstruct (spatial_operator.hpp).
Generated by