[petsc-users] Composite shell preconditiner

Jed Brown jedbrown at mcs.anl.gov
Fri Aug 17 09:32:07 CDT 2012


On Fri, Aug 17, 2012 at 9:23 AM, Alexander Grayver
<agrayver at gfz-potsdam.de>wrote:

> Right.
> Could you please explain what do you mean by fragile?
>

Fragile means unreliable. The math is not right for Krylov methods in
general. You are relying on side-effects of particular methods and
preconditioner side combinations. Fragile is the opposite of "robust". For
a "robust" method, you should start with a compatible discretization and/or
choose a preconditioner that is stable on the quasi-null space and/or
filter in a way that is consistent with the Krylov method (e.g. as
described using FGMRES).


>
>> Looks a bit tricky. The number of fgmres iterations then defines number
>> of the cycles correction will be applied, doesn't it?
>>
>
>  Yes.
>
>
> If I do this command line only setup:
>
> -pc_type composite -pc_composite_type multiplicative -pc_composite_pcs
> ksp,shell
>
> How does petsc know what ShellPCApply routine to take? I guess I have to
> specify this in the code anyway?
>

Yeah, to select your preconditioner in this way, you should name it
preconditioner something meaningful and use PCRegisterDynamic() just like
the native implementations.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120817/4f1951da/attachment.html>


More information about the petsc-users mailing list