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
|
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()()
|
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:
- include/pops/coupling/schur/core/schur_condensation.hpp
Generated by