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 0 ;
  35. OPTI EPSI LINEAIRE;
  36. graph = 'N';
  37.  
  38. l = 15. ; comm 'longueur de la poutre';
  39. nv = 30 ; comm 'decoupage vertical';
  40. nh = 2 ; comm 'decoupage horizontal';
  41. rg = 9.81*1000; comm 'RHO*g liquide';
  42. **********************************************************
  43. opti dime 3 elem qua4 ;
  44. p1 = 0 0 l ; p2 = 1 0 l ;p3 = 1 1 l ; p4 = 0 1 l ;
  45. l1 = p1 d nh p2 ; l2 = p2 d nh p3 ;
  46. l3 = p3 d nh p4 ; l4 = p4 d nh p1 ;
  47. lt = l1 et l2 et l3 et l4 ;
  48. surf1 = tran lt nv (0 0 (-1*l)) ;
  49. surf2 = dalle l4 l3 l2 l1 plan ;
  50. surft = surf1 et surf2 ;
  51. p0 = poin surf2 proc (.5 .5 l) ;
  52. lsol = poin surf1 plan (0 0 0) (1 0 0) (0 1 0) .01 ;
  53. surft = orie surft poin (.5 .5 0) ;
  54. SI ( ega graph 'O');
  55. trac surft cach ;
  56. finsi;
  57. coorz = coor surft 3 ;
  58.  
  59. *
  60. ** on tourne la structure pour mieux tester les
  61. ** differents termes des matrices
  62. depl surft tour 30. (.5 .5 0.) p0 ;
  63. depl surft tour 60. (.5 .5 0.) (.5 1 0) ;
  64. SI ( ega graph 'O');
  65. trac surft cach;
  66. finsi;
  67. vecx = cos 30 ; vecz = sin 30 ;
  68. vec1 = -1*(vecx 0. vecz); comm 'sens de la pesanteur' ;
  69. *
  70. modl1 = mode surft mecanique coq4 ;
  71. mat1 = mate modl1 youn 2e11 nu .0 rho 8000 epai .04 ;
  72. rig1 = rigi modl1 mat1 ;
  73. blo1 = bloq lsol depl rota ;
  74. blo2 = bloq p0 uy ;
  75. rigt = rig1 et blo1 et blo2 ;
  76.  
  77. *
  78. ** poids propre
  79. ch1 = manu chpo surf1 2 ux (-9.81*vecx) uz (-9.81*vecz);
  80. modl11 = redu modl1 surf1 ; mat11 = redu mat1 modl11 ;
  81. mass1 = mass modl11 mat11 ;
  82. f0 = mass1*ch1 ;
  83. dep0 = resou rigt f0 ;
  84. sig0 = sigm modl1 mat1 dep0 ;
  85. ksig0 = ksigm modl1 sig0 mat1 flam ;
  86.  
  87. *
  88. ** pression hydrostatique
  89. ev1 = evol manu hauteur (prog 0. l) pression
  90. (prog (rg*2*l) (rg*l)) ;
  91.  
  92. chp = ev1 * coorz ;
  93. MOP = 'MODE' SURFT 'CHARGEMENT' 'PRESSION' 'COQ4' ;
  94. PR = 'CHAN' 'COMP' CHP 'PRES' ;
  95. PR = 'CHAN' 'CHAM' PR MOP ;
  96. MAP = 'MATE' MOP 'PRES' PR 'EPAI' 0.04 ;
  97. f1 = 'PRES' MOP MAP ;
  98. dep1 = reso rigt f1 ;
  99. sig1 = sigm modl1 mat1 dep1 ;
  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)) tbas ;
  132.  
  133. fr1 = mod1.modes. 1 .frequence ;
  134. lamda = (2*pi*fr1)**2 ;
  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.  

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