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 = 'PRES' MOP 'PRES' (-1/.1/.1) ;
  103. fe1 = 'BSIG' MOP MAP ;
  104.  
  105. *--- Resolution et calcul des contraintes LINEAIRE
  106. Dep1 = Reso Kstru FE1;
  107.  
  108. * Sig1q = Sigm Modl1 Matr1 Dep1;
  109. Sig1 = Sigm 'LINE' Modl1 Matr1 Dep1;
  110. * correction bp : il faut faire le calcul en lineaire, meme si ici
  111. * on voit que la difference est negligeable et n'amene pas d'erreur
  112. * list resum Sig1;
  113. * list resum (Sig1q - Sig1);
  114.  
  115. * rigidite geometrique
  116. Ksi1 = Ksigma Modl1 Sig1 Car1 'FLAM';
  117. *
  118. ETAB = TABLE;
  119. ETAB.'OBJM' = Modl1;
  120. ETAB.'CLIM' = (Cl1 et Cl2 et Cl3 et Cl4);
  121. ETAB.'RIGI' = Ks;
  122. ETAB.'KSIG' = Ksi1;
  123. ETAB.'LAM1' = 0.001;
  124. ETAB.'LAM2' = 100.;
  125. ETAB.'NMOD' = 1;
  126. *
  127. STAB = FLAMBAGE ETAB;
  128. *
  129. LA1 = STAB . 1 . LAMB;
  130. *
  131. ***********************************
  132. * Rigidite due à la force suiveuse
  133. ***********************************
  134.  
  135. kp1 = kp mop map asym ;
  136. Kfe = -1*KP1;
  137.  
  138. *
  139. *****************************************
  140. * Analyse modale *
  141. *****************************************
  142. *
  143. PMod = Prog .17696 1.1095 3.1162;
  144. Basr = VIBR PROCHE PMod Kstru Mstru ;
  145. nnor (Basr.'MODES') (mots 'UY');
  146. *
  147. Basm = Basr.'MODES';
  148. Nbmod = DIME Basm-2;
  149. Si (Affich);
  150. Mess ' ';
  151. Mess 'Sans force suiveuse';
  152. Mess ' Mode Frequence ';
  153. Mess '---------------------------';
  154. Repeter LMod Nbmod;
  155. i=&LMod;
  156. Mess ' ' i ' ' Basm.i.'FREQUENCE';
  157. Fin LMod;
  158. Mess ' ';
  159. Mess ' ';
  160. Mess ' ';
  161. Finsi;
  162. *
  163. *****************************************
  164. * Valeur theorique de confusion
  165. * des deux premiers modes (flottement)
  166. *****************************************
  167. *
  168. Fth = 20.05 * Youstru * (PI * (R**4) / 4.)/ (Lstru*Lstru);
  169.  
  170. *
  171. *****************************************
  172. * Mise en forme du tableau de resultats *
  173. *****************************************
  174. *
  175. Mod = Table;
  176. Mod.Reel = Table;
  177. Mod.Imag = Table;
  178. Repeter Bloc6 (2*Nbmod);
  179. i=&Bloc6;
  180. Mod.Reel.i=Prog;
  181. Mod.Imag.i=Prog;
  182. Fin Bloc6;
  183. *
  184. *****************************************
  185. * Projection des matrices *
  186. *****************************************
  187. *
  188. *--- Matrice masse
  189. Mt = (PJBA MStru Basr);
  190. *--- Matrices de raideur
  191. Ksp = (PJBA Kstru Basr);
  192. Kfp = (PJBA Ksi1 Basr);
  193. Kfp2 = (PJBA Kfe Basr);
  194. *
  195. * --- Reperage de la force critique
  196. FSauv = 'N';
  197. *
  198. * ===================================== *
  199. * Boucle sur la force suiveuse *
  200. * ===================================== *
  201. *
  202. Repeter Bloc10 (DIME LFs);
  203. k=&Bloc10;
  204. Fs = (Extr LFs k);
  205. Si (AFFICH);
  206. Mess 'Iteration' k;
  207. Mess 'Force suiveuse : ' Fs ;
  208. Mess ' ';
  209. Mess '---------------------------------------------------------------- --------------';
  210. Mess ' Mode Frequence Amort. P. Reelle P. Imaginaire Stabilité ';
  211. Finsi;
  212. *
  213. ******************************************
  214. * Masses, rigidites ... *
  215. ******************************************
  216. *
  217. *---- Rigidite tangente
  218. Kt = (Ksp) et (Fs*Kfp) et (Fs*Kfp2);
  219. *
  220. ******************************************
  221. * Calcul des modes complexes *
  222. ******************************************
  223. *
  224. Basc = VIBC Mt Kt;
  225. Basm = Basc.'MODES';
  226. *
  227. *--- Extraction des frequences
  228. Prf = Prog;
  229. Pif = Prog;
  230. Repeter Bloc2 (2*Nbmod);
  231. i=&Bloc2;
  232. Modn = Basm.i;
  233. f = Modn.'FREQUENCE_REELLE';
  234. * Si (>EG f 0.);
  235. Prf = Prf et (Prog Modn.'FREQUENCE_REELLE');
  236. Pif = Pif et (Prog Modn.'FREQUENCE_IMAGINAIRE');
  237. * Finsi;
  238. Fin bloc2;
  239. *
  240. *--- Tri croissant des frequences
  241. n1 = DIME Prf;
  242. Prfc = Prog (extr Prf 1);
  243. Pifc = Prog (extr Pif 1);
  244. Repeter Bloc3 (n1-1);
  245. i=&Bloc3+1;
  246. f = extr Prf i;
  247. n2 = DIME Prfc;
  248. Pos = 1;
  249. Repeter Bloc4 n2;
  250. j = &Bloc4;
  251. f1 = extr Prfc j;
  252. Si (> f f1);
  253. Pos = Pos + 1;
  254. Finsi;
  255. Fin Bloc4;
  256. Prfc = INSE Prfc Pos f;
  257. Pifc = INSE Pifc Pos (extr Pif i);
  258. Fin Bloc3;
  259. *--- Sauvegarde
  260. Repeter Bloc5 n1;
  261. i=&Bloc5;
  262. f = (Extr Prfc i);
  263. if = (Extr Pifc i);
  264. Si (AFFICH);
  265. Msg = 'STAB.';
  266. Si ((< if -1.D-10) et (>EG f 0.));
  267. Msg = 'INST.';
  268. Si (EGA FSauv 'N');
  269. Fcrit = Fs - (PFs/2.);
  270. Fsauv = 'O';
  271. Finsi;
  272. Finsi;
  273. Si (> f 0.);
  274. * Valeurs propres relatives a lambda = i omega = ix2PIxf
  275. Mess i f (if/f) (-2*PI*if) (2*PI*f) Msg;
  276. Sinon;
  277. Si (EGA f 0.);
  278. Mess i f ' ----- ' (-2*PI*if) (2*PI*f) Msg;
  279. Finsi;
  280. Finsi;
  281. Finsi;
  282. Mod.Reel.i = Mod.Reel.i et (Prog f);
  283. Mod.Imag.i = Mod.Imag.i et (Prog if);
  284. Fin Bloc5;
  285. Si (AFFICH);
  286. Mess '---------------------------------------------------------------- --------------';
  287. Mess ' ';
  288. Finsi;
  289. *
  290. Fin Bloc10;
  291. *
  292. **********************************
  293. * Traces *
  294. **********************************
  295. *
  296. *
  297. Si (EGA GRAPH 'O');
  298. *
  299. Nbcour=2*Nbmod;
  300. Tab1 = Table;
  301. Repeter Ident1 Nbcour;
  302. k=&Ident1;
  303. Tab1.k = 'NOLI';
  304. Fin Ident1;
  305. *
  306. k=1;
  307. Titr 'Frequences (partie reelle)';
  308. Evol1 = Evol BLEU manu (LFs/LA1) (Mod.Reel.k);
  309. Titr 'Frequences (partie imaginaire)';
  310. Evol2 = Evol BLEU manu LFs (Mod.Imag.k);
  311. * --- Traces relatifs a lambda = i omega = ix2PIxf
  312. Titr 'Lambda (partie reelle)';
  313. Evol3 = Evol BLEU manu LFs (-2.*PI*(Mod.Imag.k));
  314. Titr 'Lambda (partie imaginaire)';
  315. Evol4 = Evol BLEU manu LFs (2*PI*(Mod.Reel.k));
  316. Titr 'Lambda (partie reelle / partie imaginaire)';
  317. Evol5 = Evol BLEU manu (2.*PI*(Mod.Reel.k)) (-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 BLEU manu LFs (Mod.Reel.k));
  323. Titr 'Frequences (partie imaginaire)';
  324. Evol2 = Evol2 et (Evol BLEU manu LFs (Mod.Imag.k));
  325. Titr 'Lambda (partie reelle)';
  326. Evol3 = Evol3 et (Evol BLEU manu LFs (-2.*PI*(Mod.Imag.k)));
  327. Titr 'Lambda (partie imaginaire)';
  328. Evol4 = Evol4 et (Evol BLEU manu LFs (2.*PI*(Mod.Reel.k)));
  329. Titr 'Lambda (partie reelle / partie imaginaire)';
  330. Evol5 = Evol5 et (Evol BLEU manu (2.*PI*(Mod.Reel.k)) (-2.*PI*(Mod.Imag.k)));
  331. Finsi;
  332. Fin Trac1;
  333. *
  334. Titr 'Frequences (partie reelle)';
  335. EvolTh = Evol ROUGE manu (Prog Fth Fth) (Prog 0. 2.5);
  336. Dess (Evol1 et EvolTh) ybor 0. 3. Lege Titx 'Force (N)' Tity 'Re(F) (Hz)' Tab1;
  337. Titr 'Frequences (partie imaginaire)';
  338. EvolTh = Evol ROUGE manu (Prog Fth Fth) (Prog -0.5 0.5);
  339. Dess (Evol2 et EvolTh) Lege Titx 'Force (N)' Tity 'Im(F) (Hz)' Tab1;
  340. Dess Evol3 lege Titx 'Force (N)' Tity 'Re(i.2.PI.F)' Tab1;
  341. Dess Evol4 ybor 0. 15. Lege Titx 'Force (N)' Tity 'Im(i.2.PI.F)' Tab1;
  342. Dess Evol5 Lege Titx 'Re(i.2.PI.F)' Tity 'Im(i.2.PI.F)' Tab1;
  343. Finsi;
  344.  
  345. Mess ' Theorie Calcul Erreur ';
  346. Mess Fth Fcrit (Abs(Fcrit-Fth)/Fth);
  347.  
  348. Si ((Abs(Fcrit-Fth)/Fth) < 0.05);
  349. Erre 0;
  350. Sinon;
  351. Erre 5;
  352. Finsi;
  353. *
  354. FIN;
  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.  

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