[petsc-users] Issues creating DMPlex from higher order mesh generated by gmsh

Vilmer Dahlberg vilmer.dahlberg at solid.lth.se
Wed May 24 05:45:12 CDT 2023

Hi Matt and Jed,

Thanks for your replies.

I did not consider that distinction Matt, that makes clearer. Maybe it's time to the DAG-stuff on the documentation another attempt...

Jed, could you point me in the direction of a possible solution to this, if there exists one? In my (FEM) application I'm not using the weak-form stuff, but do I use PetscFE to describe my data layout and access it with DMPlexVec(Mat)Set(Get)Closure and friends.



Från: Matthew Knepley <knepley at gmail.com>
Skickat: den 15 maj 2023 15:42:20
Till: Jed Brown
Kopia: Vilmer Dahlberg; petsc-users at mcs.anl.gov
Ämne: Re: [petsc-users] Issues creating DMPlex from higher order mesh generated by gmsh

On Mon, May 15, 2023 at 9:30 AM Jed Brown <jed at jedbrown.org<mailto:jed at jedbrown.org>> wrote:
Matthew Knepley <knepley at gmail.com<mailto:knepley at gmail.com>> writes:

> On Fri, May 5, 2023 at 10:55 AM Vilmer Dahlberg via petsc-users <
> petsc-users at mcs.anl.gov<mailto:petsc-users at mcs.anl.gov>> wrote:
>> Hi.
>> I'm trying to read a mesh of higher element order, in this example a mesh
>> consisting of 10-node tetrahedral elements, from gmsh, into PETSC. But It
>> looks like the mesh is not properly being loaded and converted into a
>> DMPlex. gmsh tells me it has generated a mesh with 7087 nodes, but when I
>> view my dm object it tells me it has 1081 0-cells. This is the printout I
>> get
> Hi Vilmer,
> Plex makes a distinction between topological entities, like vertices, edges
> and cells, and the function spaces used to represent fields, like velocity
> or coordinates. When formats use "nodes", they mix the two concepts
> together.
> You see that if you add the number of vertices and edges, you get 7087,
> since for P2 there is a "node" on every edge. Is anything else wrong?

Note that quadratic (and higher order) tets are broken with the Gmsh reader. It's been on my todo list for a while.

As an example, this works when using linear elements (the projection makes them quadratic and visualization is correct), but is tangled when holes.msh is quadratic.

$ $PETSC_ARCH/tests/dm/impls/plex/tutorials/ex1 -dm_plex_filename ~/meshes/holes.msh -dm_view cgns:s.cgns -dm_coord_petscspace_degree 2

Projection to the continuous space is broken because we do not have the lexicographic order on simplicies done. Are you sure you are projecting into the broken space?


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20230524/7e1a42ab/attachment.html>

More information about the petsc-users mailing list