improve error message for failed Krylov solver

Bug #1157333 reported by Nico Schlömer
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
DOLFIN
Fix Committed
Undecided
Unassigned

Bug Description

When a PETSc Krylov solver hasn't converged for one reason or another, the error message currently reads something like

*** Error: Unable to solve linear system using PETSc Krylov solver.
*** Reason: Solution failed to converge in 1000 iterations (PETSc reason DIVERGED_ITS, norm 1.165166e-18).
*** Where: This error was encountered inside PETScKrylovSolver.cpp.

It isn't quite clear what the "norm" here is.

I suggest replacing this by

*** Reason: Solution failed to converge in 1000 iterations (PETSc reason DIVERGED_ITS, ||r|| = 1.165166e-18, ||r||/||b||=<whatever value>).

Related branches

Revision history for this message
Jan Blechta (blechta) wrote :

Moreover it is probably norm of preconditioned rhs to be clear.

Changed in dolfin:
status: New → Fix Committed
Revision history for this message
Nico Schlömer (nschloe) wrote :

We should probably make that "||r||_M" (or whatever symbol you use to denote the preconditioner) as Jan suggests.

Revision history for this message
Garth Wells (garth-wells) wrote : Re: [Bug 1157333] Re: improve error message for failed Krylov solver

On 28 March 2013 17:18, Nico Schlömer <email address hidden> wrote:
> We should probably make that "||r||_M" (or whatever symbol you use to
> denote the preconditioner) as Jan suggests.
>

It's not necessarily the preconditioned residual. We have a user
parameter to set the residual type. For complicated problems, I
normally use the true residual.

Garth

> --
> You received this bug notification because you are a member of DOLFIN
> Core Team, which is subscribed to DOLFIN.
> https://bugs.launchpad.net/bugs/1157333
>
> Title:
> improve error message for failed Krylov solver
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/dolfin/+bug/1157333/+subscriptions

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.