OK, you solve the linearization of NS.

With 60000 dofs I think the condition number of your system matrix is too 
big, that's why you have low convergence. A preconditioner as ILU for 
GMRES is not good enough for Stokes.

You say Vanka doesn't work.

Here there is a wrapper for a Schur complement preconditioner:

http://www.dealii.org/developer/doxygen/deal.II/group__Preconditioners.html

but I have no experience with that.

Cheers

Thomas



On Tue, 25 Nov 2008, Isabel Gil wrote:

> Hello,
> 
> I am working with NS. The conservation of momentum equation has a temporal
> term, an advective term, a diffusive term and the gradient of the pressure.
> 
> My mesh has about 60000 dofs (total dofs, I mean, taking into account
> velocity's nodes (U and V) and pressure nodes).
> 
> I thought the problem having a lot of nodes was when we wanted to use a direct
> solver, not an iterative one...
> 
> Best
> Isa
> 
> 
> thomas carraro wrote:
> > Dear Isabel,
> >
> > I think you are speaking of the Stokes not NS, isn't it?
> >
> > Anyway, I believe that your mesh is too fine for an iterative solver without
> > a multigrid preconditioner.
> >
> > Try with less than 1000 DoF, if it works, you need a multigrid...
> >
> > Cheers
> >
> > Thomas
> >
> >
> > On Tue, 25 Nov 2008, Isabel Gil wrote:
> >
> >   
> > > 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