[dune-pdelab] Deflated CG

Christian Engwer christian.engwer at uni-muenster.de
Tue Jul 11 11:42:29 CEST 2017


Hi Marian, hi Anne,

depending on what you know about the kernel, you can modify your
preconditioner to take care ...

In the case of Marian (pure Neumann BC) you can simply write a wrapper
around the preconditioner to do the projection back onto the zero-mean
sub-space.

What you are basically doing is, you extend your system with
lagrange-multipliers to make it regular again:

/ A B \ /u\ = /b\
\ C 0 / \l/   \0/

Then you rewrite everything in a Schur-complement style and use this
with an approximate inverse of A as a preconditioner.

Which are these 6 modes? Are you doing mechanics... i.e. roation and
translation modes?

An other option for singular problems is to try the MinRES, which
should be able to compe with these...

Ciao
Christian

On Tue, Jul 11, 2017 at 11:11:46AM +0200, Marian Piatkowski wrote:
> Hi Anne,
> 
> 
> there is no deflated CG, neither in ISTL nor in PDELab. But maybe the
> following comment might also help.
> 
> Since you are solving problems with singular matrices, my question is:
> 
> Do you observe that the norm of the residual gets more likely stuck in the
> parallel case whereas in the sequential case the CG solver does converge.
> 
> If so, you could orthogonalize the corrections in CG against the null space
> of the matrix. But this requires of course a priori knowledge of the null
> space of your matrix (in particular an orthogonal basis with respect to the
> Euclidian scalar product). You can have a look at my code in order to see
> what needs to be changed inside the CG solver. Unfortunately I have only
> hard-coded this to the case of one-dimensional kernel spanned by the
> constant vector.
> 
> 
> I have attached the file with the modified CG solver. The relevant code
> starts at line 74. Just search after 'if(singular)' inside this class.
> 
> 
> Regards,
> 
> Marian
> 
> 
> 
> On 07/10/2017 09:59 PM, Anne Reinarz wrote:
> > 
> > Hi everyone,
> > 
> > I have a linear system I'm trying to solve with CG preconditioned with
> > AMG, but the operator has a kernel of dimension 6, so the norm of the
> > residual is very high and the stopping criterion doesn't seem to work. I
> > was wondering if other people have had similar problems. Is there is a
> > deflated preconditioned CG available, or something similar?
> > 
> > Thanks for your help,
> > Anne
> > 
> > 
> > 
> > _______________________________________________
> > dune-pdelab mailing list
> > dune-pdelab at lists.dune-project.org
> > http://lists.dune-project.org/mailman/listinfo/dune-pdelab
> 


> _______________________________________________
> dune-pdelab mailing list
> dune-pdelab at lists.dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune-pdelab





More information about the dune-pdelab mailing list