27#ifndef OPENSWMM_ENGINE_2D_GPU_KOKKOS_AMG_PRECONDITIONER_HPP
28#define OPENSWMM_ENGINE_2D_GPU_KOKKOS_AMG_PRECONDITIONER_HPP
63 bool ready() const noexcept {
return amg_ !=
nullptr; }
72 bool hierarchy_built_ =
false;
Performance-portable RHS pipeline for the 2D surface router (Phase 1).
~KokkosAmgPreconditioner()
Definition KokkosAmgPreconditioner.cpp:237
void initialize(const MeshViews &mesh)
Definition KokkosAmgPreconditioner.cpp:42
void finalize()
Definition KokkosAmgPreconditioner.cpp:228
KokkosAmgPreconditioner(const KokkosAmgPreconditioner &)=delete
void invalidate() noexcept
Definition KokkosAmgPreconditioner.hpp:68
KokkosAmgPreconditioner()=default
void setup(const MeshViews &mesh, const StateViews &state, double gamma, bool recompute)
Definition KokkosAmgPreconditioner.cpp:140
bool ready() const noexcept
Definition KokkosAmgPreconditioner.hpp:63
KokkosAmgPreconditioner & operator=(const KokkosAmgPreconditioner &)=delete
void solve(DView r, DView z, double gamma)
Apply one BoomerAMG V-cycle: z ≈ M⁻¹ r (Views in the plugin's MemSpace).
Definition KokkosAmgPreconditioner.cpp:199
Definition ArkodeKokkosSurfaceSolver.cpp:29
Kokkos::View< int *, MemSpace > IView
mutable int array
Definition KokkosSurfaceKernels.hpp:83
Kokkos::View< double *, MemSpace > DView
mutable double array
Definition KokkosSurfaceKernels.hpp:81
Immutable mesh geometry/topology mirrored to device once at initialize().
Definition KokkosSurfaceKernels.hpp:87
Mutable per-step state mirrored on device.
Definition KokkosSurfaceKernels.hpp:102