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]
****************************************************



_______________________________________________

Reply via email to