Hello, so I mean I would have to use "TrilinosWrappers::PreconditionStokes Class", wouldn't I?
And this class is in the developing part of the library DealII, isn't it? Thanks, Isa thomas carraro wrote: > 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 >>>>> >>>>> >>>>> >>>>> >>>> >>>> >> >> -- **************************************************** María Isabel Gil Lorente LITEC - Laboratorio en Tecnologías de la Combustión. (CSIC/DGA/UZ) C/ María de Luna 10, 50018 Zaragoza / SPAIN Tel : (+34) 976 716461 e-mail: [EMAIL PROTECTED] **************************************************** _______________________________________________
