[petsc-dev] Right-preconditioned GMRES

Pierre Jolivet pierre.jolivet at enseeiht.fr
Mon Oct 14 10:44:39 CDT 2019


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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: dump-basic
Type: application/octet-stream
Size: 2560 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20191014/179656ea/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dump-none
Type: application/octet-stream
Size: 5216 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20191014/179656ea/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dump-restrict
Type: application/octet-stream
Size: 2560 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20191014/179656ea/attachment-0002.obj>
-------------- next part --------------


> 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>
> 



More information about the petsc-dev mailing list