[petsc-dev] Right-preconditioned GMRES

Smith, Barry F. bsmith at mcs.anl.gov
Thu Oct 24 10:40:34 CDT 2019


  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>



More information about the petsc-dev mailing list