-
- Downloads
There was an error fetching the commit references. Please try again later.
Fixed bug in GMRES solver
The call to the nextIteration() method must occur exactly once per iteration, otherwise incrementing the total iterations counter in wrong places might cause serious bugs. For example if minIterations is equal to 1 and the initial residue is smaller than convergenceResidue, the loop on line 154 in tnlGMRESSolver_impl.h will be entered, but the m-loop on line 179 will be skipped and on line 263 update() will be called with empty vectors, which will lead to division by zero.
Showing
- src/solvers/linear/krylov/tnlGMRESSolver_impl.h 2 additions, 5 deletionssrc/solvers/linear/krylov/tnlGMRESSolver_impl.h
- src/solvers/tnlIterativeSolver.h 2 additions, 0 deletionssrc/solvers/tnlIterativeSolver.h
- src/solvers/tnlIterativeSolver_impl.h 11 additions, 3 deletionssrc/solvers/tnlIterativeSolver_impl.h
Loading
Please register or sign in to comment