[petsc-dev] Right-preconditioned GMRES

Fande Kong fdkong.jd at gmail.com
Wed Nov 6 12:30:29 CST 2019


Even if both the linear operator and the preconditioner  operator are
symmetric, the preconditioned operator by RAS will  NOT be symmetric so
that CG is not applicable.

RAS keeps overlapping elements during restriction but discards them when
doing interpolation, which leads to an unsymmetric preconditioned operator.


Fande,



On Wed, Nov 6, 2019 at 11:13 AM Pierre Jolivet via petsc-dev <
petsc-dev at mcs.anl.gov> wrote:

> I need to figure this out myself first.
> In the meantime, here is another (PCASM related) question for you: why is
> PCASMType switched to BASIC when using a symmetric Pmat? (I guess I don’t
> have to tell you about the performance of RAS vs. ASM)
> To me, that would make sense if the default KSP was also switched to CG
> instead of GMRES if the Pmat and Amat were symmetric, but I don’t think
> this is the case.
>
> Thanks,
> Pierre
>
> > On 24 Oct 2019, at 5:40 PM, Smith, Barry F. <bsmith at mcs.anl.gov> wrote:
> >
> >
> >  Send the code and exact instructions to run a "good" and a "bad" ASM
> >
> >   Barry
> >
> >
> >> On Oct 14, 2019, at 10:44 AM, Pierre Jolivet <
> pierre.jolivet at enseeiht.fr> wrote:
> >>
> >> Here are the three logs.
> >> FGMRES also gives a wrong first iterate.
> >> I think Mark was right in the sense that the problem is _most likely_
> in my RHS.
> >> But I need to figure out why I only get this problem with
> right-preconditioned KSPs with restrict or none.
> >>
> >> Thanks,
> >> Pierre
> >>
> >>
> >>
> >>> On 13 Oct 2019, at 8:16 PM, Smith, Barry F. <bsmith at mcs.anl.gov>
> wrote:
> >>>
> >>>
> >>> Is this one process with one subdomain? (And hence no meaningful
> overlap since there is nothing to overlap?) And you expect to get the
> "exact" answer on one iteration?
> >>>
> >>> Please run the right preconditioned GMRES with -pc_asm_type [restrict
> and basic and none]  -ksp_monitor_true_solution  and send the output for
> the three cases.
> >>>
> >>> For kicks you can also try FGMRES (which always uses right
> preconditioning) to see if the same problem appears.
> >>>
> >>> Barry
> >>>
> >>>
> >>>> On Oct 13, 2019, at 2:41 AM, Pierre Jolivet via petsc-dev <
> petsc-dev at mcs.anl.gov> wrote:
> >>>>
> >>>> Hello,
> >>>> I’m struggling to understand the following weirdness with PCASM with
> exact subdomain solvers.
> >>>> I’m dealing with a very simple Poisson problem with Dirichlet +
> Neumann BCs.
> >>>> If I use PCBJACOBI + KSPPREONLY or 1 iteration of GMRES either
> preconditioned on the right or on the left, I get the expected result, cf.
> attached screenshot.
> >>>> If I use PCASM + KSPPREONLY or 1 iteration of GMRES preconditioned on
> the left, I get the expected result as well.
> >>>> However, with PCASM + 1 iteration of GMRES preconditioned on the
> right, I don’t get what I should (I believe).
> >>>> Furthermore, this problem is specific to -pc_asm_type restrict,none
> (I get the expected result with basic,interpolate).
> >>>>
> >>>> Any hint?
> >>>>
> >>>> Thanks,
> >>>> Pierre
> >>>>
> >>>> $ -sub_pc_type lu -ksp_max_it 1 -ksp_type gmres -pc_type bjacobi
> -ksp_pc_side right -> bjacobi_OK
> >>>> $ -sub_pc_type lu -ksp_max_it 1 -ksp_type gmres -pc_type asm
> -ksp_pc_side left -> asm_OK
> >>>> $ -sub_pc_type lu -ksp_max_it 1 -ksp_type gmres -pc_type asm
> -ksp_pc_side right -> asm_KO
> >>>>
> >>>> <bjacobi_OK.png><asm_OK.png><asm_KO.png>
> >>>
> >>
> >> <dump-basic><dump-none><dump-restrict>
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20191106/c91086b3/attachment.html>


More information about the petsc-dev mailing list