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

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