On 02/17/2017 02:28 AM, Vinayak Gholap wrote:
Its clear that at t 50.2 sec I have some problem with the system of
equation leading to l2 residual norm to increase.
I believe the source of failure is in the assert check in
SolverBicgstab.h with the L2 residual norm:
// in case of failure: throw exception
AssertThrow(state.state == SolverControl::success,
SolverControl::NoConvergence (state.last_step, state.last_residual));
Could someone help in how to debug such a case and solve it?
That's not where the problem is. That's only where the problem first
manifests itself.
In essence, what happens here is that your solver has just diverged.
This may be for three reasons:
* The matrix or right hand side already contain INF or NaN values. You
can test this by printing the norm of the matrix and rhs before you
send them to the solver. This can happen, for example, if you have
nonlinear problems where physically, the solution should be positive,
but the numerical approximation has some negative values and you
still apply functions such as sqrt or log to it when you compute
nonlinear coefficients in the matrix or rhs.
* The matrix does not satisfy the conditions that are necessary for
BiCGStab to converge. You can test this by using a different
solver instead, e.g., a direct solver. If the direct solver can
solve the problem (and produce a correct-looking solution!), then
maybe BiCGStab is not the right choice.
* The matrix may not be invertible. This, as well, can be tested with
a direct solver.
Go through this list of ideas and you'll be closer to finding the root
cause!
Best
W.
--
------------------------------------------------------------------------
Wolfgang Bangerth email: bange...@colostate.edu
www: http://www.math.colostate.edu/~bangerth/
--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see
https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to dealii+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.