On 11/13/25 19:48, Matthew Knepley wrote:
Sorry, I have been traveling. I just got back to this.

The problem is that _everything_ that goes in the submesh has to have the same label value. That way you can distinguish exactly what you want in. However, the boundary label has to make decisions about shared edges and vertices. I am attaching a modified code that does what you want by making a separate label for each side.

I apologize for the C. I am just not as quick in Fortran.

  Thanks,

     Matt

On Thu, Nov 6, 2025 at 1:42 AM Aldo Bonfiglioli <[email protected]> wrote:

    Dear all,

    I am having troubles in using DMPlexExtractSubMesh to extract the
    different strata of the Face Sets of a given mesh.

    When run on the enclosed tetrahedral mesh of the unit cube
    generated with gmsh

    Face Sets: 6 strata with value/size (1 (246), 2 (246), 3 (246), 4
    (246), 5 (242), 6 (242))

    I would expect 246 "points" on stratum 3, but when I DMview the
    subdm (and plot it) the surface mesh looks incomplete

    DM Object: patch_03 1 MPI process
     type: plex
    patch_03 in 2 dimensions:
     Cells are at height 1
     Number of 0-cells per rank: 122
     Number of 1-cells per rank: 325
    Number of 2-cells per rank: 204
    Number of 3-cells per rank: 204 [204]
    Labels:
    celltype: 4 strata with value/size (0 (122), 1 (325), 3 (204), 12
    (204))
    depth: 4 strata with value/size (0 (122), 1 (325), 2 (204), 3 (204))
    Cell Sets: 1 strata with value/size (1 (204))
    Face Sets: 1 strata with value/size (3 (204))
    Edge Sets: 2 strata with value/size (1 (8), 5 (8))

    see also patch_03.pdf

    What am I doing wrong?

    A simple reproducer (compiles with petsc-3.24.0) and the gmsh mesh
    are enclosed.

    Thanks,

    Aldo

-- Dr. Aldo Bonfiglioli
    Associate professor of Fluid Mechanics
    Dipartimento di Ingegneria
    Universita' della Basilicata
    V.le dell'Ateneo Lucano, 10 85100 Potenza ITALY
    tel:+39.0971.205203 fax:+39.0971.205215
    
web:https://urldefense.us/v3/__http://docenti.unibas.it/site/home/docente.html?m=002423__;!!G_uCfscf7eWS!abF6mWj2v5ivSvUET6QFY34S5Jw6daKMHiS5E9ztz2YbV2jQPr-0WGi09d7IEArZlAwqdLwjjsQeUl2PlNwJMcq6AAnRpMwHc3Q$
  
<https://urldefense.us/v3/__http://docenti.unibas.it/site/home/docente.html?m=002423__;!!G_uCfscf7eWS!aMKmGG4aim9XcbNSnDyHUkDyhUkQHGZ-u-xX2C-sycYUMmtTij6AwqsQbZPXJSvPp9KUfgwRJK2Ok6Me2BLgO0en1w4QF2fHo7s$>



--
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!abF6mWj2v5ivSvUET6QFY34S5Jw6daKMHiS5E9ztz2YbV2jQPr-0WGi09d7IEArZlAwqdLwjjsQeUl2PlNwJMcq6AAnRT1dw3uY$ <https://urldefense.us/v3/__http://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!abF6mWj2v5ivSvUET6QFY34S5Jw6daKMHiS5E9ztz2YbV2jQPr-0WGi09d7IEArZlAwqdLwjjsQeUl2PlNwJMcq6AAnRaIPU6qs$ >

Matthew,

thank you for providing the working C code.

I will ba back to you in case I need further advice.

Regards,

Aldo

--
Dr. Aldo Bonfiglioli
Associate professor of Fluid Mechanics
Dipartimento di Ingegneria
Universita' della Basilicata
V.le dell'Ateneo Lucano, 10 85100 Potenza ITALY
tel:+39.0971.205203 fax:+39.0971.205215
web:https://urldefense.us/v3/__http://docenti.unibas.it/site/home/docente.html?m=002423__;!!G_uCfscf7eWS!abF6mWj2v5ivSvUET6QFY34S5Jw6daKMHiS5E9ztz2YbV2jQPr-0WGi09d7IEArZlAwqdLwjjsQeUl2PlNwJMcq6AAnRpMwHc3Q$

Reply via email to