[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