include/pops/runtime/dynamic/dynamic_model.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
|
dynamic_model.hpp
Go to the documentation of this file.
64 State flux(const State& u, const Aux& a, int dir) const override { return model.flux(u, a, dir); }
Definition amr_hierarchy.hpp:29
std::unique_ptr< IModel< M::n_vars > > make_dynamic(M model={})
Factory: wraps a static model in an owned IModel (unique_ptr).
Definition dynamic_model.hpp:101
C++20 concepts defining the contract of the physics layer.
Pointwise types of the physics layer: StateVec<N> (conserved state) and Aux (auxiliary fields from th...
POINTWISE auxiliary fields shared with the physics: single coupling channel.
Definition state.hpp:123
Hyperbolic model seen behind a virtual interface (runtime dispatch).
Definition dynamic_model.hpp:27
virtual State source(const State &, const Aux &) const
Source term S(U, aux) (default: zero, model without source).
Definition dynamic_model.hpp:35
virtual State to_conservative(const State &p) const
Primitive -> conservative conversion (U = M.to_conservative(P)).
Definition dynamic_model.hpp:45
virtual Real max_wave_speed(const State &u, const Aux &a, int dir) const =0
virtual Real elliptic_rhs(const State &) const
Elliptic right-hand side f(U) of the system Poisson (default: zero, no coupling).
Definition dynamic_model.hpp:37
virtual State flux(const State &u, const Aux &a, int dir) const =0
virtual ~IModel()=default
virtual int n_aux() const
Width of the aux channel that the model READS (cf.
Definition dynamic_model.hpp:49
virtual State to_primitive(const State &u) const
Conservative -> primitive conversion (P = M.to_primitive(U)).
Definition dynamic_model.hpp:42
int n_aux() const override
Width of the aux channel that the model READS (cf.
Definition dynamic_model.hpp:96
Real max_wave_speed(const State &u, const Aux &a, int dir) const override
Definition dynamic_model.hpp:65
State flux(const State &u, const Aux &a, int dir) const override
Definition dynamic_model.hpp:64
ModelAdapter()=default
Real elliptic_rhs(const State &u) const override
Definition dynamic_model.hpp:74
State to_conservative(const State &p) const override
Definition dynamic_model.hpp:90
State source(const State &u, const Aux &a) const override
Definition dynamic_model.hpp:68
State to_primitive(const State &u) const override
Definition dynamic_model.hpp:84
Base scalar types and the POPS_HD macro (host+device portability).
Generated by