[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