Skip to content
Snippets Groups Projects
Commit a82357d3 authored by AlexanderMüller's avatar AlexanderMüller
Browse files

changed convergerence critieria for multigrid subproblem

parent 051f34ea
No related branches found
No related tags found
1 merge request!69Small change/fix in Mixed Riemanian Trust region solver
Pipeline #5574 passed
...@@ -414,8 +414,10 @@ void MixedRiemannianTrustRegionSolver<GridType,Basis,Basis0,TargetSpace0,Basis1, ...@@ -414,8 +414,10 @@ void MixedRiemannianTrustRegionSolver<GridType,Basis,Basis0,TargetSpace0,Basis1,
double oldEnergy = 0; double oldEnergy = 0;
Dune::Timer solutionTimer; Dune::Timer solutionTimer;
int ii = 0; int ii = 0;
CorrectionType diff{corr_global};
try { try {
for (; ii<innerIterations_; ii++) { for (; ii<innerIterations_; ii++) {
diff=corr_global;
residual[_0] = rhs_global[_0]; residual[_0] = rhs_global[_0];
stiffnessMatrix[_0][_1].mmv(corr_global[_1], residual[_0]); stiffnessMatrix[_0][_1].mmv(corr_global[_1], residual[_0]);
mmgStep0->setRhs(residual[_0]); mmgStep0->setRhs(residual[_0]);
...@@ -436,7 +438,8 @@ void MixedRiemannianTrustRegionSolver<GridType,Basis,Basis0,TargetSpace0,Basis1, ...@@ -436,7 +438,8 @@ void MixedRiemannianTrustRegionSolver<GridType,Basis,Basis0,TargetSpace0,Basis1,
std::cout << "Warning: energy increase!" << std::endl; std::cout << "Warning: energy increase!" << std::endl;
oldEnergy = energy; oldEnergy = energy;
if (corr_global.infinity_norm() < innerTolerance_) diff -= corr_global;
if (diff.infinity_norm() < innerTolerance_)
break; break;
} }
} catch (Dune::Exception &e) { } catch (Dune::Exception &e) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment