[Gmsh] raffinement dans un cercle

ouafa bouloumou bouloumou at hotmail.com
Mon Jan 25 14:32:12 CET 2010



Bonjour,

 

J'essaie de générer le maillage d'une géométrie comportant un cercle que je devrais raffiner impérativement du centre vers le bord pour créer une sorte de couche limite à ce niveau. Le cercle ne constitue pas un trou et le nombre de points sur son bord est déjà imposé par l'anneau autour. même en utilisant un raffinement sur les diagonales sécantes, je n'arrive pas à obtenir quelque chose de propre. Auriez vous une suggestion (.geo joint)?

 

Bien cordialement,

Ouafa

 

//---------------------------------------------------------------------------
// centre
Point(1)={0, 0, 0, lc};

// cercle intérieur
Point(6)={-d2, 0, d2, lc};
Point(7)={d2, 0, d2, lc};
Point(8)={d2, 0, -d2, lc};
Point(9)={-d2, 0, -d2, lc};
// cercle extérieur
Point(10)={-d3, 0, d3, lc};
Point(11)={d3, 0, d3, lc};
Point(12)={d3, 0, -d3, lc};
Point(13)={-d3, 0, -d3, lc};
// hublot
Point(14)={-3*d3, 0, d4, lc};    
Point(15)={-d3, 0, d4, lc};
Point(16)={d3, 0, d4, lc};
Point(17)={3*d3, 0, d4, lc};      
Point(18)={3*d3, 0, d3, lc};    
Point(19)={3*d3, 0, -d3, lc};     
Point(20)={3*d3, 0, -d4, lc};    
Point(21)={d3, 0, -d4, lc};
Point(22)={-d3, 0, -d4, lc};
Point(23)={-3*d3, 0, -d4, lc};    
Point(24)={-3*d3, 0, -d3, lc};    
Point(25)={-3*d3, 0, d3, lc};      

Point(26)={L2, 0, d4, lc};
Point(27)={L2, 0, d3, lc};
Point(28)={L2, 0, -d3, lc};
Point(29)={L2, 0, -d4, lc};
Point(30)={-L1, 0, d4, lc};
Point(31)={-L1, 0, d3, lc};
Point(32)={-L1, 0, -d3, lc};
Point(33)={-L1, 0, -d4, lc};
// aval
Point(34)={L3, 0, d4, lc};
Point(35)={L3, 0, d3, lc};
Point(36)={L3, 0, -d3, lc};
Point(37)={L3, 0, -d4, lc};

//---------------------------------------------------------------------------

// cercle intérieur
Circle(5) = {6,1,7}; 
Circle(6) = {7,1,8}; 
Circle(7) = {8,1,9};
Circle(8) = {9,1,6}; 
// carré extérieur
Line(9 ) = {14,15}; 
Line(10) = {15,16}; 
Line(11) = {16,17}; 
Line(12) = {17,18}; 
Line(13) = {18,19}; 
Line(14) = {19,20}; 
Line(15) = {20,21}; 
Line(16) = {21,22}; 
Line(17) = {22,23}; 
Line(18) = {23,24}; 
Line(19) = {24,25}; 
Line(20) = {25,14}; 
Line(32) = {21,12}; 
Line(33) = {24,13}; 
Line(34) = {13,22}; 
Line(35) = {15,10}; 
Line(36) = {10,25}; 
Line(37) = {18,11}; 
Line(38) = {11,16}; 

// aval hublot
Line(21) = {17,26}; 
Line(22) = {26,27}; 
Line(23) = {27,28}; 
Line(24) = {28,29}; 
Line(25) = {29,20}; 
Line(41) = {27,18}; 
Line(42) = {28,19}; 
Line(31) = {12,19}; 
// amont
Line(26) = {23,33}; 
Line(27) = {33,32}; 
Line(28) = {32,31}; 
Line(29) = {31,30}; 
Line(30) = {30,14}; 
Line(39) = {25,31}; 
Line(40) = {24,32}; 
// aval
Line(43) = {26,34}; 
Line(44) = {27,35}; 
Line(45) = {28,36}; 
Line(46) = {29,37}; 
Line(47) = {34,35}; 
Line(48) = {35,36}; 
Line(49) = {36,37}; 
// diagonales du cercle intérieur
//Line(50) = {1,6}; 
//Line(51) = {1,7}; 
//Line(52) = {1,8}; 
//Line(53) = {1,9}; 

 

// diagonales du cercle extérieur
Line(54) = {6,10}; 
Line(55) = {7,11}; 
Line(56) = {8,12}; 
Line(57) = {9,13}; 
// cercle extérieur 
Circle(58) = {10,1,11}; 
Circle(59) = {10,1,13}; 
Circle(60) = {13,1,12}; 
Circle(61) = {12,1,11}; 

// boucles de lignes


Line Loop(1) = {5,6,7,8}; 


//Line Loop(2) = {-51,50,5}; 
//Line Loop(3) = {6,-52,51}; 
//Line Loop(4) = {52,7,-53}; 
//Line Loop(5) = {53,8,-50}; 

 

Line Loop(6) = {-55,-5,54,58};
Line Loop(7) = {-61,-56,-6,55}; 
Line Loop(8) = {56,-60,-57,-7}; 
Line Loop(9) = {-8,57,-59,-54}; 
Line Loop(10) = {13,-31,61,-37}; 
Line Loop(11) = {-32,16,-34,60}; 
Line Loop(12) = {59,-33,19,-36}; 
Line Loop(13) = {-38,-58,-35,10}; 

Line Loop(14) = {12,37,38,11}; 
Line Loop(15) = {14,15,32,31}; 
Line Loop(16) = {34,17,18,33}; 
Line Loop(17) = {35,36,20,9}; 

Line Loop(18) = {22,41,-12,21}; 
Line Loop(19) = {23,42,-13,-41}; 
Line Loop(20) = {24,25,-14,-42}; 

Line Loop(21) = {-20,39,29,30}; 
Line Loop(22) = {-19,40,28,-39}; 
Line Loop(23) = {-18,26,27,-40}; 

Line Loop(24) = {47,-44,-22,43}; 
Line Loop(25) = {48,-45,-23,44}; 
Line Loop(26) = {49,-46,-24,45}; 

// surfaces
s1  = newreg; Ruled Surface(s1) = {1}; 

//s2  = newreg; Plane Surface(s2) = {2}; 
//s3  = newreg; Plane Surface(s3) = {3}; 
//s4  = newreg; Plane Surface(s4) = {4}; 
//s5  = newreg; Plane Surface(s5) = {5}; 


s6  = newreg; Plane Surface(s6) = {6}; 
s7  = newreg; Plane Surface(s7) = {7}; 
s8  = newreg; Plane Surface(s8) = {8}; 
s9  = newreg; Plane Surface(s9) = {9}; 
s10 = newreg; Plane Surface(s10) = {10}; 
s11 = newreg; Plane Surface(s11) = {11}; 
s12 = newreg; Plane Surface(s12) = {12}; 
s13 = newreg; Plane Surface(s13) = {13}; 
s14 = newreg; Plane Surface(s14) = {14}; 
s15 = newreg; Plane Surface(s15) = {15}; 
s16 = newreg; Plane Surface(s16) = {16}; 
s17 = newreg; Plane Surface(s17) = {17}; 
s18 = newreg; Plane Surface(s18) = {18}; 
s19 = newreg; Plane Surface(s19) = {19}; 
s20 = newreg; Plane Surface(s20) = {20}; 
s21 = newreg; Plane Surface(s21) = {21}; 
s22 = newreg; Plane Surface(s22) = {22}; 
s23 = newreg; Plane Surface(s23) = {23}; 
s24 = newreg; Plane Surface(s24) = {24}; 
s25 = newreg; Plane Surface(s25) = {25}; 
s26 = newreg; Plane Surface(s26) = {26}; 

 


//---------------------------------------------------------------------------


// étirement diagonales
Transfinite Line{54,55,56,57}=arctheta1 Using Progression f;
//Transfinite Line{50,51,52,53}=arctheta2 Using Progression 1/f; 

 


//---------------------------------------------------------------------------

// maillage structuré

Transfinite Line {19,59,61,13,58,10,16,5,7,60,61,6,8} = N1 Using Progression 1.0;

Transfinite Line {23,13,19,48,28} = N1 Using Progression 1.0;
Transfinite Line {-37,31,36,-33,11,-15,-9,17} = N1 Using Progression 1.06;


Transfinite Line {20,18,35,34,38,32,12,14,22,24,47,49,27,29} = N2 Using Progression 1.0;

Transfinite Line {21,41,42,25} = N2 Using Progression 1.0;

Transfinite Line {43,44,45,46,30,39,40,26} = N3 Using Progression 1.0;

// raffinement parois latérales
//Transfinite Line {-20,-29,35,-38,12,22,47,27,18,-34,32,-14,-24,-49} = N2 Using Progression 1.05; //resserement vers la bord
Transfinite Line {20,29,-35,38,-12,-22,-47,-27,-18,34,-32,14,24,49} = N2 Using Progression 1.04;   // étirement vers le bord



Transfinite Surface {s6} = {11,7,6,10};
Transfinite Surface {s7} = {11,7,8,12};
Transfinite Surface {s8} = {8,12,13,9};
Transfinite Surface {s9} = {9,13,10,6};
Transfinite Surface {s10} = {11,18,19,12};
Transfinite Surface {s11} = {12,21,22,13};
Transfinite Surface {s12} = {13,24,25,10};
Transfinite Surface {s13} = {11,10,15,16};
Transfinite Surface {s14} = {18,11,16,17};
Transfinite Surface {s15} = {12,19,20,21};
Transfinite Surface {s16} = {13,22,23,24};
Transfinite Surface {s17} = {10,25,14,15};
Transfinite Surface {s18} = {17,26,27,18};
Transfinite Surface {s19} = {18,27,28,19};
Transfinite Surface {s20} = {19,28,29,20};
Transfinite Surface {s21} = {14,25,31,30};
Transfinite Surface {s22} = {25,24,32,31};
Transfinite Surface {s23} = {23,24,32,33};
Transfinite Surface {s24} = {34,26,27,35};
Transfinite Surface {s25} = {36,35,27,28};
Transfinite Surface {s26} = {37,36,28,29};

 

Recombine Surface {s6:s26}; 


 
 		 	   		  
_________________________________________________________________
Tchattez en direct en en vidéo avec vos amis !  
http://www.windowslive.fr/messenger/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.geuz.org/pipermail/gmsh/attachments/20100125/ca082f44/attachment.html>