Télécharger ktest_lump_dkt.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : ktest_lump_dkt.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. *
  5. *
  6. * ktest pour tester l'opérateur LUMP
  7. * elem DKT3
  8. *
  9. *
  10. *
  11. *
  12. graph = faux;
  13. ep1 = 1. ;
  14. exc1 = 0.5 ;
  15. a1 = 8 ** 0.5 ;
  16. b1 = 18 ** 0.5 ;
  17. ro1 = 5.d0 ;
  18.  
  19. 'OPTI' 'ECHO' 0 ;
  20. 'OPTI' 'DIME' 3 'ELEM' 'SEG2' ;
  21. OPTION epsilon lineaire;
  22.  
  23. P1 = -1. 1. 1. ;
  24. P2 = 1. -1. 1. ;
  25. P3 = 3. 3. 1. ;
  26.  
  27.  
  28. * cote du triangle
  29.  
  30.  
  31. *==== TRI3
  32. m_el1 = 'MANU' 'TRI3' P1 P2 P3 ;
  33.  
  34.  
  35.  
  36. mo_el1 = 'MODE' m_el1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' 'DKT';
  37. ma_el1 = 'MATE' mo_el1 'YOUN' 7.d0 'NU' 0.1 'RHO' ro1 'EPAI' ep1
  38. 'EXCE' 0. ;
  39.  
  40. mas_el1 = 'LUMP' mo_el1 ma_el1 ;
  41.  
  42. * on teste les valeurs propres de la matrice
  43. n1 = 'DIMN' mas_el1 ;
  44. n2 = 'DIAG' mas_el1 ;
  45. 'MESS' 'Dimension du noyau' n1 ;
  46. 'MESS' 'Valeur propres négatives' n2 ;
  47. err1 = ( n1 'NEG' 0 ) 'OU' ( n2 'NEG' 0 ) ;
  48.  
  49. ma_el1 = 'MATE' mo_el1 'YOUN' 7.d0 'NU' 0.1 'RHO' ro1 'EPAI' ep1
  50. 'EXCE' exc1 ;
  51. mas_el1 = 'LUMP' mo_el1 ma_el1 ;
  52.  
  53. * on teste les valeurs propres de la matrice
  54. n1 = 'DIMN' mas_el1 ;
  55. n2 = 'DIAG' mas_el1 ;
  56. 'MESS' 'Dimension du noyau' n1 ;
  57. 'MESS' 'Valeur propres négatives' n2 ;
  58. err11 = ( n1 'NEG' 0 ) 'OU' ( n2 'NEG' 0 ) ;
  59.  
  60.  
  61. * test sur le calcul de la taille de l'élément
  62. * calculé avec mesu et avec la massse
  63. * cela revient à considerer la conservation de l'energie
  64. * cinétique en translation
  65. s_el1 = 'MESU' m_el1 ;
  66. un1 = 'MANU' 'CHPO' m_el1 3 'UX' 1. 'UY' 1. 'UZ' 1.;
  67. s2_el1 = ( 'XTMX' mas_el1 un1 ) '/' ep1 / ro1 / 3. ;
  68. dif2 = 'ABS' (( s_el1 - s2_el1 ) / s2_el1 ) ;
  69. *mess s2_el1 ;
  70. err2 = dif2 '>EG' 1.d-6 ;
  71. 'MESS' 'Erreur relative' ( dif2 * 100 ) '%' ;
  72.  
  73. 'SI' ( err1 'OU' err2 'OU' err11 ) ;
  74. 'MESS' 'problème de conservation de la masse' ;
  75. 'ERREUR' 5 ;
  76. 'FINSI' ;
  77.  
  78. *====================================================================
  79. * Conservation de l'energie cinétique en rotation
  80. *
  81. * rotation de la coque autour de (p1 p2)
  82. x1 = 'COOR' 1 m_el1 ;
  83. x2 = 'COOR' 2 m_el1 ;
  84.  
  85. * mouvement suivant UZ
  86. deu2 = ( 'MANU' 'CHPO' m_el1 6 'UX' 0. 'UY' 0. 'UZ' 0.
  87. 'RX' (2 ** -0.5 ) 'RY' (2 ** -0.5 * -.1 ) 'RZ' 0. )
  88. '+' ( 'NOMC' ( x1 + x2 / ( 2 ** 0.5) ) 'UZ' ) ;
  89. deu2 = ( 'MANU' 'CHPO' m_el1 6 'UX' 0. 'UY' 0. 'UZ' 0.
  90. 'RX' 0. 'RY' 0. 'RZ' 0. )
  91. '+' ( 'NOMC' ( x1 + x2 / ( 2 ** 0.5) ) 'UZ' ) ;
  92.  
  93. mv_el1 = ( 'XTMX' mas_el1 deu2 ) ;
  94. * energie cinétique de translation suivant z
  95. * theorie a * b^3 / 12 * ep1 *rho
  96. * a = 8^0.5 b = 8^0.5 pour l'energie de translation suivant UZ
  97. mvtheo = ( a1 * ( b1 ** 3. ) / 12. * ep1 * ro1 ) ;
  98. *
  99. * energie cinétique de transaltion selon le plan de la coque
  100. * on peut aussi considérer l'énergie de rotation des fibres
  101. * c'est à dire le mouvement suivant UX et UY induit par la rotation
  102. * on ne tient compte que de l'excentrement
  103.  
  104. mvtheo2 = mvtheo + ( ro1 * ep1 * ( exc1 ** 2. ) * a1 * b1 / 2.) ;
  105. mvtheo3 = mvtheo2 + ( ro1 * ep1 * ( ep1 ** 2. / 12 )
  106. * a1 * b1 / 2.) ;
  107.  
  108. 'MESS' 'Qte de mvt :' mv_el1 ' Théorique' mvtheo
  109. 'Avec inertie' mvtheo2 ;
  110.  
  111.  
  112. * ======= on augmente le nombre d'éléments
  113. nelem = 100 ;
  114. l1 = d p1 nelem p2 ;
  115. l2 = d p2 nelem p3 ;
  116. l3 = d p3 nelem p1 ;
  117. su1 = 'SURF' 'PLAN' ( l1 et l2 et l3 ) ;
  118.  
  119. mo_el1 = 'MODE' su1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' 'DKT';
  120. ma_el1 = 'MATE' mo_el1 'YOUN' 7.d0 'NU' 0.1 'RHO' ro1 'EPAI' ep1
  121. 'EXCE' exc1 ;
  122.  
  123. mas_el1 = 'LUMP' mo_el1 ma_el1 ;
  124. *mas_el1 = 'MASS' mo_el1 ma_el1 ;
  125.  
  126. * rotation de la coque autour de (p1 p2)
  127. x1 = 'COOR' 1 su1 ;
  128. x2 = 'COOR' 2 su1 ;
  129.  
  130. * mouvement suivant UZ
  131. deu2 = ( 'MANU' 'CHPO' su1 6 'UX' 0. 'UY' 0. 'UZ' 0.
  132. 'RX' (2 ** -0.5) 'RY' (2 ** -0.5 * -.1 ) 'RZ' 0. )
  133. '+' ( 'NOMC' ( x1 + x2 / ( 2 ** 0.5) ) 'UZ' ) ;
  134. mv_el1 = ( 'XTMX' mas_el1 deu2 ) ;
  135.  
  136.  
  137. 'MESS' 'Qte de mvt :' mv_el1 ' Théorique' mvtheo
  138. 'Avec inertie' mvtheo2 ;
  139.  
  140. dif3 = mv_el1 - mvtheo2 / mvtheo2 ;
  141. err3 = dif3 '>EG' 1.d-1 ;
  142. 'MESS' 'Erreur relative' ( dif3 * 100 ) '%' ;
  143.  
  144.  
  145. 'SI' ( err3 ) ;
  146. 'MESS' 'problème de conservation de la masse en rotation' ;
  147. 'ERREUR' 5 ;
  148. 'FINSI' ;
  149.  
  150.  
  151.  
  152. *====================================================================
  153. *
  154. * test sur les fréquences propres
  155. ro1 = 5. ;
  156. 'OPTI' 'DIME' 3 'ELEM' 'SEG2' ;
  157.  
  158. P1 = -1. 1. 1. ;
  159. P2 = 1. -1. 1. ;
  160. p3 = 1. 1. 1. ;
  161. a1 = 2. ** 0.5 * 2 ;
  162. b1 = 2. ** 0.5 ;
  163.  
  164. ep1 = 0.01 ;
  165. you1 = 7. ;
  166. nelem = 9 ;
  167. l1 = d p1 nelem p2 ;
  168. l2 = d p2 nelem p3 ;
  169. l3 = d p3 nelem p1 ;
  170. su1 = 'SURF' 'PLAN' ( l1 et l2 et l3 ) ;
  171.  
  172. mo_el1 = 'MODE' su1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' 'DKT';
  173. ma_el1 = 'MATE' mo_el1 'YOUN' you1 'NU' 0.3 'RHO' ro1 'EPAI' ep1 ;
  174.  
  175.  
  176. rig1 = 'RIGI' mo_el1 ma_el1 ;
  177.  
  178. cl1 = 'BLOQ' ( l1 et l2 et l3 ) DEPL ROTA ;
  179.  
  180. * theorie Dr Robert Blevins
  181. * Formulas for natural frequency and mode shape
  182. * Van Nostrand Rheinhold Company
  183. * p280
  184.  
  185. fith1 = 1. / 2. / pi / b1 / b1 * ( ( ep1 ** 2. * you1 / 12. / ro1
  186. / ( 1. - 0.09 ) ) ** 0.5 ) ;
  187.  
  188. mas_el1 = 'LUMP' mo_el1 ma_el1 ;
  189. tab1a = 'VIBR' 'INTERVALLE' ( 10. * fith1 ) ( 100. * fith1 )
  190. ( rig1 et cl1 ) mas_el1
  191. 'BASSE' 1 'TBAS' ;
  192.  
  193. fex1 = tab1a . 'MODES' . 1 . 'FREQUENCE' ;
  194. def1a = defo su1 ( tab1a . modes . 1 . deformee_modale ) 0.5 bleu ;
  195.  
  196. * avec la masse consistante
  197. mas_el1 = 'MASS' mo_el1 ma_el1 ;
  198.  
  199. tab1b = 'VIBR' 'INTERVALLE' (10. * fith1) ( 100. * fith1 )
  200. ( rig1 et cl1 ) mas_el1
  201. 'BASSE' 1 'TBAS' ;
  202.  
  203. fex1b = tab1b . 'MODES' . 1 . 'FREQUENCE' ;
  204. def1b = defo su1 ( tab1b . modes . 1 . deformee_modale ) 0.5 jaune ;
  205.  
  206.  
  207. 'MESS' 'Calcul de la 1 ere frequence propre' ;
  208. 'MESS' 'Lump : ' ( fex1 / fith1 ) 'Mass :' ( fex1b / fith1 )
  209. 'theo ' 46,8 ;
  210. dif5 = 'ABS' ( fex1 / fith1 - 46.8 / 46.8 ) ;
  211. 'MESS' 'Erreur relative ' ( dif5 * 100. ) '%' ;
  212.  
  213. err5 = dif5 '>EG' 0.05 ;
  214.  
  215. si graph ;
  216. 'TRAC' ( def1a et def1b ) ;
  217. finsi;
  218.  
  219. 'SI' ( err5 ) ;
  220. 'MESS' 'problème du calcul de la frequence propre' ;
  221. 'ERREUR' 5 ;
  222. 'FINSI' ;
  223.  
  224. 'MESS' 'DKT test positif' ;
  225.  
  226. 'FIN' ;
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  

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