[aspect-devel] Problem: Iterative advection solver does not converge

FELIPE ORELLANA ROVIROSA f_orellana at berkeley.edu
Mon Jun 6 00:47:07 PDT 2016


 Hi,

       I am in trouble trying to solve convection in a rectangular box. The
setting consists of 'real' dimensions. The Rayleigh number is like ~3 x
10^5.

       Before crash, the timestep is slightly less than 1000 years.

       The error message is related to the advection Solver. On this, I
have tried many many cases: I have set up different values for Linear
solver tolerance, and different values for Max nonlinear iterations, but my
program keeps crashing after some time..

       I am attaching the parameter file.

       Maybe I am taking 'bad parameter combinations'..  Hope you guys have
some clue on what parameter I should alter.

cheers,

Felipe
ps: The error message I get is this:

   *** Timestep 11:  t=626743 years
   Solving temperature system...

----------------------------------------------------
Exception on processing:

--------------------------------------------------------
An error occurred in line <434> of file
</root/SEISMO/usr-local-src/aspect/aspect-1.3/source/simulator/solver.cc
> in function
    double aspect::Simulator<dim>::solve_advection(const
aspect::Simulator<dim>::AdvectionField&) [with int dim
= 3]
The violated condition was:
    false
The name and call sequence of the exception was:
    ExcMessage (std::string("The iterative advection solver " "did not
converge. It reported the following error
:\n\n") + exc.what())
Additional Information:
The iterative advection solver did not converge. It reported the following
error:


--------------------------------------------------------
An error occurred in line <1042> of file
</share/apps/deal.II/include/deal.II/lac/solver_gmres.h> in function
    void dealii::SolverGMRES<VectorType>::solve(const MatrixType&,
VectorType&, const VectorType&, const PreconditionerType&) [with MatrixT
ype = dealii::TrilinosWrappers::SparseMatrix, PreconditionerType =
dealii::TrilinosWrappers::PreconditionILU, VectorType = dealii::Trilinos
Wrappers::MPI::Vector]
The violated condition was:
    iteration_state == SolverControl::success
The name and call sequence of the exception was:
    SolverControl::NoConvergence (accumulated_iterations, last_res)
Additional Information:
Iterative method reported convergence failure in step 1000. The residual in
the last step was 1.99733e+21.

This error message can indicate that you have simply not allowed a
sufficiently large number of iterations for your iterative solver to con
verge. This often happens when you increase the size of your problem. In
such cases, the last residual will likely still be very small, and
 you can make the error go away by increasing the allowed number of
iterations when setting up the SolverControl object that determines the
 maximal number of iterations you allow.

The other situation where this error may occur is when your matrix is not
invertible (e.g., your matrix has a null-space), or if you try to
 apply the wrong solver to a matrix (e.g., using CG for a matrix that is
not symmetric or not positive definite). In these cases, the resid
ual in the last iteration is likely going to be large.
--------------------------------------------------------

--------------------------------------------------------

Aborting!
----------------------------------------------------
--------------------------------------------------------------------------
mpiexec noticed that the job aborted, but has no info as to the process
that caused that situation.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geodynamics.org/pipermail/aspect-devel/attachments/20160606/35d32bf9/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rr3Dbic.prm
Type: application/octet-stream
Size: 6992 bytes
Desc: not available
URL: <http://lists.geodynamics.org/pipermail/aspect-devel/attachments/20160606/35d32bf9/attachment.obj>


More information about the Aspect-devel mailing list