[Gmsh] Numbering of higher order elements

Aleksejs Fomins aleksejs.fomins at lspr.ch
Wed Jul 16 16:41:01 CEST 2014


Dear GMSH,

Martin, you helped me a lot, thank you :)


I have another question. There seem to be some higher order triangles in
the manual that are called "incomplete", in the sense that they have
less than usual DoF's by not putting any DoF's on the faces. I have 2
questions:

1) What does it mean from interpolatory point of view - are triangles
interpolated only using a subset of the lagrange polynomials required to
satisfy a given order?

2) Is this only a 2D concept, or can such triangles be integrated into
tetrahedral mesh as well? At the moment I do not see that being possible
since there are no incomplete tetrahedra in the description,
but I just wanted to check

Cheers,
Aleksejs


On 07/16/2014 04:17 PM, Benedikt Oswald wrote:
>> From: Martin Vymazal <martin.vymazal at vki.ac.be>
>> Subject: Re: [Gmsh] Numbering of higher order elements
>> Date: 16 Jul 2014 16:15:47 GMT+2
>> To: gmsh at geuz.org
>>
>> Hi Aleksejs,
>>
>> Below is a long explanation of what section 9.3.2 ('High Order Elements') in 
>> the GMSH reference manual means according to my understanding. I'm not a GMSH 
>> developer so please use the information below at your own risk.
>>
>> I will give you an example for tetrahedra. In the following, I suppose that 
>> the local numbering of DOFs starts from 0. 
>>
>> You have to apply recursively the following one rule in order to enumerate
>> your degrees of freedom:
>>
>> Labeling all DOFs processes all topological sub-entities of the reference 
>> element going from dimension 0 to higher dimensions. 
>>
>> This means that:
>>
>> 0) First you number all vertices: 0,1,2,3
>> 1) Then you number all remaining degrees of freedom on edges (1D entities)
>> 	of the tetrahedron: 
>> 	1a) edge 0-1 will have interior DOFs 4, ..., 3 + (P-1), going from vertex 0 
>> 		towards vertex 1;  P is polynomial order of your reference element
>>        1b) edge 1-2 will have interior DOFS 3+ (P-1) + 1, ..., 3 + 2*(P-1) 
>>        1c) edge 2-0
>>        1d) edge 3-0
>>        1e) edge 3-2
>>        1f)  edge 3-1
>>
>> At this point, all vertices and interior nodes on edges have assigned numbers.
>>
>> The next step is numbering the faces (2D entities) of the tetrahedon. Since 
>> each face already has numbers assigned, you only need to label interior face 
>> nodes. The interior itself is in fact a triangle of lower order, so you 
>> recursively apply the rule I mentioned above: label all vertices of this lower 
>> order triangle, then all edges. If there's anything left in the interior, 
>> repeat.
>>
>> The faces are processed in the following order:
>>
>> 2a) 0, 2, 1, where 0, 2 and 1 are vertices of the face
>> 2b) 0, 1, 3
>> 2c) 0, 3, 2
>> 2d) 3, 1, 2
>>
>> Now you have assigned numbers to all nodes on the 'skin' of your high-order 
>> tetra, and you can apply all of the above to the lower-order tetrahedron which 
>> is left inside.
>>
>> For more information, look in the source code: Geo/MTetrahedron.h
>>
>> What helped me a lot for code testing (I also needed to read GMSH files with 
>> high-order elements), was to generate a high-order mesh with a single element. 
>> Then I looked at what the *.msh file contains and compared with what I saw in 
>> the GUI. Don't forget that GMSH numbers the nodes in msh files starting from 
>> 1.
>>
>> Best regards,
>>
>>    Martin Vymazal
>>
>> On Wednesday 16 of July 2014 13:16:53 Aleksejs Fomins wrote:
>>> Dear GMSH developers,
>>>
>>> I am currently trying to write a .MSH reader application for our finite
>>> element code. I would like to read higher order curvilinear elements
>>> (triangles and tetrahedrons). For that I would like to know the exact
>>> ordering of nodes within a higher order element for each element order
>>> (1 to 5).
>>>
>>> In section 9.3.1 of the reference I found exactly what I needed for
>>> orders 1 and 2. Unfortunately, I am unable to understand the exact
>>> ordering mechanism for other orders from section 9.3.2.
>>>
>>> Can you please help me with this?
>>>
>>> Regards,
>>> Aleksejs Fomins
>>
>>
>> _______________________________________________
>> gmsh mailing list
>> gmsh at geuz.org
>> http://www.geuz.org/mailman/listinfo/gmsh

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 551 bytes
Desc: OpenPGP digital signature
URL: <http://www.geuz.org/pipermail/gmsh/attachments/20140716/aaa0c005/attachment.asc>