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

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