Télécharger dyna15.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : dyna15.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. ***************************************
  5. *
  6. * Poteau soumis à une charge concentré
  7. *
  8. * Contribution statique des modes négligés
  9. *
  10. * D. Combescure aout 2006
  11. *
  12. ***************************************
  13. *AFFICH = VRAI;
  14. AFFICH = FAUX;
  15. *COMPLET = VRAI;
  16. COMPLET = FAUX;
  17. *
  18. opti dime 2 elem seg2;
  19. OPTI EPSI LINEAIRE;
  20. H = 3.;
  21. H1 = 2.;
  22. p0 = 0. 0.;
  23. p1 = 0. H1;
  24. p2 = 0. H;
  25. n1 = 50;
  26. n2 = 25;
  27. a = 0.25;
  28. b = a;
  29. e1 = 30000.D6;
  30. ro1 = 2400.;
  31. nu1 = 0.30;
  32. sec1 = a*b;
  33. in1 = (1./12.)*(b*(a**3));
  34. lig1 = (d n1 p0 p1) et (d n2 p1 p2);
  35. mod1 = MODE lig1 mecanique elastique TIMO;
  36. mat1 = MATE mod1 YOUN E1 NU nu1 RHO ro1
  37. SECT sec1 INRZ in1;
  38. KK1 = rigi mod1 mat1;
  39. CC1 = 0.001*KK1;
  40. MM1 = mass mod1 mat1;
  41. bl0 = BLOQ DEPL ROTA p0;
  42. fh1 = forc FX 1. p1;
  43. *
  44. * Calcul du premier mode
  45. *
  46. vib1 = vibr proche (prog 1.) (lect 1) (KK1 et bl0) MM1;
  47. vib1b= vib1 . 'MODES';
  48. nmod = (dime (vib1b) ) - 2;
  49. SI AFFICH;
  50. repeter lab1 nmod;
  51. dep1 = vib1b. &lab1 . DEFORMEE_MODALE;
  52. fr1 = vib1b. &lab1 . FREQUENCE;
  53. titre fr1;
  54. trac (defo lig1 dep1);
  55. fin lab1;
  56. FINSI;
  57. *
  58. *
  59. * Calcul du pseudo mode
  60. psm1 = psmo (KK1 et bl0) vib1b fh1;
  61. *
  62. depstaf = (defo lig1 (psm1 . 1 . DEPLACEMENT));
  63. SI AFFICH;
  64. TITRE 'Pseudomode';
  65. TRAC depstaf;
  66. FINSI;
  67. *
  68. *
  69. * Définition du chargement
  70. *
  71. t1 = 1/400.;
  72. SI COMPLET;
  73. tfin = 100.*t1;
  74. SINON;
  75. tfin = 10.*t1;
  76. FINSI;
  77. dt = t1/2.;
  78. lptemps = prog 0 t1 (2.*t1) (3.*t1) 100.;
  79. lpchar = prog 0 0 1.D6 0. 0.;
  80. ev1 = evol manu lptemps lpchar;
  81. *
  82. SI AFFICH;
  83. dess ev1 xbord 0. (10.*t1);
  84. FINSI;
  85. *
  86. cha1 = char fh1 ev1;
  87. *
  88. *
  89. * Méthode 1: intégration directe sur base physique
  90. *
  91. *
  92. prtimeb = prog 0. pas dt tfin;
  93. *
  94. tab1 = table; opti sauv 'mon.fic';
  95. tab1.'DEPL' = manu chpo lig1 2 ux 0 uy 0;
  96. tab1.'VITE' = manu chpo lig1 2 ux 0 uy 0;
  97. tab1.'CHAR' = cha1;
  98. tab1.'RIGI' = (KK1 et bl0);
  99. tab1.'AMOR' = CC1;
  100. tab1.'MASS' = MM1;
  101. tab1.'FREQ' = (1./dt);
  102. tab1.'INST' = prtimeb;
  103. tab1.'SAUV' = VRAI;
  104. tab2 = dynamic tab1;
  105. nn = dime tab2;
  106. prp1 = prog;
  107. repeter lab1 nn;
  108. depj = (tab2 . &lab1 . DEPL) ;
  109. si (ega &lab1 1);
  110. deft = defo lig1 depj 1;
  111. sinon;
  112. deft = deft et
  113. (defo lig1 depj 1);
  114. finsi;
  115. prp1 = prp1 et
  116. (prog (extr depj p1 UX));
  117. fin lab1;
  118. evp1_1 = (evol manu prtimeb prp1);
  119. u1max = (maxi (extr evp1_1 ordo) abs);
  120. nn = dime (extr evp1_1 absc);
  121. yymax = 0;
  122. xxmax = 0;
  123. repeter lab1 nn;
  124. xx = extr (extr evp1_1 absc) &lab1;
  125. yy = extr (extr evp1_1 ordo) &lab1;
  126. si ((abs yy) > yymax);
  127. yymax = abs yy;
  128. xxmax = xx;
  129. nnmax = &lab1;
  130. finsi;
  131. fin lab1;
  132. depmax1 = tab2 . nnmax . DEPL;
  133. bsi1 = bsigma (sigma depmax1 mod1 mat1) mod1 mat1;
  134. bsi1b = bsi1 -
  135. (* bsi1 (MANU CHPO p0 FX 1. ) (mots FX) (mots FX) (mots FX));
  136. *
  137. *
  138. * Méthode 2: intégration directe sur base modale avec pseudomode
  139. *
  140. *
  141. tbas1 = table 'BASE_MODALE';
  142. tbas1.'MODES' = vib1b;
  143. * On rajoute le pseudomode à la base modale
  144. tbas1.'PSEUDO_MODES' =psm1;
  145. *
  146. TRIG = TABLE 'RAIDEUR_ET_MASSE';
  147. TRIG.'RAIDEUR' = pjba tbas1 (KK1 et bl0) ;
  148. TRIG.'MASSE' = pjba tbas1 MM1;
  149. TAMOR = TABLE 'AMORTISSEMENT';
  150. TAMOR . 'AMORTISSEMENT' = PJBA tbas1 CC1;
  151. TCHAR = TABLE 'CHARGEMENT' ;
  152. TCHAR.'BASE_A' = pjba tbas1 cha1;
  153. *
  154. TSORT = TABLE 'SORTIE' ;
  155. TSORV = TABLE 'VARIABLE' ;
  156. TSORT.'VARIABLE' = TSORV ;
  157. TSORV.'VITESSE' = VRAI;
  158. TSORV.'DEPLACEMENT' = VRAI ;
  159. TSORV.'ACCELERATION' = VRAI ;
  160. *
  161. DTEX = DT;
  162. NTT = ENTIER (tfin/(DT));
  163. TRESU = DYNE DE_VOGELAERE TRIG TAMOR TCHAR
  164. NTT DTEX TSORT ;
  165. *
  166. evp1_2 = EVOL ROUGE RECO TRESU tbas1 cha1 'DEPL' P1 UX ;
  167. evp1_2b = EVOL VERT RECO TRESU tbas1 'DEPL' P1 UX ;
  168. *
  169. u2max = (maxi (extr evp1_2 ordo) abs);
  170. nn = dime (extr evp1_2 absc);
  171. yymax = 0;
  172. xxmax = 0;
  173. repeter lab1 nn;
  174. xx = extr (extr evp1_2 absc) &lab1;
  175. yy = extr (extr evp1_2 ordo) &lab1;
  176. si ((abs yy) > yymax);
  177. yymax = abs yy;
  178. xxmax = xx;
  179. nnmax = &lab1;
  180. finsi;
  181. fin lab1;
  182. depmax2 = RECO TRESU tbas1 (nnmax*DTEX) cha1 'DEPL';
  183. bsi2 = bsigma (sigma depmax2 mod1 mat1) mod1 mat1;
  184. bsi2b = bsi2 -
  185. (* bsi2 (MANU CHPO p0 FX 1. ) (mots FX) (mots FX) (mots FX));
  186. *
  187. SI AFFICH;
  188. DESS (evp1_1 et evp1_2)
  189. TITRE 'Calcul sur base physique/base modale';;
  190. DESS (evp1_2 et evp1_2b)
  191. TITRE 'Base modale - Résultats avec ou sans pseudomode';
  192. trac deft anime;
  193. trac lig1 (vecteur bsi1b fx fy);
  194. trac lig1 (vecteur bsi2b fx fy);
  195. FINSI;
  196. *
  197. TEST = (MAXI ((EXTR evp1_2 ORDO) - (EXTR evp1_1 ORDO)) ABS)/
  198. (MAXI (EXTR evp1_2 ORDO) ABS);
  199. *
  200. SI (TEST > 0.10);
  201. ERRE 4;
  202. FINSI;
  203. *
  204. FIN;
  205. *
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  

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