[Gmsh] The volume of the second order tetrahedron

Christophe Geuzaine cgeuzaine at ulg.ac.be
Mon Mar 14 07:28:38 CET 2011


On 14/03/11 06:26, Mikhail Artemiev wrote:
> Hello.
> Dear Christophe,
> is there any parameter in gmsh to handle the distribution of the second
> order additional nodes?
> I mean - can I change any parameter to stand these additional nodes at
> the middles of the edges regadless curvilinear geometry?
>

Hi Mikhail,

Yes: to insert the high order nodes by linear interpolation on the 
straight edges, set "Mesh.SecondOrderLinear=1;".

If you want the high order nodes to be equispaced in parameter space, 
but still on the curved edges, you;ll have to slightly modify the source 
code (cf. computeEquidistantParameters in Mesh/HighOrder.cpp)

Christophe

> Thanks
> Mikhail Artemiev
>
> ----- Original Message ----- From: "Christophe Geuzaine"
> <cgeuzaine at ulg.ac.be>
> To: "Geordie McBain" <gdmcbain at freeshell.org>
> Cc: "Mikhail Artemiev" <artemiev.mikhail at ngs.ru>; <gmsh at geuz.org>
> Sent: Wednesday, March 09, 2011 2:37 PM
> Subject: Re: [Gmsh] The volume of the second order tetrahedron
>
>
>> On 08/03/11 04:46, Geordie McBain wrote:
>>> 2011/3/7 Mikhail Artemiev<artemiev.mikhail at ngs.ru>:
>>>>>> Hello, Geordie.
>>>>>> Thank you for reply.
>>>>>> I used "Tools - Visibility - Numeric - Mesh - Hide all elements -
>>>>>> Show
>>>>>> Element (for instance, 1365)" to draw that figure.
>>>>>
>>>>> Oh right, O.K. It's a funny looking shape, isn't it. Perhaps that's
>>>>> just how Gmsh depicts nonlinear elements?
>>>>
>>>> It's a very important question!
>>>
>>> Indeed. I don't know much about the internals of the Gmsh, but let's
>>> see if we can't make some progress.
>>>
>>>> Please, look at 2 figures:
>>>> this is a shpere that was approximated by first order tets
>>>> http://saveimg.ru/show-image.php?id=47cdfa0e6f7a01f5dee8880c7081e151
>>>> this is a sphere that was approximated by second order tets
>>>> http://saveimg.ru/show-image.php?id=fa66051392be4e36e2262055272170e1
>>>> These 2 meshes was created by gmsh from one geo file (and with the same
>>>> characteristic lengths).
>>>
>>> It looks as though all the nodes on the outer six-node triangular
>>> faces of the ten-node tetrahedra lie on the geometric sphere. Is that
>>> right? If so, that's good, and your quadratic mesh is a better
>>> representation of the geometry than the linear one.
>>>
>>>> I will wonder if it is a feature of visualization.
>>>
>>> Why? I don't know how the visualizer works internally but if (say)
>>> all it can do is depict triangles, then what it's showing is a
>>> reasonable representation of a quadratic tetrahedron, isn't it?
>>>
>>
>> Hello - The visualization of high-order mesh elements can be enhanced
>> with the following "Mesh.NumSubEdges" option (default=2),. For example:
>>
>> gmsh demos/sphere.geo -clscale 4 -order 4 -string "Mesh.NumSubEdges=10;"
>>
>>
>>
>>
>>>> Standard 10-node second order tetrahedron differs from 4-node first
>>>> order
>>>> tetrahedron by adding 6 node in the middles of the edges of
>>>> tetrahedron.
>>>
>>> No, the additional six nodes don't have to be on the midpoints of the
>>> edges of the tetrahedron. They can be, and probably will be if you're
>>> only meshing a polyhedron, but in general no. There are some
>>> restrictions, they can't be just anywhere (or the Jacobian of the
>>> transformation from the canonical element will change sign within the
>>> element), but they can move around a bit, and indeed this is most
>>> desirable when meshing a curved geometry.
>>>
>>>> I think that gmsh not only adds new 6 nodes but changes the
>>>> coordinates of
>>>> these nodes too.
>>>
>>> Perhaps to make them lie on the geometric sphere?
>>>
>>>> Therefore we have nonstandard 10-node quadratic tetrahedron and the
>>>> formulae
>>>> of the shape functions defined on the standard one don't work.
>>>
>>> I think they will. I'm still hopeful this is a standard quadratic
>>> tetrahedron. In terms of figure 4.3.1 on p. 228 of Ciarlet's book,
>>> referred to earlier, I trust that these are are `isoparametric'
>>> tetrahedra `of type (2)'; you'll also find drawings of `three
>>> isoparametric tetrahedra of type (2)' in figure 4.4.2 on p. 251.
>>>
>>>> Am I wrong?
>>>
>>> I'm not sure, but I'm hopeful Gmsh is correctly approximating `a
>>> curved boundary with isoparametric finite element' as described by
>>> Ciarlet pp. 248 ff.
>>>
>>> I presume the same thing happens in two-dimensions, e.g. using 6-node
>>> triangles to mesh a sector. I've tried this, as attached. It looks
>>> good. In sector.png, I've gotten Gmsh to number the nodes, as they
>>> appear in sector.msh, which was generated by "gmsh -2 -order 2
>>> sector.geo". The edges of each triangle along the geometric perimeter
>>> aren't drawn as curves (parabolas), but I think that's just economy of
>>> depiction, and we're free to treat the elements as isoparametric
>>> triangles of type (2), no?
>>>
>>>
>>>
>>> _______________________________________________
>>> gmsh mailing list
>>> gmsh at geuz.org
>>> http://www.geuz.org/mailman/listinfo/gmsh
>>
>>
>> --
>> Prof. Christophe Geuzaine
>> University of Liege, Electrical Engineering and Computer Science
>> http://www.montefiore.ulg.ac.be/~geuzaine
>
>


-- 
Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science
http://www.montefiore.ulg.ac.be/~geuzaine