include/pops/numerics/spatial/operators/cartesian_operator.hpp File ReferenceΒΆ

adc_cpp: include/pops/numerics/spatial/operators/cartesian_operator.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
cartesian_operator.hpp File Reference

Cartesian residual R = -div Fhat + S over the cells of a level (method of lines). More...

+ Include dependency graph for cartesian_operator.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  pops::detail::AssembleRhsKernel< Limiter, NumericalFlux, Model >
 AssembleRhsKernel<Limiter,NumericalFlux,Model>: device kernel of the central residual of assemble_rhs. More...
 
struct  pops::detail::AssembleRhsHllCachedKernel< Limiter, Model >
 AssembleRhsHllCachedKernel: kernel of the residual R = -div Fhat + S for the HLL flux with wave speeds PRE-COMPUTED per cell (scratch ws, 4 components). More...
 

Namespaces

namespace  pops
 
namespace  pops::detail
 

Functions

template<class Limiter = NoSlope, class NumericalFlux = RusanovFlux, class Model >
void pops::assemble_rhs (const Model &model, const MultiFab &U, const MultiFab &aux, const Geometry &geom, MultiFab &R, bool recon_prim=false, Real pos_floor=Real(0))
 assemble_rhs<Limiter,NumericalFlux>: residual R = -div Fhat + S over all boxes.
 
template<class Limiter = NoSlope, class Model >
void pops::assemble_rhs_hll_cached (const Model &model, const MultiFab &U, const MultiFab &aux, const Geometry &geom, MultiFab &R, MultiFab &cache, bool recon_prim=false, Real pos_floor=Real(0))
 assemble_rhs_hll_cached<Limiter>: residual R = -div Fhat + S at the HLL flux, wave speeds PRE-COMPUTED per cell (OPT-IN).
 

Detailed Description

Cartesian residual R = -div Fhat + S over the cells of a level (method of lines).

CONTRACT: the "PDE -> ODE system" arrow. The time integrator (time/) only knows R; it is unaware of the geometry and the reconstruction scheme.

  • assemble_rhs<Limiter,NumericalFlux>: main entry point; residual + optional Fickian term.
  • assemble_rhs_hll_cached<Limiter>: OPT-IN HLL path with the per-cell wave-speed cache (wave_speed.hpp); BIT-IDENTICAL to assemble_rhs<NoSlope, HLLFlux> with NoSlope.

Reconstruction (reconstruct_pp) and the structural ghost guard come from face_flux.hpp; the positivity role from positivity.hpp; the cache fill from wave_speed.hpp.