AdvanceExplicit< Limiter, Flux, Model, Stepper > Struct Template ReferenceΒΆ

adc_cpp: pops::detail::AdvanceExplicit< Limiter, Flux, Model, Stepper > Struct Template 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::detail::AdvanceExplicit< Limiter, Flux, Model, Stepper > Struct Template Reference

EXPLICIT advance: n substeps of the Stepper stepper (SSPRK2 by default, SSPRK3 optional) on the transport+source residual. More...

#include <block_builder.hpp>

+ Collaboration diagram for pops::detail::AdvanceExplicit< Limiter, Flux, Model, Stepper >:

Public Member Functions

void operator() (MultiFab &U, Real dt, int n) const
 

Public Attributes

Model m
 
GridContext ctx
 
bool recon_prim
 
Real pos_floor = Real(0)
 Zhang-Shu positivity limiter (<= 0: inactive, bit-identical)
 
std::shared_ptr< MultiFabws_cache
 HLL wave speed cache (opt-in); nullptr -> per-face path.
 

Detailed Description

template<class Limiter, class Flux, class Model, class Stepper = SSPRK2Step>
struct pops::detail::AdvanceExplicit< Limiter, Flux, Model, Stepper >

EXPLICIT advance: n substeps of the Stepper stepper (SSPRK2 by default, SSPRK3 optional) on the transport+source residual.

The RK scheme is a template parameter (NAMED FUNCTOR from the core: SSPRK2Step / SSPRK3Step) -> same device-clean contract as SSPRK2Step. SSPRK2 reproduces the historical advance exactly (bit-identical).

Member Function Documentation

◆ operator()()

template<class Limiter , class Flux , class Model , class Stepper = SSPRK2Step>
void pops::detail::AdvanceExplicit< Limiter, Flux, Model, Stepper >::operator() ( MultiFab U,
Real  dt,
int  n 
) const
inline

Member Data Documentation

◆ ctx

template<class Limiter , class Flux , class Model , class Stepper = SSPRK2Step>
GridContext pops::detail::AdvanceExplicit< Limiter, Flux, Model, Stepper >::ctx

◆ m

template<class Limiter , class Flux , class Model , class Stepper = SSPRK2Step>
Model pops::detail::AdvanceExplicit< Limiter, Flux, Model, Stepper >::m

◆ pos_floor

template<class Limiter , class Flux , class Model , class Stepper = SSPRK2Step>
Real pops::detail::AdvanceExplicit< Limiter, Flux, Model, Stepper >::pos_floor = Real(0)

Zhang-Shu positivity limiter (<= 0: inactive, bit-identical)

◆ recon_prim

template<class Limiter , class Flux , class Model , class Stepper = SSPRK2Step>
bool pops::detail::AdvanceExplicit< Limiter, Flux, Model, Stepper >::recon_prim

◆ ws_cache

template<class Limiter , class Flux , class Model , class Stepper = SSPRK2Step>
std::shared_ptr<MultiFab> pops::detail::AdvanceExplicit< Limiter, Flux, Model, Stepper >::ws_cache

HLL wave speed cache (opt-in); nullptr -> per-face path.


The documentation for this struct was generated from the following file: