From 943c6c44d1936796804d08203d0d2ce81b05b73b Mon Sep 17 00:00:00 2001 From: Elias Pipping <elias.pipping@fu-berlin.de> Date: Thu, 15 Mar 2012 17:25:44 +0100 Subject: [PATCH] Break FPI if the correction gets too small --- src/one-body-sample.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc index 9f98c2b1..3896cd57 100644 --- a/src/one-body-sample.cc +++ b/src/one-body-sample.cc @@ -249,6 +249,7 @@ int main(int argc, char *argv[]) { auto multigridStep = mySolver.getSolver(); multigridStep->setProblem(u4_diff, myBlockProblem); + VectorType const u4_diff_old = u4_diff; LoopSolver<VectorType> overallSolver( multigridStep, parset.get<size_t>("solver.tnnmg.maxiterations"), solver_tolerance, &energyNorm, verbosity, @@ -270,6 +271,8 @@ int main(int argc, char *argv[]) { (*s4_new)[i] = compute_state_update(h, unorm, L, s4_old[i]); } } + if (energyNorm.diff(u4_diff_old, u4_diff) < 1e-14) // TODO + break; } if (parset.get<bool>("printEvolution")) -- GitLab