<div dir="ltr"><div dir="ltr">On Mon, Mar 23, 2020 at 8:41 AM Elias Karabelas <<a href="mailto:karabelaselias@gmail.com">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" class="gmail_signature"><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>