DiffusiveModel Concept 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
|
pops::DiffusiveModel Concept Reference
DiffusiveModel: optional concept for models with isotropic scalar diffusion. More...
#include <state_access.hpp>
Concept definition
template<class M>
{ m.diffusivity() } -> std::convertible_to<Real>;
}
DiffusiveModel: optional concept for models with isotropic scalar diffusion.
Definition state_access.hpp:38
Detailed Description
DiffusiveModel: optional concept for models with isotropic scalar diffusion.
A model satisfies DiffusiveModel if and only if m.diffusivity() -> Real (nu >= 0). The Fickian flux F = -nu grad U is ADDED to the hyperbolic flux in assemble_rhs / compute_face_fluxes. The divergence yields exactly +nu Lap(U). INVARIANT: a model without diffusivity() does not change by a single bit (the hyperbolic path is strictly unchanged – the if constexpr is false, zero extra codegen).
Generated by