Télécharger spectral.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : spectral.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. *
  5. *
  6. **********************************************************************
  7. * *
  8. * Mots-clés : Vibrations, calcul modal, modes statiques, poutre *
  9. * reponse frequentielle *
  10. * *
  11. * calcul spectral sans/avec amortissement, base modale seule. *
  12. * auteur : JK / a parfaire *
  13. * *
  14. **********************************************************************
  15. *
  16. opti dime 3 elem seg2 ;
  17. *
  18. d_bloq = vrai;
  19. d_graph = faux ;
  20.  
  21. p0 = 0. 0. 0. ; e_z = 0. 0. 1. ;
  22. q2 = e_z ; q1 = p0 ;
  23. lig1 = d 20 q2 q1 ;
  24. qf1 = point lig1 proc (0. 0. 0.6) ;
  25.  
  26. MO1= MODE LIG1 MECANIQUE ELASTIQUE POUT ;
  27.  
  28. MATPL1=MATE MO1 YOUNG 2.E10 NU 0.4 RHO 7800;
  29. CARPL1= 'CARA' MO1 SECT 0.1 INRY 2.08E-8 INRZ 3.33E-8
  30. TORS 2.41E-7;
  31. MATE1=MATPL1 ET CARPL1;
  32. ***
  33.  
  34.  
  35. ***
  36.  
  37. RIGPL1 =RIGI MATE1 MO1 ;
  38. MASPLA1=MASS MATE1 MO1 ;
  39. BLOQ2=BLOQ DEPL ROTA Q2 ;
  40. bloq1r = (bloq rota q1) ; blq1uz = bloq q1 uz ;
  41. bloq1rz = bloq q1 rz ;
  42. blq1ux = bloq q1 ux ; blq1uy = bloq q1 uy ;
  43. bloq1rx = bloq q1 rx ; bloq1ry= bloq q1 ry ;
  44. *
  45. *----
  46. *
  47. PR=PROG 0.01 ; n_mv = lect 4 ;
  48.  
  49. tblsta = table 'LIAISONS_STATIQUES' ;
  50. tblsta . 1 = table ; tblsta . 1 . point_liaison = q1 ;
  51. si d_bloq ; tblsta . 1 . ddl_liaison = ux ;
  52. sinon ; tblsta . 1 . ddl_liaison = fx ; finsi ;
  53. tblsta . 2 = table ; tblsta . 2 . point_liaison = q1 ;
  54. si d_bloq ; tblsta . 2 . ddl_liaison = uy ;
  55. sinon ; tblsta . 2 . ddl_liaison = fy ; finsi ;
  56. tblsta . 3 = table ; tblsta . 3 . point_liaison = q1 ;
  57. si d_bloq ; tblsta . 3 . ddl_liaison = rx ;
  58. sinon ; tblsta . 3 . ddl_liaison = mx ; finsi ;
  59.  
  60. si d_bloq ;
  61. bliaiq1 = bloque tblsta ; depi tblsta ;
  62. sinon ;
  63. force tblsta ;
  64. finsi ;
  65. si d_bloq ;
  66. * modes vibrations
  67. bl1bloq = bloq1ry et bloq1rz et blq1uz et bliaiq1 ;
  68. MODPLA1=VIBR PROC PR n_mv (RIGPL1 et bl1bloq) MASPLA1 ;
  69. * solutions statiques
  70. tbsta = resout (RIGPL1 et bloq1ry et bloq1rz et
  71. blq1uz et bliaiq1) tblsta ;
  72. react bliaiq1 tbsta ;
  73. sinon ;
  74. * modes vibrations
  75. MODPLA1=VIBR PROC PR n_mv (RIGPL1 et bloq1rx et bloq1rz et
  76. blq1uz) MASPLA1 ;
  77. * solutions statiques
  78. tbsta = resout RIGPL1 tblsta ;
  79. finsi ;
  80.  
  81. tmod = modpla1 . modes ;
  82. tmod (maspla1 et bl1bloq) * ;
  83.  
  84. repeter bmod ((dime modpla1 . modes) - 2) ;
  85. ind1 = &bmod ;
  86. psta1 = manu poi1 tmod . ind1 . point_repere ;
  87. momoda1 = mode psta1 mecanique elastique modal ;
  88. camoda1 = mate momoda1 freq tmod . ind1 . frequence
  89. mass tmod . ind1 . masse_generalisee
  90. defo tmod . ind1 . deformee_modale
  91. ;
  92. si (ega 1 ind1) ;
  93. momod1 = momoda1 ; camod1 = camoda1 ;
  94. sinon ;
  95. momod1 = momod1 et momoda1 ; camod1 = camod1 et camoda1 ;
  96. finsi ;
  97. def1 = defo tmod . ind1 . deformee_modale lig1 1. vert ;
  98. def0 = defo tmod . ind1 . deformee_modale lig1 0. bleu ;
  99. titre ' mode propre ind = ' ind1 ;
  100. si d_graph ; trac (10. 10. 0.) (def0 et def1) ; finsi ;
  101. fin bmod ;
  102.  
  103. riam1 = amor momod1 camod1 ;
  104.  
  105.  
  106. * forces
  107.  
  108. fy1 = manu chpo qf1 fy 1. ; fy1 = fy1 * 1.e4 ;
  109. fy2 = manu chpo q1 fy 1. ; fy2 = fy2 * 1.e4 ;
  110.  
  111. fq2 = manu chpo q2 fy 1.e4 ;
  112. dq2 = resout (RIGPL1 et bloq1ry et bloq1rz et
  113. blq1uz et bliaiq1) fq2 ;
  114. maaq2 = manu poi1 (8. 8. 8.) ;
  115.  
  116.  
  117. *
  118. abs_f = prog 0. 1000. ; ord_f = prog 1. 1. ;
  119. ev_xf = evol manu abs_f ord_f ;
  120. fy3 = pjba fy1 momod1 camod1 ;
  121. cha3 = char meca ev_xf fy3 ;
  122.  
  123. opti mode freq ;
  124. t_freq = table 'PASAPAS' ;
  125.  
  126. t_freq . modele = momod1 ;
  127. t_freq . caracteristiques = camod1 ;
  128. t_freq . chargement = cha3 ;
  129.  
  130. *t_freq . temps_calcules = prog 0. 0.1 ;
  131. t_freq . hypothese_deformations = 'LINEAIRE' ;
  132. pasapas t_freq ;
  133.  
  134. o_y = prog ; a_f = prog ; o_alp = prog ;
  135. repeter b_post ((dime t_freq.temps) - 1) ;
  136. ind1 = &b_post ;
  137. chdep1 = t_freq . deplacements . ind1 ;
  138. dep11 = reco t_freq . modele t_freq . caracteristiques chdep1 ;
  139.  
  140. uu_alp = xty chdep1 chdep1 (mots alfa beta ) (mots alfa beta) ;
  141. o_alp = o_alp et (prog uu_alp) ;
  142.  
  143. si faux ;
  144. deff1 = defo dep11 lig1 1. vert ;
  145. deff0 = defo dep11 lig1 0. bleu ;
  146. titre ' reponse frequentielle f = ' t_freq . temps . ind1 ;
  147. trac (10. 10. 0.) (deff0 et deff1) ;
  148. finsi ;
  149.  
  150. dep11p2 = redu dep11 qf1 ;
  151. uu_p2 = xty dep11p2 dep11p2
  152. (mots uy) (mots uy) ;
  153. o_y = o_y et (prog uu_p2);
  154. a_f = a_f et (prog t_freq . temps . ind1) ;
  155. fin b_post ;
  156. o_y = o_y ** 0.5 ;
  157. o_alp = o_alp ** 0.5 ;
  158.  
  159. ev_dsp0 = evol manu 'FREQ' a_f 'UY qf1' o_y coul vert;
  160. ev_alp0 = evol manu 'FREQ' a_f 'ALPH' o_alp coul vert;
  161.  
  162. si d_graph ;
  163. dess ev_dsp0 logx logy titre 'reponse frequentielle Q2' ;
  164. dess ev_alp0 logx logy titre 'reponse reel modal' ;
  165. finsi ;
  166. o_y0 = 2671.3 ; o_alp0 = 7973.7 ;
  167. err01 = maxi o_y - o_y0 ; err02 = maxi o_alp - o_alp0 ;
  168.  
  169. si (((abs err01) < 1.e-1) et ((abs err02) < 1.e-1)) ;
  170. erre 0 ; sinon ; erre 5 ; finsi ;
  171. *
  172. *
  173. *
  174. opti mode freq ;
  175. repeter bmod ((dime modpla1 . modes) - 2) ;
  176. ind1 = &bmod ;
  177. psta1 = manu poi1 tmod . ind1 . point_repere ;
  178. momoda1 = mode psta1 mecanique elastique modal ;
  179. camoda1 = mate momoda1 freq tmod . ind1 . frequence
  180. mass tmod . ind1 . masse_generalisee
  181. defo tmod . ind1 . deformee_modale
  182. amor 0.05 ;
  183. si (ega 1 ind1) ;
  184. momod1 = momoda1 ; camod1 = camoda1 ;
  185. sinon ;
  186. momod1 = momod1 et momoda1 ; camod1 = camod1 et camoda1 ;
  187. finsi ;
  188. def1 = defo tmod . ind1 . deformee_modale lig1 1. vert ;
  189. def0 = defo tmod . ind1 . deformee_modale lig1 0. bleu ;
  190. titre ' mode propre ind = ' ind1 ;
  191. si d_graph ; trac (10. 10. 0.) (def0 et def1) ; finsi ;
  192. fin bmod ;
  193.  
  194. riam1 = amor momod1 camod1 ;
  195.  
  196. fy6 = fy3 ;
  197. fiy6 = changer fy6 comp (mots falf fbet) (mots ifal ifbe) ;
  198. cha6 = char meca ev_xf (fy6 et fiy6) ;
  199. *list cha6 ;
  200.  
  201. t_freq = table 'PASAPAS' ;
  202.  
  203. t_freq . modele = momod1 ;
  204. t_freq . caracteristiques = camod1 ;
  205. t_freq . chargement = cha3 ;
  206.  
  207. *t_freq . temps_calcules = prog 0. 0.1 ;
  208. t_freq . hypothese_deformations = 'LINEAIRE' ;
  209. pasapas t_freq ;
  210.  
  211.  
  212. o_y = prog ; io_y = prog ; a_f = prog ; o_alp = prog ; o_ial = prog ;
  213. o_pha = prog ;
  214. repeter b_post ((dime t_freq.temps) - 1) ;
  215. ind1 = &b_post ;
  216. chdep1 = t_freq . deplacements . ind1 ;
  217. dep11 = reco t_freq . modele t_freq . caracteristiques chdep1 ;
  218.  
  219. uu_alp = xty chdep1 chdep1 (mots alfa beta ) (mots alfa beta) ;
  220. uu_ial = xty chdep1 chdep1 (mots ialf ibet) (mots ialf ibet) ;
  221. o_alp = o_alp et (prog uu_alp) ;o_ial = o_ial et (prog uu_ial) ;
  222.  
  223. si faux ;
  224. deff1 = defo dep11 lig1 1. vert ;
  225. deff0 = defo dep11 lig1 0. bleu ;
  226. titre ' reponse frequentielle f = ' t_freq . temps . ind1 ;
  227. trac (10. 10. 0.) (deff0 et deff1) ;
  228. finsi ;
  229.  
  230. dep11p2 = redu dep11 qf1 ;
  231. uu_p2 = xty dep11p2 dep11p2
  232. (mots uy iuy ) (mots uy iuy) ;
  233. im_p2 = xty dep11p2 dep11p2
  234. (mots iuy) (mots iuy) ;
  235. o_y = o_y et (prog uu_p2); io_y = io_y et (prog im_p2) ;
  236. o_pha = o_pha et
  237. (prog ((extr dep11p2 iuy qf1 )/ (extr dep11p2 uy qf1))) ;
  238. a_f = a_f et (prog t_freq . temps . ind1) ;
  239. fin b_post ;
  240.  
  241. o_y = o_y ** 0.5 ; io_y = io_y ** 0.5 ;
  242. o_alp = o_alp ** 0.5 ; o_ial = o_ial ** 0.5 ;
  243. o_pha = atg o_pha ;
  244.  
  245. ev_dsp = evol manu 'FREQ' a_f 'UY qf1' o_y ;
  246. ev_dsp1 = ev_dsp coul rouge ;
  247. ev_pha = evol manu 'FREQ' a_f 'PHASE' o_pha ;
  248. ev_pha1 = ev_pha coul rouge ;
  249. ev_idsp = evol manu 'FREQ' a_f 'iUY qf1' io_y ;
  250. ev_alp = evol manu 'FREQ' a_f 'ALPH' o_alp ;
  251. ev_alp1 = ev_alp coul rouge ;
  252. ev_ial = evol manu 'FREQ' a_f 'IALP' o_ial ;
  253. ev_ial1 = ev_ial coul rouge ;
  254.  
  255. si d_graph ;
  256. *dess ev_dsp logx logy titre 'reponse frequentielle qf1';
  257. dess (ev_dsp et ev_dsp0) logx logy titre 'reponse frequentielle qf1';
  258. dess ev_pha logx titre 'phase qf1'
  259. *dess ev_idsp logx logy titre 'reponse frequentielle ima qf1' ;
  260. dess (ev_alp et ev_alp0) logx logy titre 'reponse reel modal' ;
  261. dess ev_ial logx logy titre 'reponse ima modal' ;
  262. finsi ;
  263.  
  264. o_y3 = 20.666 ;
  265. o_alp3 = 30.549 ;
  266. o_pha3 = 89.434 ;
  267.  
  268. err1 = (maxi o_y) - o_y3 ; err2 = (maxi o_alp) - o_alp3 ;
  269. err3 = (maxi o_pha) - o_pha3 ;
  270.  
  271.  
  272. si (((abs err1) < 1.e-1) et ((abs err2) < 1.e-1) et
  273. ((abs err3) < 1.e-1)) ;
  274. erre 0 ; sinon ; erre 5 ; finsi ;
  275. *
  276. *
  277. t_freq = table 'PASAPAS' ;
  278. t_freq . chargement = cha6 ;
  279.  
  280. t_freq . modele = momod1 ;
  281. t_freq . caracteristiques = camod1 ;
  282.  
  283. *t_freq . temps_calcules = prog 0. 0.1 ;
  284. t_freq . hypothese_deformations = 'LINEAIRE' ;
  285. pasapas t_freq ;
  286.  
  287.  
  288. o_y = prog ; io_y = prog ; a_f = prog ; o_alp = prog ; o_ial = prog ;
  289. o_pha = prog ;
  290. repeter b_post ((dime t_freq.temps) - 1) ;
  291. ind1 = &b_post ;
  292. chdep1 = t_freq . deplacements . ind1 ;
  293. dep11 = reco t_freq . modele t_freq . caracteristiques chdep1 ;
  294.  
  295. uu_alp = xty chdep1 chdep1 (mots alfa beta ) (mots alfa beta) ;
  296. uu_ial = xty chdep1 chdep1 (mots ialf ibet) (mots ialf ibet) ;
  297. o_alp = o_alp et (prog uu_alp) ;o_ial = o_ial et (prog uu_ial) ;
  298.  
  299. si faux ;
  300. deff1 = defo dep11 lig1 1. vert ;
  301. deff0 = defo dep11 lig1 0. bleu ;
  302. titre ' reponse frequentielle f = ' t_freq . temps . ind1 ;
  303. trac (10. 10. 0.) (deff0 et deff1) ;
  304. finsi ;
  305.  
  306. dep11p2 = redu dep11 qf1 ;
  307. uu_p2 = xty dep11p2 dep11p2
  308. (mots uy iuy ) (mots uy iuy) ;
  309. im_p2 = xty dep11p2 dep11p2
  310. (mots iuy) (mots iuy) ;
  311. o_y = o_y et (prog uu_p2); io_y = io_y et (prog im_p2) ;
  312. o_pha = o_pha et
  313. (prog ((extr dep11p2 iuy qf1 )/ (extr dep11p2 uy qf1))) ;
  314. a_f = a_f et (prog t_freq . temps . ind1) ;
  315. fin b_post ;
  316.  
  317. o_y = o_y ** 0.5 ; io_y = io_y ** 0.5 ;
  318. o_alp = o_alp ** 0.5 ; o_ial = o_ial ** 0.5 ;
  319. * ceci n est pas le dephasage relatif --- ici ecart 45°
  320. o_pha = atg o_pha ;
  321.  
  322. ev_dsp = evol manu 'FREQ' a_f 'UY qf1' o_y ;
  323. ev_pha = evol manu 'FREQ' a_f 'PHASE' o_pha ;
  324. ev_idsp = evol manu 'FREQ' a_f 'iUY qf1' io_y ;
  325. ev_alp = evol manu 'FREQ' a_f 'ALPH' o_alp ;
  326. ev_ial = evol manu 'FREQ' a_f 'IALP' o_ial ;
  327.  
  328. si d_graph ;
  329. dess (ev_dsp et ev_dsp1 et ev_dsp0)
  330. logx logy titre 'reponse frequentielle qf1';
  331. dess (ev_pha et ev_pha1) logx titre 'phase qf1'
  332. *dess ev_idsp logx logy titre 'reponse frequentielle ima qf1' ;
  333. dess (ev_alp et ev_alp1 et ev_alp0)
  334. logx logy titre 'reponse reel modal' ;
  335. dess (ev_ial et ev_ial1) logx logy titre 'reponse ima modal' ;
  336. finsi ;
  337.  
  338. o_y5 = 29.226 ; o_alp5 = 69.570 ;
  339. *o_pha5 = 82.335 ; * kich 22/07/14
  340. o_pha5 = 47.503 ;
  341. err5 = (maxi o_y) - o_y5 ; err6 = (maxi o_alp) - o_alp5 ;
  342. err7 = (maxi o_pha) - o_pha5 ;
  343. si (((abs err5) < 1.e-1) et ((abs err6) < 1.e-1) et
  344. ((abs err7) < 1.e-1)) ;
  345. erre 0 ; sinon ; erre 5 ; finsi ;
  346.  
  347.  
  348.  
  349. fin ;
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  

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