<html><head><style type='text/css'>p { margin: 0; }</style></head><body><div style='font-family: times new roman,new york,times,serif; font-size: 12pt; color: #000000'><font face="times new roman, new york, times, serif" size="3">Dear gmsh dev,</font><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;"><br></div><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;">First of all, thanks for that great software that makes </div><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;"><br></div><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;">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.</div><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;">I use the following .geo file :</div><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;"><br></div><div><div><font face="times new roman, new york, times, serif" size="2">// Spherical domain</font></div><div><font face="times new roman, new york, times, serif" size="2"><br></font></div><div><font face="times new roman, new york, times, serif" size="2">Mesh.ElementOrder = 2;</font></div><div><font face="times new roman, new york, times, serif" size="2">Mesh.SecondOrderLinear = 0;</font></div><div><font face="times new roman, new york, times, serif" size="2">Mesh.CharacteristicLengthMax = 0.3;</font></div><div><font face="times new roman, new york, times, serif" size="2">Mesh.HighOrderOptimize = 5;</font></div><div><font face="times new roman, new york, times, serif" size="2"><br></font></div><div><font face="times new roman, new york, times, serif" size="2">// Parameters</font></div><div><font face="times new roman, new york, times, serif" size="2">h = 0.3;</font></div><div><font face="times new roman, new york, times, serif" size="2">r = 1.0;</font></div><div><font face="times new roman, new york, times, serif" size="2"><br></font></div><div><font face="times new roman, new york, times, serif" size="2">// Sphere</font></div><div><font face="times new roman, new york, times, serif" size="2"><br></font></div><div><font face="times new roman, new york, times, serif" size="2">Point (1) = {0,0,0,h};</font></div><div><font face="times new roman, new york, times, serif" size="2">Point (2) = {r,0,0,h};</font></div><div><font face="times new roman, new york, times, serif" size="2">Point (3) = {0,r,0,h};</font></div><div><font face="times new roman, new york, times, serif" size="2">Point (4) = {-r,0,0,h};</font></div><div><font face="times new roman, new york, times, serif" size="2">Point (5) = {0,-r,0,h};</font></div><div><font face="times new roman, new york, times, serif" size="2">Point (6) = {0,0,r,h};</font></div><div><font face="times new roman, new york, times, serif" size="2">Point (7) = {0,0,-r,h};</font></div><div><font face="times new roman, new york, times, serif" size="2"><br></font></div><div><font face="times new roman, new york, times, serif" size="2">Circle (1) = {2,1,3};</font></div><div><font face="times new roman, new york, times, serif" size="2">Circle (2) = {3,1,4};</font></div><div><font face="times new roman, new york, times, serif" size="2">Circle (3) = {4,1,5};</font></div><div><font face="times new roman, new york, times, serif" size="2">Circle (4) = {5,1,2};</font></div><div><font face="times new roman, new york, times, serif" size="2">Circle (5) = {6,1,3};</font></div><div><font face="times new roman, new york, times, serif" size="2">Circle (6) = {3,1,7};</font></div><div><font face="times new roman, new york, times, serif" size="2">Circle (7) = {7,1,5};</font></div><div><font face="times new roman, new york, times, serif" size="2">Circle (8) = {5,1,6};</font></div><div><font face="times new roman, new york, times, serif" size="2"><br></font></div><div><font face="times new roman, new york, times, serif" size="2">Line Loop (1) = {1,6,7,4};</font></div><div><font face="times new roman, new york, times, serif" size="2">Line Loop (2) = {1,-5,-8,4};</font></div><div><font face="times new roman, new york, times, serif" size="2">Line Loop (3) = {2,3,-7,-6};</font></div><div><font face="times new roman, new york, times, serif" size="2">Line Loop (4) = {2,3,8,5};</font></div><div><font face="times new roman, new york, times, serif" size="2"><br></font></div><div><font face="times new roman, new york, times, serif" size="2">Ruled Surface (1) = {1} In Sphere {1};</font></div><div><font face="times new roman, new york, times, serif" size="2">Ruled Surface (2) = {2} In Sphere {1};</font></div><div><font face="times new roman, new york, times, serif" size="2">Ruled Surface (3) = {3} In Sphere {1};</font></div><div><font face="times new roman, new york, times, serif" size="2">Ruled Surface (4) = {4} In Sphere {1};</font></div><div><font face="times new roman, new york, times, serif" size="2"><br></font></div><div><font face="times new roman, new york, times, serif" size="2">Surface Loop (1) = {1,2,3,4};</font></div><div><font face="times new roman, new york, times, serif" size="2"><br></font></div><div><font face="times new roman, new york, times, serif" size="2">Physical Surface (2) = {1,2,3,4};</font></div><div><font face="times new roman, new york, times, serif" size="2"><br></font></div><div><font face="times new roman, new york, times, serif" size="2">// Volumes</font></div><div><font face="times new roman, new york, times, serif" size="2"><br></font></div><div><font face="times new roman, new york, times, serif" size="2">Volume (1) = {1};</font></div><div><font face="times new roman, new york, times, serif" size="2"><br></font></div><div><font face="times new roman, new york, times, serif" size="2">Physical Volume (1) = {1};</font></div></div><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;"><br></div><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;">and then launch the gmsh mesher as follows :</div><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;"><br></div><div><font face="times new roman, new york, times, serif">gmsh curvspheres.geo -3 -hoOptimize -o curvspheres.msh</font></div><div><font face="times new roman, new york, times, serif"><br></font></div><div><font face="times new roman, new york, times, serif">which gives me the following output :</font></div><div><font face="times new roman, new york, times, serif"><br></font></div><div><font face="times new roman, new york, times, serif"><div><font size="2">Info    : Running 'gmsh curvspheres.geo -3 -hoOptimize -o curvspheres.msh' [Gmsh 2.7.0, 1 node, max. 1 thread]</font></div><div><font size="2">Info    : Started on Sat Apr 27 19:34:55 2013</font></div><div><font size="2">Info    : Reading 'curvspheres.geo'...</font></div><div><font size="2">Info    : Done reading 'curvspheres.geo'</font></div><div><font size="2">Info    : Meshing 1D...</font></div><div><font size="2">Info    : Meshing curve 1 (Circle)</font></div><div><font size="2">Info    : Meshing curve 2 (Circle)</font></div><div><font size="2">Info    : Meshing curve 3 (Circle)</font></div><div><font size="2">Info    : Meshing curve 4 (Circle)</font></div><div><font size="2">Info    : Meshing curve 5 (Circle)</font></div><div><font size="2">Info    : Meshing curve 6 (Circle)</font></div><div><font size="2">Info    : Meshing curve 7 (Circle)</font></div><div><font size="2">Info    : Meshing curve 8 (Circle)</font></div><div><font size="2">Info    : Done meshing 1D (0.000982 s)</font></div><div><font size="2">Info    : Meshing 2D...</font></div><div><font size="2">Info    : Meshing surface 1 (Ruled surface, MeshAdapt)</font></div><div><font size="2">Info    : Meshing surface 2 (Ruled surface, MeshAdapt)</font></div><div><font size="2">Info    : Meshing surface 3 (Ruled surface, MeshAdapt)</font></div><div><font size="2">Info    : Meshing surface 4 (Ruled surface, MeshAdapt)</font></div><div><font size="2">Info    : Done meshing 2D (0.07429 s)</font></div><div><font size="2">Info    : Meshing 3D...</font></div><div><font size="2">Info    : Meshing volume 1 (Delaunay)</font></div><div><font size="2">Delaunizing vertices...</font></div><div><font size="2">Delaunay seconds:  0.037122</font></div><div><font size="2">Creating surface mesh ...</font></div><div><font size="2">Surface mesh seconds:  0.00093</font></div><div><font size="2">Recovering boundaries...</font></div><div><font size="2">Boundary recovery seconds:  0.001441</font></div><div><font size="2">Removing exterior tetrahedra ...</font></div><div><font size="2">Exterior tets removal seconds:  0.000317</font></div><div><font size="2">Suppressing Steiner points ...</font></div><div><font size="2">Steiner suppression seconds:  2.6e-05</font></div><div><font size="2">Recovering Delaunayness...</font></div><div><font size="2">Delaunay recovery seconds:  0.011951</font></div><div><font size="2">Optimizing mesh...</font></div><div><font size="2">Optimization seconds:  0.000587</font></div><div><font size="2"><br></font></div><div><font size="2">Writing nodes.</font></div><div><font size="2">Writing elements.</font></div><div><font size="2">Writing faces.</font></div><div><font size="2">Writing edges.</font></div><div><font size="2"><br></font></div><div><font size="2">Output seconds:  0.000599</font></div><div><font size="2">Total running seconds:  0.053066</font></div><div><font size="2"><br></font></div><div><font size="2">Statistics:</font></div><div><font size="2"><br></font></div><div><font size="2">  Input points: 243</font></div><div><font size="2">  Input facets: 482</font></div><div><font size="2">  Input segments: 723</font></div><div><font size="2">  Input holes: 0</font></div><div><font size="2">  Input regions: 0</font></div><div><font size="2"><br></font></div><div><font size="2">  Mesh points: 243</font></div><div><font size="2">  Mesh tetrahedra: 677</font></div><div><font size="2">  Mesh faces: 1595</font></div><div><font size="2">  Mesh edges: 1160</font></div><div><font size="2">  Mesh boundary faces: 482</font></div><div><font size="2">  Mesh boundary edges: 723</font></div><div><font size="2"><br></font></div><div><font size="2">Info    : 243 points 723 edges and 482 faces in the final mesh</font></div><div><font size="2">Info    : a region is found 0x1036410b0</font></div><div><font size="2">Info    : 243 points created -- Worst tet radius is 9.91345 (MISSES 0 0)</font></div><div><font size="2">Info    : Done meshing 3D (0.081036 s)</font></div><div><font size="2">Info    : Meshing order 2 (curvilinear on)...</font></div><div><font size="2">Info    : Meshing curve 1 order 2</font></div><div><font size="2">Info    : Meshing curve 2 order 2</font></div><div><font size="2">Info    : Meshing curve 3 order 2</font></div><div><font size="2">Info    : Meshing curve 4 order 2</font></div><div><font size="2">Info    : Meshing curve 5 order 2</font></div><div><font size="2">Info    : Meshing curve 6 order 2</font></div><div><font size="2">Info    : Meshing curve 7 order 2</font></div><div><font size="2">Info    : Meshing curve 8 order 2</font></div><div><font size="2">Info    : Meshing surface 1 order 2</font></div><div><font size="2">Info    : Meshing surface 2 order 2</font></div><div><font size="2">Info    : Meshing surface 3 order 2</font></div><div><font size="2">Info    : Meshing surface 4 order 2</font></div><div><font size="2">Info    : Meshing volume 1 order 2</font></div><div><font size="2">Warning : Surface mesh : Worst Face Distorsion Mapping -0.127182 (25 negative jacobians) Worst Gamma 0.253364 Avg Smoothness 0.70106</font></div><div><font size="2">Warning : Final surface mesh : Worst Face Distorsion Mapping -0.127182 (25 negative jacobians) Worst Gamma 0.253364 Avg Smoothness 0.70106</font></div><div><font size="2">Warning : Volume Mesh : Worst Tetrahedron Smoothness -3.0707 (1390 negative jacobians) Avg Smoothness -0.104472</font></div><div><font size="2">Info    : Done meshing order 2 (0.011952 s)</font></div><div><font size="2">Info    : 4108 vertices 3266 elements</font></div><div><font size="2">Warning : ------------------------------</font></div><div><font size="2">Warning : Mesh generation error summary</font></div><div><font size="2">Warning :     3 warnings</font></div><div><font size="2">Warning :     0 errors</font></div><div><font size="2">Warning : Check the full log for details</font></div><div><font size="2">Warning : ------------------------------</font></div><div><font size="2">Info    : Writing 'curvspheres.msh'...</font></div><div><font size="2">Info    : Done writing 'curvspheres.msh'</font></div><div><br></div></font></div><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;">The sight of the latter draws several questions from my aching mind :</div><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;"><br></div><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;">- 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 ?</div><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;">- 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;</div><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;">- Is there a way to know the number of flat and curved tetrahedrons in the ouput ?</div><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;"><br></div><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;">In advance, many thanks for your answers.</div><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;"><br></div><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;">Regards,</div><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;"><br></div><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;">J. Viquerat</div><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;">INRIA Sophia Antipolis - Nachos team</div><div style="color: rgb(0, 0, 0); font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;"><br></div></div></body></html>