<div dir="ltr">On Thu, Oct 31, 2013 at 2:56 PM, Qin Lu <span dir="ltr"><<a href="mailto:lu_qin_2000@yahoo.com" target="_blank">lu_qin_2000@yahoo.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="font-size:12pt;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif"><div>Hello,<br>
<br>I have successfully installed a <span><span>sequential</span></span> PETSc's linear solver in a sequential program. The matrix has been created in CSR format and it was passed to  MatCreateSeqAIJWithArrays (instead of using MatSetValues). <br>
<br>Now I want to use a parallel PETSc solver in the same sequential program, and use the same CRS matrix mentioned above. I intend to use MatCreateMPIAIJWithArrays, since I hope to pass the array direct to PETSc, instead of using MatSetValues. There a few questions:</div>
</div></blockquote><div><br></div><div>There is no preallocation when you do this. However, why do you want to do this? It is generally a bad idea unless you</div><div>have a huge installed codebase that depends on that format.</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 style="font-size:12pt;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif">
<div></div><div>1. Is there a sample code for using MatCreateMPIAIJWithArrays?</div><div>2. There seems to be a subroutine MatDistribute_MPIAIJ, but it is not in the PETSc manual. Where can I get the instruction how to use
 it? It would be nice if there is a sample code available.<br>3. Manual says the matrix will be copied by MatCreateMPIAIJWithArrays into internal format (while it is not when using MatCreateSeqAIJWithArrays), does this mean I have to call MatMPIAIJSetPreallocation first?</div>
<div>4. In sample code ex2.c in the manual, both MatMPIAIJSetPreallocation and MatSeqAIJSetPreallocation are called to preallocate the matrix A. Is not the first subroutine sufficient?  </div><div> </div><div>Many thanks for your help.</div>
<div> </div><div>Regards,</div><div>Qin</div></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
</div></div>