Télécharger kp_test.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : kp_test.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. ************************************************************
  5. *
  6. *
  7. * flambage d'une poutre encastree-libre sous poids propre
  8. * dans un champ de pression hydrostatique
  9. *
  10. * le probleme est equivalent au flambage d'une poutre sous
  11. * poids propre, mais avec une masse volumique
  12. * (RHOstructure - RHOliquide)
  13. *
  14. *
  15. * __ surface libre
  16. * __________________\/______
  17. *
  18. *
  19. *
  20. *
  21. *
  22. *
  23. * |
  24. * |
  25. * |
  26. * |
  27. * |
  28. * |
  29. * __________|________________
  30. *
  31. *
  32. *
  33. ************************************************************
  34. OPTI ECHO 1 ;
  35. graph = 'N';
  36.  
  37. l = 15. ; comm 'longueur de la poutre';
  38. nv = 30 ; comm 'decoupage vertical';
  39. nh = 2 ; comm 'decoupage horizontal';
  40. rg = 9.81*1000; comm 'RHO*g liquide';
  41. **********************************************************
  42. opti dime 3 elem qua4 ;
  43. p1 = 0 0 l ; p2 = 1 0 l ;p3 = 1 1 l ; p4 = 0 1 l ;
  44. l1 = p1 d nh p2 ; l2 = p2 d nh p3 ;
  45. l3 = p3 d nh p4 ; l4 = p4 d nh p1 ;
  46. lt = l1 et l2 et l3 et l4 ;
  47. surf1 = tran lt nv (0 0 (-1*l)) ;
  48. surf2 = dalle l4 l3 l2 l1 plan ;
  49. surft = surf1 et surf2 ;
  50. p0 = poin surf2 proc (.5 .5 l) ;
  51. lsol = poin surf1 plan (0 0 0) (1 0 0) (0 1 0) .01 ;
  52. surft = orie surft poin (.5 .5 0) ;
  53. SI ( ega graph 'O');
  54. trac surft cach ;
  55. finsi;
  56. coorz = coor surft 3 ;
  57.  
  58. *
  59. ** on tourne la structure pour mieux tester les
  60. ** differents termes des matrices
  61. depl surft tour 30. (.5 .5 0.) p0 ;
  62. depl surft tour 60. (.5 .5 0.) (.5 1 0) ;
  63. SI ( ega graph 'O');
  64. trac surft cach;
  65. finsi;
  66. vecx = cos 30 ; vecz = sin 30 ;
  67. vec1 = -1*(vecx 0. vecz); comm 'sens de la pesanteur' ;
  68. *
  69. modl1 = mode surft mecanique coq4 ;
  70. mat1 = mate modl1 youn 2e11 nu .0 rho 8000 epai .04 ;
  71. rig1 = rigi modl1 mat1 ;
  72. blo1 = bloq lsol depl rota ;
  73. blo2 = bloq p0 uy ;
  74. rigt = rig1 et blo1 et blo2 ;
  75.  
  76. *
  77. ** poids propre
  78. ch1 = manu chpo surf1 2 ux (-9.81*vecx) uz (-9.81*vecz);
  79. modl11 = redu modl1 surf1 ; mat11 = redu mat1 modl11 ;
  80. mass1 = mass modl11 mat11 ;
  81. f0 = mass1*ch1 ;
  82. dep0 = resou rigt f0 ;
  83. sig0 = sigm modl1 mat1 dep0 'LINE' ;
  84. ksig0 = ksigm modl1 sig0 mat1 flam ;
  85.  
  86. *
  87. ** pression hydrostatique
  88. ev1 = evol manu hauteur (prog 0. l) pression
  89. (prog (rg*2*l) (rg*l)) ;
  90.  
  91. chp = ev1 * coorz ;
  92. MOP = 'MODE' SURFT 'CHARGEMENT' 'PRESSION' 'COQ4' ;
  93. MAP = 'MATE' MOP 'EPAI' 0.04 ;
  94. *
  95. PR = 'CHAN' 'CHAM' MOP chp ;
  96. MAP = 'PRES' MOP PR ;
  97. f1 = 'BSIG' MOP MAP ;
  98. dep1 = reso rigt f1 ;
  99. sig1 = sigm modl1 mat1 dep1 'LINE' ;
  100. ksig1 = ksigm modl1 sig1 mat1 flam ;
  101.  
  102. *
  103. ** relation de corps rigide pour les sections
  104. ** afin d'eviter les flambages locaux
  105. repeter bou1 (nv - 1 ) ;
  106. ll3 = lsol plus (-1*&bou1*l/nv*vec1);
  107. si (&bou1 ega 1) ;
  108. ll2 = ll3 ;
  109. rig2 = rela cori depl rota ll3;
  110. sinon ;
  111. ll2 = ll2 et ll3;
  112. rig2 = rig2 et (rela cori depl rota ll3);
  113. finsi;
  114. fin bou1 ;
  115. rig2 = rig2 et (rela cori depl rota surf2);
  116. elim ll2 surft .01 ;
  117. rigt = rigt et rig2;
  118.  
  119. *
  120. ** on utilse les matrices de pression disymetriques
  121. ** (leur assemblage doit etre symetrique)
  122. kp1 = kp mop chp flam asym ;
  123. kp2 = kp mop rg vec1 flam asym ;
  124. *kp1 = kp modl1 chp flam ;
  125. *kp2 = kp modl1 rg vec1 flam ;
  126. kpt = kp1 et kp2 ;
  127.  
  128. *
  129. ** calcul du flambage
  130. mod1 = vibr proche (prog 10.4) rigt
  131. (kpt et (-1*ksig1) et (-1*ksig0)) ;
  132.  
  133. fr1 = mod1.modes. 1 .frequence ;
  134. lamda = (2*pi*fr1)**2 * (SIGN fr1);
  135. mess 'lamda='lamda ;
  136. dep1 = mod1.modes.1 .deformee_modale ;
  137. def1 = defo surft dep1 4. ;
  138. SI ( ega graph 'O');
  139. trac def1 cach (10 25 10);
  140. finsi;
  141.  
  142. *
  143. ** comparaison avec la solution analytique
  144. *
  145. s1 = 1.*1. ; i1 = .04/6 + (.04/2) ;
  146. rhog = (8000*4*.04/s1 - 1000.)*9.81;
  147. lamd_th = 7.837*i1*2e11/(l**3)/rhog/s1 ;
  148. err1 = (lamda - lamd_th)/lamd_th * 100 ;
  149. mess 'coef. multiplicateur de (RHOsolide - RHOliquide)';
  150. mess ' C2000 THEORIE ERREUR';
  151. MESS 'lamda='lamda 'lamda='lamd_th err1'%';
  152. MESS 'Note de PV : je soupçonne la solution analytique de ne ';
  153. MESS 'pas l''''etre ' 'tant' ' que' ' cela';
  154. si ((abs err1) < 10.) ; erre 0; sinon; erre 5 ; finsi;
  155.  
  156. fin ;
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  

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