SchurRhsAssembleKernel Struct ReferenceΒΆ

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

rhs(i,j) = lap(i,j) (= -Lap phi^n, already negated by the caller) - g * div F, second-order centered divergence of a flux F at the center (fx, fy, ghosts filled). More...

#include <schur_condensation.hpp>

+ Collaboration diagram for pops::detail::SchurRhsAssembleKernel:

Public Member Functions

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

Public Attributes

ConstArray4 neg_lap
 -Lap phi^n (already negated)
 
ConstArray4 fx
 
ConstArray4 fy
 flux F at the center (ghosts filled)
 
Array4 rhs
 output: condensed right-hand side
 
Real g
 theta dt alpha
 
Real half_idx
 
Real half_idy
 1/(2 dx), 1/(2 dy)
 

Detailed Description

rhs(i,j) = lap(i,j) (= -Lap phi^n, already negated by the caller) - g * div F, second-order centered divergence of a flux F at the center (fx, fy, ghosts filled).

g = theta dt alpha. Device-clean NAMED functor. The same centered divergence stencil is exposed standalone as pops::apply_divergence (numerics/elliptic/poisson/poisson_operator.hpp, used by the compiled time-program ctx.divergence); it is fused here with -Lap phi^n and the -g factor and kept inline so this native source path stays bit-identical.

Member Function Documentation

◆ operator()()

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

Member Data Documentation

◆ fx

ConstArray4 pops::detail::SchurRhsAssembleKernel::fx

◆ fy

ConstArray4 pops::detail::SchurRhsAssembleKernel::fy

flux F at the center (ghosts filled)

◆ g

Real pops::detail::SchurRhsAssembleKernel::g

theta dt alpha

◆ half_idx

Real pops::detail::SchurRhsAssembleKernel::half_idx

◆ half_idy

Real pops::detail::SchurRhsAssembleKernel::half_idy

1/(2 dx), 1/(2 dy)

◆ neg_lap

ConstArray4 pops::detail::SchurRhsAssembleKernel::neg_lap

-Lap phi^n (already negated)

◆ rhs

Array4 pops::detail::SchurRhsAssembleKernel::rhs

output: condensed right-hand side


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