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

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