[Gmsh] Refine by splitting (tetrahedral meshes)
Jose Paulo Moitinho de Almeida
moitinho at civil.ist.utl.pt
Mon Apr 8 11:37:41 CEST 2019
Hello
Trying to understand the quality of the meshes obtained when using the "Refine
by splitting" option I looked at the code in Mesh/meshRefine.cpp
After some digging I came to realise why the comment at line 198 is there,
>> // FIXME: we should choose the template to maximize the quality
at first thinking that the "right choice" would imply some geometry
calculations.
Then I found
> Bey, Jürgen. "Simplicial grid refinement: on Freudenthal's algorithm and the
> optimal number of congruence classes." Numerische Mathematik 85.1 (2000):
> 1-29.
and updated the template using the sequence in Algorithm RedRefinement3D
therein.
At first the result was not correct, but a simple switch of indices made it
work. Starting with a mesh where all elements are equal we obtain refined
meshes with elements of 3 shapes and for a non-regular mesh the properties of
the elements stabilise.
The code is attached, I hope it is useful.
(I know that this could be done in a more efficient way with git. Sorry I will
learn how to do that next week..).
Regards
ZP
-------------- next part --------------
A non-text attachment was scrubbed...
Name: meshRefine.cpp
Type: text/x-c++src
Size: 33867 bytes
Desc: not available
URL: <http://onelab.info/pipermail/gmsh/attachments/20190408/1826fdb9/attachment-0001.cpp>
More information about the gmsh
mailing list