include/pops/numerics/fv/spatial_discretisation.hpp Source FileΒΆ

adc_cpp: include/pops/numerics/fv/spatial_discretisation.hpp Source File
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
Go to the documentation of this file.
1
11
12#pragma once
13
16
17#include <concepts>
18
19namespace pops {
20
26template <class LimiterT, class NumericalFluxT = RusanovFlux>
28 using Limiter = LimiterT;
29 using NumericalFlux = NumericalFluxT;
30};
31
36template <class D>
37concept SpatialDiscretisationLike = requires {
38 typename D::Limiter;
39 typename D::NumericalFlux;
40};
41
42// Usual bundles.
47
48} // namespace pops
SpatialDiscretisationLike: concept validating a SpatialDiscretisation.
Definition spatial_discretisation.hpp:37
Definition amr_hierarchy.hpp:29
Single-interface numerical flux policies: Rusanov, HLL, HLLC, Roe.
Interface reconstruction policies: MUSCL limiters and WENO5-Z.
SpatialDiscretisation<LimiterT, NumericalFluxT>: tag-type bundling the reconstruction policy and the ...
Definition spatial_discretisation.hpp:27
LimiterT Limiter
Definition spatial_discretisation.hpp:28
NumericalFluxT NumericalFlux
Definition spatial_discretisation.hpp:29