Dear  DealII's users,

Thanks Martin, Thomas, Ruhollah and Wolgang for your replies.

My system comes from Navier-Stokes equation.
I use Q2 for velocity and Q1 for pressure, so LBB is satisfied.

The geometry and boundary conditions are the following ones:
 _________________2____________
 |                                               |
1|                                               |
 |____2____                                |
                |                                |
            2  |                                |3
 _____2___|                                |
 |                                               |
1|                                               |
 |________________2____________|

Where in 1 we put Dirichlet boundary condition, that is a parabolic flow in component U and zero in componet V, in 2 we put (U,V)=(0,0) and in 3 we put a Neumann condition that is (p*n-viscosity(grad(u)*n)) =0, where n is the normal component on boundary 3.

If I use GMRES+Precondition_Identity (that if UMFPACK solver works, this should work too) in the first iteration I have:

DEAL:GMRES::Starting value 0.00852830
DEAL:GMRES::Failure step 100000 value 1.06883e-05
terminate called after throwing an instance of 'dealii::SolverControl::NoConvergence' what(): Iterative method reported convergence failure in step 100000 with residual 1.06883e-05

And as I said in my previous email, using Vanka and ILU precondition, the behaviour is even worse.

Again, thanks in advance.
Best
Isa



Martin Kronbichler wrote:
Dear Isabel,

I am trying to solve a matricial system Ax=b, where
A=|A11 A12|
     |A21     0|

with four different solvers:

- SparseDirectUMFPACK
- GMRES + Precondition_Identity() as preconditioner
- GMRES + SparseILU<double> ilu as preconditioner
- GMRES + Vanka preconditioner as preconditioner

The only one that seems to get good results is the first one, i.e., the direct one. I decided to use the other ones because in the future this system will have a huge quantity of nodes, so direct solver won't be feasible.

GMRES with SparseILU as preconditioner has a Starting Value of 946,719
GMRES with Vanka as preconditioner has a Staring Value of 2.99566E+12
In those cases, the solver breaks down in the first iteration.

GMRES with Precondition_Identity as preconditioner has a Starting Value of 0.0129254 (i.e. the same as doing "by hand", norm L2 of(b-Ax)). In this case, the solver solves the first iteration but it breaks down just in the second one.

Since the direct solver does not break down, the matrix system seems to
be solvable (i.e., there seems to be one unique solution, otherwise
UMFPACK would complain/fail). In such a case, GMRES with
Precondition_Identity() should actually work fine as well (even though
it might need lots of iterations). The only reason that makes GMRES fail
is when some matrix inner product y^T A x gets zero, which means that
the matrix is actually not solvable (but singular).

Are you sure that your matrix is non-singular (maybe you were just lucky
to get UMFPACK running)? Where does the matrix come from (I guess some
Stokes or Navier-Stokes system) and what were the boundary conditions?

Best regards,
Martin


_______________________________________________

Reply via email to