[petsc-users] Gmsh 8-noded quadrilateral

Jed Brown jed at jedbrown.org
Thu Feb 10 17:47:01 CST 2022


Susanne, do you want PetscFE to make the serendipity (8-node) finite element space or do you just want to read these meshes? I.e., would it be okay with you if the coordinates were placed in a Q_2 (9-node, biquadratic) finite element space?

This won't matter if you're traversing the dofs per edge manually, but there are some efficiency benefits of using the Q_2 space (especially if your code can use the tensor product, perhaps via a library like libCEED). Note that Q_2 spaces have better stability properties. For example, the Q_2 space is inf-sup stable with P_1 discontinuous pressure (gives third order L^2 and second order H^1 convergence), but serendipity (8-node) is only stable with piecewise constant pressure (gives second order L^2 and first order H^1 convergence).

Susanne Claus <susanne.claus at onera.fr> writes:

> Dear Matthew,
>
> Thank you so much.
> I have a attached a small 8-noded quadrilateral mesh file (Version 4 
> ASCII) generated with gmsh 4.8.4.
>
> Best wishes,
> Susanne
>
> On 10.02.2022 16:23, Matthew Knepley wrote:
>
>> On Thu, Feb 10, 2022 at 10:12 AM Susanne Claus <susanne.claus at onera.fr> 
>> wrote:
>> 
>>> Hello,
>>> 
>>> I am using DMPlex for the mesh structure of a solid mechanics finite 
>>> element code. I mainly use gmsh as input file format. When I try to 
>>> read in 8-noded Quadrilaterals (Element type 16 in gmsh) DMPlex tells 
>>> me that this element type is unknown. However a 9-noded Quadrilateral 
>>> can be read without problem. On inspecting the plexgmsh.c source code 
>>> I can see that 8-noded quadrilaterals are deactivated:
>>> 
>>> #if 0
>>> 146:   {20, GMSH_TRI, 2, 3, 3,  9, NULL},
>>> 147:   {16, GMSH_QUA, 2, 2, 4,  8, NULL},
>>> 
>>> For our application these 8-noded quadrilateral are very important.
>>> 
>>> Is there any reason why they have not been implemented/deactivated in 
>>> the dmplex gmsh reader?
>> 
>> No, we can handle them in the same way I think. Let me look at it. 
>> Hopefully it is easy.
>> 
>> Thanks,
>> 
>> Matt
>> 
>>> Thank you for all the great work you are doing. PETSc is amazing.
>>> 
>>> Best wishes,
>>> Susanne Claus
>> 
>> --
>> 
>> 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/ [1]
>
> -- 
>
> Susanne Claus
> Ingénieur Chercheur
> Applied Mathematics and Scientific Computing Group
> DTIS
>
> ONERA - The French Aerospace Lab
> 6 Chemin de la Vauve aux Granges, 91120 Palaiseau
>
> Links:
> ------
> [1] http://www.cse.buffalo.edu/~knepley/
> $MeshFormat
> 4.1 0 8
> $EndMeshFormat
> $PhysicalNames
> 2
> 1 2 "Neumann"
> 2 1 "Domain"
> $EndPhysicalNames
> $Entities
> 4 4 1 0
> 1 0 0 0 0 
> 2 1 0 0 0 
> 3 1 1 0 0 
> 4 0 1 0 0 
> 1 -9.999999994736442e-08 -1e-07 -1e-07 1.0000001 1e-07 1e-07 0 2 1 -2 
> 2 0.9999999000000001 -9.999999994736442e-08 -1e-07 1.0000001 1.0000001 1e-07 1 2 2 2 -3 
> 3 -9.999999994736442e-08 0.9999999000000001 -1e-07 1.0000001 1.0000001 1e-07 0 2 3 -4 
> 4 -1e-07 -9.999999994736442e-08 -1e-07 1e-07 1.0000001 1e-07 0 2 4 -1 
> 1 -9.999999994736442e-08 -9.999999994736442e-08 -1e-07 1.0000001 1.0000001 1e-07 1 1 4 1 2 3 4 
> $EndEntities
> $Nodes
> 9 21 1 46
> 0 1 0 1
> 1
> 0 0 0
> 0 2 0 1
> 2
> 1 0 0
> 0 3 0 1
> 3
> 1 1 0
> 0 4 0 1
> 4
> 0 1 0
> 1 1 0 3
> 5
> 35
> 36
> 0.5 0 0
> 0.25 0 0
> 0.75 0 0
> 1 2 0 3
> 6
> 37
> 38
> 1 0.5 0
> 1 0.25 0
> 1 0.75 0
> 1 3 0 3
> 7
> 39
> 40
> 0.5 1 0
> 0.75 1 0
> 0.25 1 0
> 1 4 0 3
> 8
> 41
> 42
> 0 0.5 0
> 0 0.75 0
> 0 0.25 0
> 2 1 0 5
> 9
> 43
> 44
> 45
> 46
> 0.5 0.5 0
> 0.75 0.5 0
> 0.5 0.25 0
> 0.25 0.5 0
> 0.5 0.75 0
> $EndNodes
> $Elements
> 2 6 197 206
> 1 2 8 2
> 197 2 6 37 
> 198 6 3 38 
> 2 1 16 4
> 203 2 6 9 5 37 43 44 36 
> 204 1 5 9 8 35 44 45 42 
> 205 4 8 9 7 41 45 46 40 
> 206 3 7 9 6 39 46 43 38 
> $EndElements


More information about the petsc-users mailing list