<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Jun 4, 2017 at 7:08 PM, Wang <span dir="ltr"><<a href="mailto:quanwang.us@gmail.com" target="_blank">quanwang.us@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello. I have some confusions about the results given by ISLocalToGlobalMappingView.<wbr> <div><br></div><div>After reading a simple mesh and associate each vertex with a scalar dof, the test code uses DMPlexDistribute to get a distributed dm. Then I use the following calls </div><div><br></div><div><div> call DMGetLocalToGlobalMapping(dm,<wbr>ltog,ierr)</div></div><div><div> call ISLocalToGlobalMappingView(<wbr>ltog, PETSC_VIEWER_STDOUT_WORLD, ierr);</div></div><div><br></div><div>and get following results for l2g. (MatGetOwnershipRange gives [0 3] for rank 0 and [3 9] for rank 1)</div><div><br></div><div><div>ISLocalToGlobalMapping Object: 2 MPI processes</div><div>  type: basic</div><div>[0] 0 0</div><div>[0] 1 1</div><div>[0] 2 5</div><div>[0] 3 2</div><div>[0] 4 6</div><div>[0] 5 8</div><div>[1] 0 3</div><div>[1] 1 4</div><div>[1] 2 5</div><div>[1] 3 6</div><div>[1] 4 7</div><div>[1] 5 8</div></div><div><br></div><div><br></div><div>The question is why, on rank 0,  the global indices (I assume the third column) are not grouped into local chunks and ghost chunks. I understand how to do local to global mapping without any concern of the actual ordering, but I have some impression that in PETSC the ghost information is always coming later in the local vector. </div></div></blockquote><div><br></div><div>Nope. That is only guaranteed when using VecGhost.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div> In this case, on rank 0, global index 5 should appear later than 0,1,2, because it is ghost vertex for rank 0. <br></div><div><br></div><div>I'm not trying to use this for FEM, but instead using the mesh management in dmplex for other tasks. So I need to know more details.</div></div></blockquote><div><br></div><div>We base the dof ordering on the mesh ordering. If you ordered the shared parts of the mesh last, this would produce the ordering you expect.</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 dir="ltr"><div>Thank you.</div><div><br></div><div>QW</div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>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><br></div><div><a href="http://www.caam.rice.edu/~mk51/" target="_blank">http://www.caam.rice.edu/~mk51/</a><br></div></div></div>
</div></div>