Skip to content
Snippets Groups Projects
Commit 77ad3d6a authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

*** empty log message ***

parent a9418c87
Branches
Tags
No related merge requests found
lc = .2;
Point(1) = {0.0,0.0,0.0,lc};
Point(2) = {1,0.0,0.0,lc};
Point(3) = {0,1,0.0,lc};
Point(4) = {-1,0,0.0,lc};
Point(5) = {0,-1,0.0,lc};
Point(6) = {0,0,-1,lc};
Point(7) = {0,0,1,lc};
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};
Ruled Surface(14) = {13};
Line Loop(15) = {10,3,7};
Ruled Surface(16) = {15};
Line Loop(17) = {-8,-9,1};
Ruled Surface(18) = {17};
Line Loop(19) = {-11,-2,5};
Ruled Surface(20) = {19};
Line Loop(21) = {-5,-12,-1};
Ruled Surface(22) = {21};
Line Loop(23) = {-3,11,6};
Ruled Surface(24) = {23};
Line Loop(25) = {-7,4,9};
Ruled Surface(26) = {25};
Line Loop(27) = {-4,12,-6};
Ruled Surface(28) = {27};
Point(10) = {-0.5,-0.5,-0.5,lc};
Point(11) = { 0.5,-0.5,-0.5,lc};
Point(12) = { 0.5, 0.5,-0.5,lc};
Point(13) = {-0.5, 0.5,-0.5,lc};
Point(14) = {-0.5,-0.5, 0.5,lc};
Point(15) = { 0.5,-0.5, 0.5,lc};
Point(16) = { 0.5, 0.5, 0.5,lc};
Point(17) = {-0.5, 0.5, 0.5,lc};
Line(29) = {10,11};
Line(30) = {11,12};
Line(31) = {12,13};
Line(32) = {13,10};
Line(33) = {14,15};
Line(34) = {15,16};
Line(35) = {16,17};
Line(36) = {17,14};
Line(37) = {10,14};
Line(38) = {11,15};
Line(39) = {12,16};
Line(40) = {13,17};
Line Loop(41) = {32,29,30,31};
Plane Surface(42) = {41};
Line Loop(43) = {36,33,34,35};
Plane Surface(44) = {43};
Line Loop(45) = {32,37,-36,-40};
Plane Surface(46) = {45};
Line Loop(47) = {29,38,-33,-37};
Plane Surface(48) = {47};
Line Loop(49) = {38,34,-39,-30};
Plane Surface(50) = {49};
Line Loop(51) = {31,40,-35,-39};
Plane Surface(52) = {51};
Surface Loop(53) = {18,14,20,24,16,26,28,22};
Surface Loop(54) = {52,42,46,48,50,44};
Volume(55) = {53,54};
This diff is collapsed.
//
Ep =2.5e-3;
Lx = 500e-3;
Ly=200e-3;
R1=5e-3;
R2=10e-3;
xR=Lx/4;
pi=3.14159;
// characteristic length
l1 = Ep*10;
l2 = R1*10;
nh=2;
n1 = 5;
n2=26;
n3=51;
n4=101;
// Quadrillage
Point(1) = {0,0,0,l1};
Point(2) = {-Ly,0,0,l1};
Point(3) = {-Ly,0,-Lx,l1};
Point(4) = {0,0,-Lx,l1};
Point(5) = {0,0,-(xR-1.5*R1),l2};
Point(6) = {-1.5*R1,0,-(xR-1.5*R1),l2};
Point(7) = {-Ly,0,-(xR-1.5*R1),l2};
Point(8) = {0,0,-(xR+1.5*R1),l2};
Point(9) = {-1.5*R1,0,-(xR+1.5*R1),l2};
Point(10) = {-Ly,0,-(xR+1.5*R1),l2};
Point(11) = {-1.5*R1,0,0,l2};
Point(12) = {-1.5*R1,0,-Lx,l2};
// Points de la zone source
Point(20)={0,0,-xR,l2};
Point(21)={0,0,-(xR+R1),l2};
Point(22)={-R1*Sin(pi/3),0,-(xR+R1*Cos(pi/3)),l2};
Point(23)={-R1*Sin(pi/3),0,-(xR-R1*Cos(pi/3)),l2};
Point(24)={0,0,-(xR-R1),l2};
//Point(25)={0,0,-(xR+R2),l2};
//Point(26)={-R2*Sin(pi/3),0,-(xR+R2*Cos(pi/3)),l2};
//Point(27)={-R2*Sin(pi/3),0,-(xR-R2*Cos(pi/3)),l2};
//Point(28)={0,0,-(xR-R2),l2};
Point(40)={-R1/2*Sin(pi/3),0,-(xR+R1/2*Cos(pi/3)),l2};
Point(41)={-R1/2*Sin(pi/3),0,-(xR-R1/2*Cos(pi/3)),l2};
Point(42)={0,0,-(xR+R1/2*Cos(pi/3)),l2};
Point(43)={0,0,-(xR-R1/2*Cos(pi/3)),l2};
Line(1)={1,5};
Line(2)={5,6};
Line(3)={6,11};
Line(4)={11,1};
Line(5)={6,7};
Line(6)={7,2};
Line(7)={2,11};
Line(8)={6,9};
Line(9)={9,10};
Line(10)={10,7};
Line(12)={9,12};
Line(13)={12,3};
Line(14)={3,10};
Line(16)={8,4};
Line(17)={4,12};
Line(18)={9,8};
//Line(20)={5,28};
//Line(22)={27,6};
//Line(24)={26,9};
//Line(26)={25,8};
Line(30)={5,24};
Line(32)={23,6};
Line(34)={22,9};
Line(36)={21,8};
Line(40)={21,42};
Line(41)={42,43};
Line(42)={43,24};
Line(43)={43,41};
Line(44)={41,40};
Line(45)={40,42};
Line(46)={41,23};
Line(47)={40,22};
//Circle(21) = {28,20,27};
//Circle(23) = {27,20,26};
//Circle(25) = {26,20,25};
Circle(31) = {24,20,23};
Circle(33) = {23,20,22};
Circle(35) = {22,20,21};
// Construction des surfaces
Line Loop(1) = {1,2,3,4};
Line Loop(2) = {-3,5,6,7};
Line Loop(3) = {8,9,10,-5};
Line Loop(4) = {12,13,14,-9};
Line Loop(5) = {16,17,-12,18};
//Line Loop(6) = {20,21,22,-2};
//Line Loop(7) = {23,24,-8,-22};
//Line Loop(8) = {26,-18,-24,25};
Line Loop(9) = {30,31,32,-2};
Line Loop(10) = {33,34,-8,-32};
Line Loop(11) = {36,-18,-34,35};
Line Loop(20) = {-42,43,46,-31};
Line Loop(21) = {44,47,-33,-46};
Line Loop(22) = {45,-40,-35,-47};
Line Loop(23) = {-41,-45,-44,-43};
Plane Surface(1)={1};
Plane Surface(2)={2};
Plane Surface(3)={3};
Plane Surface(4)={4};
Plane Surface(5)={5};
//Plane Surface(6)={6};
//Plane Surface(7)={7};
//Plane Surface(8)={8};
Plane Surface(9)={9};
Plane Surface(10)={10};
Plane Surface(11)={11};
Plane Surface(20)={20};
Plane Surface(21)={21};
Plane Surface(22)={22};
Plane Surface(23)={23};
// Definition du maillage regle
// Zone source
Transfinite Line{2,8,18,30:36} = n1;
Transfinite Surface{9} = {24,23,6,5};
Recombine Surface{9};
c1[]=Extrude {0,Ep,0} {
Surface{9}; Layers{nh,1}; Recombine;
};
Transfinite Surface{10} = {23,22,9,6};
Recombine Surface{10};
c2[]=Extrude {0,Ep,0} {
Surface{10}; Layers{nh,1}; Recombine;
};
Transfinite Surface{11} = {21,8,9,22};
Recombine Surface{11};
c3[]=Extrude {0,Ep,0} {
Surface{11}; Layers{nh,1}; Recombine;
};
Transfinite Line{40:47} = n1;
Transfinite Surface{20} = {24,43,41,23};
Recombine Surface{20};
s1[]=Extrude {0,Ep,0} {
Surface{20}; Layers{nh,1}; Recombine;
} ;
Transfinite Surface{21} = {41,40,22,23};
Recombine Surface{21};
s2[]=Extrude {0,Ep,0} {
Surface{21}; Layers{nh,1}; Recombine;
} ;
Transfinite Surface{22} = {42,21,22,40};
Recombine Surface{22};
s3[]=Extrude {0,Ep,0} {
Surface{22}; Layers{nh,1}; Recombine;
} ;
Transfinite Surface{23} = {43,42,40,41};
Recombine Surface{23};
s4[]=Extrude {0,Ep,0} {
Surface{23}; Layers{nh,1}; Recombine;
} ;
// Autres regions
// Transfinite Surface{6} = {5,28,27,6};
// Recombine Surface{6};
// a1[]=Extrude {0,Ep,0} {
// Surface{6}; Layers{nh,1}; Recombine;
// } ;
// Transfinite Surface{7} = {27,26,9,6};
// Recombine Surface{7};
// a2[]=Extrude {0,Ep,0} {
// Surface{7}; Layers{nh,1}; Recombine;
// };
// Transfinite Surface{8} = {25,8,9,26};
// Recombine Surface{8};
// a3[]=Extrude {0,Ep,0} {
// Surface{8}; Layers{nh,1}; Recombine;
// } ;
// Autres regions
Transfinite Line{1,3,6} = n2;
Transfinite Line{4,10,17} = n1;
Transfinite Line{5,7,9,13} = n3;
Transfinite Line{12,14,16} = n4;
Transfinite Surface{1} = {1,5,6,11};
Recombine Surface{1};
a4[]=Extrude {0,Ep,0} {
Surface{1}; Layers{nh,1}; Recombine;
};
Transfinite Surface{2} = {11,6,7,2};
Recombine Surface{2};
a5[]=Extrude {0,Ep,0} {
Surface{2}; Layers{nh,1}; Recombine;
};
Transfinite Surface{3} = {6,9,10,7};
Recombine Surface{3};
a6[]=Extrude {0,Ep,0} {
Surface{3}; Layers{nh,1}; Recombine;
};
Transfinite Surface{4} = {9,12,3,10};
Recombine Surface{4};
a7[]=Extrude {0,Ep,0} {
Surface{4}; Layers{nh,1}; Recombine;
};
Transfinite Surface{5} = {8,4,12,9};
Recombine Surface{5};
a8[]=Extrude {0,Ep,0} {
Surface{5}; Layers{nh,1}; Recombine;
} ;
Physical Volume(101) = {s1[1],s2[1],s3[1],s4[1]}; // Source
Physical Volume(100) = {c1[1],c2[1],c3[1],a4[1],a5[1],a6[1],a7[1],a8[1]}; // Tout_sauf_Source
Physical Surface(200)={244};//Entree
// Gmsh project created on Wed Jan 31 21:34:00 2007
// definition of geometry
radius = 5;
surface = 20;
model_width = 60; // from tunnel center
model_depth = 40; // from tunnel center
vicinity_width = 20; // from tunnel center
vicinity_depth = 20; // from tunnel center
z1=-50; z2=0; z3= 50;
// extra fine
np_tunnelsector = 8;
np_abovecrown = 10;
np_farfield_bottom = 3;
np_farfield_lateral = 4;
np_along_tunnel = 20;
np_along_core = 6;
progression_to_tunnel = 0.3;
progression_farfield = 1.5;
progression_along_tunnel = 0.8;
prograssion_along_core = 2.0;
// test
np_tunnelsector = 6;
np_abovecrown = 5;
np_farfield_bottom = 3;
np_farfield_lateral = 6;
np_along_tunnel = 10;
np_along_core = 6;
progression_to_tunnel = 0.3;
progression_farfield = 1.5;
progression_along_tunnel = 0.8;
prograssion_along_core = 1.6;
// extra grob
np_tunnelsector = 2;
np_abovecrown = 2;
np_farfield_bottom = 2;
np_farfield_lateral = 2;
np_along_tunnel = 3;
np_along_core = 3;
progression_to_tunnel = 1.0;
progression_farfield = 1.0;
progression_along_tunnel = 1.0;
prograssion_along_core = 1.0;
// extra fine vergroebert damit band moeglich
np_tunnelsector = 4;
np_abovecrown = 8;
np_farfield_bottom = 3;
np_farfield_lateral = 4;
np_along_tunnel = 10;
np_along_core = 5;
progression_to_tunnel = 0.6;
progression_farfield = 1.5;
progression_along_tunnel = 0.8;
prograssion_along_core = 2.0;
// extra grob
np_tunnelsector = 4;
np_abovecrown = 4;
np_farfield_bottom = 2;
np_farfield_lateral = 2;
np_along_tunnel = 3;
np_along_core = 6;
progression_to_tunnel = 0.6;
progression_farfield = 1.5;
progression_along_tunnel = 0.8;
prograssion_along_core = 2.0;
// extra fine gekoppelt skyline ok, band nicht
np_tunnelsector = 6;
np_abovecrown = 12;
np_farfield_bottom = 3;
np_farfield_lateral = 4;
np_along_tunnel = 12;
np_along_core = 6;
progression_to_tunnel = 0.6;
progression_farfield = 1.5;
progression_along_tunnel = 0.8;
prograssion_along_core = 2.0;
// extra fine vergroebert fuer testzwecke
np_tunnelsector = 4;
np_abovecrown = 8;
np_farfield_bottom = 3;
np_farfield_lateral = 4;
np_along_tunnel = 10;
np_along_core = 5;
progression_to_tunnel = 0.6;
progression_farfield = 1.5;
progression_along_tunnel = 0.8;
prograssion_along_core = 2.0;
// vergroebert fuer solvertest
np_tunnelsector = 3;
np_abovecrown = 3;
np_farfield_bottom = 3;
np_farfield_lateral = 2;
np_along_tunnel = 2;
np_along_core = 3;
progression_to_tunnel = 0.6;
progression_farfield = 1.5;
progression_along_tunnel = 0.8;
prograssion_along_core = 2.0;
/* geometry of cross section 1
***************************************************************************************************************** */
sector = 60*Pi/180;
rcos= radius*Cos(sector);
rsin= radius*Sin(sector);
dummy=3;
// points
a1 = newp; Point(a1) = {-model_width, surface, z1,dummy};
b1 = newp; Point(b1) = {-vicinity_width, surface, z1,dummy};
c1 = newp; Point(c1) = {0, surface, z1,dummy};
d1 = newp; Point(d1) = {-model_width, -vicinity_depth,z1,dummy};
e1 = newp; Point(e1) = {-vicinity_width, -vicinity_depth,z1,dummy};
f1 = newp; Point(f1) = {0, -vicinity_depth,z1,dummy};
g1 = newp; Point(g1) = {-model_width, -model_depth, z1,dummy};
h1 = newp; Point(h1) = {-vicinity_width, -model_depth, z1,dummy};
i1 = newp; Point(i1) = {0, -model_depth, z1,dummy};
j1 = newp; Point(j1) = {0, radius, z1,dummy};
k1 = newp; Point(k1) = {-rsin, rcos, z1,dummy};
l1 = newp; Point(l1) = {-rsin, -rcos, z1,dummy};
m1 = newp; Point(m1) = {0, -radius, z1,dummy};
o1 = newp; Point(o1) = {0, 0, z1,dummy};
// straight lines (excel assistance)
ab1=newc; Line(ab1)={a1,b1};
bc1=newc; Line(bc1)={b1,c1};
de1=newc; Line(de1)={d1,e1};
ef1=newc; Line(ef1)={e1,f1};
gh1=newc; Line(gh1)={g1,h1};
hi1=newc; Line(hi1)={h1,i1};
kb1=newc; Line(kb1)={k1,b1};
le1=newc; Line(le1)={l1,e1};
ad1=newc; Line(ad1)={a1,d1};
dg1=newc; Line(dg1)={d1,g1};
be1=newc; Line(be1)={b1,e1};
eh1=newc; Line(eh1)={e1,h1};
cj1=newc; Line(cj1)={c1,j1};
mj1=newc; Line(mj1)={m1,j1};
mf1=newc; Line(mf1)={m1,f1};
fi1=newc; Line(fi1)={f1,i1};
// arches
jk1=newc; Circle(jk1)={j1,o1,k1};
kl1=newc; Circle(kl1)={k1,o1,l1};
lm1=newc; Circle(lm1)={l1,o1,m1};
// surfaces (excel assistance)
bade1_loop=newll; Line Loop(bade1_loop)={-ab1,ad1,de1,-be1}; bade1=news; Ruled Surface(bade1)={bade1_loop};
edgh1_loop=newll; Line Loop(edgh1_loop)={-de1,dg1,gh1,-eh1}; edgh1=news; Ruled Surface(edgh1)={edgh1_loop};
cbkj1_loop=newll; Line Loop(cbkj1_loop)={-bc1,-kb1,-jk1,-cj1}; cbkj1=news; Ruled Surface(cbkj1)={cbkj1_loop};
kbel1_loop=newll; Line Loop(kbel1_loop)={kb1,be1,-le1,-kl1}; kbel1=news; Ruled Surface(kbel1)={kbel1_loop};
lefm1_loop=newll; Line Loop(lefm1_loop)={le1,ef1,-mf1,-lm1}; lefm1=news; Ruled Surface(lefm1)={lefm1_loop};
jklm1_loop=newll; Line Loop(jklm1_loop)={jk1,kl1,lm1,mj1}; jklm1=news; Ruled Surface(jklm1)={jklm1_loop};
fehi1_loop=newll; Line Loop(fehi1_loop)={-ef1,eh1,hi1,-fi1}; fehi1=news; Ruled Surface(fehi1)={fehi1_loop};
// lines in cross section 1 (manually)
Transfinite Line{jk1,kl1,lm1, bc1,ef1,hi1,be1,ad1} = np_tunnelsector;
Transfinite Line{mj1} = np_tunnelsector Using Bump 0.1 ;
Transfinite Line{cj1,-mf1,-kb1,-le1} = np_abovecrown Using Progression progression_to_tunnel;
Transfinite Line{dg1,eh1,fi1} = np_farfield_bottom Using Progression progression_farfield;
Transfinite Line{ab1,de1,gh1} = np_farfield_lateral Using Progression 1/progression_farfield;
/* Transfinite surfaces (excel assistance)
***************************************************************************************************************** */
// cross section
Transfinite Surface {bade1}={b1,a1,d1,e1}; Recombine Surface {bade1};
Transfinite Surface {edgh1}={e1,d1,g1,h1}; Recombine Surface {edgh1};
Transfinite Surface {cbkj1}={c1,b1,k1,j1}; Recombine Surface {cbkj1};
Transfinite Surface {kbel1}={k1,b1,e1,l1}; Recombine Surface {kbel1};
Transfinite Surface {lefm1}={l1,e1,f1,m1}; Recombine Surface {lefm1};
Transfinite Surface {jklm1}={j1,k1,l1,m1}; Recombine Surface {jklm1};
Transfinite Surface {fehi1}={f1,e1,h1,i1}; Recombine Surface {fehi1};
s1[] = {bade1, edgh1, cbkj1, kbel1, lefm1, jklm1, fehi1};
s2[] = Extrude {0, 0, z2-z1}{ Surface {s1[]} ; Layers{2}; Recombine; };
s3[] = Extrude {0, 0, z3-z2}{ Surface {s2[]} ; Layers{2}; Recombine; };
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment