You asked how the problem was split between processes. In your case, this is defined by the matrix.<div><br></div><div> The default solver in petsc is gmres preconditioned with block Jacobi and ilu(0) applied on each block. The "block" I refer to is the piece of the matrix locally owned by each processor (which is thus defined by the matrix layout/partitioning)</div>
<div><br></div><div><br><div><br></div><div><br><br>On Wednesday, 8 January 2014, mary sweat  wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-size:12pt;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif">
<div>I do not explicitily check the size, because I use <span style="font-family:'Helvetica Neue','Segoe UI',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:13px">PETSC_DECIDE, instead I specify the number of processes. What I really care about is hw does KSPSolve solve the system in a parallel way with multiple processes.</span></div>
<div style="display:block"> <br> <br> <div style="font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12pt"> <div style="font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12pt">
 <div dir="ltr"> <font face="Arial"> Il Mercoledì 8 Gennaio 2014 12:34, Dave May <<a href="javascript:_e({}, 'cvml', 'dave.mayhem23@gmail.com');" target="_blank">dave.mayhem23@gmail.com</a>> ha scritto:<br>

 </font> </div>  <div><div><div><div dir="ltr"><div><div><div><div><div><div>Please check out the manual page for MatSetSizes()<br clear="none">  <a rel="nofollow" shape="rect" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatSetSizes.html" target="_blank">http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatSetSizes.html</a><br clear="none">

<br clear="none"></div>Basically you have two choices:<br clear="none"></div><br clear="none">1/ Define the global size of the matrix and use PETSC_DECIDE for the local sizes.<br clear="none"></div>In this case, PETSc will define the local row size in a manner such that there are approximately the same number of rows on each process.<br clear="none">

</div><br clear="none">2/ Define the local sizes yourself and use PETSC_DETERMINE for the global size. <br clear="none">Then you have full control over the parallel layout.<br clear="none"><br clear="none"></div>The following functions described by these pages<br clear="none">
<br clear="none">  <a rel="nofollow" shape="rect" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatGetSize.html" target="_blank">http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatGetSize.html</a><br clear="none">

  <a rel="nofollow" shape="rect" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatGetLocalSize.html" target="_blank">http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatGetLocalSize.html</a><br clear="none">
  <a rel="nofollow" shape="rect" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatGetOwnershipRanges.html" target="_blank">http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatGetOwnershipRanges.html</a><br clear="none">

</div>  <a rel="nofollow" shape="rect" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatGetOwnershipRangesColumn.html" target="_blank">http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatGetOwnershipRangesColumn.html</a><br clear="none">
<br clear="none">
might also be useful for you in double checking what the matrix decomposition looks like<br clear="none"><div><div><br clear="none"><div><div><div><div><br clear="none"></div><div>Cheers,<br clear="none"></div><div>  Dave<br clear="none">
</div><div><br clear="none"></div></div></div></div></div></div>
</div><div><div><br clear="none"><br clear="none"><div>On 8 January 2014 12:26, mary sweat <span dir="ltr"><<a rel="nofollow" shape="rect" href="javascript:_e({}, 'cvml', 'mary.sweat78@yahoo.it');" target="_blank">mary.sweat78@yahoo.it</a>></span> wrote:<br clear="none">

<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-size:12pt;font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif"><div>

My target is the following. I got a huge linear system with a sparse huge matrix, nothing to deal with PDE. How is the system splitted between processes? is there in this suggested book the answer?</div><div>Thanks again</div>

<div style="display:block"> <br clear="none"> <br clear="none"> <div style="font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12pt"> <div style="font-family:HelveticaNeue,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:12pt">

 <div dir="ltr"> <font face="Arial"> Il Martedì 7 Gennaio 2014 17:34, Jed Brown <<a rel="nofollow" shape="rect" href="javascript:_e({}, 'cvml', 'jedbrown@mcs.anl.gov');" target="_blank">jedbrown@mcs.anl.gov</a>> ha scritto:<br clear="none">
 </font> </div><div><div>  <div>
mary sweat <<a rel="nofollow" shape="rect" href="javascript:_e({}, 'cvml', 'mary.sweat78@yahoo.it');" target="_blank">mary.sweat78@yahoo.it</a>> writes:<div><br clear="none"><br clear="none">> Hi all,  I need to know how does KSP separate and distribute domain<br clear="none">

> between processes and the way processes share and communicate halfway<br clear="none">> results. Is there any good documentation about it???</div><br clear="none"><br clear="none">The communication is in Mat and Vec functions.  You can see it<br clear="none">

summarized in -log_summary.  For the underlying theory, see Barry's<br clear="none">book.<br clear="none"><br clear="none"><a rel="nofollow" shape="rect" href="http://www.mcs.anl.gov/~bsmith/ddbook.html" target="_blank">http://www.mcs.anl.gov/~bsmith/ddbook.html</a><br clear="none">

<br clear="none"></div>  </div></div></div> </div>  </div> </div></div></blockquote></div><br clear="none"></div></div></div></div><br><br></div>  </div> </div>  </div> </div></div></blockquote></div></div>