Télécharger four3.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : four3.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. ************************************************************************
  5. *
  6. * Mots-clés : Dynamique, calcul fréquentiel, reponse harmonique,
  7. * 2D Fourier
  8. *
  9. * Etude de la flexion d'un cylindre sollicité par une excitation
  10. * harmonique en mode de Fourier
  11. * test des operateurs : IMPE, VIBR, RESO, PJBA
  12. * creation : 2013-11-29, Benoit Prabel (#7870)
  13. *
  14. ************************************************************************
  15.  
  16.  
  17. *** OPTIONS ************************************************************
  18. COMPLET = FAUX ;
  19. GRAPH = VRAI; OPTI 'TRAC' 'PSC' 'POTR' 'HELVETICA_16' EPTR 5;
  20. *GRAPH = VRAI;
  21. *
  22. OPTI DIME 2 ELEM QUA4 MODE FOUR NOHA ;
  23. OPTI EPSI LINEAIRE;
  24.  
  25. nhar = 1;
  26.  
  27.  
  28. *** DONNEES GEO + DISCRETISATION ***************************************
  29. *
  30. R = 0.01 ; H = 0.5;
  31. nr = 2 ; nz = 20;
  32.  
  33. moU = mots 'UR' 'UT' 'UZ';
  34. moIU = mots 'IUR' 'IUT' 'IUZ';
  35.  
  36.  
  37. *** MAILLAGE ***********************************************************
  38. *
  39. p1 = 0. 0.;
  40. p2 = R 0.;
  41. d12 = p1 droi nr p2;
  42. d34 = d12 plus (0. H);
  43. p3 = poin d34 initial; p4 = d34 poin final;
  44. s1 = d12 regl nz d34;
  45.  
  46.  
  47. *** MODELE MATERIAU ****************************************************
  48. *
  49. E1 = 2.E11; nu1=0.3; rho1=8000.;
  50. visq1 = 1.E-1*((E1 * rho1)**0.5);
  51. mod1 = mode s1 mecanique elastique isotrope;
  52. mat1 = mate mod1 YOUN E1 NU nu1 RHO rho1 VISQ visq1;
  53.  
  54.  
  55. *** MATRICES ***********************************************************
  56. *
  57. * matrices : partie symetrique (UR UZ UT seulement)
  58. opti mode four nhar;
  59. K1 = rigi (mod1) (mat1);
  60. M1 = mass (mod1) (mat1);
  61. C1 = amor mod1 mat1;
  62. blo1 = BLOQ UR UT UZ d12;
  63. Ktot1 = K1 et blo1;
  64.  
  65. *matrices impedances version 1 : on duplique la symetrique pour ddl IU
  66. K2 = impe K1 'RAIDEUR';
  67. M2 = IMPE M1 'MASSE' ;
  68. C2 = impe C1 'AMORTISSEMENT';
  69. * ! attention ! cela n'est pas equivalent a :
  70. * IMPE C1 Cm1 'AMORTISSEMENT';
  71. * ou Cm1 calculé depuis OPTI MODE FOUR (-1*nhar);
  72. * car il ne s'agit de machines tournantes ici : on reste
  73. * mono-directionnel : les ddl imaginaires correspondent au dephasage !
  74. *
  75. * blo2 = blo1 et (BLOQ IUR IUT IUZ d12);
  76. * ci dessus avant evol #7774, ci dessous apres :
  77. blo2 = IMPE blo1 'RAIDEUR';
  78. Ktot2 = K2 et blo2;
  79.  
  80.  
  81.  
  82. *** CALCUL MODAL *******************************************************
  83. *
  84. nmod1 = 2;
  85. fpro1 = 1.1;
  86. * tmod1 = VIBR 'PROCH' Ktot1 (M1) (prog fpro1) (lect nmod1)
  87. tmod1 = VIBR 'PROCH' Ktot2 (-1.*M2) (prog fpro1) (lect nmod1)
  88. 'TBAS' VRAI;
  89. imod1 = 0;
  90. repe bmod1 nmod1; imod1 = imod1 + 1;
  91. frq1 = tmod1 . 'MODES' . imod1 . 'FREQUENCE' ;
  92. u1 = tmod1 . 'MODES' . imod1 . 'DEFORMEE_MODALE' ;
  93. tit1 = chai 'mode ' imod1 ' f=' frq1 'Hz';
  94. mess tit1;
  95. list (resu u1);
  96. si GRAPH; TRAC (defo u1 s1) TITR tit1; finsi;
  97. fin bmod1;
  98.  
  99. tstat = tabl 'LIAISONS_STATIQUES';
  100.  
  101.  
  102. *** REPONSE **************************************************
  103.  
  104. * A UNE FORCE UNITAIRE
  105. F2 = MANU 'CHPO' p4 2 'FR' 0.5 'FT' -0.5 NATURE DISCRET;
  106.  
  107. * Projection sur base modale
  108. M3 = pjba M2 tmod1;
  109. C3 = pjba C2 tmod1;
  110. Ktot3 = pjba Ktot2 tmod1;
  111. F3 = pjba F2 tmod1;
  112.  
  113.  
  114. *** REPONSE STATIQUE **************************************************
  115.  
  116. * A UNE FORCE UNITAIRE sur base physique
  117. u2 = reso Ktot2 F2;
  118. urp4 = extr u2 p4 'UR';
  119. utp4 = extr u2 p4 'UT';
  120. mess urp4 utp4;
  121.  
  122. * A UN DEPLACEMENT IMPOSÉ
  123. CLurp4 = BLOQ 'UR' p4;
  124. CLutp4 = BLOQ 'UT' p4;
  125. UIMP2 = (DEPI CLurp4 urp4) et (DEPI CLutp4 utp4);
  126. uu2 = RESO (Ktot2 et CLurp4 et CLutp4) UIMP2;
  127. ff2 = reac (CLurp4 et CLutp4) uu2;
  128.  
  129. * A UNE FORCE UNITAIRE sur base modale
  130. u3 = reso Ktot3 F3;
  131. u3 = reco u3 tmod1 tstat;
  132. ur3p4 = extr u3 p4 'UR';
  133. ut3p4 = extr u3 p4 'UT';
  134. mess ur3p4 ut3p4;
  135.  
  136. * A UN DEPLACEMENT sur base modale
  137. * UIMP3 = (DEPI CLurp4 ur3p4) et (DEPI CLutp4 ut3p4);
  138. * UIMP3 = PJBA UIMP3 tmod1;
  139. * CLur3p4 = PJBA CLurp4 tmod1;
  140. * CLut3p4 = PJBA CLutp4 tmod1;
  141. * !!! attention !!!
  142. * A ce jour, il est impossible de projeter directement sur base modale :
  143. * - un second membre de type FLX portant sur des relation non decrite
  144. * dans cette base !
  145. * - des relations et blocage non decrite dans cette base !
  146. *==> pour l instant on fait "a la main" :
  147. UIMP3 = VIDE 'CHPOINT'/'DIFFUS';
  148. imod1 = 0;
  149. repe bmod1 nmod1; imod1 = imod1 + 1;
  150. umod1 = Tmod1 . 'MODES' . imod1 . 'DEFORMEE_MODALE';
  151. ptrep = Tmod1 . 'MODES' . imod1 . 'POINT_REPERE';
  152. UIMP3 = UIMP3 et (MANU 'CHPO' ptrep 1 'ALFA' (extr umod1 'UR' p4)
  153. 'NATURE' 'DIFFUS');
  154. fin bmod1;
  155. CL3 = RELA UIMP3;
  156. list CL3;
  157. UIMP3 = DEPI CL3 ur3p4;
  158. list UIMP3;
  159. uu3 = RESO (Ktot3 et CL3) UIMP3;
  160. * verif du respect de la liaison :
  161. uu3u = reco uu3 tmod1 tstat;
  162. list (redu uu3u p4);
  163. ERROR6u = maxi (prog ((extr uu3u 'UR' p4) - ur3p4)
  164. ((extr uu3u 'UT' p4) - ut3p4)) 'ABS';
  165. ff3 = reac CL3 uu3;
  166.  
  167.  
  168. *** REPONSE DYNAMIQUE **************************************************
  169.  
  170. * on trace les deformees pour les frequences suivantes
  171. prtrac = prog 25. 50. 75. 100. PAS 100. 500.;
  172.  
  173. * fonction de transfert : on boucle sur les frequences
  174. si (COMPLET);
  175. promeg = prog 50. PAS 2. 70.
  176. 71. PAS 0.2 74.8
  177. 74.9 PAS 0.05 75.7
  178. 75.8 PAS 0.2 80.
  179. 82. PAS 2. 100.;
  180. sino;
  181. promeg = prog 70. PAS 0.2 80.;
  182. fins;
  183. * on cherche la resonance exacte (rem : on a de l amortissement)
  184. promeg = ordo (promeg et frq1);
  185. nomeg = dime promeg ;
  186.  
  187. * preparation des listreel resultats
  188. ur2top = prog; ut2top = prog;
  189. iur2top = prog; iut2top = prog;
  190.  
  191.  
  192. ur3top = prog; ut3top = prog;
  193. iur3top = prog; iut3top = prog;
  194.  
  195. iomeg= 0 ;
  196. REPE BOMEG nomeg; iomeg = iomeg + 1 ;
  197.  
  198. omeg = extr promeg iomeg; w1 = 2. * pi * omeg;
  199. chacha = chai iomeg ' : \W = ' omeg 'Hz';
  200. mess chacha;
  201.  
  202. * formation de la rigidite dynamique
  203. Kdyn2 = Ktot2 et (w1 * C2) et ((w1 ** 2) * M2);
  204.  
  205. * resolution
  206. u2 = reso Kdyn2 F2;
  207.  
  208. * resultats
  209. ur2top = ur2top et (extr u2 UR p4);
  210. ut2top = ut2top et (extr u2 UT p4);
  211. iur2top = iur2top et (extr u2 IUR p4);
  212. iut2top = iut2top et (extr u2 IUT p4);
  213.  
  214. * trace
  215. si (GRAPH);
  216. si (exis prtrac omeg 0.0001);
  217. trac ((defo u2 s1 BLEU) et (defo (u2 exco moIU moU) s1 OCEA))
  218. 'TITR' chacha;
  219. fins;
  220. fins;
  221.  
  222. * idem sur base modale
  223. Kdyn3 = Ktot3 et (w1 * C3) et ((w1 ** 2) * M3);
  224. u3 = reso Kdyn3 F3;
  225. u3 = reco u3 tmod1 tstat;
  226. ur3top = ur3top et (extr u3 'UR' p4);
  227. ut3top = ut3top et (extr u3 'UT' p4);
  228. iur3top = iur3top et (extr u3 'IUR' p4);
  229. iut3top = iut3top et (extr u3 'IUT' p4);
  230.  
  231.  
  232. FIN BOMEG;
  233.  
  234. *** POST TRAITEMENT ****************************************************
  235.  
  236.  
  237. * evolutions brutes
  238. ev2r = EVOL 'BLEU' 'MANU' 'OMEG' promeg 'UR' ur2top;
  239. ev2t = EVOL 'BLEU' 'MANU' 'OMEG' promeg 'UT' ut2top;
  240. ev2ir = EVOL 'OCEA' 'MANU' 'OMEG' promeg 'IUR' iur2top;
  241. ev2it = EVOL 'OCEA' 'MANU' 'OMEG' promeg 'IUT' iut2top;
  242. ev3r = EVOL 'ROUG' 'MANU' 'OMEG' promeg 'UR' ur3top;
  243. ev3t = EVOL 'ROUG' 'MANU' 'OMEG' promeg 'UT' ut3top;
  244. ev3ir = EVOL 'ROSE' 'MANU' 'OMEG' promeg 'IUR' iur3top;
  245. ev3it = EVOL 'ROSE' 'MANU' 'OMEG' promeg 'IUT' iut3top;
  246.  
  247. * amplitude phase
  248. ampx2 = ((ur2top**2) + (iur2top**2))**0.5;
  249. ev2ax = EVOL 'BLEU' 'MANU' 'OMEG' promeg '|UX|' ampx2;
  250. phix2 = atg iur2top ur2top;
  251. ev2px = EVOL 'BLEU' 'MANU' 'OMEG' promeg 'phi' phix2;
  252. ampx3 = ((ur3top**2) + (iur3top**2))**0.5;
  253. ev3ax = EVOL 'BLEU' 'MANU' 'OMEG' promeg '|UX|' ampx3;
  254. phix3 = atg iur3top ur3top;
  255. ev3px = EVOL 'BLEU' 'MANU' 'OMEG' promeg 'phi' phix3;
  256.  
  257. * tracé des résultats
  258. si GRAPH;
  259. * table Tdess1
  260. Tdess1 = tabl;
  261. Tdess1 . 1 = mot ' MARQ PLUS REGU';
  262. Tdess1 . 2 = mot ' MARQ S ROND REGU';
  263. Tdess1 . 3 = mot 'TIRR MARQ PLUS REGU';
  264. Tdess1 . 4 = mot 'TIRR MARQ S ROND REGU';
  265. Tdess1 . 'TITRE' = tabl;
  266. Tdess1 . 'TITRE' . 1 = mot 'UR';
  267. Tdess1 . 'TITRE' . 2 = mot 'UT';
  268. Tdess1 . 'TITRE' . 3 = mot 'IUR';
  269. Tdess1 . 'TITRE' . 4 = mot 'IUT';
  270.  
  271. dess (ev2r et ev2t et ev2ir et ev2it)
  272. TITX '\W (Hz)' POSX 'CENT'
  273. TITY 'U (m)' POSY 'CENT'
  274. TITR 'Fonction de transfert poutre Fourier base physique'
  275. LEGE 'SO' Tdess1 ;
  276. dess (ev3r et ev3t et ev3ir et ev3it)
  277. TITX '\W (Hz)' POSX 'CENT'
  278. TITY 'U (m)' POSY 'CENT'
  279. TITR 'Fonction de transfert poutre Fourier base modale'
  280. LEGE 'SO' Tdess1 ;
  281.  
  282. Tdess2 = tabl;
  283. Tdess2 . 1 = mot ' MARQ PLUS REGU';
  284. Tdess2 . 2 = mot 'TIRR MARQ S ROND REGU';
  285. Tdess2 . 'TITRE' = tabl;
  286. Tdess2 . 'TITRE' . 1 = mot 'base physique';
  287. Tdess2 . 'TITRE' . 2 = mot 'base modale';
  288. dess (ev2ax et ev3ax)
  289. GRIL POINTILLE GRIS
  290. TITX '\W (Hz)' POSX 'CENT'
  291. TITY '|U| (m)' POSY 'CENT' LOGY
  292. TITR 'Fonction de transfert poutre Fourier'
  293. LEGE 'NO' Tdess2 ;
  294. dess (ev2px et ev3px)
  295. GRIL POINTILLE GRIS
  296. TITX '\W (Hz)' POSX 'CENT' TITY '\j (°)' POSY 'CENT' YGRA 45.
  297. TITR 'Fonction de transfert poutre Fourier'
  298. LEGE 'SO' Tdess2 ;
  299. finsi;
  300.  
  301.  
  302.  
  303. *** TESTS DE BON FONCTIONNEMENT ****************************************
  304.  
  305. * valeur de reference (obtenue depuis un calcul 3d avec des elements cub8
  306. * et 24 elements sur la circonference)
  307. wref3d = 75.354;
  308. uref3d = 1.51858E-03;
  309. * tolerance
  310. XTOL1 = 1.E-2;
  311. XTOL3 = 5.E-2;
  312. XTOL4 = 0.5E-2;
  313. XTOL5 = 1.E-9;
  314.  
  315. * frequence du 1er mode
  316. ERROR1 = abs (1. - (frq1 / wref3d));
  317. mess frq1 ERROR1;
  318. ERROR1 = ERROR1 > XTOL1;
  319.  
  320. * frequence de resonance calculée depuis la phase = -90°
  321. wres2 = ipol -90. phix2 promeg;
  322. ERROR2 = abs (1. - (wres2 / wref3d));
  323. mess wres2 ERROR2;
  324. ERROR2 = ERROR2 > XTOL1;
  325.  
  326. * amplitude de la resonance
  327. uamp2 = ipol frq1 promeg ampx2;
  328. ERROR3 = abs (1. - (uamp2 / uref3d));
  329. mess uamp2 ERROR3;
  330. ERROR3 = ERROR3 > XTOL3;
  331.  
  332. * verif de la reponse projetee sur base modale
  333. dur = (maxi(ur2top - ur3top) abs) / (maxi ur2top abs);
  334. dut = (maxi(ut2top - ut3top) abs) / (maxi ut2top abs);
  335. diur = (maxi(iur2top - iur3top) abs) / (maxi iur2top abs);
  336. diut = (maxi(iut2top - iut3top) abs) / (maxi iut2top abs);
  337. ERROR4 = maxi (prog dur dut diur diut);
  338. mess dur dut diur diut ERROR4 XTOL4;
  339. ERROR4 = ERROR4 > XTOL4;
  340.  
  341. * verif du deplacement impose sur base physique
  342. ERROR5 = maxi (ff2 - F2) ABS;
  343. ERROR5 = ERROR5 > XTOL5;
  344.  
  345. * verif du deplacement impose sur base physique
  346. ERROR6 = maxi (ff3 - F3) ABS;
  347. ERROR6 = (ERROR6 > XTOL5) ou (ERROR6u > XTOL5);
  348. ERROR7 = (maxi (prog (ur3p4 - urp4) (ut3p4 - utp4) ) ABS)
  349. / (maxi (prog urp4 utp4) ABS);
  350. mess ur3p4 urp4 ut3p4 utp4 ERROR7 XTOL3;
  351. ERROR7 = ERROR7 > XTOL3;
  352.  
  353. TEMP 'IMPR' 'SGAC' 'IMPR';
  354. si (ERROR1 ou ERROR2 ou ERROR3 ou ERROR4
  355. ou ERROR5 ou ERROR6 ou ERROR7);
  356. mess ERROR1 ERROR2 ERROR3 ERROR4 ERROR5 ERROR6 ERROR7;
  357. ERRE 5;
  358. sinon ;
  359. MESS 'Aucun probleme detecte !' ;
  360. finsi;
  361.  
  362. FIN ;
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  

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