From ff992cdecc254d1bc058ac6e9a35c499817d57f4 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Mon, 25 Jun 2001 13:07:52 +0000 Subject: [PATCH] extrusion example --- examples/servo3D.ext | 3 + examples/servo3D.geo | 454 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 457 insertions(+) create mode 100644 examples/servo3D.ext create mode 100644 examples/servo3D.geo diff --git a/examples/servo3D.ext b/examples/servo3D.ext new file mode 100644 index 0000000000..25e95e2dd0 --- /dev/null +++ b/examples/servo3D.ext @@ -0,0 +1,3 @@ +1 +1 +0.04 diff --git a/examples/servo3D.geo b/examples/servo3D.geo new file mode 100644 index 0000000000..d018254026 --- /dev/null +++ b/examples/servo3D.geo @@ -0,0 +1,454 @@ +// Mudanca de algumas coordenadas 22/05/2001 - Liège. + +/* Desenho do servo motor em 3D - 20/07/2000 */ + +/* Analise de um servomotor de imas permanentes - GRUCAD - julho de 2000 */ + +rR1 = 10.5e-03; +rR2 = 23.243e-03; +rR3 = 23.862e-03; +rR4 = 23.9e-03; +rR5 = 25.6e-03; + +rS1 = 26.02e-03; +rS2 = 26.62e-03; +rS3 = 26.96e-03; +rS4 = 38.16e-03; +rS5 = 38.27e-03; +rS6 = 40.02e-03; +rS7 = 46.0e-03; + +Gap = rS1-rR5; + +rB1=rR5+Gap/3; rB1b=rB1; +//rB1=rR5+Gap/3.7; rB1b=rR5+Gap/2.3; //To see both different surfaces +rB2=rR5+Gap*2/3; + + +NbrDiv = 16; + +A0 = 45.0; +/* Rotor position(deg):use 0 for the mesh and other angles for drawing*/ +//A1 = 4.0001*45.0/NbrDiv; +A1 = 90. ; + +deg2rad = Pi/180; + +/* Mesh parameters */ + +s = 1.; + +pR1 =(rR2-rR1)/10.*s; +pR2 =(rR2-rR1)/12.*s; + +pS1 =(rS7-rS1)/7.*s; +pS2 =(rS7-rS1)/12.*s; +pS3 =(rS6-rS3)/10.*s; + + +// Uma das faces do servo motor + +/* Rotor */ + +Point(1)={0,0,0,pR1}; + +A = 0.+A1; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(2)={rR1*cosA,rR1*sinA,0,pR1}; +Point(3)={rR4*cosA,rR4*sinA,0,pR1}; +Point(4)={rR5*cosA,rR5*sinA,0,pR1}; + +Point(5)={rB1*cosA,rB1*sinA,0,pR2}; + +A = 4.455+A1; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(6)={rR2*cosA,rR2*sinA,0,pR1}; + +A = 4.938+A1; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(7)={rR3*cosA,rR3*sinA,0,pR1}; + +A = 6.165+A1; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(8)={rR5*cosA,rR5*sinA,0,pR1}; + +A = 38.835+A1; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(9)={rR5*cosA,rR5*sinA,0,pR1}; + +A = 40.062+A1; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(10)={rR3*cosA,rR3*sinA,0,pR1}; + +A = 40.545+A1; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(11)={rR2*cosA,rR2*sinA,0,pR1}; + +A = 45.0+A1; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(12)={rR1*cosA,rR1*sinA,0,pR1}; +Point(13)={rR4*cosA,rR4*sinA,0,pR1}; +Point(14)={rR5*cosA,rR5*sinA,0,pR1}; + +Point(15)={rB1*cosA,rB1*sinA,0,pR2}; + +/* Gap */ + +Point(16)={rB1b,0,0,pS1}; +Point(17)={rB2,0,0,pS1}; + +A = 45.0; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(18)={rB1b*cosA,rB1b*sinA,0,pS1}; +Point(19)={rB2*cosA,rB2*sinA,0,pS1}; + + +/* Stator */ + +Point(20)={rS1,0,0,pS1}; +Point(21)={rS7,0,0,pS2}; + +A = 5.71+0; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(61)={rS7*cosA,rS7*sinA,0,pS3}; +A = 5.71+15; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(62)={rS7*cosA,rS7*sinA,0,pS3}; +A = 5.71+30; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(63)={rS7*cosA,rS7*sinA,0,pS3}; + +//A = 22.5; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +//Point(22)={rS7*cosA,rS7*sinA,0,pS2}; + +A = 45.0; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(23)={rS1*cosA,rS1*sinA,0,pS1}; +Point(24)={rS7*cosA,rS7*sinA,0,pS2}; + +/* Pontos da ranhura 01 */ + +A2 = 0.0; + +A = 2.77+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(25)={rS5*cosA,rS5*sinA,0,pS3}; + +A = 4.0+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(26)={rS3*cosA,rS3*sinA,0,pS3}; + +A = 5.52+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(27)={rS1*cosA,rS1*sinA,0,pS3}; + +A = 5.56+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(28)={rS2*cosA,rS2*sinA,0,pS3}; + +A = 5.56+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(29)={rS4*cosA,rS4*sinA,0,pS3}; + +A = 5.65+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(30)={rS6*cosA,rS6*sinA,0,pS3}; + +A = 9.35+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(31)={rS6*cosA,rS6*sinA,0,pS3}; + +A = 9.44+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(32)={rS4*cosA,rS4*sinA,0,pS3}; + +A = 9.44+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(33)={rS2*cosA,rS2*sinA,0,pS3}; + +A = 9.48+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(34)={rS1*cosA,rS1*sinA,0,pS3}; + +A = 11.0+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(35)={rS3*cosA,rS3*sinA,0,pS3}; + +A = 12.23+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(36)={rS5*cosA,rS5*sinA,0,pS3}; + +/* Pontos da ranhura 02 */ + +A2 = 15.0; + +A = 2.77+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(37)={rS5*cosA,rS5*sinA,0,pS3}; + +A = 4.0+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(38)={rS3*cosA,rS3*sinA,0,pS3}; + +A = 5.52+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(39)={rS1*cosA,rS1*sinA,0,pS3}; + +A = 5.56+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(40)={rS2*cosA,rS2*sinA,0,pS3}; + +A = 5.56+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(41)={rS4*cosA,rS4*sinA,0,pS3}; + +A = 5.65+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(42)={rS6*cosA,rS6*sinA,0,pS3}; + +A = 9.35+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(43)={rS6*cosA,rS6*sinA,0,pS3}; + +A = 9.44+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(44)={rS4*cosA,rS4*sinA,0,pS3}; + +A = 9.44+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(45)={rS2*cosA,rS2*sinA,0,pS3}; + +A = 9.48+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(46)={rS1*cosA,rS1*sinA,0,pS3}; + +A = 11.0+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(47)={rS3*cosA,rS3*sinA,0,pS3}; + +A = 12.23+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(48)={rS5*cosA,rS5*sinA,0,pS3}; + +/* Pontos da ranhura 03 */ + +A2 = 30.0; + +A = 2.77+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(49)={rS5*cosA,rS5*sinA,0,pS3}; + +A = 4.0+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(50)={rS3*cosA,rS3*sinA,0,pS3}; + +A = 5.52+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(51)={rS1*cosA,rS1*sinA,0,pS3}; + +A = 5.56+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(52)={rS2*cosA,rS2*sinA,0,pS3}; + +A = 5.56+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(53)={rS4*cosA,rS4*sinA,0,pS3}; + +A = 5.65+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(54)={rS6*cosA,rS6*sinA,0,pS3}; + +A = 9.35+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(55)={rS6*cosA,rS6*sinA,0,pS3}; + +A = 9.44+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(56)={rS4*cosA,rS4*sinA,0,pS3}; + +A = 9.44+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(57)={rS2*cosA,rS2*sinA,0,pS3}; + +A = 9.48+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(58)={rS1*cosA,rS1*sinA,0,pS3}; + +A = 11.0+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(59)={rS3*cosA,rS3*sinA,0,pS3}; + +A = 12.23+A2; sinA=Sin(A*deg2rad);cosA=Cos(A*deg2rad); +Point(60)={rS5*cosA,rS5*sinA,0,pS3}; + + +// linhas e circulos do rotor + +Line(1)={1,2}; +Line(2)={2,3}; +Line(3)={3,4}; +Line(4)={4,5}; +Line(5)={3,7}; +Line(6)={6,7}; +Line(7)={7,8}; +Line(8)={6,11}; +Line(9)={11,10}; +Line(10)={10,9}; +Line(11)={1,12}; +Line(12)={12,13}; +Line(13)={13,14}; +Line(14)={14,15}; +Line(15)={13,10}; +Circle(16)={2,1,12}; +Circle(17)={4,1,8}; +Circle(18)={8,1,9}; +Circle(19)={9,1,14}; +Circle(20)={5,1,15}; + +/* linhas e circulos do entreferro */ + +Line(21)={16,17}; +Line(22)={17,20}; +Line(23)={18,19}; +Line(24)={19,23}; +Circle(25)={16,1,18}; +Circle(26)={17,1,19}; + +/* linhas e circulos do estator */ +Line(27)={20,21}; +Line(28)={23,24}; +Circle(29)={20,1,27}; +Circle(30)={34,1,39}; +Circle(31)={46,1,51}; +Circle(32)={58,1,23}; +Circle(33)={21,1,61}; +Circle(34)={61,1,62}; +Circle(89)={62,1,63}; +Circle(90)={63,1,24}; + +Line(91)={30,61}; +Line(92)={42,62}; +Line(93)={54,63}; + +/* linhas e circulos da ranhura 01 */ +Line(35)={27,28}; +Line(36)={28,26}; +Line(37)={26,25}; +Circle(38)={25,29,30}; +Line(39)={30,31}; +Circle(40)={31,32,36}; +Line(41)={36,35}; +Line(42)={35,33}; +Line(43)={33,34}; +Line(44)={26,35}; + +/* linhas e circulos da ranhura 02 */ +Line(45)={39,40}; +Line(46)={40,38}; +Line(47)={38,37}; +Circle(48)={37,41,42}; +Line(49)={42,43}; +Circle(50)={43,44,48}; +Line(51)={48,47}; +Line(52)={47,45}; +Line(53)={45,46}; +Line(54)={38,47}; + +/* linhas e circulos da ranhura 03 */ +Line(55)={51,52}; +Line(56)={52,50}; +Line(57)={50,49}; +Circle(58)={49,53,54}; +Line(59)={54,55}; +Circle(60)={55,56,60}; +Line(61)={60,59}; +Line(62)={59,57}; +Line(63)={57,58}; +Line(64)={50,59}; + +/* superficies do rotor */ + +Line Loop(65) = {-11,1,16}; +Plane Surface(66) = {65}; +Line Loop(67) = {12,15,-9,-8,6,-5,-2,16}; +Plane Surface(68) = {67}; +Line Loop(69) = {7,-17,-3,5}; +Plane Surface(70) = {69}; +Line Loop(71) = {-18,-7,-6,8,9,10}; +Plane Surface(72) = {71}; +Line Loop(73) = {-19,-10,-15,13}; +Plane Surface(74) = {73}; +Line Loop(75) = {18,19,14,-20,-4,17}; +Plane Surface(76) = {75}; + +/* superficies do entreferro (banda de movimento) */ + +Transfinite Line{20,25,26}=NbrDiv+1 Using Power 1.; +Transfinite Line{21,23}=2; +Line Loop(77) = {-23,-25,21,26}; +Plane Surface(78) = {77}; +Transfinite Surface{78}={16,17,19,18}; +Recombine Surface{78}; // For Hexahedra in the Moving Band + +/* superficies do estator */ + +Line Loop(79) = {24,-32,-63,-62,-64,-56,-55,-31,-53,-52,-54,-46,-45,-30,-43,-42,-44,-36,-35,-29,-22,26}; +Plane Surface(80) = {79}; + + +Line Loop(94) = {37,38,91,-33,-27,29,35,36}; +Plane Surface(95) = {94}; +Line Loop(96) = {42,43,30,45,46,47,48,92,-34,-91,39,40,41}; +Plane Surface(97) = {96}; +Line Loop(98) = {52,53,31,55,56,57,58,93,-89,-92,49,50,51}; +Plane Surface(99) = {98}; +Line Loop(100) = {62,63,32,28,-90,-93,59,60,61}; +Plane Surface(101) = {100}; +/* +Line Loop(81) = {37,38,39,40,41,42,43,30,45,46,47,48,49,50,51,52,53,31,55,56,57,58,59,60,61,62,63,32,28,-90,-89,-34,-33,-27,29,35,36}; +Plane Surface(82) = {81}; +*/ +/* superficie da ranhura 01 */ + +Line Loop(83) = {-41,-40,-39,-38,-37,44}; +Plane Surface(84) = {83}; + +/* superficie da ranhura 02 */ + +Line Loop(85) = {-51,-50,-49,-48,-47,54}; +Plane Surface(86) = {85}; + +/* superficie da ranhura 03 */ +Line Loop(87) = {-61,-60,-59,-58,-57,64}; +Plane Surface(88) = {87}; + +// Continue with 101 ... + +// ---------------------------------------------------- +// ---------------------------------------------------- + +L_ = 1000000 ; +S_ = 2000000 ; +V_ = 3000000 ; +P_ = 4000000 ; +N_ = 1000 ; + + +Physical Volume(1301) = {V_+N_+68}; // Rotor + +//Physical Volume(1302) = {V_+N_+95, V_+N_+97, V_+N_+99, V_+N_+101}; // Stator + +Physical Volume(1320) = {V_+N_+95}; // StatorSup0 +Physical Volume(1321) = {V_+N_+97}; // StatorSup1 +Physical Volume(1322) = {V_+N_+99}; // StatorSup2 +Physical Volume(1323) = {V_+N_+101}; // StatorSup3 + +Physical Volume(1300) = {V_+N_+66}; // AirInt +Physical Volume(1303) = {V_+N_+76}; // AirRotor +Physical Volume(1304) = {V_+N_+80}; // AirStator +Physical Volume(1305) = {V_+N_+78}; // AirBM + +Physical Volume(1310) = {V_+N_+72}; // Magnet + +Physical Volume(1311) = {V_+N_+70}; // Cale1 +Physical Volume(1312) = {V_+N_+74}; // Cale2 + +Physical Volume(1401) = {V_+N_+84}; // Ind1 +Physical Volume(1402) = {V_+N_+86}; // Ind2 +Physical Volume(1403) = {V_+N_+88}; // Ind3 + + +Physical Surface(2001) = {L_+N_+16}; // SurfInt +Physical Surface(2002) = {L_+N_+33,L_+N_+34,L_+N_+89,L_+N_+90}; // SurfExt + +Physical Surface(1011) = {L_+N_+ 1, L_+N_+2, L_+N_+3, L_+N_+4, L_+N_+21,L_+N_+22, L_+N_+27}; // SurfA +Physical Surface(1012) = {L_+N_+11,L_+N_+12,L_+N_+13,L_+N_+14, L_+N_+23,L_+N_+24, L_+N_+28}; // SurfB + + +Physical Surface(1501) = {L_+N_+20}; // SurfR +Physical Surface(1502) = {L_+N_+25}; // SurfBM + +Physical Line(2021) = {P_+N_+15}; // PointR +Physical Line(2022) = {P_+N_+18}; // PointBM + +// SurfR (PointR) & SurfBM (PointBM) are lines (points) located at the same +// position, but with distinct nodes + + +// For h-formulation (cut ...) +Physical Surface(2210) = {L_+N_+37,L_+N_+38,/*L_+N_+39,*/L_+N_+40,L_+N_+41,L_+N_+44}; // SkinInd1 +Physical Surface(2211) = {L_+N_+91}; // CutInd1 +Physical Surface(2212) = {L_+N_+39}; // SkinInd1_2 + +Physical Surface(2220) = {L_+N_+47,L_+N_+48,/*L_+N_+49,*/L_+N_+50,L_+N_+51,L_+N_+54}; // SkinInd2 +Physical Surface(2221) = {L_+N_+92}; // CutInd2 +Physical Surface(2222) = {L_+N_+49}; // SkinInd2_2 + +Physical Surface(2230) = {L_+N_+57,L_+N_+58,/*L_+N_+59,*/L_+N_+60,L_+N_+61,L_+N_+64}; // SkinInd3 +Physical Surface(2231) = {L_+N_+93}; // CutInd3 +Physical Surface(2232) = {L_+N_+59}; // SkinInd3_2 + + +Physical Point(2015) = {2}; // PointRef + + +i = 0*S_+0*N_ ; +Physical Surface(2300) = +{ i+68, i+95,i+97,i+99,i+101, i+66,i+76,i+80,i+78, i+72, i+70,i+74, i+84,i+86,i+88 }; // SurfZ0 + +i = S_+1*N_ ; +Physical Surface(2301) = +{ i+68, i+95,i+97,i+99,i+101, i+66,i+76,i+80,i+78, i+72, i+70,i+74, i+84,i+86,i+88 }; // SurfZ1 + -- GitLab