On Tue, Sep 4, 2012 at 9:42 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 16:20, schrieb Hong
Zhang:<br>
</div>
<blockquote type="cite">Thomas:
<div>Do you mean create a mpiaij matrix of order 2nx2n from two
local nxn matrices?</div>
</blockquote>
Yes.<br>
<blockquote type="cite">
<div>You might have to use MatSetValues() to do this.</div>
</blockquote>
I think, it will be faster and more efficient to create a MatShell
to wrap around the local matrices. If anybody has some other ideas,
please let me know.<br></div></blockquote><div><br></div><div><a href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MATNEST.html">http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MATNEST.html</a></div>
<div><br></div><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>
<br>
<blockquote type="cite">
<div><br>
</div>
<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>
<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>