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