PolarApplyKernel Struct ReferenceΒΆ

adc_cpp: pops::detail::PolarApplyKernel 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::detail::PolarApplyKernel Struct Reference

L_int(phi) = div(A grad phi) in polar (apply). More...

#include <polar_tensor_operator.hpp>

+ Collaboration diagram for pops::detail::PolarApplyKernel:

Public Member Functions

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

Public Attributes

ConstArray4 p
 
Array4 L
 
ConstArray4 arr
 
ConstArray4 att
 
bool hrt
 
bool htr
 
ConstArray4 art
 
ConstArray4 atr
 
Real r_min
 
Real dr
 
Real idr
 
Real idth
 

Detailed Description

L_int(phi) = div(A grad phi) in polar (apply).

NAMED device-clean functor (recipe #93: first- instantiated cross-TU kernel -> no extended lambda under nvcc). arr/att always provided (at least a_rr=a_tt=1); art/atr optional (cross terms). r_min/dr/dtheta passed as scalars (PolarGeometry POPS_HD accessors recomputed in the kernel).

Member Function Documentation

◆ operator()()

POPS_HD void pops::detail::PolarApplyKernel::operator() ( int  i,
int  j 
) const
inline
+ Here is the call graph for this function:

Member Data Documentation

◆ arr

ConstArray4 pops::detail::PolarApplyKernel::arr

◆ art

ConstArray4 pops::detail::PolarApplyKernel::art

◆ atr

ConstArray4 pops::detail::PolarApplyKernel::atr

◆ att

ConstArray4 pops::detail::PolarApplyKernel::att

◆ dr

Real pops::detail::PolarApplyKernel::dr

◆ hrt

bool pops::detail::PolarApplyKernel::hrt

◆ htr

bool pops::detail::PolarApplyKernel::htr

◆ idr

Real pops::detail::PolarApplyKernel::idr

◆ idth

Real pops::detail::PolarApplyKernel::idth

◆ L

Array4 pops::detail::PolarApplyKernel::L

◆ p

ConstArray4 pops::detail::PolarApplyKernel::p

◆ r_min

Real pops::detail::PolarApplyKernel::r_min

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