Télécharger dyna16.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : dyna16.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. ***************************************
  5. *
  6. * Portique soumis à un déplacement différentiel des appuis
  7. *
  8. * Calcul sur un mode dynamique et les modes statiques
  9. *
  10. * D. Combescure aout 2006
  11. *
  12. ***************************************
  13.  
  14. ************************************************************************
  15. * OPTIONS
  16. ************************************************************************
  17.  
  18. *GRAPH = VRAI;
  19. GRAPH = FAUX;
  20. *COMPLET = VRAI;
  21. COMPLET = FAUX;
  22. *
  23. opti dime 2 elem seg2 mode plan cont;
  24. OPTI EPSI LINEAIRE;
  25.  
  26. ************************************************************************
  27. * MAILLAGE
  28. ************************************************************************
  29.  
  30. H = 3.;
  31. L = 4.;
  32. p1 = ((-0.5)*L) 0.;
  33. vv = 0. H;
  34. p1h = p1 plus vv;
  35. p2 = (0.5*L) 0.;
  36. p2h = p2 plus vv;
  37. n1 = 10;
  38. n2 = 20;
  39. a = 0.25;
  40. b = a;
  41. e1 = 30000.D6;
  42. ro1 = 2400.;
  43. nu1 = 0.30;
  44. sec1 = a*b;
  45. in1 = (1./12.)*(b*(a**3));
  46. lig1 = (d n1 p1 p1h) et (d n1 p2 p2h) et (d n2 p1h p2h);
  47.  
  48. ************************************************************************
  49. * MODELES, MATERIAU ET MATRICES
  50. ************************************************************************
  51.  
  52. mod1 = MODE lig1 mecanique elastique TIMO;
  53. mat1 = MATE mod1 YOUN E1 NU nu1 RHO ro1
  54. SECT sec1 INRZ in1;
  55. KK1 = rigi mod1 mat1;
  56. CC1 = 0.001*KK1;
  57. MM1 = mass mod1 mat1;
  58. bl1 = BLOQ UY RZ p1;
  59. bl2 = BLOQ UY RZ p2;
  60. bl1u = BLOQ UX p1;
  61. bl2u = BLOQ UX p2;
  62. bltot = bl1 et bl2 et bl1u et bl2u;
  63. fh1 = DEPI bl1u 1.;
  64. fh2 = DEPI bl2u 1.;
  65. *
  66. ************************************************************************
  67. * MODE PROPRE
  68. ************************************************************************
  69. *
  70. vib1 = vibr proche (prog 1.) (lect 1) (KK1 et bltot) MM1;
  71. vib1b= vib1 . 'MODES' ;
  72. nmod = (dime (vib1b) ) - 2;
  73. repeter lab1 nmod;
  74. dep1 = vib1b. &lab1 . DEFORMEE_MODALE;
  75. fr1 = vib1b. &lab1 . FREQUENCE;
  76. MESS &lab1 ' : ' fr1 'Hz';
  77. * trac (defo lig1 dep1) ;
  78. fin lab1;
  79.  
  80. ************************************************************************
  81. * CALCUL TEMPOREL
  82. ************************************************************************
  83. *
  84. * Définition du chargement
  85. *
  86. T1 = 0.02;
  87. SI COMPLET;
  88. tfin = 50.*T1;
  89. SINON;
  90. tfin = 2.*T1;
  91. FINSI;
  92. ltemps = prog 0. T1 (2.*T1) (3.*T1) (4.*T1) 10.;
  93. lpacc1 = prog 0 1. -1. 0. 0. 0.;
  94. lpacc2 = prog 0 0. 1. -1. 0. 0.;
  95. dt = T1/20.;
  96. ltime = prog 0 pas dt 10.;
  97. evacc1 = evol manu ltime (ipol ltime ltemps lpacc1);
  98. evdep1 evvit1 = insi evacc1;
  99. evacc2 = evol manu ltime (ipol ltime ltemps lpacc2);
  100. evdep2 evvit2 = insi evacc2;
  101. prtimeb = prog 0 pas dt tfin;
  102. prdep1 = extr evdep1 ordo;
  103. prdep2 = extr evdep2 ordo;
  104. *
  105. *--------------------------------------------------------
  106. *
  107. * Méthode 1 => on impose le déplacement
  108. * (calcul direct sur base physique avec DYNAMIC)
  109. *
  110. *---------------------------------------------------------
  111. cha1 = (char fh1 evdep1) et (char fh2 evdep2);
  112. *
  113. tab1 = table;
  114. tab1.'DEPL' = manu chpo lig1 2 ux 0 uy 0;
  115. tab1.'VITE' = manu chpo lig1 2 ux 0 uy 0;
  116. tab1.'CHAR' = cha1;
  117. tab1.'RIGI' = (KK1 et bltot);
  118. tab1.'AMOR' = CC1;
  119. tab1.'MASS' = MM1;
  120. tab1.'FREQ' = (0.25/dt);
  121. tab1.'INST' = prtimeb;
  122. tab1.'SAUV' = VRAI;
  123. tab2 = dynamic tab1;
  124. nn = dime tab2;
  125. prp1h = prog;
  126. repeter lab1 nn;
  127. si (ega &lab1 1);
  128. deft = defo lig1 (tab2 . &lab1 . DEPL) 100;
  129. sinon;
  130. deft = deft et
  131. (defo lig1 (tab2 . &lab1 . DEPL) 100);
  132. finsi;
  133. prp1h = prp1h et
  134. (prog (extr (tab2 . &lab1 . DEPL) p1h UX));
  135. fin lab1;
  136. Ev1UX1 = evol rouge manu prtimeb prp1h;
  137. SI GRAPH;
  138. dess (evol manu prtimeb prp1h);
  139. trac deft anime;
  140. FINSI;
  141. *---------------------------------------------------------------
  142. *
  143. * Méthode 2 => on impose -M*[K**-1*uimpose] au second membre
  144. * (calcul direct sur base physique avec DYNAMIC)
  145. *
  146. *---------------------------------------------------------------
  147. *
  148. * mode statique (à la main)
  149. *
  150. depsta1 = reso (KK1 et bltot) fh1;
  151. depsta2 = reso (KK1 et bltot) fh2;
  152. *
  153. fh12 = (-1.)*MM1*depsta1;
  154. fh22 = (-1.)*MM1*depsta2;
  155. cha2 = (char fh12 evacc1) et (char fh22 evacc2);
  156. *
  157. tab1 = table;
  158. tab1.'DEPL' = manu chpo lig1 2 ux 0 uy 0;
  159. tab1.'VITE' = manu chpo lig1 2 ux 0 uy 0;
  160. tab1.'CHAR' = cha2;
  161. tab1.'RIGI' = (KK1 et bltot);
  162. tab1.'AMOR' = CC1;
  163. tab1.'MASS' = MM1;
  164. tab1.'FREQ' = (0.25/dt);
  165. tab1.'INST' = prtimeb;
  166. tab1.'SAUV' = VRAI;
  167. tab2 = dynamic tab1;
  168. nn = dime tab2;
  169. prp1h2 = prog;
  170. prp1h2t = prog;
  171. repeter lab2 nn;
  172. depj = (tab2 . &lab2 . DEPL);
  173. depjt = depj +
  174. ((extr prdep1 &lab2)*depsta1)
  175. + ((extr prdep2 &lab2)*depsta2);
  176. si (ega &lab2 1);
  177. def2 = defo lig1 depj 1000;
  178. deft2 = defo lig1 depjt 1000;
  179. sinon;
  180. deft2 = deft2 et
  181. (defo lig1 depjt 1000);
  182. finsi;
  183. prp1h2 = prp1h2 et
  184. (prog (extr depj p1h UX));
  185. prp1h2t = prp1h2t et
  186. (prog (extr depjt p1h UX));
  187. fin lab2;
  188. ta = table;
  189. ta.2 = 'TIRR';
  190. ta.3 = 'TIRL';
  191. ta.4 = 'TIRL';
  192. Ev2UX1 = evol rouge manu prtimeb prp1h2t;
  193.  
  194. *------------------------------------------------------------------
  195. *
  196. * Méthode 3=> superposition de solution statique et dynamique
  197. * (calcul direct sur base modale avec DYNE)
  198. *
  199. *------------------------------------------------------------------
  200. vib1 = vibr proche (prog 1.) (lect 1)
  201. (KK1 et bl1 et bl2 et bl1u et bl2u) MM1 'SOLU';
  202. SPLA1=STRU (KK1 et bl1 et bl2 et bl1u et bl2u) MM1 ;
  203. ELM1=CLST SPLA1 BL1u;
  204. ELM2=CLST SPLA1 BL2u;
  205. PR1=PROG 1. ;
  206. LIUX=(RELA ELM1 LX PR1) et (RELA ELM2 LX PR1);
  207. SOL1 = SOLS LIUX SPLA1;
  208. BASE1 = BASE SPLA1 VIB1 LIUX SOL1;
  209. *
  210. MODYN1 = TRADUIRE (EXTR BASE1 MODE);
  211. MOSTA1 = TRADUIRE (EXTR BASE1 STAT);
  212. *
  213. depsta1 = MOSTA1. 1 . DEFORMEE_MODALE;
  214. fh12 = (-1.)*MM1*depsta1;
  215. depsta2 = MOSTA1. 2 . DEFORMEE_MODALE;
  216. fh22 = (-1.)*MM1*depsta2;
  217. cha3 = (char fh12 evacc1) et (char fh22 evacc2);
  218. *
  219. vib1c= traduire vib1;
  220. tbas1 = table 'BASE_MODALE';
  221. tbas1.'MODES' = vib1c;
  222. *
  223. TRIG = TABLE 'RAIDEUR_ET_MASSE';
  224. TRIG.'RAIDEUR' = pjba tbas1 (KK1 et bl1 et bl2 et bl1u et bl2u) ;
  225. TRIG.'MASSE' = pjba tbas1 MM1;
  226. TAMOR = TABLE 'AMORTISSEMENT';
  227. TAMOR . 'AMORTISSEMENT' = PJBA tbas1 CC1;
  228. TCHAR = TABLE 'CHARGEMENT' ;
  229. TCHAR.'BASE_A' = pjba tbas1 cha3;
  230. *
  231. TSORT = TABLE 'SORTIE' ;
  232. TSORV = TABLE 'VARIABLE' ;
  233. TSORT.'VARIABLE' = TSORV ;
  234. TSORV.'VITESSE' = VRAI;
  235. TSORV.'DEPLACEMENT' = VRAI ;
  236. TSORV.'ACCELERATION' = VRAI ;
  237. *
  238. DTEX = (pi/12.6)/100.;
  239. NTT = ENTIER (tfin/DTEX);
  240. *
  241. * Appel à DYNE
  242. *
  243. TRESU = DYNE DE_VOGELAERE TRIG TAMOR TCHAR
  244. NTT DTEX TSORT ;
  245.  
  246.  
  247. ************************************************************************
  248. * POST-TRAITEMENT
  249. ************************************************************************
  250. *
  251. Ev3UXD1 = EVOL VERT RECO TRESU tbas1 'DEPL' P1h UX ;
  252. EV3UXS1 = EVOL MANU (EXTR Ev3UXD1 ABSC)
  253. (ipol (EXTR Ev3UXD1 ABSC) (extr evdep1 absc)
  254. ((extr evdep1 ordo)*(extr depsta1 p1h ux)));
  255. EV3UXS2 = EVOL MANU (EXTR Ev3UXD1 ABSC)
  256. (ipol (EXTR Ev3UXD1 ABSC) (extr evdep2 absc)
  257. ((extr evdep2 ordo)*(extr depsta2 p1h ux)));
  258. Ev3UX1 = EVOL MANU (EXTR Ev3UXD1 ABSC)
  259. ((EXTR Ev3UXD1 ORDO) + (EXTR Ev3UXS1 ORDO)
  260. + (EXTR Ev3UXS2 ORDO));
  261. *
  262. SI GRAPH;
  263. TRAC (DEFO LIG1 (MODYN1. 1 . DEFORMEE_MODALE));
  264. TRAC ((DEFO LIG1 depsta1) et
  265. (DEFO LIG1 depsta1 0. ROUG));
  266. TRAC ((DEFO LIG1 depsta2) et
  267. (DEFO LIG1 depsta2 0. ROUG));;
  268. TRAC ((DEFO LIG1 (depsta1 + depsta2)) et
  269. (DEFO LIG1 depsta2 0. ROUG));;
  270. trac lig1 (vecteur fh12 fx fy);
  271. trac lig1 (vecteur fh22 fx fy);
  272. trac lig1 (vecteur (fh12 et fh22) fx fy);
  273. dess (evacc1 et (evacc2 coul rouge)) xbord 0. 0.20;
  274. dess (evdep1 et (evdep2 coul rouge)) xbord 0. 0.20;
  275. DESS (Ev3UXD1 et Ev3UXS1 et Ev3UXS2) xbord 0 0.2;
  276. DESS (Ev1UX1 et Ev2UX1 et Ev3UX1) xbord 0. 1.;
  277. FINSI;
  278. *
  279. TEST = MAXI (PROG
  280. ((MAXI (EXTR Ev2UX1 ORDO)) - (MAXI (EXTR Ev1UX1 ORDO)))
  281. ((MAXI (EXTR Ev3UX1 ORDO)) - (MAXI (EXTR Ev1UX1 ORDO)))) ABS;
  282. SI (TEST > 1.D-5);
  283. ERR 4;
  284. LIST TEST;
  285. FINSI;
  286. *
  287. FIN;
  288. *
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  

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