SourceOnlyKernel< Model > Struct Template ReferenceΒΆ

adc_cpp: pops::detail::SourceOnlyKernel< Model > 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::SourceOnlyKernel< Model > Struct Template Reference

SOURCE-ONLY residual kernel R(i,j) <- m.source(U(i,j), aux(i,j)): the EXACT source term of AssembleRhsKernel (cf. More...

#include <block_builder.hpp>

+ Collaboration diagram for pops::detail::SourceOnlyKernel< Model >:

Public Member Functions

POPS_HD void operator() (int i, int j) const
 

Public Attributes

Model m
 
ConstArray4 u
 
ConstArray4 a
 
Array4 r
 

Detailed Description

template<class Model>
struct pops::detail::SourceOnlyKernel< Model >

SOURCE-ONLY residual kernel R(i,j) <- m.source(U(i,j), aux(i,j)): the EXACT source term of AssembleRhsKernel (cf.

cartesian_operator.hpp: r = S - div Fhat), with NO flux / reconstruction / numerical-flux dispatch (ADC-430). NAMED FUNCTOR (same device contract as AssembleRhsKernel / ProjectCellKernel), so the device codegen is robust across the AOT TU boundary. Reads the cell's own state + aux only (POINTWISE, no neighbor): no ghosts required. POPS_HD.

Member Function Documentation

◆ operator()()

template<class Model >
POPS_HD void pops::detail::SourceOnlyKernel< Model >::operator() ( int  i,
int  j 
) const
inline
+ Here is the call graph for this function:

Member Data Documentation

◆ a

template<class Model >
ConstArray4 pops::detail::SourceOnlyKernel< Model >::a

◆ m

template<class Model >
Model pops::detail::SourceOnlyKernel< Model >::m

◆ r

template<class Model >
Array4 pops::detail::SourceOnlyKernel< Model >::r

◆ u

template<class Model >
ConstArray4 pops::detail::SourceOnlyKernel< Model >::u

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