[petsc-users] A partition of DMPlex mesh similar to what DMDA provides?
liluo
liluo at um.edu.mo
Mon Dec 22 21:41:42 CST 2025
Thanks for your suggestions!
Since the code is already using tets for finite element discretization, I don't want to change it, but want a classical DMDA type partition.
Bests,
Li
________________________________
From: Matthew Knepley <knepley at gmail.com>
Sent: Tuesday, 23 December, 2025 00:21:22
To: liluo
Cc: petsc-users at mcs.anl.gov; Zhang Pai
Subject: Re: [petsc-users] A partition of DMPlex mesh similar to what DMDA provides?
On Mon, Dec 22, 2025 at 5: 46 AM liluo <liluo@ um. edu. mo> wrote: Dear PETSc developers, I’m using DMPlex to manage an unstructured mesh. However, in my case, the input mesh is actually a structured tetrahedral mesh, and its geometric domain
On Mon, Dec 22, 2025 at 5:46 AM liluo <liluo at um.edu.mo<mailto:liluo at um.edu.mo>> wrote:
Dear PETSc developers,
I’m using DMPlex 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.
Is there any PETSc functionality or recommended approach to obtain a partition similar to what DMDA provides—i.e., a simple Cartesian block partition—when working with such a mesh in DMPlex?
Any guidance or best practices would be greatly appreciated.
This is trivial in 2D because triangles nicely tile the box, but in 3D tetrahedra are harder to handle.I can see three avenues:
1) Manually
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.
2) Mesh Partitioner + Refinement
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.
3) New algorithm
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.
Why are you using tets instead of hexes for this problem?
Thanks,
Matt
Thank you!
Bests,
Li Luo
<https://urldefense.proofpoint.com/v2/url?u=https-3A__urldefense.us_v3_-5F-5Fhttps-3A__www.fst.um.edu.mo_personal_liluo_-5F-5F-3B-21-21G-5FuCfscf7eWS-21a-2DZ3XuBEDtS9pyiXP2bJDeQK-2DwotmIUURxFJ-2DUithWms0lkQHP3QChyD8EVvLS3vBWbOf0dk5FLjRGs29VHW3w-24&d=DwMFaQ&c=KXXihdR8fRNGFkKiMQzstpt6drHDqSenG-8Qi3URQqo&r=vQEG4jaU8SMWlleSoH0Tmw&m=yDc_qSOXtu6tik_WQplgczTNPTAwCAzIIEkvN2PmNI_tjWzQRklwnlgkAYLF9TSE&s=y4nZzihmKU6TUoREMuCrWc7YKQLpLEXz39fJQ9Ps_Z4&e= >
--
What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
-- Norbert Wiener
https://urldefense.us/v3/__https://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!f78XCziNeTCVb1AnVMYJVAf2Ped-KlffK4RRVwpO9gKfJ013n07va2DBl_SzI6is-rHSJwgZ3R8slp9jZfmZKg$ <https://urldefense.proofpoint.com/v2/url?u=http-3A__www.cse.buffalo.edu_-7Eknepley_&d=DwMFaQ&c=KXXihdR8fRNGFkKiMQzstpt6drHDqSenG-8Qi3URQqo&r=vQEG4jaU8SMWlleSoH0Tmw&m=yDc_qSOXtu6tik_WQplgczTNPTAwCAzIIEkvN2PmNI_tjWzQRklwnlgkAYLF9TSE&s=9KK3YfUKgJpJRenn_4j8JeXDH2C2upZWE3tQOS8CZk0&e= >
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20251223/523d463e/attachment.html>
More information about the petsc-users
mailing list