Télécharger vibr7.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : vibr7.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. *
  5. **********************************************************************
  6. * *
  7. * Mots-clés : Vibrations, calcul modal, modes complexes, *
  8. * interaction fluide-structure, tuyau, 3D *
  9. * *
  10. * TEST : VIBR7 *
  11. * *
  12. * Modele de CONNORS - BLEVINS *
  13. * *
  14. * Calcul des modes propres complexes d'un arbre *
  15. * soumis a un ecoulement exterieur transverse permanent *
  16. * Conditions aux limites : articule - articule *
  17. * *
  18. **********************************************************************
  19. *
  20. Opti Echo 1;
  21. Opti Dime 3 Elem Seg2;
  22. OPTI EPSI LINEAIRE;
  23.  
  24. * pour calcul complet mettre complet à : vrai;
  25. complet = faux;
  26. *
  27. *--- Affichage
  28. AFFICH = VRAI;
  29. GRAPH = 'N';
  30. IMPRPS = FAUX;
  31. *
  32. *Si (NON AFFICH);
  33. * Opti Echo 1;
  34. *Finsi;
  35. Si (IMPRPS);
  36. Opti Trac ps;
  37. Finsi;
  38. ************************************
  39. * Caracteristiques du systeme *
  40. ************************************
  41. *--- Materiau
  42. Rhostru = 4000.;
  43. Youstru = 1.E10;
  44. Nustru = 0.;
  45. *--- Longueur du crayon
  46. Lstru = 2.;
  47. *--- Rayon du crayon
  48. R = 10.E-3;
  49. *--- Section du crayon
  50. Sstru = PI*R*R;
  51. *--- Masse lineique du crayon
  52. Ms = Rhostru*Sstru;
  53. *--- Amortissement structural
  54. Dzeta =1.E-2;
  55. *--- Masse volumique du fluide
  56. Rhof = 1000.;
  57. *--- Masse ajoutee du fluide (fluide non confine)
  58. Mfaj = Rhof*PI*R*R;
  59. *--- Masse volumique equivalente
  60. Rhoe = (Ms+Mfaj)/Sstru;
  61. *--- Constante d'instabilite
  62. K = 3.;
  63. *--- Vitesse transverse du fluide
  64. Vmin = 0.;
  65. Vmax = 1.;
  66. si complet;
  67. PVt = .01;
  68. sinon;
  69. pvt = .05;
  70. finsi;
  71. *
  72. LVt = Prog Vmin PAS PVt Vmax;
  73. *
  74. **************************************
  75. * Maillage du systeme *
  76. **************************************
  77. *
  78. NbN = 100;
  79. Mess 'Nombre d elements :' NbN;
  80. Mess ' ';
  81. PA = (-.5*Lstru) 0. 0.;
  82. PB = (.5*Lstru) 0. 0.;
  83. L1 = Droi NbN PA PB;
  84. *
  85. Modl1 = MODE L1 Mecanique Elastique Isotrope Tuya;
  86. Matr1 = MATE Modl1 Youn Youstru Nu Nustru Rho Rhoe Epai R Rayo R;
  87. *
  88. **************************************
  89. * Masses, Rigidites ... du systeme *
  90. **************************************
  91. *
  92. *--- Masse
  93. Mstru = Masse Modl1 Matr1;
  94. *--- Raideur structrale
  95. Kstru = Rigi Modl1 Matr1;
  96. *--- Conditions aux limites : Probleme plan
  97. Cl1 = Bloq Ux L1;
  98. Cl2 = Bloq Uy L1;
  99. Cl3 = Bloq Rx L1;
  100. Cl4 = Bloq Rz L1;
  101. Cl5 = Bloq Uz (PA et PB);
  102. *
  103. Kstru = Kstru et Cl1 et Cl2 et Cl3 et Cl4 et CL5;
  104. *
  105. *****************************************
  106. * Analyse modale *
  107. *****************************************
  108. *
  109. PMod = Prog 2.77 11.1 24.99 44.43 69.42;
  110. Basr = VIBR PROCH PMod Kstru Mstru ;
  111. nnor (Basr.'MODES') (mots 'UZ');
  112. *
  113. Basm = Basr.'MODES';
  114. Nbmod = DIME Basm-2;
  115. *--- Liste des vitesses critiques, des masses generalisees et des pulsations
  116. LVc = Prog;
  117. LM = Prog ;
  118. LW = Prog ;
  119. Si (Affich);
  120. Mess ' ';
  121. Mess 'Fluide a l arret';
  122. Mess ' Mode Frequence ';
  123. Mess '---------------------------';
  124. Finsi;
  125. Repeter LMod Nbmod;
  126. i=&LMod;
  127. f = Basm.i.'FREQUENCE';
  128. mi = Basm.i.'MASSE_GENERALISEE';
  129. Si (Affich);
  130. Mess ' ' i ' ' f;
  131. Finsi;
  132. LW = LW et (Prog (2*PI*f));
  133. LVc = LVc et
  134. (Prog ( K*((2*PI*mi*f*f*Dzeta*2/(Lstru*Rhof))**0.5)) );
  135. LM = LM et (Prog mi);
  136. Fin LMod;
  137. * --- Constitution du maillage support pour l'amortissement
  138. LPt = Basm.1 .'POINT_REPERE';
  139. Repeter LPoint (Nbmod-1);
  140. i=&LPoint + 1;
  141. pti = Basm.i.'POINT_REPERE';
  142. LPt = LPt et pti;
  143. Fin LPoint;
  144. Mail = Manu 'SUPE' LPt;
  145. *
  146. Si (Affich);
  147. Mess ' ';
  148. Mess ' ';
  149. Mess ' ';
  150. Finsi;
  151. *
  152. *****************************************
  153. * Mise en forme du tableau de resultats *
  154. *****************************************
  155. *
  156. Mod = Table;
  157. Mod.Reel = Table;
  158. Mod.Imag = Table;
  159. Repeter Bloc6 (2*Nbmod);
  160. i=&Bloc6;
  161. Mod.Reel.i=Prog;
  162. Mod.Imag.i=Prog;
  163. Fin Bloc6;
  164. *
  165. *****************************************
  166. * Projection des matrices *
  167. *****************************************
  168. *
  169. *--- Matrice masse
  170. Mt = (PJBA MStru Basr);
  171. *--- Matrices de raideur
  172. Kt = (PJBA Kstru Basr);
  173. *
  174. *--- Reperage de la vitesse critique
  175. VSauv = 'N';
  176. *
  177. * ========================================= *
  178. * Boucle sur la vitesse transverse *
  179. * ========================================= *
  180. *
  181. Repeter Bloc10 (DIME LVt);
  182. k=&Bloc10;
  183. Vt = Extr LVt k;
  184. Si (AFFICH);
  185. Mess 'Iteration' k;
  186. Mess 'Vitesse transverse : ' Vt ;
  187. Mess ' ';
  188. Mess '----------------------------------------------------------------
  189. --------------';
  190. Mess ' Mode Frequence Amort. P. Reelle P. Imaginaire
  191. Stabilité ';
  192. Finsi;
  193. *
  194. *
  195. *****************************************
  196. * Masses, rigidiues ®..$ *
  197. ******************************************
  198. *
  199. *---- Amortissement
  200. LDzeta = Prog;
  201. Repeter Bamor Nbmod;
  202. k = &Bamor;
  203. Vck = Extr LVc k;
  204. Mk = Extr LM k;
  205. Wk = Extr LW k;
  206. Ak = 2*Mk*Wk*Dzeta*(1-((Vt/Vck)**2));
  207. LDzeta = LDzeta et (Prog Ak);
  208. Si (Neg k Nbmod);
  209. LDzeta = LDzeta et (Prog Nbmod*0.);
  210. Finsi;
  211. Fin Bamor;
  212. At = Manu Rigi type AMORTISSEMENT Mail (MOTS 'ALFA')
  213. DUAL (MOTS 'FALF') LDzeta;
  214. *
  215. ******************************************
  216. * Calcul des modes complexes *
  217. ******************************************
  218. *
  219. Basc = VIBC Mt Kt At;
  220. Basm = Basc.'MODES';
  221. *
  222. *--- Extraction des frequences
  223. Prf = Prog;
  224. Pif = Prog;
  225. Repeter Bloc2 (2*Nbmod);
  226. i=&Bloc2;
  227. Modn = Basm.i;
  228. f = Modn.'FREQUENCE_REELLE';
  229. * Si (>EG f 0.);
  230. Prf = Prf et (Prog Modn.'FREQUENCE_REELLE');
  231. Pif = Pif et (Prog Modn.'FREQUENCE_IMAGINAIRE');
  232. * Finsi;
  233. Fin bloc2;
  234. *
  235. *--- Tri croissant des frequences
  236. n1 = DIME Prf;
  237. Prfc = Prog (extr Prf 1);
  238. Pifc = Prog (extr Pif 1);
  239. Repeter Bloc3 (n1-1);
  240. i=&Bloc3+1;
  241. f = extr Prf i;
  242. n2 = DIME Prfc;
  243. Pos = 1;
  244. Repeter Bloc4 n2;
  245. j = &Bloc4;
  246. f1 = extr Prfc j;
  247. Si (> f f1);
  248. Pos = Pos + 1;
  249. Finsi;
  250. Fin Bloc4;
  251. Prfc = INSE Prfc Pos f;
  252. Pifc = INSE Pifc Pos (extr Pif i);
  253. Fin Bloc3;
  254. *--- Sauvegarde
  255. Repeter Bloc5 n1;
  256. i=&Bloc5;
  257. f = (Extr Prfc i);
  258. if = (Extr Pifc i);
  259. Si (AFFICH);
  260. Msg = 'STAB.';
  261. Si ((< if -1.D-10) et (>EG f 0.));
  262. Msg = 'INST.';
  263. Si (EGA VSauv 'N');
  264. Vcrit = Vt - (PVt/2.);
  265. VSauv = 'O';
  266. Finsi;
  267. Finsi;
  268. Si (> f 0.);
  269. * Valeurs propres relatives a lambda = i omega = ix2PIxf
  270. Mess i f (if/f) (-2*PI*if) (2*PI*f) Msg;
  271. Sinon;
  272. Si (EGA f 0.);
  273. Mess i f ' ----- ' (-2*PI*if) (2*PI*f) Msg;
  274. Finsi;
  275. Finsi;
  276. Finsi;
  277. Mod.Reel.i = Mod.Reel.i et (Prog f);
  278. Mod.Imag.i = Mod.Imag.i et (Prog if);
  279. Fin Bloc5;
  280. Si (AFFICH);
  281. Mess '----------------------------------------------------------------
  282. --------------';
  283. Mess ' ';
  284. Finsi;
  285. *
  286. Fin Bloc10;
  287. *
  288. **********************************
  289. * Traces *
  290. **********************************
  291. *
  292. *
  293. Si (EGA GRAPH 'O');
  294. *
  295. Nbcour = 2*NbMod;
  296. *
  297. *
  298. Tab1 = Table;
  299. Repeter Ident1 Nbcour;
  300. k=&Ident1;
  301. Tab1.k = 'NOLI';
  302. Fin Ident1;
  303. *
  304. k= 1;
  305. *--- Traces relatifs a la frequence
  306. Titr 'Frequences (partie reelle)';
  307. Evol1 = Evol BLAN manu Lvt (Mod.Reel.k);
  308. Titr 'Frequences (partie imaginaire)';
  309. Evol2 = Evol BLAN manu Lvt (Mod.Imag.k);
  310. *--- Traces relatifs a lambda = i omega = ix2PIxf
  311. Titr 'Lambda partie reelle)';
  312. Evol3 = Evol BLAN manu Lvt (-2.*PI*(Mod.Imag.k));
  313. Titr 'Lambda (partie imaginaire)';
  314. Evol4 = Evol BLAN manu Lvt (2*PI*(Mod.Reel.k));
  315. Titr 'Lambda (partie reelle / partie imaginaire)';
  316. Evol5 = Evol BLAN manu (2.*PI*(Mod.Reel.k))
  317. (-2.*PI*(Mod.Imag.k));
  318. Repeter Trac1 (Nbcour-1);
  319. k=&Trac1+1;
  320. Si (> (DIME Mod.Reel.k) 0);
  321. Titr 'Frequences (partie reelle)';
  322. Evol1 = Evol1 et (Evol BLAN manu Lvt (Mod.Reel.k));
  323. Titr 'Frequences (partie imaginaire)';
  324. Evol2 = Evol2 et (Evol BLAN manu Lvt (Mod.Imag.k));
  325. Titr 'Lambda (partie reelle)';
  326. Evol3 = Evol3 et (Evol BLAN manu Lvt
  327. (-2.*PI*(Mod.Imag.k)));
  328. Titr 'Lambda (partie imaginaire)';
  329. Evol4 = Evol4 et (Evol BLAN manu Lvt
  330. (2.*PI*(Mod.Reel.k)));
  331. Titr 'Lambda (partie reelle / partie imaginaire)';
  332. Evol5 = Evol5 et (Evol BLAN manu
  333. (2.*PI*(Mod.Reel.k)) (-2.*PI*(Mod.Imag.k)));
  334. Finsi;
  335. Fin Trac1;
  336. *
  337. Dess Evol1 XBOR 0. 1.20 YBOR 0. 70. Lege
  338. Titx 'Vtr (m/s)'
  339. Tity 'Re(F) (Hz)' Tab1;
  340. Dess Evol2 Lege
  341. Titx 'Vtr (m/s)'
  342. Tity 'Im(F) (Hz)' Tab1;
  343. Dess Evol3 XBOR 0. 1.20 YBOR -10. 50. Lege
  344. Titx 'Vtr (m/s)'
  345. Tity 'Re(i.2.PI.F)' Tab1;
  346. Dess Evol4 XBOR 0. 1.20 YBOR 0. 450. Lege
  347. Titx 'Vtr (m/s)'
  348. Tity 'Im(i.2.PI.F)' Tab1;
  349. Dess Evol5 XBOR 0. 500. YBOR -10. 50. Lege
  350. Titx 'Re(i.2.PI.F)'
  351. Tity 'Im(i.2.PI.F)' Tab1;
  352. Finsi;
  353. *
  354. *************************************
  355. * Test de bon fonctionnement *
  356. *************************************
  357. *
  358. Vcrit1 = Extr LVc 1;
  359. *Mess 'Erreur : ' (Abs(Vcrit-Vcrit1)/Vcrit1);
  360. *opti donn 5;
  361. si complet ;
  362. erma = 0.05;
  363. sinon;
  364. erma = 0.1;
  365. finsi;
  366. Si ((Abs(Vcrit-Vcrit1)/Vcrit1) < erma);
  367. Erre 0;
  368. Sinon;
  369. Erre 5;
  370. Finsi;
  371. *
  372. FIN;
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  

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