include/pops/coupling/base/aux_fill.hpp File ReferenceΒΆ

adc_cpp: include/pops/coupling/base/aux_fill.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
aux_fill.hpp File Reference

Helpers shared by the three couplers (single-block Coupler, SystemAssembler, AmrSystemCoupler) for the aux channel. More...

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

Go to the source code of this file.

Namespaces

namespace  pops
 
namespace  pops::detail
 

Functions

BCRec pops::detail::derive_aux_bc (const BCRec &b)
 Aux-channel BC derived from the potential phi BC: a periodic BC stays periodic, any other becomes Foextrap (order-0 extrapolation).
 
template<class Bz >
void pops::detail::fill_bz_box (Fab2D &f, const Box2D &box, const Geometry &g, const Bz &bz)
 Writes B_z(x, y) at component kAuxBaseComps on box box of fab f, sampling bz at the cell centers of geometry g.
 

Detailed Description

Helpers shared by the three couplers (single-block Coupler, SystemAssembler, AmrSystemCoupler) for the aux channel.

Centralizes two bodies that were duplicated verbatim:

  • derive_aux_bc: aux-channel BC derived from the phi BC (periodic preserved, everything else -> Foextrap).
  • fill_bz_box: kernel that writes B_z(x, y) at component kAuxBaseComps on a box of a Fab2D, from a given geometry. PURE extraction: the bodies are taken verbatim (bit-identical). What DIFFERS between couplers (compile-time vs runtime guard, valid vs grown box, per-level geometry, call to fill_ghosts) stays on the caller side; only the common content is here.