diff --git a/src/fixedpointiterator.cc b/src/fixedpointiterator.cc index 5b7a394f77cff7b4a5519d7e81509fd34c52c5ad..517db55bd67c00fbc73ed874d2e09009c04562a3 100644 --- a/src/fixedpointiterator.cc +++ b/src/fixedpointiterator.cc @@ -41,7 +41,7 @@ int FixedPointIterator<Factory, StateUpdater, VelocityUpdater>::run( Vector previousVelocityIterate = velocityIterate; size_t fixedPointIteration; - for (fixedPointIteration = 1; fixedPointIteration <= fixedPointMaxIterations_; + for (fixedPointIteration = 0; fixedPointIteration < fixedPointMaxIterations_; ++fixedPointIteration) { Vector v_m; velocityUpdater->extractOldVelocity(v_m); @@ -63,8 +63,10 @@ int FixedPointIterator<Factory, StateUpdater, VelocityUpdater>::run( velocityProblemSolver.solve(); if (velocityMatrixNorm.diff(previousVelocityIterate, velocityIterate) < - fixedPointTolerance_) + fixedPointTolerance_) { + fixedPointIteration++; break; + } previousVelocityIterate = velocityIterate; }