diff --git a/src/solvers/linear/krylov/tnlGMRESSolver_impl.h b/src/solvers/linear/krylov/tnlGMRESSolver_impl.h index 770cb26b31f1e83db4d35df6ff57a37fadfa37ac..5b1e4fc90d9868aba3236d4a4bd57db466fe83d4 100644 --- a/src/solvers/linear/krylov/tnlGMRESSolver_impl.h +++ b/src/solvers/linear/krylov/tnlGMRESSolver_impl.h @@ -251,14 +251,14 @@ bool tnlGMRESSolver< Matrix, Preconditioner > :: solve( const Vector& b, Vector& sn[ i ] ); this->setResidue( fabs( s[ i + 1 ] ) / normb ); - if( this->nextIteration() ) { - this->refreshSolverMonitor(); - } - else { + if( this->getIterations() > this->getMinIterations() && this->getResidue() < this->getConvergenceResidue() ) { update( i, m, _H, _s, _v, x ); this->refreshSolverMonitor( true ); return this->checkConvergence(); } + else { + this->refreshSolverMonitor(); + } } update( m - 1, m, _H, _s, _v, x );