[Gmsh] Possible bug with surface extrusions
Christophe Geuzaine
geuzaine at acm.caltech.edu
Wed Feb 13 01:58:29 CET 2002
> Layne Wright wrote:
>
> Greetings All!
>
> Got some weird results when I attempted to contruct a torus by
> rotation of a disk; it appears
> one cannot extrude a surface beyond an angle of Pi. Is this a bug, or
> a feature?
Yep, it's a feature ;-)
Indeed, you should not expect any sensible results when playing with
arcs >= Pi (the '=' is important here...)
Christophe
> See the program, 'torus.geo', listed below
>
> Best Regards
> Layne L. Wright
>
>
> /*********************************************************************
>
> *
> * Torus.geo Gmsh Program to Construct a Torus
> *
> *********************************************************************/
>
> cm = 1e-02; // Define our scale
> Lc1 = 0.5 * cm; // Mesh size
> r1 = 4 * cm; // Origin->Disk center radius
> r2 = 1 * cm; // Disk radius
>
> r2c = r2 * Cos( Pi/4 ); // Cos/Sine terms to define disk
> circumference points
> r2s = r2 * Sin( Pi/4 );
>
> deg90 = Pi / 2; // Radian representation of 90 Degs
>
> Point(1) = { 0.0, 0.0, 0.0, Lc1 }; // Origin
>
> Point(2) = { 0.0, r1 , 0.0 , Lc1 }; // Circle center
> Point(3) = { 0.0, r1+r2 , 0.0 , Lc1 }; // 8 points along the
> circumference
> Point(4) = { 0.0, r1+r2c, r2s , Lc1 };
> Point(5) = { 0.0, r1 , r2 , Lc1 };
> Point(6) = { 0.0, r1-r2c, r2s , Lc1 };
> Point(7) = { 0.0, r1-r2 , 0.0 , Lc1 };
> Point(8) = { 0.0, r1-r2c, -r2s, Lc1 };
> Point(9) = { 0.0, r1 , -r2 , Lc1 };
> Point(10) = { 0.0, r1+r2c, -r2s, Lc1 };
>
> Circle(1) = { 3, 2, 4 } ; // Arcsegments along the circumference
> Circle(2) = { 4, 2, 5 } ;
> Circle(3) = { 5, 2, 6 } ;
> Circle(4) = { 6, 2, 7 } ;
> Circle(5) = { 7, 2, 8 } ;
> Circle(6) = { 8, 2, 9 } ;
> Circle(7) = { 9, 2, 10 } ;
> Circle(8) = { 10, 2, 3 } ;
>
> // Merge arcsegments into a disk
> Line Loop (9) = { 1,2,3,4,5,6,7,8 };
> Plane Surface(10) = {9};
>
> // Extrude the disk to form a partial torus
>
> // Things are fine as long as extrusion angle is <= Pi
> /* Extrude Surface {10, {0,0,1}, {0,0,0}, 1* deg90 }; */
>
> // Things get somewhat odd for angles > Pi
> Extrude Surface {10, {0,0,1}, {0,0,0}, 3* deg90 };
>
> // Volume assigment done interactively in 'Gmsh'
> Surface Loop(53) = {10,23,27,31,35,39,43,47,51,52};
> Volume(54) = {53};
> Physical Volume(55) = {54};
>
>
>
--
Christophe Geuzaine
Tel: (626) 395-4552 http://www.geuz.org
Fax: (626) 578-0124 mailto:geuzaine at acm.caltech.edu