[petsc-dev] future pull request about multipreconditioned solvers

Pierre Gosselet gosselet at lmt.ens-cachan.fr
Fri Jun 7 11:07:54 CDT 2019

Dear Petsc developers,

I am Pierre Gosselet, researcher in computational mechanics from France
(ENS Paris Saclay / Univ. Lille). Lately I have been working on multipreconditioned solvers arising from domain decomposition (DD). I have co-authored some papers with Nicole Spillane whom you probably know.

Together with Nicolas Tardieu from EDF we have done some developments
in PetSc and we would be happy to share them. Nicolas told me I had better send you a short notice before making a pull request.

We have implemented a MultiPreconditioned Conjugate Gradients solver
for the SPD case and a MultiPreconditioned Orthomin solver for general

These solvers rely on a method with signature 
PCApplyMultiPrecond(PC, Vec in, Mat out) 
We proposed an implementation of this method in the (Restrictive)
Additive Schwarz (R)ASM framework: PCApplyMultiPrecond_ASM(...). 
When preconditioning, each subdomain provides a column which is used to
expand the search space. There is an experimental use of the
information in NearNullSpace in order to speed up the convergence (ersatz of Nicholaides' two-level (R)ASM).

In practice, there are new files for the solvers (mpcg.c and mpomin.c),
some features were added in asm.c, and there are few lines added
in  other files in order to declare the solvers. We tried to make a
nice implementation and integration, but we would be happy to have our
code reviewed for better performance. 

Unfortunately, from the very limited numerical experiments that we have
conducted, we do not have tremendous examples to show, the extra costs
associated with multipreconditioning are not always compensated by the
improved convergence. In fact, it appears that multipreconditioned
solvers do not behave as well in the (R)ASM framework as in other DD
frameworks, like FETI(DP) or BDD(C), where the spectrum has a more
favorable shape and where adaptive strategies are available.

Anyhow our developments offer opportunities to test mpcg and mpomin, to
implement new multipreconditioned solvers and new multipreconditioning
frameworks (one just need to implement PCApplyMultiPrecond_???).

I hope you will be interested by these developments,
best regards

Pierre Gosselet
CR CNRS (research agent) 
LMT -- ENS Paris-Saclay/UMR8535
61 av. du président Wilson, 94235 CACHAN
tel: +33 1 47405333

More information about the petsc-dev mailing list