Télécharger test_sif_3d.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : test_sif_3d.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4.  
  5.  
  6. ************************************************************************
  7. * Verification & Validation des procedures SIF et G_THETA
  8. ************************************************************************
  9. * Geometrie : Piece et fissure
  10. * -----------
  11. * 3D, milieu infini (ici cylindre de rayon l1 et hauteur 2*l1) avec
  12. * fissure en forme de disque de rayon l2 (penny-shaped crack)
  13. * soumise a une contrainte sig, dans la direction orthogonale a la fissure
  14. *
  15. * Validation : Test sur le calcul du KI avec SIF et G_THETA
  16. * -----------
  17. * Valeur theorique K_I = 2 * sig * (l2 / pi)**0.5
  18. *
  19. ************************************************************************
  20.  
  21. * Options generales
  22. OPTI 'DIME' 3 'ELEM' 'CU20' ;
  23.  
  24. * Parametres
  25. l1 = 10. ;
  26. l2 = 1. ;
  27. sig = 42.E6 ;
  28.  
  29. * Maillage
  30. * --densites (loin et pres de la fissure)
  31. den1 = l1 / 2. ;
  32. den2 = l2 / 7. ;
  33. * --fissure levre superieure
  34. OPTI 'DENS' den2 ;
  35. p1 = 0. 0. 0. ;
  36. p2 = l2 0. 0. ;
  37. l12 = DROI p1 p2 ;
  38. s1 = l12 ROTA 90 p1 (p1 PLUS (0. 0. 1.)) ;
  39. lff = s1 COTE 2 ;
  40. ELIM s1 1.E-10 ;
  41. s1s = REGE s1 ;
  42. s1i = s1s PLUS (0. 0. 0.) ;
  43. ELIM s1i lff 1.E-10 ;
  44. * --section non fisuree
  45. OPTI 'DENS' den1 ;
  46. p3 = l1 0. 0. ;
  47. p4 = 0. l1 0. ;
  48. l34 = CERC (NBEL lff) p3 p1 p4 ;
  49. s2 = REGL lff l34 ;
  50. * --volumes superieurs et inferieurs
  51. v1 = VOLU 'TRAN' (s1s ET s2) 'DINI' den2 'DFIN' den2 (0. 0. (0.05 * l1 ));
  52. v1 = VOLU 'TRAN' v1 'DINI' den2 'DFIN' den1 (0. 0. (0.95 * l1 ));
  53. v2 = VOLU 'TRAN' (s1i ET s2) 'DINI' den2 'DFIN' den2 (0. 0. (-0.05 * l1));
  54. v2 = VOLU 'TRAN' v2 'DINI' den2 'DFIN' den1 (0. 0. (-0.95 * l1));
  55. vtot = v1 ET v2 ;
  56. etot = ENVE vtot ;
  57. atot = ARET etot ;
  58.  
  59. * Modele et materiau
  60. mo = MODE vtot 'MECANIQUE' ;
  61. ma = MATE mo 'YOUN' 200.E9 'NU' 0.3 ;
  62.  
  63. * Blocages
  64. x y z = COOR vtot ;
  65. px0 = etot POIN 'PLAN' p1 p4 (0. 0. 1.) 1.E-10 ;
  66. py0 = etot POIN 'PLAN' p1 p3 (0. 0. 1.) 1.E-10 ;
  67. px0 = x POIN 'MINI' ;
  68. py0 = y POIN 'MINI' ;
  69. bl1 = BLOQ 'UX' px0 ;
  70. bl2 = BLOQ 'UY' py0 ;
  71. bl3 = BLOQ 'UZ' l34 ;
  72.  
  73. * Chargement
  74. shaut = v1 FACE 2 ;
  75. sbas = v2 FACE 2 ;
  76. f1 = PRES 'MASS' mo shaut (-1. * sig) ;
  77. f2 = PRES 'MASS' mo sbas (-1. * sig) ;
  78. f = f1 ET f2 ;
  79.  
  80. * Resolution
  81. r0 = RIGI mo ma ;
  82. rig = r0 ET bl1 ET bl2 ET bl3 ;
  83. u = RESO rig f ;
  84.  
  85. * Solution de reference
  86. k1ref = 2. * sig * ((l2 / pi) ** 0.5) ;
  87.  
  88. * Solution par SIF
  89. ts = TABL ;
  90. ts . 'MAILLAGE' = vtot ;
  91. ts . 'FRTFISS' = lff ;
  92. ts . 'LEVRE_1' = s1s ;
  93. ts . 'MODMIXTE' = VRAI ;
  94. ts . 'LEVRE_2' = s1i ;
  95. SIF ma u ts ;
  96. k1s = ts . 'K1' . p2 ;
  97. errs = 100. * (k1s - k1ref) / k1ref ;
  98.  
  99. * Solution par G_THETA
  100. tg = TABL ;
  101. tg . 'OBJECTIF' = MOT 'DECOUPLAGE' ;
  102. tg . 'COUCHE' = 3 ;
  103. tg . 'FRONT_FISSURE' = lff ;
  104. tg . 'LEVRE_SUPERIEURE' = s1s ;
  105. tg . 'LEVRE_INFERIEURE' = s1i ;
  106. tg . 'SOLUTION_RESO' = u ;
  107. tg . 'MODELE' = mo ;
  108. tg . 'CARACTERISTIQUES' = ma ;
  109. tg . 'CHARGEMENTS_MECANIQUES' = f ;
  110. tg . 'BLOCAGES_MECANIQUES' = bl1 ET bl2 ET bl3 ;
  111. G_THETA tg ;
  112. k1g = tg . 'RESULTATS' . 'I' . 'GLOBAL' ;
  113. errg = 100. * (k1g - k1ref) / k1ref ;
  114.  
  115. * Affichage
  116. OPTI 'ECHO' 0 ;
  117. SAUT 3 'LIGNE' ;
  118. MESS 'BILAN, CALCUL DE KI' ;
  119. MESS 'Solution de reference :' ' ' k1ref ;
  120. MESS 'Calcul avec SIF + erreur (%) :' ' ' k1s errs ;
  121. MESS 'Calcul avec G_THETA + erreur (%) :' ' ' k1g errg ;
  122.  
  123. * Test d'erreur
  124. logerr = FAUX ;
  125. SI ((ABS errs) > 4.E0) ;
  126. MESS '--> Erreur dans le calcul du KI avec SIF' ;
  127. logerr = VRAI ;
  128. FINSI ;
  129. SI ((ABS errg) > 1.E0) ;
  130. MESS '--> Erreur dans le calcul du KI avec G_THETA' ;
  131. logerr = VRAI ;
  132. FINSI ;
  133. SI logerr ;
  134. ERRE 'ECHEC DU CAS TEST !' ;
  135. SINON ;
  136. MESS 'SUCCES DU CAS TEST !' ;
  137. FINSI ;
  138.  
  139.  
  140.  
  141. FIN ;
  142.  
  143.  
  144.  
  145.  

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