On Tue, Sep 4, 2012 at 10:28 AM, Thomas Witkowski <span dir="ltr"><<a href="mailto:thomas.witkowski@tu-dresden.de" target="_blank">thomas.witkowski@tu-dresden.de</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    <div>Am 04.09.2012 17:20, schrieb Matthew
      Knepley:<br>
    </div>
    <blockquote type="cite">On Tue, Sep 4, 2012 at 9:52 AM, Thomas Witkowski <span dir="ltr"><<a href="mailto:thomas.witkowski@tu-dresden.de" target="_blank">thomas.witkowski@tu-dresden.de</a>></span>
      wrote:<br>
      <div class="gmail_quote">
        <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
          <div text="#000000" bgcolor="#FFFFFF">
            <blockquote type="cite">
              <div class="gmail_quote"><br>
                <div><a href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MATNEST.html" target="_blank">http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MATNEST.html</a></div>
                <div><br>
                </div>
              </div>
            </blockquote>
            As I wrote in my initial question, each rank contains one
            and only one seqaij matrix, which all should be joined to
            one global matrix such that each local matrix is the
            corresponding diagonal block of the mpiaij matrix. I think,
            this does not work with nested matrices?<br>
          </div>
        </blockquote>
        <div><br>
        </div>
        <div>Why does this not work? I really think you are making this
          harder than it has to be.</div>
        <div><br>
        </div>
      </div>
    </blockquote>
    Mh, maybe I have an incomplete view of the possibilities how to use
    nested matrices.<br>
    <br>
    To become more specific: In the case of two mpi tasks, each
    containing one seqaij matrix, how to call MatCreateNest? Is this
    correct:<br>
    <br>
    Mat A;<br>
    MatCreaeteNest(PETSC_COMM_WORLD, 2, PETSC_NULL, 2, PETSC_NULL, V
    ,&A);<br></div></blockquote><div>                                                                 ^^^ This should be 1. </div><div><br></div><div>   Matt</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
    and V is defined on rank 0 as<br>
    <br>
    Mat V[2] = {seqMat, PETSC_NULL} ;<br>
    <br>
    and and rank 1 as<br>
    <br>
    Mat V[2] = {PETSC_NULL, seqMat};<br>
    <br>
    <br>
    Thomas<br>
    <blockquote type="cite">
      <div class="gmail_quote">
        <div>   Matt</div>
        <div> </div>
        <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
          <div text="#000000" bgcolor="#FFFFFF"> Thomas<br>
            <br>
            <blockquote type="cite">
              <div class="gmail_quote">
                <div> </div>
                <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                  <div text="#000000" bgcolor="#FFFFFF"><br>
                    <blockquote type="cite">
                      <div>Hong<br>
                        <div class="gmail_quote">
                          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                            <div text="#000000" bgcolor="#FFFFFF">
                              <div>
                                <div>
                                  <blockquote type="cite"> <br>
                                    <div class="gmail_quote">Thomas :<br>
                                      <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">In my
                                        FETI-DP code, each rank creates
                                        a SEQAIJ matrix that represents
                                        the discretization of the
                                        interior domain. Just for
                                        debugging, I would like to join
                                        these sequential matrices to one
                                        global MPIAIJ matrix. This
                                        matrix has no off diagonal nnzs
                                        and should be stored
                                        corresponding to the ranks
                                        unknowns, thus, first all rows
                                        of the first rank and so on.
                                        What's the most efficient way to
                                        do this? Is it possible to
                                        create this parallel matrix just
                                        as a view of the sequential
                                        ones, so without copying the
                                        data? Thanks for any advise.</blockquote>
                                      <div><br>
                                      </div>
                                      <div><a href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatCreateMPIAIJConcatenateSeqAIJ.html" target="_blank">http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatCreateMPIAIJConcatenateSeqAIJ.html</a></div>

                                      <div><br>
                                      </div>
                                      <div>Note: entries in seqaij
                                        matrices are copied into a
                                        mpiaij matrix without</div>
                                      <div>inter-processor
                                        communication. Use petsc-3.3 for
                                        this function.</div>
                                    </div>
                                  </blockquote>
                                  <br>
                                </div>
                              </div>
                              The function does not do what I expect.
                              For example, if we have two mpi task and
                              each contains one local square matrix with
                              n rows, I want to create a global square
                              matrix with 2n rows. This function create
                              a non-square matrix of size 2n x n.<span><font color="#888888"><br>
                                  <br>
                                  Thomas<br>
                                </font></span></div>
                          </blockquote>
                        </div>
                        <br>
                      </div>
                    </blockquote>
                  </div>
                </blockquote>
              </div>
            </blockquote>
          </div>
        </blockquote>
      </div>
      <br>
      <br clear="all"><span class="HOEnZb"><font color="#888888">
      <div><br>
      </div>
      -- <br>
      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<br>
    </font></span></blockquote>
    <br>
  </div>

</blockquote></div><br><br clear="all"><div><br></div>-- <br>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<br>