From a82357d34d102fce49fdf13aff5439c68a753a18 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?AlexanderM=C3=BCller?= <mueller@uni-stuttgart.de>
Date: Mon, 30 Nov 2020 11:19:43 +0100
Subject: [PATCH] changed  convergerence critieria for multigrid subproblem

---
 dune/gfe/mixedriemanniantrsolver.cc | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/dune/gfe/mixedriemanniantrsolver.cc b/dune/gfe/mixedriemanniantrsolver.cc
index 3a0931c3..4673e4bd 100644
--- a/dune/gfe/mixedriemanniantrsolver.cc
+++ b/dune/gfe/mixedriemanniantrsolver.cc
@@ -414,8 +414,10 @@ void MixedRiemannianTrustRegionSolver<GridType,Basis,Basis0,TargetSpace0,Basis1,
             double oldEnergy = 0;
             Dune::Timer solutionTimer;
             int ii = 0;
+            CorrectionType diff{corr_global};
             try {
               for (; ii<innerIterations_; ii++) {
+                diff=corr_global;
                 residual[_0] = rhs_global[_0];
                 stiffnessMatrix[_0][_1].mmv(corr_global[_1], residual[_0]);
                 mmgStep0->setRhs(residual[_0]);
@@ -436,7 +438,8 @@ void MixedRiemannianTrustRegionSolver<GridType,Basis,Basis0,TargetSpace0,Basis1,
                   std::cout << "Warning: energy increase!" << std::endl;
   
                 oldEnergy = energy;
-                if (corr_global.infinity_norm() < innerTolerance_)
+                diff -= corr_global;
+                if (diff.infinity_norm() < innerTolerance_)
                   break;
               }
             } catch (Dune::Exception &e) {
-- 
GitLab