Thanks Jed. I guess the whole point I am missing is in that &quot;squarish&quot;. <div>I, for instance, use two processors for a domain of the global size:</div><div>nx=50</div><div>ny=40</div><div>nz=4</div><div><br></div>

<div>To my surprise, the way it was decomposed was in y-direction, i.e. </div><div>processor 0: </div><div>0-49</div><div>0-19</div><div>0-3</div><div><br></div><div>processor 1:</div><div>0-49</div><div>20-39</div><div>
0-3</div>
<div><br></div><div>and not x-direction which minimizes the surface area between the two processors. </div><div>Obviously &quot;2&quot; is a prime number. In that case, is PETSc biased to choose any of the directions? </div>

<div><br></div><div>Thanks again</div><div>Best, </div><div>Mohamad</div><div><br></div><div><br><div class="gmail_quote">On Fri, Oct 7, 2011 at 5:34 AM, Jed Brown <span dir="ltr">&lt;<a href="mailto:jedbrown@mcs.anl.gov">jedbrown@mcs.anl.gov</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im"><div class="gmail_quote">On Fri, Oct 7, 2011 at 02:58, Mohamad M. Nasr-Azadani <span dir="ltr">&lt;<a href="mailto:mmnasr@gmail.com" target="_blank">mmnasr@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>How does DACreate3d() partition the domain among processors? </div><div>Is it based on the minimizing the surface between the processors? Or it is just a simple x-y-z order? </div></blockquote></div><br></div><div>It tries to produce a &quot;squarish&quot; partition based on divisibility of the number of processes. It will only partition in one direction if you use a prime number of processes, for example.</div>


</blockquote></div><br></div>