detail Namespace ReferenceΒΆ

adc_cpp: pops::runtime::program::detail Namespace 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::runtime::program::detail Namespace Reference

Classes

struct  SchurEnergyKernelC
 Condensed-Schur kinetic-energy increment (ADC-427), mirroring the native detail::SchurEnergyKernel: E^{n+1} = E^n + (1/2) rho (|v^{n+1}|^2 - |v^n|^2), v = (mx, my)/rho. More...
 
struct  SchurExplicitFluxKernelC
 out = B^{-1} (mx, my) at the center (Fx in comp 0, Fy in comp 1): the explicit flux F = rho*B^{-1}*v. More...
 
struct  SchurOperatorCoeffKernelC
 Aux-component-aware variants of the native Schur kernels (coupling/schur/core/schur_condensation.hpp. More...
 
struct  SchurReconstructKernelC
 Reconstruct v^{n+theta} = B^{-1}(v^n - theta*dt*grad phi) and write mom = rho^n*v (rho frozen). More...
 
struct  SchurRhsAssembleKernelC
 rhs = -Lap phi^n - g*div(F), the centered FV divergence of the explicit flux F packed in ONE 2-component buffer (Fx in comp 0, Fy in comp 1 – the layout schur_explicit_flux writes), fused with the already-negated -Lap phi^n. More...
 

Functions

template<class Model , class Flux >
BlockClosures external_make_block (const Model &m, const std::string &lim, const GridContext &ctx, bool recon_prim, Real pos_floor)
 
template<class Model , class Flux >
void external_residual (const double *U, double *R, const double *aux_in, int n, double dx, double dy, bool periodic, const std::string &lim, bool recon_prim, double pos_floor)
 
std::string module_str (void *handle, const char *symbol, int i)
 Call a const char* (int) accessor at index i; empty string if the symbol is absent.
 
std::vector< std::string > module_names (void *handle, const char *count_symbol, const char *name_symbol)
 Read a (count, name) string table (state/field spaces) from the handle.
 

Function Documentation

◆ external_make_block()

template<class Model , class Flux >
BlockClosures pops::runtime::program::detail::external_make_block ( const Model &  m,
const std::string &  lim,
const GridContext ctx,
bool  recon_prim,
Real  pos_floor 
)
+ Here is the call graph for this function:

◆ external_residual()

template<class Model , class Flux >
void pops::runtime::program::detail::external_residual ( const double *  U,
double *  R,
const double *  aux_in,
int  n,
double  dx,
double  dy,
bool  periodic,
const std::string &  lim,
bool  recon_prim,
double  pos_floor 
)
+ Here is the call graph for this function:

◆ module_names()

std::vector< std::string > pops::runtime::program::detail::module_names ( void *  handle,
const char *  count_symbol,
const char *  name_symbol 
)
inline

Read a (count, name) string table (state/field spaces) from the handle.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ module_str()

std::string pops::runtime::program::detail::module_str ( void *  handle,
const char *  symbol,
int  i 
)
inline

Call a const char* (int) accessor at index i; empty string if the symbol is absent.

+ Here is the caller graph for this function: