![]() |
OpenSWMM Engine
6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
|
Performance-portable RHS + preconditioner for the local-inertial solver. More...
#include "KokkosSurfaceKernels.hpp"Go to the source code of this file.
Classes | |
| struct | openswmm::twoD::gpu::InertialEdgeViews |
Namespaces | |
| namespace | openswmm |
| namespace | openswmm::twoD |
| namespace | openswmm::twoD::gpu |
Functions | |
| KOKKOS_INLINE_FUNCTION constexpr double | openswmm::twoD::gpu::inertialG () |
| Gravity constant (SI). Matches ArkodeSurfaceSolver. | |
| void | openswmm::twoD::gpu::evaluateInertialFe (const MeshViews &m, const StateViews &s, const InertialEdgeViews &E, DView y, DView ydot, double dry_depth) |
| void | openswmm::twoD::gpu::evaluateInertialFi (const MeshViews &m, const StateViews &s, const InertialEdgeViews &E, DView y, DView ydot, double dry_depth) |
| void | openswmm::twoD::gpu::precondInertialSetup (const MeshViews &m, const StateViews &s, const InertialEdgeViews &E, DView y, DView wq, double gamma, double dry_depth) |
| void | openswmm::twoD::gpu::precondInertialSolve (int nt, const InertialEdgeViews &E, DView r, DView z, DView wq) |
| void | openswmm::twoD::gpu::writebackEdgeFlux (int nt, const InertialEdgeViews &E, DView y, DView edge_flux) |
Performance-portable RHS + preconditioner for the local-inertial solver.
Kokkos translation of the explicit-gravity LISFLOOD-FP scheme in src/engine/2d/solver/ArkodeSurfaceSolver.cpp (the inertial fe/fi callbacks + block-Jacobi preconditioner). Only the scalable split is ported: gravity transport is EXPLICIT (continuity + surface gradient) and only the per-edge friction is IMPLICIT — a diagonal operator, so the preconditioner is exact and there is NO global solve. The same source compiles to OpenMP / CUDA / HIP / SYCL by selecting ExecSpace (see KokkosSurfaceKernels.hpp).
Conservation: the continuity divergence is a race-free per-cell CSR gather (each cell sums its incident edges), and one signed q per edge telescopes exactly — identical structure to the serial path.