[Gmsh] question about volume with holes

hubrys at virgilio.it hubrys at virgilio.it
Tue Apr 15 12:58:41 CEST 2008


hi!
I'm not able to obtain a volume with holes using t[] and t1[] 
extrusions. I mean, t[] has to makes a hole into t1[].
Here follows my 
project:



Function structur

  a1=newp; Point(a1) = {a,0,0,lc1};
  
a2=newp; Point(a2) = {a-r,0,0,lc1};
  a3=newp; Point(a3) = {a-h,0,0,
lc1};
  a4=newp; Point(a4) = {a-r,r,0,lc1};
  a5=newp; Point(a5) = {a-r,
-r,0,lc1};

  b1=newp; Point(b1) = {0,b ,0,lc1};
  b2=newp; Point(b2) = 
{0,b-r ,0,lc1};
  b3=newp; Point(b3) = {0,b-h ,0,lc1};
  b4=newp; Point
(b4) = {r,b-r ,0,lc1};
  b5=newp; Point(b5) = {-r,b-r ,0,lc1};

  
c1=newreg; Circle(c1) = {a1, a2, a4}; arc[i] = c1; i++;
  c2=newreg; 
Circle(c2) = {a4, a2, a3}; arc[i] = c2; i++;
  c3=newreg; Circle(c3) = 
{a3, a2, a5}; arc[i] = c3; i++;
  c4=newreg; Circle(c4) = {a5, a2, a1}; 
arc[i] = c4; i++;
  c5=newreg; Circle(c5) = {b1, b2, b4}; arc[i] = c5; 
i++;
  c6=newreg; Circle(c6) = {b4, b2, b3}; arc[i] = c6; i++;
  
c7=newreg; Circle(c7) = {b3, b2, b5}; arc[i] = c7; i++;
  c8=newreg; 
Circle(c8) = {b5, b2, b1}; arc[i] = c8; i++;

Return





 lc=8; lc1 = 
1; a=27; b=a; R=50; 
 r=1; h=2*r; sx=a; dx=-a; z=50; z1=80; 


Point
(11) = {0,0,0,lc};
Point(21) = {-R,0,0,lc};
Point(31) = {R,0,0,lc};
Point(41) = {0,-R,0,lc};
Point(51) = {0,R,0,lc};

Circle(11) = 
{21,11,51};
Circle(21) = {51,11,31};
Circle(31) = {31,11,41};
Circle
(41) = {41,11,21};



i = 0;

For a In {sx:1:-3}

  Call structur;
  b-
=3;

EndFor

b=-1;

For a In {-1:dx:-3}

  Call structur;
  b-=3;

EndFor


 

s1 = newreg; Line Loop(s1) = {arc[]};
s2 = newreg; Plane 
Surface(s2) = {s1};           

s3 = newreg; Line Loop(s3) = 
{11,21,31,41};
s4 = newreg; Plane Surface(s4) = {s3};


t[] = Extrude 
{0,0,z}{Surface{s2};Layers{20}; Recombine;};
t1[] = Extrude {0,0,z1}
{Surface{s4};Layers{20}; Recombine;};



Thanks for the help!