[Gmsh] Curvilinear meshing

Jonathan Viquerat jonathan.viquerat at inria.fr
Sat Apr 27 19:42:14 CEST 2013


Dear gmsh dev, 


First of all, thanks for that great software that makes 


I am currently trying to achieve a very simple goal, which is meshing a unit-radius sphere with curvilinear tetrahedrons on the boundary, but I seem unable to do it properly. 
I use the following .geo file : 



// Spherical domain 


Mesh.ElementOrder = 2; 
Mesh.SecondOrderLinear = 0; 
Mesh.CharacteristicLengthMax = 0.3; 
Mesh.HighOrderOptimize = 5; 


// Parameters 
h = 0.3; 
r = 1.0; 


// Sphere 


Point (1) = {0,0,0,h}; 
Point (2) = {r,0,0,h}; 
Point (3) = {0,r,0,h}; 
Point (4) = {-r,0,0,h}; 
Point (5) = {0,-r,0,h}; 
Point (6) = {0,0,r,h}; 
Point (7) = {0,0,-r,h}; 


Circle (1) = {2,1,3}; 
Circle (2) = {3,1,4}; 
Circle (3) = {4,1,5}; 
Circle (4) = {5,1,2}; 
Circle (5) = {6,1,3}; 
Circle (6) = {3,1,7}; 
Circle (7) = {7,1,5}; 
Circle (8) = {5,1,6}; 


Line Loop (1) = {1,6,7,4}; 
Line Loop (2) = {1,-5,-8,4}; 
Line Loop (3) = {2,3,-7,-6}; 
Line Loop (4) = {2,3,8,5}; 


Ruled Surface (1) = {1} In Sphere {1}; 
Ruled Surface (2) = {2} In Sphere {1}; 
Ruled Surface (3) = {3} In Sphere {1}; 
Ruled Surface (4) = {4} In Sphere {1}; 


Surface Loop (1) = {1,2,3,4}; 


Physical Surface (2) = {1,2,3,4}; 


// Volumes 


Volume (1) = {1}; 


Physical Volume (1) = {1}; 


and then launch the gmsh mesher as follows : 


gmsh curvspheres.geo -3 -hoOptimize -o curvspheres.msh 


which gives me the following output : 



Info : Running 'gmsh curvspheres.geo -3 -hoOptimize -o curvspheres.msh' [Gmsh 2.7.0, 1 node, max. 1 thread] 
Info : Started on Sat Apr 27 19:34:55 2013 
Info : Reading 'curvspheres.geo'... 
Info : Done reading 'curvspheres.geo' 
Info : Meshing 1D... 
Info : Meshing curve 1 (Circle) 
Info : Meshing curve 2 (Circle) 
Info : Meshing curve 3 (Circle) 
Info : Meshing curve 4 (Circle) 
Info : Meshing curve 5 (Circle) 
Info : Meshing curve 6 (Circle) 
Info : Meshing curve 7 (Circle) 
Info : Meshing curve 8 (Circle) 
Info : Done meshing 1D (0.000982 s) 
Info : Meshing 2D... 
Info : Meshing surface 1 (Ruled surface, MeshAdapt) 
Info : Meshing surface 2 (Ruled surface, MeshAdapt) 
Info : Meshing surface 3 (Ruled surface, MeshAdapt) 
Info : Meshing surface 4 (Ruled surface, MeshAdapt) 
Info : Done meshing 2D (0.07429 s) 
Info : Meshing 3D... 
Info : Meshing volume 1 (Delaunay) 
Delaunizing vertices... 
Delaunay seconds: 0.037122 
Creating surface mesh ... 
Surface mesh seconds: 0.00093 
Recovering boundaries... 
Boundary recovery seconds: 0.001441 
Removing exterior tetrahedra ... 
Exterior tets removal seconds: 0.000317 
Suppressing Steiner points ... 
Steiner suppression seconds: 2.6e-05 
Recovering Delaunayness... 
Delaunay recovery seconds: 0.011951 
Optimizing mesh... 
Optimization seconds: 0.000587 


Writing nodes. 
Writing elements. 
Writing faces. 
Writing edges. 


Output seconds: 0.000599 
Total running seconds: 0.053066 


Statistics: 


Input points: 243 
Input facets: 482 
Input segments: 723 
Input holes: 0 
Input regions: 0 


Mesh points: 243 
Mesh tetrahedra: 677 
Mesh faces: 1595 
Mesh edges: 1160 
Mesh boundary faces: 482 
Mesh boundary edges: 723 


Info : 243 points 723 edges and 482 faces in the final mesh 
Info : a region is found 0x1036410b0 
Info : 243 points created -- Worst tet radius is 9.91345 (MISSES 0 0) 
Info : Done meshing 3D (0.081036 s) 
Info : Meshing order 2 (curvilinear on)... 
Info : Meshing curve 1 order 2 
Info : Meshing curve 2 order 2 
Info : Meshing curve 3 order 2 
Info : Meshing curve 4 order 2 
Info : Meshing curve 5 order 2 
Info : Meshing curve 6 order 2 
Info : Meshing curve 7 order 2 
Info : Meshing curve 8 order 2 
Info : Meshing surface 1 order 2 
Info : Meshing surface 2 order 2 
Info : Meshing surface 3 order 2 
Info : Meshing surface 4 order 2 
Info : Meshing volume 1 order 2 
Warning : Surface mesh : Worst Face Distorsion Mapping -0.127182 (25 negative jacobians) Worst Gamma 0.253364 Avg Smoothness 0.70106 
Warning : Final surface mesh : Worst Face Distorsion Mapping -0.127182 (25 negative jacobians) Worst Gamma 0.253364 Avg Smoothness 0.70106 
Warning : Volume Mesh : Worst Tetrahedron Smoothness -3.0707 (1390 negative jacobians) Avg Smoothness -0.104472 
Info : Done meshing order 2 (0.011952 s) 
Info : 4108 vertices 3266 elements 
Warning : ------------------------------ 
Warning : Mesh generation error summary 
Warning : 3 warnings 
Warning : 0 errors 
Warning : Check the full log for details 
Warning : ------------------------------ 
Info : Writing 'curvspheres.msh'... 
Info : Done writing 'curvspheres.msh' 


The sight of the latter draws several questions from my aching mind : 


- I can't find any optimization step in the output, as I could see when meshing with "flat" tetrahedrons and using the option -optimize; Is that normal ? 
- I tried many things to get rid of the negative jacobians, but couldn't. How could I ? That is most certainly linked to the previous question; 
- Is there a way to know the number of flat and curved tetrahedrons in the ouput ? 


In advance, many thanks for your answers. 


Regards, 


J. Viquerat 
INRIA Sophia Antipolis - Nachos team 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.geuz.org/pipermail/gmsh/attachments/20130427/3d7ccdfb/attachment.html>