Télécharger vibr8.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : vibr8.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. *
  5. **********************************************************************
  6. * *
  7. * Mots-clés : Vibrations, calcul modal, flambage, modes complexes, *
  8. * forces suiveuses, flottement, tuyau, 3D *
  9. * *
  10. * TEST : VIBR8 *
  11. * *
  12. * *
  13. * Calcul des modes propres complexes *
  14. * d'un arbre soumis a une force suiveuse *
  15. * Instabilité par flottement (confusion de fréquence) *
  16. * Conditions aux limites : encastre - libre *
  17. * *
  18. **********************************************************************
  19. *
  20. opti echo 1 ;
  21. Opti Dime 3 Elem qua4;
  22. OPTI EPSI LINEAIRE;
  23.  
  24. *--- Affichage
  25. AFFICH = vrai;
  26. GRAPH = 'N';
  27. IMPRPS = FAUX;
  28. * GRAPH = 'O';
  29. * IMPRPS = VRAI;
  30.  
  31. Si (IMPRPS);
  32. Opti Trac psc;
  33. Finsi;
  34. ************************************
  35. * Caracteristiques du systeme *
  36. ************************************
  37. *--- Materiau
  38. Rhostru = 4000.;
  39. Youstru = 1.E10;
  40. Nustru = 0.3;
  41. *--- Dimensions du crayon
  42. Lstru = 6.;
  43. R = 10.E-3;
  44. *--- Variations de la force
  45. Fsmin = 0.;
  46. Fsmax = 60.;
  47. PFs = 1.;
  48. *
  49. LFs = (Prog Fsmin PAS PFs Fsmax);
  50. *
  51. **************************************
  52. * Maillage du systeme *
  53. **************************************
  54. *
  55. NbN = 10;
  56. Mess 'Nombre d elements :' NbN;
  57. Mess ' ';
  58. PA = 0. 0. 0. ;
  59. PB = (Lstru) 0. 0. ;
  60. L1 = PA D NBN PB;
  61.  
  62. * petite surface pour appliquer la pression suiveuse
  63. pb1 = lstru .05 -.05 ;
  64. pb2 = lstru .05 .05 ;
  65. ll1 = pb1 d 2 pb2 ;
  66. surf1 = tran ll1 2 (0 -.1 0) ;
  67. Elim L1 surf1 0.005;
  68. mail1 = l1 et surf1 ;
  69. si ( ega graph 'O');
  70. trac mail1 ;
  71. finsi;
  72. *
  73. Modl1 = MODE L1 MECANIQUE ELASTIQUE ISOTROPE Tuya;
  74. Matr1 = MATE Modl1 Youn Youstru Nu Nustru Rho Rhostru ;
  75. Car1 = 'CARA' Modl1 Epai R Rayo R ;
  76. Matr1 = Matr1 et Car1;
  77. Modl2 = MODE surf1 MECANIQUE ELASTIQUE ISOTROPE coq4;
  78. *
  79. **************************************
  80. * Masses, Rigidites ... du systeme *
  81. **************************************
  82. *
  83. *--- Masse
  84. Mstru = Masse Modl1 Matr1;
  85. *--- Raideur structrale
  86. Ks = Rigi Modl1 Matr1;
  87. *--- Conditions aux limites : Probleme plan
  88. Cl1 = Bloq Depl PA;
  89. Cl2 = Bloq Rota PA;
  90. Cl3 = Bloq UZ L1;
  91. Cl4 = Bloq Ry L1;
  92. cl5 = rela cori depl rota surf1 ;
  93. *
  94. Kstru = Ks et Cl1 et Cl2 et Cl3 et Cl4 et cl5;
  95. *
  96. *****************************************
  97. * FLAMBAGE SOUS FORCE CONSERVATIVE
  98. *****************************************
  99. *
  100. *--- Chargement
  101. MOP = 'MODE' SURF1 'CHARGEMENT' 'PRESSION' 'COQ4' ;
  102. MAP = 'MATE' MOP 'PRES' (-1/.1/.1) 'EPAI' 1. ;
  103. fe1 = 'PRES' MOP MAP ;
  104. press1 = EXCO MAP PRES ;
  105.  
  106. *--- Resolution et calcul des contraintes LINEAIRE
  107. Dep1 = Reso Kstru FE1;
  108.  
  109. * Sig1q = Sigm Modl1 Matr1 Dep1;
  110. Sig1 = Sigm 'LINE' Modl1 Matr1 Dep1;
  111. * correction bp : il faut faire le calcul en lineaire, meme si ici
  112. * on voit que la difference est negligeable et n'amene pas d'erreur
  113. * list resum Sig1;
  114. * list resum (Sig1q - Sig1);
  115.  
  116. * rigidite geometrique
  117. Ksi1 = Ksigma Modl1 Sig1 Car1 'FLAM';
  118. *
  119. ETAB = TABLE;
  120. ETAB.'OBJM' = Modl1;
  121. ETAB.'CLIM' = (Cl1 et Cl2 et Cl3 et Cl4);
  122. ETAB.'RIGI' = Ks;
  123. ETAB.'KSIG' = Ksi1;
  124. ETAB.'LAM1' = 0.001;
  125. ETAB.'LAM2' = 100.;
  126. ETAB.'NMOD' = 1;
  127. *
  128. STAB = FLAMBAGE ETAB;
  129. *
  130. LA1 = STAB . 1 . LAMB;
  131. *
  132. ***********************************
  133. * Rigidite due à la force suiveuse
  134. ***********************************
  135.  
  136. kp1 = kp mop press1 asym ;
  137. Kfe = -1*KP1;
  138.  
  139. *
  140. *****************************************
  141. * Analyse modale *
  142. *****************************************
  143. *
  144. PMod = Prog .17696 1.1095 3.1162;
  145. Basr = VIBR PROCHE PMod Kstru Mstru TBAS;
  146. nnor (Basr.'MODES') (mots 'UY');
  147. *
  148. Basm = Basr.'MODES';
  149. Nbmod = DIME Basm-2;
  150. Si (Affich);
  151. Mess ' ';
  152. Mess 'Sans force suiveuse';
  153. Mess ' Mode Frequence ';
  154. Mess '---------------------------';
  155. Repeter LMod Nbmod;
  156. i=&LMod;
  157. Mess ' ' i ' ' Basm.i.'FREQUENCE';
  158. Fin LMod;
  159. Mess ' ';
  160. Mess ' ';
  161. Mess ' ';
  162. Finsi;
  163. *
  164. *****************************************
  165. * Valeur theorique de confusion
  166. * des deux premiers modes (flottement)
  167. *****************************************
  168. *
  169. Fth = 20.05 * Youstru * (PI * (R**4) / 4.)/ (Lstru*Lstru);
  170.  
  171. *
  172. *****************************************
  173. * Mise en forme du tableau de resultats *
  174. *****************************************
  175. *
  176. Mod = Table;
  177. Mod.Reel = Table;
  178. Mod.Imag = Table;
  179. Repeter Bloc6 (2*Nbmod);
  180. i=&Bloc6;
  181. Mod.Reel.i=Prog;
  182. Mod.Imag.i=Prog;
  183. Fin Bloc6;
  184. *
  185. *****************************************
  186. * Projection des matrices *
  187. *****************************************
  188. *
  189. *--- Matrice masse
  190. Mt = (PJBA MStru Basr);
  191. *--- Matrices de raideur
  192. Ksp = (PJBA Kstru Basr);
  193. Kfp = (PJBA Ksi1 Basr);
  194. Kfp2 = (PJBA Kfe Basr);
  195. *
  196. * --- Reperage de la force critique
  197. FSauv = 'N';
  198. *
  199. * ===================================== *
  200. * Boucle sur la force suiveuse *
  201. * ===================================== *
  202. *
  203. Repeter Bloc10 (DIME LFs);
  204. k=&Bloc10;
  205. Fs = (Extr LFs k);
  206. Si (AFFICH);
  207. Mess 'Iteration' k;
  208. Mess 'Force suiveuse : ' Fs ;
  209. Mess ' ';
  210. Mess '----------------------------------------------------------------
  211. --------------';
  212. Mess ' Mode Frequence Amort. P. Reelle P. Imaginaire
  213. Stabilité ';
  214. Finsi;
  215. *
  216. ******************************************
  217. * Masses, rigidites ... *
  218. ******************************************
  219. *
  220. *---- Rigidite tangente
  221. Kt = (Ksp) et (Fs*Kfp) et (Fs*Kfp2);
  222. *
  223. ******************************************
  224. * Calcul des modes complexes *
  225. ******************************************
  226. *
  227. Basc = VIBC Mt Kt;
  228. Basm = Basc.'MODES';
  229. *
  230. *--- Extraction des frequences
  231. Prf = Prog;
  232. Pif = Prog;
  233. Repeter Bloc2 (2*Nbmod);
  234. i=&Bloc2;
  235. Modn = Basm.i;
  236. f = Modn.'FREQUENCE_REELLE';
  237. * Si (>EG f 0.);
  238. Prf = Prf et (Prog Modn.'FREQUENCE_REELLE');
  239. Pif = Pif et (Prog Modn.'FREQUENCE_IMAGINAIRE');
  240. * Finsi;
  241. Fin bloc2;
  242. *
  243. *--- Tri croissant des frequences
  244. n1 = DIME Prf;
  245. Prfc = Prog (extr Prf 1);
  246. Pifc = Prog (extr Pif 1);
  247. Repeter Bloc3 (n1-1);
  248. i=&Bloc3+1;
  249. f = extr Prf i;
  250. n2 = DIME Prfc;
  251. Pos = 1;
  252. Repeter Bloc4 n2;
  253. j = &Bloc4;
  254. f1 = extr Prfc j;
  255. Si (> f f1);
  256. Pos = Pos + 1;
  257. Finsi;
  258. Fin Bloc4;
  259. Prfc = INSE Prfc Pos f;
  260. Pifc = INSE Pifc Pos (extr Pif i);
  261. Fin Bloc3;
  262. *--- Sauvegarde
  263. Repeter Bloc5 n1;
  264. i=&Bloc5;
  265. f = (Extr Prfc i);
  266. if = (Extr Pifc i);
  267. Si (AFFICH);
  268. Msg = 'STAB.';
  269. Si ((< if -1.D-10) et (>EG f 0.));
  270. Msg = 'INST.';
  271. Si (EGA FSauv 'N');
  272. Fcrit = Fs - (PFs/2.);
  273. Fsauv = 'O';
  274. Finsi;
  275. Finsi;
  276. Si (> f 0.);
  277. * Valeurs propres relatives a lambda = i omega = ix2PIxf
  278. Mess i f (if/f) (-2*PI*if) (2*PI*f) Msg;
  279. Sinon;
  280. Si (EGA f 0.);
  281. Mess i f ' ----- ' (-2*PI*if) (2*PI*f) Msg;
  282. Finsi;
  283. Finsi;
  284. Finsi;
  285. Mod.Reel.i = Mod.Reel.i et (Prog f);
  286. Mod.Imag.i = Mod.Imag.i et (Prog if);
  287. Fin Bloc5;
  288. Si (AFFICH);
  289. Mess '----------------------------------------------------------------
  290. --------------';
  291. Mess ' ';
  292. Finsi;
  293. *
  294. Fin Bloc10;
  295. *
  296. **********************************
  297. * Traces *
  298. **********************************
  299. *
  300. *
  301. Si (EGA GRAPH 'O');
  302. *
  303. Nbcour=2*Nbmod;
  304. Tab1 = Table;
  305. Repeter Ident1 Nbcour;
  306. k=&Ident1;
  307. Tab1.k = 'NOLI';
  308. Fin Ident1;
  309. *
  310. k=1;
  311. Titr 'Frequences (partie reelle)';
  312. Evol1 = Evol BLEU manu (LFs/LA1) (Mod.Reel.k);
  313. Titr 'Frequences (partie imaginaire)';
  314. Evol2 = Evol BLEU manu LFs (Mod.Imag.k);
  315. * --- Traces relatifs a lambda = i omega = ix2PIxf
  316. Titr 'Lambda (partie reelle)';
  317. Evol3 = Evol BLEU manu LFs (-2.*PI*(Mod.Imag.k));
  318. Titr 'Lambda (partie imaginaire)';
  319. Evol4 = Evol BLEU manu LFs (2*PI*(Mod.Reel.k));
  320. Titr 'Lambda (partie reelle / partie imaginaire)';
  321. Evol5 = Evol BLEU manu (2.*PI*(Mod.Reel.k))
  322. (-2.*PI*(Mod.Imag.k));
  323. Repeter Trac1 (Nbcour-1);
  324. k=&Trac1+1;
  325. Si (> (DIME Mod.Reel.k) 0);
  326. Titr 'Frequences (partie reelle)';
  327. Evol1 = Evol1 et (Evol BLEU manu LFs (Mod.Reel.k));
  328. Titr 'Frequences (partie imaginaire)';
  329. Evol2 = Evol2 et (Evol BLEU manu LFs (Mod.Imag.k));
  330. Titr 'Lambda (partie reelle)';
  331. Evol3 = Evol3 et (Evol BLEU manu LFs
  332. (-2.*PI*(Mod.Imag.k)));
  333. Titr 'Lambda (partie imaginaire)';
  334. Evol4 = Evol4 et (Evol BLEU manu LFs
  335. (2.*PI*(Mod.Reel.k)));
  336. Titr 'Lambda (partie reelle / partie imaginaire)';
  337. Evol5 = Evol5 et (Evol BLEU manu
  338. (2.*PI*(Mod.Reel.k)) (-2.*PI*(Mod.Imag.k)));
  339. Finsi;
  340. Fin Trac1;
  341. *
  342. Titr 'Frequences (partie reelle)';
  343. EvolTh = Evol ROUGE manu (Prog Fth Fth) (Prog 0. 2.5);
  344. Dess (Evol1 et EvolTh) ybor 0. 3. Lege
  345. Titx 'Force (N)'
  346. Tity 'Re(F) (Hz)' Tab1;
  347. Titr 'Frequences (partie imaginaire)';
  348. EvolTh = Evol ROUGE manu (Prog Fth Fth) (Prog -0.5 0.5);
  349. Dess (Evol2 et EvolTh) Lege
  350. Titx 'Force (N)'
  351. Tity 'Im(F) (Hz)' Tab1;
  352. Dess Evol3 lege
  353. Titx 'Force (N)'
  354. Tity 'Re(i.2.PI.F)' Tab1;
  355. Dess Evol4 ybor 0. 15. Lege
  356. Titx 'Force (N)'
  357. Tity 'Im(i.2.PI.F)' Tab1;
  358. Dess Evol5 Lege
  359. Titx 'Re(i.2.PI.F)'
  360. Tity 'Im(i.2.PI.F)' Tab1;
  361. Finsi;
  362.  
  363. Mess ' Theorie Calcul Erreur ';
  364. Mess Fth Fcrit (Abs(Fcrit-Fth)/Fth);
  365.  
  366. Si ((Abs(Fcrit-Fth)/Fth) < 0.05);
  367. Erre 0;
  368. Sinon;
  369. Erre 5;
  370. Finsi;
  371. *
  372. FIN;
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  

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