<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>