include/pops/numerics/spatial/primitives/state_access.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
|
state_access.hpp
Go to the documentation of this file.
17#include <pops/core/model/physical_model.hpp> // aux_comps, HasPrimitiveVars: optional primitive reconstruction
20#include <pops/core/state/variables.hpp> // VariableSet: SourceFreeModel::conservative_vars forwarding
82 // hooks, so RoeFlux / HLLCFlux silently fall back to the canonical Euler-4var path -- which fails
83 // to even COMPILE for a non-Euler model (e.g. a moment hierarchy: n_vars != 4, no pressure). The
DiffusiveModel: optional concept for models with isotropic scalar diffusion.
Definition state_access.hpp:38
Fab2D: single-grid data on a Box2D (in-house equivalent of AMReX's FArrayBox); Array4 / ConstArray4: ...
Definition amr_hierarchy.hpp:29
POPS_HD Aux load_aux(const ConstArray4 &a, int i, int j)
load_aux<NComp>: reads NComp components of the auxiliary from an Array4 at (i,j).
Definition state_access.hpp:141
POPS_HD Model::State load_state(const ConstArray4 &a, int i, int j)
load_state<Model>: reads Model::n_vars scalars at (i,j) from an Array4.
Definition state_access.hpp:120
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...
#define POPS_AUX_FIELDS(X)
SINGLE SOURCE of the layout of the EXTRA aux fields (X-macro).
Definition state.hpp:92
#define POPS_AUX_LOAD(name, idx)
POINTWISE auxiliary fields shared with the physics: single coupling channel.
Definition state.hpp:123
READ-only handle (const counterpart of Array4): same layout and same contract (POD device-copyable,...
Definition fab2d.hpp:44
SourceFreeModel<M>: adapter that cancels the source of M (explicit IMEX half-step).
Definition state_access.hpp:50
POPS_HD State hllc_star_state(const State &u, Real p, Real s, Real sStar, int dir) const
Definition state_access.hpp:92
POPS_HD Real pressure(const State &u) const
Definition state_access.hpp:67
POPS_HD void wave_speeds(const State &u, const Aux &a, int dir, Real &smin, Real &smax) const
Definition state_access.hpp:72
POPS_HD Real elliptic_rhs(const State &u) const
Definition state_access.hpp:61
static VariableSet conservative_vars()
Definition state_access.hpp:108
POPS_HD State source(const State &, const Aux &) const
Definition state_access.hpp:60
POPS_HD State roe_dissipation(const State &ul, const Aux &al, const State &ur, const Aux &ar, int dir) const
Definition state_access.hpp:99
POPS_HD State flux(const State &u, const Aux &a, int dir) const
Definition state_access.hpp:56
POPS_HD Real contact_speed(const State &ul, const State &ur, Real pl, Real pr, Real sl, Real sr, int dir) const
Definition state_access.hpp:85
POPS_HD Real max_wave_speed(const State &u, const Aux &a, int dir) const
Definition state_access.hpp:57
A model's variable set: kind (cons/prim), names, size, canonical roles (optional, parallel to names; ...
Definition variables.hpp:58
Base scalar types and the POPS_HD macro (host+device portability).
Descriptor of a model's variables (Vars).
Generated by