include/pops/runtime/program/external_riemann_brick.hpp File ReferenceΒΆ

adc_cpp: include/pops/runtime/program/external_riemann_brick.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
external_riemann_brick.hpp File Reference
+ Include dependency graph for external_riemann_brick.hpp:

Go to the source code of this file.

Classes

class  pops::runtime::program::ExternalBrickHandle
 

Namespaces

namespace  pops
 
namespace  pops::runtime
 
namespace  pops::runtime::program
 
namespace  pops::runtime::program::detail
 

Macros

#define POPS_DEFINE_EXTERNAL_RIEMANN_BRICK(id, Flux, Model, reqs_csv)
 

Functions

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)
 
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)
 

Macro Definition Documentation

◆ POPS_DEFINE_EXTERNAL_RIEMANN_BRICK

#define POPS_DEFINE_EXTERNAL_RIEMANN_BRICK (   id,
  Flux,
  Model,
  reqs_csv 
)
Value:
POPS_REGISTER_BRICK(id, "riemann", reqs_csv); \
extern "C" int pops_brick_nvars() { \
return Model::n_vars; \
} \
extern "C" int pops_brick_naux() { \
return pops::aux_comps<Model>(); \
} \
extern "C" void pops_brick_residual(const double* U, double* R, const double* aux, int n, \
double dx, double dy, int periodic, const char* lim, \
int recon_prim, double pos_floor) { \
::pops::runtime::program::detail::external_residual<Model, Flux>( \
U, R, aux, n, dx, dy, periodic != 0, lim, recon_prim != 0, pos_floor); \
}
#define POPS_REGISTER_BRICK(brick_id, brick_category, brick_requirements)
Definition external_brick.hpp:195