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

Elias Karabelas karabelaselias at gmail.com
Mon Mar 23 09:17:28 CDT 2020


Ok I'll try to decipher that. Thought that I would maybe find something 
in the GAMG routines but I'll be happy to scroll through the ASM stuff :D

On 23/03/2020 13:56, Matthew Knepley wrote:
> On Mon, Mar 23, 2020 at 8:41 AM Elias Karabelas 
> <karabelaselias at gmail.com <mailto: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 <mailto: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 <mailto: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
>>>>             <mailto: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/13729fcd/attachment-0001.html>


More information about the petsc-users mailing list