[Gmsh] a bug?

Sean Hardesty hardesty at caam.rice.edu
Thu Apr 22 06:06:23 CEST 2010


I attach two meshes in the text: star1.geo, and star2.geo. I can't get
gmsh 2.4.2 to do a 2D mesh of star1.geo; star2.geo is a simple
modification that makes it work. Is this a bug, or is there some
obvious reason that what I'm doing shouldn't work? This isn't
important - just a curiosity I ran into when demoing gmsh to a friend.

    Sean Hardesty

/* star1.geo */
lc = 0.04;
r = 1/2*Sqrt( 1/5*( 5 - 2*Sqrt( 5 ) ) );
R = Sqrt( 1/10 * ( 5 - Sqrt( 5 ) ) );
Point(1) = {0,0,0,lc};
Point(2) = {r*Cos( 0*2*Pi/5 + 2*Pi/10 ),r*Sin( 0*2*Pi/5 + 2*Pi/10 ),0,lc};
Point(3) = {r*Cos( 1*2*Pi/5 + 2*Pi/10 ),r*Sin( 1*2*Pi/5 + 2*Pi/10 ),0,lc};
Point(4) = {r*Cos( 2*2*Pi/5 + 2*Pi/10 ),r*Sin( 2*2*Pi/5 + 2*Pi/10 ),0,lc};
Point(5) = {r*Cos( 3*2*Pi/5 + 2*Pi/10 ),r*Sin( 3*2*Pi/5 + 2*Pi/10 ),0,lc};
Point(6) = {r*Cos( 4*2*Pi/5 + 2*Pi/10 ),r*Sin( 4*2*Pi/5 + 2*Pi/10 ),0,lc};
Point(7) = {R*Cos( 0*2*Pi/5 + 2*Pi/10 ),R*Sin( 0*2*Pi/5  ),0,lc};
Point(8) = {R*Cos( 1*2*Pi/5  ),R*Sin( 1*2*Pi/5  ),0,lc};
Point(9) = {R*Cos( 2*2*Pi/5  ),R*Sin( 2*2*Pi/5  ),0,lc};
Point(10) = {R*Cos( 3*2*Pi/5  ),R*Sin( 3*2*Pi/5  ),0,lc};
Point(11) = {R*Cos( 4*2*Pi/5  ),R*Sin( 4*2*Pi/5  ),0,lc};
Line(1) = {8,2};
Line(2) = {2,7};
Line(3) = {7,6};
Line(4) = {6,11};
Line(5) = {11,5};
Line(6) = {5,10};
Line(7) = {10,4};
Line(8) = {4,9};
Line(9) = {9,3};
Line(10) = {3,8};
Line Loop(11) = {1,2,3,4,5,6,7,8,9,10};
Plane Surface(12) = {11};

/* star2.geo */
lc = 0.04;
r = 1/2*Sqrt( 1/5*( 5 - 2*Sqrt( 5 ) ) );
R = Sqrt( 1/10 * ( 5 - Sqrt( 5 ) ) );
Point(1) = {0,0,0,lc};
Point(2) = {r*Cos( 0*2*Pi/5 + 2*Pi/10 ),r*Sin( 0*2*Pi/5 + 2*Pi/10 ),0,lc};
Point(3) = {r*Cos( 1*2*Pi/5 + 2*Pi/10 ),r*Sin( 1*2*Pi/5 + 2*Pi/10 ),0,lc};
Point(4) = {r*Cos( 2*2*Pi/5 + 2*Pi/10 ),r*Sin( 2*2*Pi/5 + 2*Pi/10 ),0,lc};
Point(5) = {r*Cos( 3*2*Pi/5 + 2*Pi/10 ),r*Sin( 3*2*Pi/5 + 2*Pi/10 ),0,lc};
Point(6) = {r*Cos( 4*2*Pi/5 + 2*Pi/10 ),r*Sin( 4*2*Pi/5 + 2*Pi/10 ),0,lc};
Point(7) = {R*Cos( 0*2*Pi/5 + 2*Pi/10 ),R*Sin( 0*2*Pi/5  ),0,lc};
Point(8) = {R*Cos( 1*2*Pi/5  ),R*Sin( 1*2*Pi/5  ),0,lc};
Point(9) = {R*Cos( 2*2*Pi/5  ),R*Sin( 2*2*Pi/5  ),0,lc};
Point(10) = {R*Cos( 3*2*Pi/5  ),R*Sin( 3*2*Pi/5  ),0,lc};
Point(11) = {R*Cos( 4*2*Pi/5  ),R*Sin( 4*2*Pi/5  ),0,lc};
Line(1) = {8,2};
Line(2) = {2,7};
Line(3) = {7,6};
Line(4) = {6,11};
Line(5) = {11,5};
Line(6) = {5,10};
Line(7) = {10,4};
Line(8) = {4,9};
Line(9) = {9,3};
Line(10) = {3,8};
Line(11) = {2, 6};
Line(12) = {6, 5};
Line(13) = {5, 4};
Line(14) = {4, 3};
Line(15) = {3, 2};
Line Loop(16) = {15, 11, 12, 13, 14};
Plane Surface(17) = {16};
Line Loop(18) = {1, -15, 10};
Plane Surface(19) = {18};
Line Loop(20) = {2, 3, -11};
Plane Surface(21) = {20};
Line Loop(22) = {4, 5, -12};
Plane Surface(23) = {22};
Line Loop(24) = {13, -7, -6};
Plane Surface(25) = {24};
Line Loop(26) = {14, -9, -8};
Plane Surface(27) = {26};