<div dir="ltr"><div dir="ltr">On Mon, Dec 22, 2025 at 5:46 AM liluo <<a href="mailto:liluo@um.edu.mo">liluo@um.edu.mo</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 class="msg8591499618018040405">
<div dir="ltr">
<div id="m_-2016064055422074423divtagdefaultwrapper" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif" dir="ltr">
<p></p>
<div style="font-family:"Segoe UI";font-size:14px;line-height:20px">
<p>Dear PETSc developers,</p>
<p><br>
</p>
<p>I’m using <code>DMPlex</code> to manage an unstructured mesh. However, in my case, the input mesh is actually a structured tetrahedral mesh, and its geometric domain is just a simple box.</p>
<p><br>
</p>
<p>Is there any PETSc functionality or recommended approach to obtain a partition similar to what
<code>DMDA</code> provides—i.e., a simple Cartesian block partition—when working with such a mesh in
<code>DMPlex</code>?</p>
<p>Any guidance or best practices would be greatly appreciated.</p></div></div></div></div></blockquote><div><br></div><div>This is trivial in 2D because triangles nicely tile the box, but in 3D tetrahedra are harder to handle.I can see three avenues:</div><div><br></div><div>1) Manually</div><div><br></div><div>You can use PlexPartitioner type user, which allows you to explicitly indicate the cell numbers that go to each process. This is probably more work than you want.</div><div><br></div><div>2) Mesh Partitioner + Refinement</div><div><br></div><div>You can run a partitioner on a small mesh, for which they are pretty good, and then refine that. This is mostly what I do.</div><div><br></div><div>3) New algorithm</div><div><br></div><div>Amal Timalsina published a nice algorithm for converting hexes to tets, so you could create a hex mesh that is partitioned exactly as you want, and then convert it to tets, but this would mean writing new code.</div><div><br></div><div>Why are you using tets instead of hexes for this problem?</div><div><br></div><div> Thanks,</div><div><br></div><div> Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="msg8591499618018040405"><div dir="ltr"><div id="m_-2016064055422074423divtagdefaultwrapper" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif" dir="ltr"><div style="font-family:"Segoe UI";font-size:14px;line-height:20px">
<p>Thank you!</p>
<p><br>
</p>
<p>Bests,</p>
<p>Li Luo</p>
</div>
<div id="m_-2016064055422074423Signature">
<div id="m_-2016064055422074423divtagdefaultwrapper" dir="ltr" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div style="margin:0px"><a href="https://urldefense.us/v3/__https://www.fst.um.edu.mo/personal/liluo/__;!!G_uCfscf7eWS!a-Z3XuBEDtS9pyiXP2bJDeQK-wotmIUURxFJ-UithWms0lkQHP3QChyD8EVvLS3vBWbOf0dk5FLjRGs29VHW3w$" style="font-size:12pt" id="m_-2016064055422074423LPNoLP" target="_blank"><span style="color:rgb(0,111,201)"></span></a></div>
<p></p>
</div>
</div>
</div>
</div>
</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!a8JIUtZ9kWgwf5HLe7vrUozP6RnDa-KxLqpAyxrAnKFhl_wgCNxF1SgnsC3wHJFY61YTVZF3nYa7riP_iZ-P$" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>