[Gmsh] Bug with transfinite interface

Quentin Goestchel quentin.goestchel at ens-cachan.fr
Fri May 25 16:26:55 CEST 2018


Dear Sir or Madam,

I would like to thank you for the great work which has been done to 
develop the open-source Gmsh software.

I am currently working on a 3D numerical method and I think I have found 
a bug in the 3D meshing algorithm. I was trying to generate a 
transfinite bulk in a mesh (to have a constant orthogonality of the 
elements), and an unstructured layer around it, as shown in the enclosed 
"sphereTransfinite.png".

Everything was going fine until I noticed a big error on my discretized 
spherical surface, computed with the sum of the areas of the boundary 
faces. I found out that my code was unable to find the neighbours of 
many tetrahedrons around the bulk mesh because many faces were not 
matching but crossing each other edges, as shown in 
sphereTransfinite_err.png .

I didn't find any topics about such problem so I assume that you didn't 
know about it, but I might be wrong.

Best regards,

-- 
Quentin Goestchel  | /Etudiant - Année ARPE /
Département Génie Civil
+33(0)6 83 75 57 53 <tel:+33683755753>  | 
quentin.goestchel at ens-paris-saclay.fr 
<mailto:prenom.nom at ens-paris-saclay.fr>
ENS Cachan - 61 avenue du Président Wilson 94235 Cachan CEDEX 
<geo://?q=61+Avenue+du+Pr%C3%A9sident+Wilson+Cachan+France>
www.ens-paris-saclay.fr <http://www.ens-paris-saclay.fr>

<http://www.ens-paris-saclay.fr>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://onelab.info/pipermail/gmsh/attachments/20180525/523a6819/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: imblgnlknopffhfn.png
Type: image/png
Size: 2619 bytes
Desc: not available
URL: <http://onelab.info/pipermail/gmsh/attachments/20180525/523a6819/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sphereTransfinite.png
Type: image/png
Size: 31630 bytes
Desc: not available
URL: <http://onelab.info/pipermail/gmsh/attachments/20180525/523a6819/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sphereTransfinite_err.png
Type: image/png
Size: 29740 bytes
Desc: not available
URL: <http://onelab.info/pipermail/gmsh/attachments/20180525/523a6819/attachment-0005.png>
-------------- next part --------------
lc = 1;
ls = lc;
r = 5; // Radius of the sphere
Br = r/2; //Cubic bulk dimension
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
//                               Internal cube 
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Point(8) = {Br, Br, Br, ls};
Point(9) = {Br, -Br, -Br, ls};
Point(10) = {Br, -Br, Br, ls};
Point(11) = {-Br, -Br, Br, ls};
Point(12) = {-Br, -Br, -Br, ls};
Point(13) = {-Br, Br, -Br, ls};
Point(14) = {Br, Br, -Br, ls};
Point(15) = {-Br, Br, Br, ls};
Line(13) = {14, 8};
Line(14) = {8, 10};
Line(15) = {10, 9};
Line(16) = {9, 14};
Line(17) = {14, 13};
Line(18) = {13, 12};
Line(19) = {12, 11};
Line(20) = {11, 15};
Line(21) = {15, 13};
Line(22) = {8, 15};
Line(23) = {11, 10};
Line(24) = {12, 9};
Line Loop(28) = {16, 13, 14, 15};
Plane Surface(29) = {28};
Line Loop(29) = {17, -21, -22, -13};
Plane Surface(30) = {29};
Line Loop(30) = {22, -20, 23, -14};
Plane Surface(31) = {30};
Line Loop(31) = {20, 21, 18, 19};
Plane Surface(32) = {31};
Line Loop(32) = {17, 18, 24, 16};
Plane Surface(33) = {32};
Line Loop(33) = {24, -15, -23, -19};
Plane Surface(34) = {33};
Surface Loop(30) = {33, 30, 32, 31, 34, 29};

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
//                               Spherical boundary 
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Point(1) = {0.0,0.0,0.0,lc};
Point(2) = {r,0.0,0.0,ls};
Point(3) = {0,r,0.0,ls};
Point(4) = {-r,0,0.0,ls};
Point(5) = {0,-r,0.0,ls};
Point(6) = {0,0,-r,ls};
Point(7) = {0,0,r,ls};
Circle(1) = {2,1,3};
Circle(2) = {3,1,4};
Circle(3) = {4,1,5};
Circle(4) = {5,1,2};
Circle(5) = {3,1,6};
Circle(6) = {6,1,5};
Circle(7) = {5,1,7};
Circle(8) = {7,1,3};
Circle(9) = {2,1,7};
Circle(10) = {7,1,4};
Circle(11) = {4,1,6};
Circle(12) = {6,1,2};
Line Loop(13) = {2,8,-10};
Line Loop(15) = {10,3,7};
Line Loop(17) = {-8,-9,1};
Line Loop(19) = {-11,-2,5};
Line Loop(21) = {-5,-12,-1};
Line Loop(23) = {-3,11,6};
Line Loop(25) = {-7,4,9};
Line Loop(27) = {-4,12,-6};
Surface(14) = {13};
Surface(16) = {15};
Surface(18) = {17};
Surface(20) = {19};
Surface(22) = {21};
Surface(24) = {23};
Surface(26) = {25};
Surface(28) = {27};
Surface Loop(29) = {28,26,16,14,20,24,22,18};
Volume(30) = {30,29};
Volume(31) = {30};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
//                               Structured mesh 
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

Transfinite Line {21, 20, 19, 18, 24, 15, 16, 13, 17, 22, 14, 23} = 2*Br/lc+1 Using Progression 1;
Transfinite Surface {30};
Transfinite Surface {33};
Transfinite Surface {34};
Transfinite Surface {31};
Transfinite Surface {32};
Transfinite Surface {29};
//Recombine Surface{30,33,34,31,32,29};
Transfinite Volume{31} = {8, 14, 9, 10, 15, 13, 12, 11};
Physical Volume(1) = {30,31};
Coherence Mesh;


More information about the gmsh mailing list