<div dir="ltr"><div dir="ltr">On Sat, Apr 4, 2026 at 1:15 PM Miguel Molinos <<a href="mailto:m.molinos@upm.es">m.molinos@upm.es</a>> wrote:</div><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><p style="color:rgb(0,0,0)">Dear all,</p><p style="color:rgb(0,0,0)">For a given cell in a local patch of a distributed <span>DMPlex mesh</span>, is there a way to retrieve the list of <span>ranks</span> that share that same cell? </p></div></blockquote><div>It is somewhat involved. Each process that does not own the cell will know the owner. You will know how many processes also have the cell using PetscSFComputeRootDegree(), however you will not have the rank. You can use PetscSFGather() to get the ranks, and then Bcast that to the leaf processes. This pattern creates the two-sided information. We do this inside VecScatter, and I guess we could expose that. Junchao would know that better than I would.</div><div><br></div><div> Thanks,</div><div><br></div><div>    Matt</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><p style="color:rgb(0,0,0)">Thanks, </p><p style="color:rgb(0,0,0)">Miguel</p></div></blockquote></div><div><br clear="all"></div><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><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="https://urldefense.us/v3/__http://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!fjhAfMA8h9hZzCgvz4iznQxyS7LjROeErvhtCzSaipXSDj5Wt_5y5NXymhXO6lEeh0EUSEzlX4jdHHvIK6a9$" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>