[petsc-users] Solving upper triangular system with pc fieldsplit

Thomas Witkowski thomas.witkowski at tu-dresden.de
Mon Aug 20 09:56:12 CDT 2012


Am 20.08.2012 15:19, schrieb Barry Smith:
>     I think you are asking if you have
>
>         A00      A01
>            0        A11
>    
>    Can you use field split trivially to solve this upper block triangular system by doing "backward/reverse" block Gauss-Seidel?
yes.
>
>     The very short answer is no
>
>   1) you can use   -pc_fieldsplit_type symmetric_multiplicative but then it does the A00 solve twice unnecessarily
Okay, this is at least a fast possibility to check fore some solver 
options, and its absolutely fine for my case.

Thank you,

Thomas
>
>   2)  what Matt is saying you can define you 00 index set to be associated with the second block A11 then that flips the block rows and columns of the matrix and
>      the regular multiplicative field split  will work like the backward block GS on the original matrix.
>
>     Barry
>
>
> Yes, we could add something like -pc_fieldsplit_type backward_multiplicative but as Matt points out that is not strictly needed.
>
>
>
>
>
>
> On Aug 20, 2012, at 7:18 AM, Thomas Witkowski <thomas.witkowski at tu-dresden.de> wrote:
>
>> Am 20.08.2012 13:39, schrieb Matthew Knepley:
>>> On Mon, Aug 20, 2012 at 3:09 AM, Thomas Witkowski <thomas.witkowski at tu-dresden.de> wrote:
>>> Is it possible to change the PCFIELDSPLIT / block Gauss-Seidel preconditioner to use A_01 instead of A_10 to solve an upper triangular system?
>>>
>>> It always uses A_01. What exactly do you want to do?
>> In this case the documentation should be changed (see p. 86)
>>
>> Thomas
>>
>>>     Matt
>>>   
>>>
>>> Thomas
>>>
>>>
>>>
>>> -- 
>>> 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



More information about the petsc-users mailing list