BlockState Struct ReferenceΒΆ

adc_cpp: pops::SystemBlockStore::BlockState Struct 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::SystemBlockStore::BlockState Struct Reference

Compiled closures frozen at block add time (composite model + spatial scheme + time). More...

#include <system_block_store.hpp>

+ Collaboration diagram for pops::SystemBlockStore::BlockState:

Public Attributes

std::string name
 
MultiFab U
 
int ncomp
 
int substeps
 
bool evolve
 
int stride = 1
 
double gamma
 
std::function< void(MultiFab &, Real, int)> advance
 
std::function< void(MultiFab &, MultiFab &)> rhs_into
 
std::function< Real(const MultiFab &)> max_speed
 
std::function< void(const MultiFab &, MultiFab &)> add_poisson_rhs
 
VariableSet cons_vars
 
VariableSet prim_vars
 
CellConvert prim_to_cons
 
CellConvert cons_to_prim
 
std::shared_ptr< CondensedSchurSourceStepperschur
 
std::shared_ptr< PolarCondensedSchurSourceStepperschur_polar
 
double schur_theta = 0.5
 
int schur_bz_comp = kAuxBaseComps
 
std::function< void(MultiFab &, Real)> source_step
 
std::function< void(MultiFab &, Real, int)> advance_masked
 
std::function< void(MultiFab &, Real, int)> advance_eb
 
std::function< void(const MultiFab &, Real &, int &, int &)> hotspot
 
std::function< Real(const MultiFab &)> source_frequency
 
std::function< Real(const MultiFab &)> stability_dt
 
std::function< void(MultiFab &)> project
 
std::function< void(MultiFab &, MultiFab &)> rhs_flux_only
 
std::map< std::string, std::function< void(const MultiFab &, MultiFab &)> > named_poisson_rhs
 
std::function< void(MultiFab &, MultiFab &)> source_only
 

Detailed Description

Compiled closures frozen at block add time (composite model + spatial scheme + time).

Type-erased ONLY at the block list level; the kernel stays compiled. MEMBER ORDER FROZEN: install_block (python/system.cpp) and native_loader (push_dynamic / add_compiled_model) initialize this struct by positional AGGREGATE {name, U, ncomp, substeps, evolve, stride, gamma, advance, rhs_into, max_speed, add_poisson_rhs}; do not reorder these members nor insert any before add_poisson_rhs.

Member Data Documentation

◆ add_poisson_rhs

std::function<void(const MultiFab&, MultiFab&)> pops::SystemBlockStore::BlockState::add_poisson_rhs

◆ advance

std::function<void(MultiFab&, Real, int)> pops::SystemBlockStore::BlockState::advance

◆ advance_eb

std::function<void(MultiFab&, Real, int)> pops::SystemBlockStore::BlockState::advance_eb

◆ advance_masked

std::function<void(MultiFab&, Real, int)> pops::SystemBlockStore::BlockState::advance_masked

◆ cons_to_prim

CellConvert pops::SystemBlockStore::BlockState::cons_to_prim

◆ cons_vars

VariableSet pops::SystemBlockStore::BlockState::cons_vars

◆ evolve

bool pops::SystemBlockStore::BlockState::evolve

◆ gamma

double pops::SystemBlockStore::BlockState::gamma

◆ hotspot

std::function<void(const MultiFab&, Real&, int&, int&)> pops::SystemBlockStore::BlockState::hotspot

◆ max_speed

std::function<Real(const MultiFab&)> pops::SystemBlockStore::BlockState::max_speed

◆ name

std::string pops::SystemBlockStore::BlockState::name

◆ named_poisson_rhs

std::map<std::string, std::function<void(const MultiFab&, MultiFab&)> > pops::SystemBlockStore::BlockState::named_poisson_rhs

◆ ncomp

int pops::SystemBlockStore::BlockState::ncomp

◆ prim_to_cons

CellConvert pops::SystemBlockStore::BlockState::prim_to_cons

◆ prim_vars

VariableSet pops::SystemBlockStore::BlockState::prim_vars

◆ project

std::function<void(MultiFab&)> pops::SystemBlockStore::BlockState::project

◆ rhs_flux_only

std::function<void(MultiFab&, MultiFab&)> pops::SystemBlockStore::BlockState::rhs_flux_only

◆ rhs_into

std::function<void(MultiFab&, MultiFab&)> pops::SystemBlockStore::BlockState::rhs_into

◆ schur

std::shared_ptr<CondensedSchurSourceStepper> pops::SystemBlockStore::BlockState::schur

◆ schur_bz_comp

int pops::SystemBlockStore::BlockState::schur_bz_comp = kAuxBaseComps

◆ schur_polar

std::shared_ptr<PolarCondensedSchurSourceStepper> pops::SystemBlockStore::BlockState::schur_polar

◆ schur_theta

double pops::SystemBlockStore::BlockState::schur_theta = 0.5

◆ source_frequency

std::function<Real(const MultiFab&)> pops::SystemBlockStore::BlockState::source_frequency

◆ source_only

std::function<void(MultiFab&, MultiFab&)> pops::SystemBlockStore::BlockState::source_only

◆ source_step

std::function<void(MultiFab&, Real)> pops::SystemBlockStore::BlockState::source_step

◆ stability_dt

std::function<Real(const MultiFab&)> pops::SystemBlockStore::BlockState::stability_dt

◆ stride

int pops::SystemBlockStore::BlockState::stride = 1

◆ substeps

int pops::SystemBlockStore::BlockState::substeps

◆ U

MultiFab pops::SystemBlockStore::BlockState::U

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