[petsc-users] Construct Matrix based on row and column values

Matthew Knepley knepley at gmail.com
Mon Mar 23 07:56:20 CDT 2020


On Mon, Mar 23, 2020 at 8:41 AM Elias Karabelas <karabelaselias at gmail.com>
wrote:

> Thanks I'll have a look at it. So I understand correctly, that purely
> algebraic is not the way to go through PETSc here?
>
You can make it work. You would have the same difficulty in any linear
algebra package, namely that you need
an overlapped decomposition of the matrix, which no package does by
default. PETSc does it for ASM, so you could
use those routines to get what you want.

  Thanks,

     Matt

> Cheers
>
> Elias
> On 23/03/2020 13:39, Matthew Knepley wrote:
>
> On Mon, Mar 23, 2020 at 8:38 AM Elias Karabelas <karabelaselias at gmail.com>
> wrote:
>
>>
>> On 23/03/2020 13:36, Matthew Knepley wrote:
>>
>> On Mon, Mar 23, 2020 at 8:31 AM Elias Karabelas <karabelaselias at gmail.com>
>> wrote:
>>
>>> Dear Matt,
>>>
>>> I've just found this answer from 2014
>>>
>>> https://lists.mcs.anl.gov/pipermail/petsc-users/2014-August/022450.html
>>>
>>> wondering if this would theoretically work.
>>>
>> In serial certainly, I just don't see how it works in parallel since you
>> might not own the row you need from the transpose.
>>
>>> And the thing with this FCT-Schemes is, that they're build on purely
>>> algebraic considerations (like AMG) so I don't want to break it back down
>>> to mesh information if possible at all.
>>>
>> The FEM-FCT I am familiar with from Lohner was phrased on a mesh.
>>
>> Can you give me a reference to that? I based my things on this work
>> https://www.sciencedirect.com/science/article/pii/S0045782508003150#!
>>
> Volker is of course great. I believe I was thinking of
> https://onlinelibrary.wiley.com/doi/abs/10.1002/fld.1650071007
>
>   Thanks,
>
>     Matt
>
>> Best regards
>>
>> Elias
>>
>>
>>
>>   Thanks,
>>
>>     Matt
>>
>>> Best regards
>>>
>>> Elias
>>> On 23/03/2020 13:02, Matthew Knepley wrote:
>>>
>>> On Mon, Mar 23, 2020 at 7:46 AM Elias Karabelas <
>>> karabelaselias at gmail.com> wrote:
>>>
>>>> Dear Users,
>>>>
>>>> I want to implement a FCT (flux corrected transport) scheme with PETSc.
>>>> To this end I have amongst other things create a Matrix whose entries
>>>> are given by
>>>>
>>>> L_ij = -max(0, A_ij, A_ji) for i neq j
>>>>
>>>> L_ii = Sum_{j=0,..n, j neq i} L_ij
>>>>
>>>> where Mat A is an (non-symmetric) Input Matrix created beforehand.
>>>>
>>>> I was wondering how to do this. My first search brought me to
>>>>
>>>> https://www.mcs.anl.gov/petsc/petsc-current/src/mat/examples/tutorials/ex16.c.html
>>>>
>>>>
>>>> but this just goes over the rows of one matrix to set new values and
>>>> now
>>>> I would need to run over the rows and columns of the matrix. My Idea
>>>> was
>>>> to just create a transpose of A and do the same but then the row-layout
>>>> will be different and I can't use the same for loop for A and AT and
>>>> thus also won't be able to calculate the max's above.
>>>>
>>>> Any help would be appreciated
>>>>
>>>
>>> I think it would likely be much easier to write your algorithm directly
>>> on the mesh, rather than using matrices, since the locality information is
>>> explicit with the mesh, but has to be reconstructed with the matrix.
>>>
>>> The problem here is that in parallel there would be no easy way to get
>>> the halo you need using a matrix. You
>>> really want the ghosted space for assembly, and that is provided by the
>>> DM objects. Does this make sense?
>>> Unless anybody in PETSc has a better idea.
>>>
>>>   Thanks,
>>>
>>>      Matt
>>>
>>>
>>>> Best regards
>>>>
>>>> Elias
>>>>
>>>>
>>>
>>> --
>>> 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://www.cse.buffalo.edu/~knepley/
>>> <http://www.cse.buffalo.edu/~knepley/>
>>>
>>>
>>
>> --
>> 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://www.cse.buffalo.edu/~knepley/
>> <http://www.cse.buffalo.edu/~knepley/>
>>
>>
>
> --
> 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://www.cse.buffalo.edu/~knepley/
> <http://www.cse.buffalo.edu/~knepley/>
>
>

-- 
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://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20200323/6bbcca6b/attachment.html>


More information about the petsc-users mailing list