[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.


Thanks!


Vilmer

________________________________
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?

  Thanks,

     Matt
--
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://www.cse.buffalo.edu/~knepley/<http://www.cse.buffalo.edu/~knepley/>
-------------- 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