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. 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. MAP = 'MATE' MOP 'EPAI' 0.04 ;
  95. *
  96. PR = 'CHAN' 'CHAM' MOP chp ;
  97. MAP = 'PRES' MOP PR ;
  98. f1 = 'BSIG' MOP MAP ;
  99. dep1 = reso rigt f1 ;
  100. sig1 = sigm modl1 mat1 dep1 ;
  101. ksig1 = ksigm modl1 sig1 mat1 flam ;
  102.  
  103. *
  104. ** relation de corps rigide pour les sections
  105. ** afin d'eviter les flambages locaux
  106. repeter bou1 (nv - 1 ) ;
  107. ll3 = lsol plus (-1*&bou1*l/nv*vec1);
  108. si (&bou1 ega 1) ;
  109. ll2 = ll3 ;
  110. rig2 = rela cori depl rota ll3;
  111. sinon ;
  112. ll2 = ll2 et ll3;
  113. rig2 = rig2 et (rela cori depl rota ll3);
  114. finsi;
  115. fin bou1 ;
  116. rig2 = rig2 et (rela cori depl rota surf2);
  117. elim ll2 surft .01 ;
  118. rigt = rigt et rig2;
  119.  
  120. *
  121. ** on utilse les matrices de pression disymetriques
  122. ** (leur assemblage doit etre symetrique)
  123. kp1 = kp mop chp flam asym ;
  124. kp2 = kp mop rg vec1 flam asym ;
  125. *kp1 = kp modl1 chp flam ;
  126. *kp2 = kp modl1 rg vec1 flam ;
  127. kpt = kp1 et kp2 ;
  128.  
  129. *
  130. ** calcul du flambage
  131. mod1 = vibr proche (prog 10.4) rigt
  132. (kpt et (-1*ksig1) et (-1*ksig0)) ;
  133.  
  134. fr1 = mod1.modes. 1 .frequence ;
  135. lamda = (2*pi*fr1)**2 * (SIGN fr1);
  136. mess 'lamda='lamda ;
  137. dep1 = mod1.modes.1 .deformee_modale ;
  138. def1 = defo surft dep1 4. ;
  139. SI ( ega graph 'O');
  140. trac def1 cach (10 25 10);
  141. finsi;
  142.  
  143. *
  144. ** comparaison avec la solution analytique
  145. *
  146. s1 = 1.*1. ; i1 = .04/6 + (.04/2) ;
  147. rhog = (8000*4*.04/s1 - 1000.)*9.81;
  148. lamd_th = 7.837*i1*2e11/(l**3)/rhog/s1 ;
  149. err1 = (lamda - lamd_th)/lamd_th * 100 ;
  150. mess 'coef. multiplicateur de (RHOsolide - RHOliquide)';
  151. mess ' C2000 THEORIE ERREUR';
  152. MESS 'lamda='lamda 'lamda='lamd_th err1'%';
  153. MESS 'Note de PV : je soupçonne la solution analytique de ne ';
  154. MESS 'pas l''''etre ' 'tant' ' que' ' cela';
  155. si ((abs err1) < 10.) ; erre 0; sinon; erre 5 ; finsi;
  156.  
  157. fin ;
  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.  

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