[petsc-users] Composite shell preconditiner

Jed Brown jedbrown at mcs.anl.gov
Fri Aug 17 08:45:06 CDT 2012


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

> I've seen this, but I'm not sure is it fits me.
>
> What I would like to do is very simple: every N iterations I want to take
> current solution vector *x*_i from KSP and calculate:
> *x*_i = *x*_i + *c*,
> where *c* is a correction vector.
>

How do you want to compute c?

For a general KSP, this is not allowed because the preconditioner must be
constant. (You can do it anyway by checking the iteration number in your
PCShell, but it won't converge.) You can play these games with a flexible
method like FGMRES, for which you can also do an inner-outer, e.g.

-ksp_type fgmres -pc_type composite -pc_composite_type multiplicative
-pc_composite_pcs ksp,shell -sub_0_ksp_ksp_type tfqmr -sub_0_ksp_ksp_max_it
10 -sub_0_ksp_pc_type ilu

I want to be able to apply other preconditioners in a usual way.
>
> Is it possible?
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120817/debfdfda/attachment.html>


More information about the petsc-users mailing list