[petsc-users] Diagnosing Convergence Issue in Fieldsplit Problem

Matthew Knepley knepley at gmail.com
Thu May 23 19:23:56 CDT 2024


I put in stuff to propagate the nullspace if you use DM.

   Matt

On Thu, May 23, 2024 at 11:04 PM Barry Smith <bsmith at petsc.dev> wrote:

> On May 23, 2024, at 3: 48 PM, Stefano Zampini <stefano. zampini@ gmail.
> com> wrote: the null space of the Schur complement is the restriction of
> the original null space. I guess if fieldsplit is Schur type then we could
> in principle extract
> ZjQcmQRYFpfptBannerStart
> This Message Is From an External Sender
> This message came from outside your organization.
>
> ZjQcmQRYFpfptBannerEnd
>
>
> On May 23, 2024, at 3:48 PM, Stefano Zampini <stefano.zampini at gmail.com>
> wrote:
>
> the null space of the Schur complement is the restriction of the original
> null space. I guess if fieldsplit is Schur type then we could in principle
> extract the sub vectors and renormalize them
>
>
>    Is this true if A is singular?   Or are you assuming the Schur
> complement form is only used if A is nonsingular? Would the user need to
> somehow indicate A is nonsingular?
>
>
>
>
> On Thu, May 23, 2024, 22:13 Jed Brown <jed at jedbrown.org> wrote:
>
>> Barry Smith <bsmith@ petsc. dev> writes: > Unfortunately it cannot
>> automatically because -pc_fieldsplit_detect_saddle_point just grabs part of
>> the matrix (having no concept of "what part" so doesn't know to grab the
>> null space information.
>> ZjQcmQRYFpfptBannerStart
>> This Message Is From an External Sender
>> This message came from outside your organization.
>>
>> ZjQcmQRYFpfptBannerEnd
>>
>> Barry Smith <bsmith at petsc.dev> writes:
>>
>> >    Unfortunately it cannot automatically because -pc_fieldsplit_detect_saddle_point just grabs part of the matrix (having no concept of "what part" so doesn't know to grab the null space information.
>> >
>> >    It would be possible for PCFIELDSPLIT to access the null space of the larger matrix directly as vectors and check if they are all zero in the 00 block, then it would know that the null space only applied to the second block and could use it for the Schur complement.
>> >
>> >    Matt, Jed, Stefano, Pierre does this make sense?
>>
>> I think that would work (also need to check that the has_cnst flag is false), though if you've gone to the effort of filling in that Vec, you might as well provide the IS.
>>
>> I also wonder if the RHS is consistent.
>>
>>
>

-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener

https://urldefense.us/v3/__https://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!cl36t5n0xoPzg3CNPvl8rF34swIpHS7UzkeJ7NGQpRF4ZxJeeQqaIuD7nTY5hCChJbFlaXCbk0pIovfR2pFG$  <https://urldefense.us/v3/__http://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!cl36t5n0xoPzg3CNPvl8rF34swIpHS7UzkeJ7NGQpRF4ZxJeeQqaIuD7nTY5hCChJbFlaXCbk0pIonpzWbVh$ >
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20240524/449d5a58/attachment.html>


More information about the petsc-users mailing list