PolarJacobiApplyKernel Struct ReferenceΒΆ

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

out = (f - L0 phi) / |diag| – one Jacobi iteration (point-by-point relaxation) on the DIAGONAL polar stencil (cross terms excluded from the Jacobi splitting: they stay on the right-hand side via the residual). More...

#include <polar_tensor_operator.hpp>

+ Collaboration diagram for pops::detail::PolarJacobiApplyKernel:

Public Member Functions

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

Public Attributes

ConstArray4 z
 
Array4 out
 
ConstArray4 idiag
 

Detailed Description

out = (f - L0 phi) / |diag| – one Jacobi iteration (point-by-point relaxation) on the DIAGONAL polar stencil (cross terms excluded from the Jacobi splitting: they stay on the right-hand side via the residual).

out is WRITTEN. NAMED device-clean functor. Used by the Jacobi preconditioner: applied to a residual z, returns M^{-1} z = diag^{-1} z (simple form, one sweep). idiag = 1/diag stored separately.

Member Function Documentation

◆ operator()()

POPS_HD void pops::detail::PolarJacobiApplyKernel::operator() ( int  i,
int  j 
) const
inline

Member Data Documentation

◆ idiag

ConstArray4 pops::detail::PolarJacobiApplyKernel::idiag

◆ out

Array4 pops::detail::PolarJacobiApplyKernel::out

◆ z

ConstArray4 pops::detail::PolarJacobiApplyKernel::z

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