[Trilinos-Users] Belos::StatusTest question
Axel Gerstenberger
axel.gerstenberger at gmx.de
Sat Mar 29 14:24:10 MDT 2014
Hi all,
I am new to Belos and try to solve an simple Poisson problem using Belos
with ML preconditioning. The solver seems to work fine, but I have a
problem with the convergence behavior:
----------------------->8------------------------
*******************************************************
***** Belos Iterative Solver: Pseudo Block Gmres
***** Maximum Iterations: 10000
***** Block Size: 1
***** Residual Tests (SEQ):
***** Test 1 : Belos::StatusTestGenResNorm<>: (2-Norm Imp Res Vec) /
(2-Norm Prec Res0), tol = 1e-08
***** Test 2 : Belos::StatusTestGenResNorm<>: (2-Norm Exp Res Vec) /
(2-Norm Res0), tol = 1e-08
*******************************************************
Iter 0, [ 1] : 1.000000e+00 ---
Iter 1, [ 1] : 5.889206e-04 ---
Iter 2, [ 1] : 5.220753e-05 ---
Iter 3, [ 1] : 1.014071e-05 ---
Iter 4, [ 1] : 5.916512e-07 ---
Iter 5, [ 1] : 2.494995e-08 ---
Iter 6, [ 1] : 2.157002e-09 1.011194e+01
Iter 7, [ 1] : 2.157002e-09 1.011194e+01
Iter 8, [ 1] : 2.157002e-09 1.011194e+01
Iter 9, [ 1] : 2.157002e-09 1.011194e+01
Iter 10, [ 1] : 2.157002e-09 1.011194e+01
Iter 11, [ 1] : 2.157002e-09 1.011194e+01
Iter 12, [ 1] : 2.157002e-09 1.011194e+01
....
Iter 291, [ 1] : 2.157002e-09 1.011194e+01
Iter 292, [ 1] : 2.157002e-09 1.011194e+01
Iter 293, [ 1] : 2.157002e-09 1.011194e+01
unknown file: Failure
C++ exception with description
".../include/trilinos/BelosStatusTestGenResNorm.hpp:574:
Throw number = 1
Throw test that evaluated to true: true
StatusTestGenResNorm::checkStatus(): NaN has been detected." thrown in
the test body.
----------------------->8------------------------
Manually stopping the iteration after 8 steps by defining a maximal
number of iterations and looking at the results, I see the correct
converged solution.
How could I make the second residual to decrease right away?
Should I manually replace the sequential test with a single StatusTest
using solver->setUserConvStatusTest(...) or is there something else that
I should do?
I ask this without giving any source code hoping there is something
obvious that Belos newbies tend to do wrong. If that is not enough
information I'll come back with some source code. Any feedback would be
very welcome.
Best regards,
Axel
More information about the Trilinos-Users
mailing list