include/pops/numerics/fv/spatial_discretisation.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
|
spatial_discretisation.hpp File Reference
"Spatial method" aggregate: reconstruction (limiter) + numerical flux in one named type. More...
#include <pops/numerics/fv/numerical_flux.hpp>#include <pops/numerics/fv/reconstruction.hpp>#include <concepts>
Include dependency graph for spatial_discretisation.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | pops::SpatialDiscretisation< LimiterT, NumericalFluxT > |
| SpatialDiscretisation<LimiterT, NumericalFluxT>: tag-type bundling the reconstruction policy and the numerical flux policy into a single template parameter. More... | |
Namespaces | |
| namespace | pops |
Concepts | |
| concept | pops::SpatialDiscretisationLike |
| SpatialDiscretisationLike: concept validating a SpatialDiscretisation. | |
Typedefs | |
| using | pops::FirstOrder = SpatialDiscretisation< NoSlope, RusanovFlux > |
| using | pops::MusclMinmod = SpatialDiscretisation< Minmod, RusanovFlux > |
| using | pops::MusclVanLeer = SpatialDiscretisation< VanLeer, RusanovFlux > |
| using | pops::MusclVanLeerHLLC = SpatialDiscretisation< VanLeer, HLLCFlux > |
Detailed Description
"Spatial method" aggregate: reconstruction (limiter) + numerical flux in one named type.
SpatialDiscretisation<Limiter, NumericalFlux> bundles the two spatial discretisation choices into a single template type passed as a block to assemble_rhs / compute_face_fluxes. This lets you choose the method PER sub-model (Rusanov for the ions, HLLC for the electrons) without touching the model or the coupler. The choice is resolved at compile time, with zero branch overhead.
Provided aliases: FirstOrder, MusclMinmod, MusclVanLeer, MusclVanLeerHLLC.
Generated by