Télécharger rotor4.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : rotor4.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. *
  5. ************************************************************************
  6. * *
  7. * Mots-clés : Vibrations, calcul modal, machines tournantes, *
  8. * poutre, modes complexes *
  9. * *
  10. * *
  11. * Test de GYROSCOPIQUE, AMOR, CAMPBELL pour les elements de poutre *
  12. * Etude d'une machine tournante dans le repere inertiel (ou fixe) *
  13. * Elements: TUYAU et SECTION (fibre) *
  14. * POUT, TIMO en exemple *
  15. * *
  16. * 1-Influence des déformations de cisaillement *
  17. * 2-Etude de la stabilité avec un amortissement corotatif *
  18. * *
  19. * Modélisation d'un tube *
  20. * *
  21. * Auteur: Didier Combescure Juillet 2003 *
  22. * *
  23. ************************************************************************
  24. *GRAPH = 'Y';
  25. GRAPH = 'N';
  26. *
  27. *L1 = 0.50 ;
  28. L1 = 1.20;
  29. Re1 = 0.1 ;
  30. epa1 = 0.0012;
  31. E1 = 2.e+11 ;
  32. Nu1 = 0.2 ;
  33. Rho1 = 1600. ;
  34. Visc1 = 0.00001*E1;
  35. *Visc1 = 0.0*E1;
  36. *
  37. * Description de la section
  38. *
  39. OPTI 'DIME' 2 'ELEM' QUA4;
  40. P0S = 0. 0.;
  41. P1S = (Re1 - (0.5*epa1)) 0.;
  42. P2S = (Re1 + (0.5*epa1)) 0.;
  43. *
  44. P12S = D 1 P1S P2S;
  45. SURS = P12S ROTA 50 360. P0S;
  46. ELIM 0.0001 SURS;
  47. *
  48. OPTI 'DIME' 3 'ELEM' SEG2;
  49. *
  50. *
  51. P0 = 0. 0. 0.;
  52. P1 = L1 0. 0. ;
  53. GeoRot = D 100 P0 P1;
  54. *
  55. * OMEG=1
  56. * On donne une vitesse de rotation de 1 rad/s
  57. *
  58. * MODELE SECTION
  59. *
  60. kappa = 0.52;
  61. *kappa = 1.0;
  62. *kappB = 1.00;
  63. *
  64. MOSEC1 = MODE SURS MECANIQUE ELASTIQUE QUAS;
  65. MASEC1 = MATE MOSEC1 'YOUNG' E1 'NU' Nu1 'RHO' Rho1
  66. ALPY kappa ALPZ kappa 'VISQ' Visc1;
  67. *
  68. *
  69. * Elément TIMO - FIBRE
  70. *
  71. Mod1 = MODE GEOROT 'MECANIQUE' ELASTIQUE SECTION TIMO;
  72. Mat1 = MATE Mod1 'MODS' MOSEC1 'MATS' MASEC1
  73. 'OMEG' (2.*pi) VECT (0. 0. 1.) ;
  74. *
  75. *
  76. * Elément TUYAU
  77. *
  78. *
  79. Mod2 = MODE GEOROT 'MECANIQUE' TUYA;
  80. Mat2 = MATE Mod2 'YOUNG' E1 'NU' Nu1 'RHO' Rho1
  81. 'RAYO' Re1 'EPAI' EPA1 'OMEG' (2.*pi) 'VISQ' Visc1;
  82. *
  83. * Elément POUT
  84. *
  85. *
  86. Mod3 = MODE GEOROT 'MECANIQUE' POUT;
  87. Mat3 = MATE Mod3 'YOUNG' E1 'NU' Nu1 'RHO' Rho1 'SECT' (pi * ((Re1 ** 2)-((Re1 - epa1)**2)) ) 'INRY' (pi * ((Re1 ** 4)-((Re1 - epa1)**4))/4.) 'INRZ' (pi * ((Re1 ** 4)-((Re1 - epa1)**4))/4.) 'TORS' (pi * ((Re1 ** 4)-((Re1 - epa1)**4))/2.) 'OMEG' (2.*pi) 'VISQ' Visc1;
  88. *
  89. *
  90. * Timoshenko
  91. *
  92. Mod4 = MODE GEOROT 'MECANIQUE' TIMO;
  93. Car4 = CARA Mod4 'SECT' (pi * ((Re1 ** 2)-((Re1 - epa1)**2)) )
  94. 'INRY' (pi * ((Re1 ** 4)-((Re1 - epa1)**4))/4.)
  95. 'INRZ' (pi * ((Re1 ** 4)-((Re1 - epa1)**4))/4.)
  96. 'TORS' (pi * ((Re1 ** 4)-((Re1 - epa1)**4))/2.)
  97. 'SECY' (kappa*(pi * ((Re1 ** 2)-((Re1 - epa1)**2))) )
  98. 'SECZ' (kappa*(pi * ((Re1 ** 2)-((Re1 - epa1)**2))) )
  99. 'OMEG' (2.*pi);
  100. *
  101. *
  102. Mat4 = MATE Mod4 'YOUNG' E1 'NU' Nu1 'RHO' Rho1 'VISQ' Visc1;
  103. Mat4 = Mat4 et Car4;
  104. *
  105. MESH3D = POUT2MAS Mod1 Mat1 'GAUSS';
  106. SI (EGA GRAPH 'Y');
  107. OEIL = 10. 10. 10.;
  108. ELIM 0.0001 MESH3D;
  109. Titre 'Maillage poutre avec section fibre';
  110. trac OEIL MESH3D CACH;
  111. trac OEIL (MESH3D et GeoRot);
  112. FINSI;
  113. *
  114. *
  115. * Cond. limites : 2 appuis
  116. *
  117. *
  118. Blo2 = (BLOQ 'UZ' P0) ET
  119. (BLOQ 'UY' P0) ET
  120. (BLOQ 'UX' P0);
  121.  
  122. Blo3 = (BLOQ 'UZ' P1) ET
  123. (BLOQ 'UY' P1) ET
  124. (BLOQ 'UX' P1);
  125. Blo1 = BLOQ 'RX' Georot;
  126. *
  127. MMass1 = MASS Mod1 (Mat1) ;
  128. MRigi1 = RIGI Mod1 (Mat1) ;
  129. *
  130. MMass2 = MASS Mod2 (Mat2) ;
  131. MRigi2 = RIGI Mod2 (Mat2) ;
  132. *
  133. MMass3 = MASS Mod3 (Mat3) ;
  134. MRigi3 = RIGI Mod3 (Mat3) ;
  135. *
  136. MMass4 = MASS Mod4 (Mat4) ;
  137. MRigi4 = RIGI Mod4 (Mat4) ;
  138. *
  139. * Matrice de couplage gyroscopique
  140. *
  141. CG1 = GYROSCOPIQUE Mod1 Mat1;
  142. CG2 = GYROSCOPIQUE Mod2 Mat2;
  143. CG3 = GYROSCOPIQUE Mod3 Mat3;
  144. CG4 = GYROSCOPIQUE Mod4 Mat4;
  145. *
  146. CDAM1 CDAH1 = 'AMOR' Mod1 Mat1 'COROTATIF';
  147. CDAM2 CDAH2 = 'AMOR' Mod2 Mat2 'COROTATIF';
  148. CDAM3 CDAH3 = 'AMOR' Mod3 Mat3 'COROTATIF';
  149. CDAM4 CDAH4 = 'AMOR' Mod4 Mat4 'COROTATIF';
  150. *
  151. TBasR1 = VIBR 'PROCHE' (prog 100.) (lect 2)
  152. (MRigi1 ET Blo1 ET Blo2 et Blo3)
  153. MMass1 ;
  154. TBasR2 = VIBR 'PROCHE' (prog 100.) (lect 2)
  155. (MRigi2 ET Blo1 ET Blo2 et Blo3)
  156. MMass2 ;
  157. TBasR3 = VIBR 'PROCHE' (prog 100.) (lect 2)
  158. (MRigi3 ET Blo1 ET Blo2 et Blo3)
  159. MMass3 ;
  160. TBasR4 = VIBR 'PROCHE' (prog 100.) (lect 2)
  161. (MRigi4 ET Blo1 ET Blo2 et Blo3)
  162. MMass4 ;
  163. *
  164. TMod1 = TBasR1 . 'MODES' ;
  165. TMod2 = TBasR2 . 'MODES' ;
  166. TMod3 = TBasR3 . 'MODES' ;
  167. TMod4 = TBasR4 . 'MODES' ;
  168. NbMod3 = (DIME TMod3) - 2 ;
  169. TInd3 = INDEX (TMod3 . 1) ;
  170. *
  171. SI (EGA GRAPH 'Y');
  172. oeil = 100. 1. 0. ;
  173. REPETER bbb1 NbMod3 ;
  174. i = &bbb1 ;
  175. Frq1 = TMod1 . i . 'FREQUENCE' ;
  176. Def1 = TMod1 . i . 'DEFORMEE_MODALE' ;
  177. Frq2 = TMod2 . i . 'FREQUENCE' ;
  178. Def2 = TMod2 . i . 'DEFORMEE_MODALE' ;
  179. Frq3 = TMod3 . i . 'FREQUENCE' ;
  180. Def3 = TMod3 . i . 'DEFORMEE_MODALE' ;
  181. Frq4 = TMod4 . i . 'FREQUENCE' ;
  182. Def4 = TMod4 . i . 'DEFORMEE_MODALE' ;
  183. TITRE Frq1 ;
  184. trac oeil (defo georot def1);
  185. TITRE Frq2 ;
  186. trac oeil (defo georot def2);
  187. TITRE Frq3 ;
  188. trac oeil (defo georot def3);
  189. TITRE Frq4 ;
  190. trac oeil (defo georot def4);
  191. FIN bbb1 ;
  192. FINSI;
  193. *
  194. * On teste pour le modele a fibre
  195. *
  196. MAmor1 = CDAM1;
  197. MAmor2 = CDAM2;
  198. MAmor3 = CDAM3;
  199. MAmor4 = CDAM4;
  200. *
  201. *-Projection des matrices assemblées sur la base réelle
  202. *
  203. MMasP1 = PJBA TBasR1 MMass1 ;
  204. MRigP1 = PJBA TBasR1 MRigi1 ;
  205. MAmoP1 = PJBA TBasR1 MAmor1 ;
  206. MAmHP1 = PJBA TBasR1 CDAH1;
  207. Cg1P = PJBA TBasR1 Cg1 ;
  208. *
  209. MMasP2 = PJBA TBasR2 MMass2 ;
  210. MRigP2 = PJBA TBasR2 MRigi2 ;
  211. MAmoP2 = PJBA TBasR2 MAmor2 ;
  212. MAmHP2 = PJBA TBasR2 CDAH2;
  213. Cg2P = PJBA TBasR2 Cg2 ;
  214. *
  215. MMasP3 = PJBA TBasR3 MMass3 ;
  216. MRigP3 = PJBA TBasR3 MRigi3 ;
  217. MAmoP3 = PJBA TBasR3 MAmor3 ;
  218. MAmHP3 = PJBA TBasR3 CDAH3;
  219. Cg3P = PJBA TBasR3 Cg3 ;
  220. *
  221. MMasP4 = PJBA TBasR4 MMass4 ;
  222. MRigP4 = PJBA TBasR4 MRigi4 ;
  223. MAmoP4 = PJBA TBasR4 MAmor4 ;
  224. MAmHP4 = PJBA TBasR4 CDAH4;
  225. Cg4P = PJBA TBasR4 Cg4 ;
  226. *
  227. * Vitesse de rotation (0 Hz)
  228. *
  229. Omeg1 =0.;
  230. *
  231. * Calcul des modes complexes avec VIBC - Bernoulli
  232. *
  233. BasCi1 = VIBC MMasP4 (MRigP4 et (Omeg1*MAmHP4))
  234. (MAmoP4 et (Omeg1*Cg4P)) TBasR4 ;
  235. *
  236. ModBasC = BasCi1.'MODES';
  237. NbMod1 = (DIME ModBasC) - 2;
  238. *
  239. FRQR = TABLE;
  240. FRQI = TABLE;
  241. FRQ = TABLE;
  242. AMOR= TABLE;
  243. *
  244. mess 'Frequences et amortissement au repos';
  245. *
  246. REPETER bbb2 NbMod1 ;
  247. i2 = &bbb2 ;
  248. FrqR1 = BasCi1.'MODES'.i2.'FREQUENCE_REELLE' ;
  249. FrqI1 = BasCi1.'MODES'.i2.'FREQUENCE_IMAGINAIRE' ;
  250. DefR1 = BasCi1.'MODES'.i2.'DEFORMEE_MODALE_REELLE';
  251. DefI1 = BasCi1.'MODES'.i2.'DEFORMEE_MODALE_IMAGINAIRE';
  252. FRQR.i2 = FrqR1;
  253. FRQI.i2 = FrqI1;
  254. FRQ.i2 = ((FrqR1 ** 2) + (FrqI1 ** 2)) ** 0.5 ;
  255. AMOR.i2 = FrqI1 /(FRQ.i2 );
  256. mess 'Valeur propre réelle';
  257. list (FrqR.i2);
  258. mess 'Valeur propre imaginaire';
  259. list (FrqI.i2);
  260. mess 'Fréquence';
  261. list (FRQ.i2);
  262. mess 'Amortissement';
  263. list (AMOR.i2);
  264. FIN bbb2;
  265. *
  266. *
  267. * Vitesse de rotation (1000 Hz)
  268. *
  269. Omeg1 =1000.;
  270. *
  271. * Calcul des modes complexes avec VIBC - Timoshenko
  272. *
  273. BasCi1 = VIBC MMasP4 (MRigP4 et (Omeg1*MAmHP4))
  274. (MAmoP4 et (Omeg1*Cg4P)) TBasR4;
  275. *
  276. ModBasC = BasCi1.'MODES';
  277. NbMod1 = (DIME ModBasC) - 2;
  278. *
  279. FRQR = TABLE;
  280. FRQI = TABLE;
  281. FRQ = TABLE;
  282. AMOR= TABLE;
  283. *
  284. mess 'Frequences et amortissement a 1000 Hz';
  285. *
  286. REPETER bbb2 NbMod1 ;
  287. i2 = &bbb2 ;
  288. FrqR1 = BasCi1.'MODES'.i2.'FREQUENCE_REELLE' ;
  289. FrqI1 = BasCi1.'MODES'.i2.'FREQUENCE_IMAGINAIRE' ;
  290. DefR1 = BasCi1.'MODES'.i2.'DEFORMEE_MODALE_REELLE';
  291. DefI1 = BasCi1.'MODES'.i2.'DEFORMEE_MODALE_IMAGINAIRE';
  292. FRQR.i2 = FrqR1;
  293. FRQI.i2 = FrqI1;
  294. FRQ.i2 = ((FrqR1 ** 2) + (FrqI1 ** 2)) ** 0.5 ;
  295. AMOR.i2 = FrqI1 /(FRQ.i2);
  296. mess 'Valeur propre réelle';
  297. list (FrqR.i2);
  298. mess 'Valeur propre imaginaire';
  299. list (FrqI.i2);
  300. mess 'Fréquence';
  301. list (FRQ.i2);
  302. mess 'Amortissement';
  303. list (AMOR.i2);
  304. FIN bbb2;
  305. *
  306. * Calcul du diagramme de Campbell - Bernoulli
  307. *
  308. TAB1 = TABLE;
  309. TAB1.'BASE_MODALE' = TBasR3;
  310. TAB1.'MASS_PROJ' = MMasP3;
  311. TAB1.'RIGI_PROJ' = MRigP3;
  312. TAB1.'GYRO_PROJ' = Cg3P;
  313. TAB1.'AMOR_PROJ' = MAmoP3;
  314. TAB1.'KROT_PROJ' = MAmHP3;
  315. TAB1.'AFFICHAGE' = VRAI;
  316. *PRFREQ = (prog 0. pas 2.5 100.)*100/(2.*pi);
  317. PRFREQ = (prog 0. pas 25 100.)*100/(2.*pi);
  318. CAMPBELL TAB1 PRFREQ;
  319. *
  320. EVFRb1 = (TAB1. 1). 'FREQUENCE_MODULE' ;
  321. EVFRb2 = (TAB1. 4). 'FREQUENCE_MODULE' ;
  322. EVAMb1 = (TAB1. 1). 'AMORTISSEMENT' ;
  323. EVAMb2 = (TAB1. 4). 'AMORTISSEMENT' ;
  324. *
  325. SI (EGA GRAPH 'Y');
  326. dess (EVFRb1 et EVFRb2 );
  327. dess (EVAMb1 et EVAMb2);
  328. FINSI;
  329. *
  330. * Calcul du diagramme de Campbell - Timoshenko
  331. *
  332. TAB1 = TABLE;
  333. TAB1.'BASE_MODALE' = TBasR4 ;
  334. TAB1.'MASS_PROJ' = MMasP4;
  335. TAB1.'RIGI_PROJ' = MRigP4;
  336. TAB1.'GYRO_PROJ' = Cg4P;
  337. TAB1.'AMOR_PROJ' = MAmoP4;
  338. TAB1.'KROT_PROJ' = MAmHP4;
  339. TAB1.'AFFICHAGE' = VRAI;
  340. *PRFREQ = (prog 0. pas 2.5 100.)*100/(2.*pi);
  341. PRFREQ = (prog 0. pas 25. 100.)*100/(2.*pi);
  342. CAMPBELL TAB1 PRFREQ;
  343. *
  344. EVFRT1 = ((TAB1. 1). 'FREQUENCE_MODULE') COUL rouge ;
  345. EVFRT2 = ((TAB1. 4). 'FREQUENCE_MODULE') COUL rouge ;
  346. EVAMT1 = ((TAB1. 1). 'AMORTISSEMENT') COUL rouge ;
  347. EVAMT2 = ((TAB1. 4). 'AMORTISSEMENT') COUL rouge ;
  348. *
  349. EvFreOme = evol manu (prog 0. 1600.) (prog 0. (1600.));
  350. EvFreZer = evol manu (prog 0. 1600.) (prog 0. 0.);
  351. *
  352. SI (EGA GRAPH 'Y');
  353. 'DESS' (EVFRT1 et EVFRT2 et EvFreOme)
  354. 'TITR' 'Frequences' 'TITX' 'Freq rot (Tour/s)'
  355. 'TITY' 'Frequences (Hz)';
  356. 'DESS' (EVFRT1 et EVFRT2)
  357. 'TITR' 'Frequences' 'TITX' 'Freq rot (Tour/s)'
  358. 'TITY' 'Frequences (Hz)';
  359. 'DESS' (EVAMT1 et EVAMT2 et EvFreZer)
  360. 'TITR' 'Amortissement' 'TITX' 'Freq rot (Tour/s)'
  361. 'TITY' 'Amortissement (%)';
  362. *
  363. dess (EVFRT1 et EVFRT2 et EVFRB1 et EVFRB2 et EvFreOme);
  364. dess (EVAMT1 et EVAMT2 et EVAMB1 et EVAMB2);
  365. *
  366. finsi;
  367. *
  368. mess 'Frequences à 0 Hz et 1000 Hz';
  369. mess 'Poutre de Bernoulli';
  370. FR1b = extr (IPOL (prog 0.01 1000.) (extr EVFRB1 absc)
  371. (extr EVFRB2 ordo)) 1;
  372. AM1b = extr (IPOL (prog 0.01 1000.) (extr EVAMB1 absc)
  373. (extr EVAMB1 ordo)) 1;
  374. FR2b = extr (IPOL (prog 0.01 1000.) (extr EVFRB1 absc)
  375. (extr EVFRB2 ordo)) 2;
  376. AM2b = extr (IPOL (prog 0.01 1000.) (extr EVAMB1 absc)
  377. (extr EVAMB1 ordo)) 2;
  378. mess 'Poutre de Timoshenko';
  379. FR1T = extr (IPOL (prog 0.01 1000.) (extr EVFRT1 absc)
  380. (extr EVFRT2 ordo)) 1;
  381. AM1T = extr (IPOL (prog 0.01 1000.) (extr EVAMT1 absc)
  382. (extr EVAMT1 ordo)) 1;
  383. FR2T = extr (IPOL (prog 0.01 1000.) (extr EVFRT1 absc)
  384. (extr EVFRT2 ordo)) 2;
  385. AM2T = extr (IPOL (prog 0.01 1000.) (extr EVAMT1 absc)
  386. (extr EVAMT1 ordo)) 2;
  387.  
  388. *
  389. * On norme
  390. *
  391. EVFRb1N = EVOL MANU (extr EVFRb1 absc)
  392. ((extr EVFRb1 ordo)/FR1b );
  393. EVFRb2N = EVOL MANU (extr EVFRb1 absc)
  394. ((extr EVFRb2 ordo)/FR1b );
  395. EVFRT1N = EVOL MANU (extr EVFRT1 absc)
  396. ((extr EVFRT1 ordo)/FR1T );
  397. EVFRT2N = EVOL MANU (extr EVFRT1 absc)
  398. ((extr EVFRT2 ordo)/FR1T );
  399. *
  400. SI (EGA GRAPH 'Y');
  401. TA= table;
  402. ta.1 = 'TIRR';
  403. ta.2 = 'TIRR';
  404. titre 'Diagramme de Campbell (Frequence = f(Fréquence rotation en Hz)';
  405. DESS (EVFRb1 et EVFRb2 et EVFRT1 et EVFRT2) ta ybord 0. 4000.;
  406. DESS (EVFRb1 et EVFRb2 et EVFRT1 et EVFRT2) ta ;
  407. titre 'Diagramme de Campbell (F/F0 = f(Fréquence rotation en Hz)';
  408. DESS (EVFRb1N et EVFRb2N et EVFRT1N et EVFRT2N) ta ybord 0. 2.;
  409. DESS (EVFRb1N et EVFRb2N et EVFRT1N et EVFRT2N) ta;
  410. FINSI;
  411. *
  412. *
  413. FR1Th = 787.3;
  414. FR2Th = 812.7;
  415. AM1Th = 2.48E-02;
  416. AM2Th = -0.559E-02;
  417. Errfrq = 0.01*FR1Th;
  418. Erramo = 0.01*AM1Th;
  419. *
  420. SI ((ABS(FR1T - FR1Th) > Errfrq ) OU
  421. (ABS(FR2T - FR2Th) > Errfrq ) OU
  422. (ABS(AM1T - AM1Th) > Erramo ) OU
  423. (ABS(AM2T - AM2Th) > Erramo ));
  424. ERRE 5;
  425. SINON;
  426. ERRE 0;
  427. FINSI;
  428. *
  429. FIN;
  430. *
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales