diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc index 9f98c2b1f63905b1931a2f5e5d64a14f96d27786..3896cd57051b2f604c2c901bbdce1ff51360c272 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"))