From 22289d68e461ccc9c20768cbee06a1c99b230b7d Mon Sep 17 00:00:00 2001 From: Julian Litz <91479202+julianlitz@users.noreply.github.com> Date: Sat, 13 Jun 2026 18:21:17 +0200 Subject: [PATCH 1/2] Update gmgpolar.h --- include/GMGPolar/gmgpolar.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/GMGPolar/gmgpolar.h b/include/GMGPolar/gmgpolar.h index 92c7a1e9..c4c8db72 100644 --- a/include/GMGPolar/gmgpolar.h +++ b/include/GMGPolar/gmgpolar.h @@ -176,7 +176,7 @@ class GMGPolar : public IGMGPolar void updateResidualNorms(Level& level, int iteration, double& initial_residual_norm, double& current_residual_norm, double& current_relative_residual_norm); - void initRhsHierarchy(HostVector rhs); + void initRhsHierarchy(); void applyMultigridIterations(Level& level, MultigridCycleType cycle, int iterations); void applyExtrapolatedMultigridIterations(Level& level, From 18d344486b315ab35191c0472d08ae906fe7d706 Mon Sep 17 00:00:00 2001 From: Julian Litz <91479202+julianlitz@users.noreply.github.com> Date: Sat, 13 Jun 2026 18:22:19 +0200 Subject: [PATCH 2/2] Update solver.h --- include/GMGPolar/solver.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/include/GMGPolar/solver.h b/include/GMGPolar/solver.h index 980887fb..a5558f30 100644 --- a/include/GMGPolar/solver.h +++ b/include/GMGPolar/solver.h @@ -318,7 +318,7 @@ void GMGPolar::solvePCG(double& init // z = M^{-1} * r (preconditioned residual) if (PCG_FMG_) { - initRhsHierarchy(level.rhs()); + initRhsHierarchy(); fullMultigridApproximation(PCG_FMG_cycle_, PCG_FMG_iterations_); } else { @@ -392,7 +392,7 @@ void GMGPolar::solvePCG(double& init // z = M^{-1} * r (preconditioned residual) if (PCG_FMG_) { - initRhsHierarchy(level.rhs()); + initRhsHierarchy(); fullMultigridApproximation(PCG_FMG_cycle_, PCG_FMG_iterations_); } else { @@ -577,9 +577,8 @@ void GMGPolar::applyExtrapolation(in // ============================================================================= template -void GMGPolar::initRhsHierarchy(HostVector rhs) +void GMGPolar::initRhsHierarchy() { - Kokkos::deep_copy(levels_[0].rhs(), rhs); for (int level_depth = 0; level_depth < number_of_levels_ - 1; ++level_depth) { Level& current_level = levels_[level_depth]; Level& next_level = levels_[level_depth + 1];