[petsc-users] no decrease in iteration counts of KSPCG during time stepping

Jed Brown jed at jedbrown.org
Sun Dec 28 17:48:01 CST 2014


Alp Kalpalp <alpkalpalp at gmail.com> writes:

> In FETI, system is replaced with a coarse problem of dual variables

Not a coarse problem (those are removed in the standard FETI-DP
formulation), but the Lagrange multipliers defining an "interface"
problem.  BDDC is a primal version with the same eigenvalues, so for
most purposes, you can use the two interchangeable.  PCBDDC can do both.

> (drastically smaller coarse problem size) 

Only if the subdomains are big enough.  In 3D with modest-size
subdomains, the interface problem is often about half the size of the
original problem.

> and by using a projector more well-conditioned system is
> obtained. Condition number is limited to 1+log(H/h)^2.  

If you are lucky enough to have constant coefficients or coefficients
that line up with subdomain boundaries and you choose a sufficiently
rich coarse space.

> As the literature suggests, I need to apply projector on PCG. 

Rather, the literature suggests that it _might_ provide a speedup when
solving a sequence of linear systems in which the right hand sides are
related.

> I tested KSPDGMRES and it seems CG is more successful. 

Compare DGMRES to standard GMRES (and make sure you are using it right;
you should read the man page carefully and perhaps some of the cited
papers -- it's not a black box).  If deflation (used correctly) helps,
it _might_ be worth implementing the CG variant.

> So it seems my only way is to implement my own variant of KSPCG. May I
> just copy the files and definitions related to KSPCG and rename all as
> KSPPCPG. And then I can make the orthogonolization implementation
> similar to KSPDGMRES..

Yes, what does PCPG stand for?

> Jed, please warn me if this is a really hard task?

It is not trivial, but is achievable.  I think you should do further
experiments to get evidence for how effective this strategy will be.
Some people have been happy with these techniques, but many have been
disappointed so be aware that YMMV.

If you decide you want to implement, work with a Git clone of PETSc and
create a new branch from 'master' to develop your new KSP
implementation.

https://bitbucket.org/petsc/petsc/wiki/Home
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20141228/aaa0e88f/attachment.pgp>


More information about the petsc-users mailing list