<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 6 Nov 2019, at 7:30 PM, Fande Kong <<a href="mailto:fdkong.jd@gmail.com" class="">fdkong.jd@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div dir="ltr" class="">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. <div class=""><br class=""></div><div class="">RAS keeps overlapping elements during restriction but discards them when doing interpolation, which leads to an unsymmetric preconditioned operator.</div></div></div></div></blockquote><div><br class=""></div><div>Of course.</div><div>What’s your point?</div><div><br class=""></div><div>Thanks,</div><div>Pierre</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div dir="ltr" class=""><div class="">Fande,<br class=""><div class=""><br class=""></div><div class=""> </div></div></div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Nov 6, 2019 at 11:13 AM Pierre Jolivet via petsc-dev <<a href="mailto:petsc-dev@mcs.anl.gov" class="">petsc-dev@mcs.anl.gov</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">I need to figure this out myself first.<br class="">
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)<br class="">
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.<br class="">
<br class="">
Thanks,<br class="">
Pierre<br class="">
<br class="">
> On 24 Oct 2019, at 5:40 PM, Smith, Barry F. <<a href="mailto:bsmith@mcs.anl.gov" target="_blank" class="">bsmith@mcs.anl.gov</a>> wrote:<br class="">
> <br class="">
> <br class="">
>  Send the code and exact instructions to run a "good" and a "bad" ASM <br class="">
> <br class="">
>   Barry<br class="">
> <br class="">
> <br class="">
>> On Oct 14, 2019, at 10:44 AM, Pierre Jolivet <<a href="mailto:pierre.jolivet@enseeiht.fr" target="_blank" class="">pierre.jolivet@enseeiht.fr</a>> wrote:<br class="">
>> <br class="">
>> Here are the three logs.<br class="">
>> FGMRES also gives a wrong first iterate.<br class="">
>> I think Mark was right in the sense that the problem is _most likely_ in my RHS.<br class="">
>> But I need to figure out why I only get this problem with right-preconditioned KSPs with restrict or none.<br class="">
>> <br class="">
>> Thanks,<br class="">
>> Pierre<br class="">
>> <br class="">
>> <br class="">
>> <br class="">
>>> On 13 Oct 2019, at 8:16 PM, Smith, Barry F. <<a href="mailto:bsmith@mcs.anl.gov" target="_blank" class="">bsmith@mcs.anl.gov</a>> wrote:<br class="">
>>> <br class="">
>>> <br class="">
>>> 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? <br class="">
>>> <br class="">
>>> 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.<br class="">
>>> <br class="">
>>> For kicks you can also try FGMRES (which always uses right preconditioning) to see if the same problem appears.<br class="">
>>> <br class="">
>>> Barry<br class="">
>>> <br class="">
>>> <br class="">
>>>> On Oct 13, 2019, at 2:41 AM, Pierre Jolivet via petsc-dev <<a href="mailto:petsc-dev@mcs.anl.gov" target="_blank" class="">petsc-dev@mcs.anl.gov</a>> wrote:<br class="">
>>>> <br class="">
>>>> Hello,<br class="">
>>>> I’m struggling to understand the following weirdness with PCASM with exact subdomain solvers.<br class="">
>>>> I’m dealing with a very simple Poisson problem with Dirichlet + Neumann BCs.<br class="">
>>>> 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.<br class="">
>>>> If I use PCASM + KSPPREONLY or 1 iteration of GMRES preconditioned on the left, I get the expected result as well.<br class="">
>>>> However, with PCASM + 1 iteration of GMRES preconditioned on the right, I don’t get what I should (I believe).<br class="">
>>>> Furthermore, this problem is specific to -pc_asm_type restrict,none (I get the expected result with basic,interpolate).<br class="">
>>>> <br class="">
>>>> Any hint?<br class="">
>>>> <br class="">
>>>> Thanks,<br class="">
>>>> Pierre<br class="">
>>>> <br class="">
>>>> $ -sub_pc_type lu -ksp_max_it 1 -ksp_type gmres -pc_type bjacobi -ksp_pc_side right -> bjacobi_OK<br class="">
>>>> $ -sub_pc_type lu -ksp_max_it 1 -ksp_type gmres -pc_type asm -ksp_pc_side left -> asm_OK<br class="">
>>>> $ -sub_pc_type lu -ksp_max_it 1 -ksp_type gmres -pc_type asm -ksp_pc_side right -> asm_KO<br class="">
>>>> <br class="">
>>>> <bjacobi_OK.png><asm_OK.png><asm_KO.png><br class="">
>>> <br class="">
>> <br class="">
>> <dump-basic><dump-none><dump-restrict><br class="">
> <br class="">
<br class="">
</blockquote></div>
</div></blockquote></div><br class=""></body></html>