<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 23, 2020 at 10:18 AM Elias Karabelas <<a href="mailto:karabelaselias@gmail.com">karabelaselias@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p>Ok I'll try to decipher that. Thought that I would maybe find
something in the GAMG routines </p></div></blockquote><div><br></div><div>Not much, GAMG symmetrizes the graph (G) for coarse grid constriction, where G_ij must equal G_ji in parallel. G is a graph derived from A or (A+A^T).</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><p>but I'll be happy to scroll through
the ASM stuff :D<br>
</p>
<div>On 23/03/2020 13:56, Matthew Knepley
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr">On Mon, Mar 23, 2020 at 8:41 AM Elias Karabelas
<<a href="mailto:karabelaselias@gmail.com" target="_blank">karabelaselias@gmail.com</a>>
wrote:<br>
</div>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p>Thanks I'll have a look at it. So I understand
correctly, that purely algebraic is not the way to go
through PETSc here?</p>
</div>
</blockquote>
<div>You can make it work. You would have the same difficulty
in any linear algebra package, namely that you need</div>
<div>an overlapped decomposition of the matrix, which no
package does by default. PETSc does it for ASM, so you could</div>
<div>use those routines to get what you want.</div>
<div><br>
</div>
<div> Thanks,</div>
<div><br>
</div>
<div> Matt</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p>Cheers</p>
<p>Elias<br>
</p>
<div>On 23/03/2020 13:39, Matthew Knepley wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr">On Mon, Mar 23, 2020 at 8:38 AM Elias
Karabelas <<a href="mailto:karabelaselias@gmail.com" target="_blank">karabelaselias@gmail.com</a>>
wrote:<br>
</div>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p><br>
</p>
<div>On 23/03/2020 13:36, Matthew Knepley wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr">On Mon, Mar 23, 2020 at 8:31
AM Elias Karabelas <<a href="mailto:karabelaselias@gmail.com" target="_blank">karabelaselias@gmail.com</a>>
wrote:<br>
</div>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p>Dear Matt,</p>
<p>I've just found this answer from
2014</p>
<p><a href="https://lists.mcs.anl.gov/pipermail/petsc-users/2014-August/022450.html" target="_blank">https://lists.mcs.anl.gov/pipermail/petsc-users/2014-August/022450.html</a></p>
<p>wondering if this would
theoretically work.</p>
</div>
</blockquote>
<div>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. </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p>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.</p>
</div>
</blockquote>
<div>The FEM-FCT I am familiar with from
Lohner was phrased on a mesh.</div>
</div>
</div>
</blockquote>
<p>Can you give me a reference to that? I based
my things on this work <a href="https://www.sciencedirect.com/science/article/pii/S0045782508003150#!" target="_blank">https://www.sciencedirect.com/science/article/pii/S0045782508003150#!</a></p>
</div>
</blockquote>
<div>Volker is of course great. I believe I was
thinking of <a href="https://onlinelibrary.wiley.com/doi/abs/10.1002/fld.1650071007" target="_blank">https://onlinelibrary.wiley.com/doi/abs/10.1002/fld.1650071007</a></div>
<div><br>
</div>
<div> Thanks,</div>
<div><br>
</div>
<div> Matt <br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p>Best regards</p>
<p>Elias<br>
</p>
<p><br>
</p>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_quote">
<div><br>
</div>
<div> Thanks,</div>
<div><br>
</div>
<div> Matt </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p>Best regards</p>
<p>Elias<br>
</p>
<div>On 23/03/2020 13:02, Matthew
Knepley wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr">On Mon, Mar 23,
2020 at 7:46 AM Elias Karabelas
<<a href="mailto:karabelaselias@gmail.com" target="_blank">karabelaselias@gmail.com</a>>
wrote:<br>
</div>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Dear
Users,<br>
<br>
I want to implement a FCT
(flux corrected transport)
scheme with PETSc. <br>
To this end I have amongst
other things create a Matrix
whose entries <br>
are given by<br>
<br>
L_ij = -max(0, A_ij, A_ji) for
i neq j<br>
<br>
L_ii = Sum_{j=0,..n, j neq i}
L_ij<br>
<br>
where Mat A is an
(non-symmetric) Input Matrix
created beforehand.<br>
<br>
I was wondering how to do
this. My first search brought
me to <br>
<a href="https://www.mcs.anl.gov/petsc/petsc-current/src/mat/examples/tutorials/ex16.c.html" rel="noreferrer" target="_blank">https://www.mcs.anl.gov/petsc/petsc-current/src/mat/examples/tutorials/ex16.c.html</a>
<br>
<br>
<br>
but this just goes over the
rows of one matrix to set new
values and now <br>
I would need to run over the
rows and columns of the
matrix. My Idea was <br>
to just create a transpose of
A and do the same but then the
row-layout <br>
will be different and I can't
use the same for loop for A
and AT and <br>
thus also won't be able to
calculate the max's above.<br>
<br>
Any help would be appreciated<br>
</blockquote>
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<div>The problem here is that in
parallel there would be no
easy way to get the halo you
need using a matrix. You</div>
<div>really want the ghosted
space for assembly, and that
is provided by the DM objects.
Does this make sense?</div>
<div>Unless anybody in PETSc has
a better idea.</div>
<div><br>
</div>
<div> Thanks,</div>
<div><br>
</div>
<div> Matt</div>
<div> <br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Best regards<br>
<br>
Elias<br>
<br>
</blockquote>
</div>
<br clear="all">
<div><br>
</div>
-- <br>
<div dir="ltr">
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>What most
experimenters take
for granted before
they begin their
experiments is
infinitely more
interesting than any
results to which
their experiments
lead.<br>
-- Norbert Wiener</div>
<div><br>
</div>
<div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</blockquote>
</div>
<br clear="all">
<div><br>
</div>
-- <br>
<div dir="ltr">
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>What most experimenters
take for granted before they
begin their experiments is
infinitely more interesting
than any results to which
their experiments lead.<br>
-- Norbert Wiener</div>
<div><br>
</div>
<div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</blockquote>
</div>
<br clear="all">
<div><br>
</div>
-- <br>
<div dir="ltr">
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>What most experimenters take for
granted before they begin their
experiments is infinitely more
interesting than any results to which
their experiments lead.<br>
-- Norbert Wiener</div>
<div><br>
</div>
<div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</blockquote>
</div>
<br clear="all">
<div><br>
</div>
-- <br>
<div dir="ltr">
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>What most experimenters take for granted before
they begin their experiments is infinitely more
interesting than any results to which their
experiments lead.<br>
-- Norbert Wiener</div>
<div><br>
</div>
<div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</blockquote></div></div>