Dear Bruno and Wolfgang,

Thank you for your answers.
 I believe Wolfgang's answer is exactly what i had in mind (but said in 
clear words...). I will look at the Aspect code and try to port that to 
mine.
Thank you for the very detailed answer.
Best
Bruno


On Tuesday, 5 March 2019 10:08:29 UTC-5, Wolfgang Bangerth wrote:
>
>
> > One of the issue of my system is that the pressure is defined up to a 
> > constant. On coarse mesh this does not affect the GMRES solver. However, 
> on 
> > finer mesh, it seems that the GMRES Solver is greatly affected by this 
> > near-singularity of the matrix system. 
> > I have often read in the literature that for stabilized method, the best 
> way 
> > was to remove the "mode" associated to a constant pressure. I believe 
> this 
> > implies some sort of projection of the residual in a space without a 
> pressure 
> > constant? 
> There are two parts of this problem: 
>
> 1/ A deep theorem in linear algebra states that because the constant 
> pressures 
> are in the kernel of the matrix (i.e., Ay=0 for all vectors y that 
> correspond 
> to a constant pressure and zero velocity), that the *range* of the matrix 
> A 
> has dimension at most n-1. As a consequence, if you have a linear system 
>    A x = f 
> then it is only possible to find a vector x with 
>    || A x - f ||  =  0 
> if f is in the range of the matrix A. That will not generally be the case, 
> due 
> to discretization and integration errors. If f is not in the range of A, 
> there 
> is no way for GMRES to reduce the residual below a certain threshold, no 
> matter how many iterations one runs. 
>
> The way to solve this is to solve 
>    A x = f - Pf 
> instead where Pf is the projection onto the subspace not reachable by A. 
> This 
> is easy enough if you have a uniform mesh, but it's a bit complicated if 
> that's not the case. It's also complicated if one uses an enriched 
> pressure 
> space. Here is ASPECT's implementation of this step: 
>
> https://github.com/geodynamics/aspect/blob/master/source/simulator/helper_functions.cc#L1041
>  
> You will be able to copy this and simplify it for your case. 
>
>
> 2/ There is now a null space and GMRES will find one of the infinitely 
> many 
> solutions of 
>    A x = f 
> This may not be the solution you are looking for, so you probably want to 
> update the additive constant in the pressure after solution. How you want 
> to 
> do this depends on the application. Here again is the implementation in 
> ASPECT: 
>
> https://github.com/geodynamics/aspect/blob/master/source/simulator/helper_functions.cc#L753
>  
>
> I hope this helps! Best 
>   W. 
>
> -- 
> ------------------------------------------------------------------------ 
> Wolfgang Bangerth          email:                 [email protected] 
> <javascript:> 
>                             www: http://www.math.colostate.edu/~bangerth/ 
>
>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to