Télécharger rupt26.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : rupt26.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4.  
  5. *******************************************************
  6. * Test rupt26.dgibi: Jeux de données *
  7. * --------------------------------- *
  8. *******************************************************
  9.  
  10. *Cas test de validation pour le calcul de J sous plusieurs chargement
  11. *avec les procedures g_theta.procedur et g_calcul.procedur
  12. *
  13. *- chargement avec pression sur levres avec plusieurs types d elements
  14. * sur le maillage de la fissure
  15.  
  16. *Calcul en dimension 3 avec des elements CU20 et PRI15 sur un maillage
  17. *complet symetrique
  18.  
  19.  
  20. * DONNEES GEOMETRIQUES
  21. *--------------------
  22. opti dime 3 elem cu20 echo 1;
  23. zz = 1e-6 ;
  24.  
  25. aa = 2. ; Rsa = 5. ;
  26. *
  27. R = Rsa * aa ;
  28. dda = aa / 40. ;
  29. *
  30. * ----- MAILLAGE
  31. *
  32. pfond = aa 0. 0. ;
  33. np = 4 ; nt = 10 ;
  34. p1 = pfond plus ((np*dda) 0. 0.) ;
  35. p2 = p1 plus (0. 0. (np*dda)) ;
  36. p4 = pfond moin ((np*dda) 0. 0.) ;
  37. p3 = p4 plus (0. 0. (np*dda)) ;
  38. ss1 = (p1 d np pfond d np p4) tran np (0. 0. (np*dda)) ;
  39. p5 = pfond plus ((aa / 2.) 0. 0.) ;
  40. p6 = p5 plus (0. 0. (aa / 2.)) ;
  41. p8 = pfond moin ((aa / 2.) 0. 0.) ;
  42. p7 = p8 plus (0. 0. (aa / 2.)) ;
  43. ll1 = p1 d np p2 d (2*np) p3 d np p4 ;
  44. ll2 = p5 d np p6 d (2*np) p7 d np p8 ;
  45. ss2 = ll1 regl ll2 dini dda dfin (aa/8.) ;
  46.  
  47. dx = R - (1.5 * aa) ;
  48. ss3 = (p5 d np p6) tran (dx 0. 0.) dini (aa/4.) dfin aa ;
  49. ss4 = ss1 et ss2 et ss3 ; elim zz ss4 ;
  50. vv1 = ss4 volu nt rota 90. (0. 0. 0.) (0. 0. 1.) ;
  51.  
  52. pc = 0. 0. 0. ;
  53. p9 = 0. (aa / 2.) 0. ;
  54. nq = 4 ;
  55. ll3 = (p8 c nt pc p9) et (p9 d nq pc d nq p8) ;
  56. ss5 = surf ll3 plane ;
  57. vv2 = ss5 volu tran np (0. 0. (aa / 2.)) ;
  58. elim zz (vv1 et vv2) ;
  59.  
  60. ss6 = (vv1 et vv2) poin plan p6 p7 (0. 1. (aa / 2.)) zz ;
  61. ss7 = (enve (vv1 et vv2)) elem appuye strictement ss6 ;
  62. dz = R - (0.5 * aa) ;
  63. vv3 = ss7 volu tran (0. 0. dz) dini (aa/4.) dfin aa ;
  64.  
  65. vtot = vv1 et vv2 et vv3 ;
  66.  
  67. *---------- Lignes et surfaces nommées
  68. ss0 = vtot poin plan pc p8 p9 zz ;
  69. ss1 = (enve vtot) elem appuye strictement ss0 ;
  70. chx = ss1 coor 1 ; chy = ss1 coor 2 ;
  71. chr = ((chx ** 2) + (chy ** 2)) ** 0.5 ;
  72. chrr = chan cham chr ss1 ;
  73. sulev = chrr elem infe (aa - zz) ;
  74. sulig = diff ss1 sulev ;
  75. ffis = (cont sulev) elem appuye strictement sulig ;
  76.  
  77. ss0 = vtot poin plan pc p8 p7 zz ;
  78. symy = (enve vtot) elem appuye strictement ss0 ;
  79.  
  80. ss0 = vtot poin plan pc p9 (0. 0. 1.) zz ;
  81. symx = (enve vtot) elem appuye strictement ss0 ;
  82.  
  83. ss0 = vtot point plan (0. 0. R) (1. 0. R) (0. 1. R) zz ;
  84. ssup = (enve vtot) elem appuye strictement ss0 ;
  85.  
  86. ******************************************************************
  87.  
  88. *-- Modele mecanique et parametres materiau
  89. EI20 = 197000. ; ALI20 = 15.54E-6 ;
  90. mo2 = MODE vtot MECANIQUE ELASTIQUE ISOTROPE ;
  91. ma2 = MATE mo2 'YOUN' EI20 'NU' 0.3 'ALPH' AlI20 ;
  92. ri1 = RIGI mo2 ma2 ;
  93.  
  94. *--- Conditions aux limites
  95. * Blocages
  96. cd1 = BLOQ symx 'UX' ;
  97. cd2 = BLOQ symy 'UY' ;
  98. cd3 = BLOQ sulig 'UZ' ;
  99. cdl = cd1 ET cd2 ET cd3 ;
  100. *Traction uniaxiale (via un modele de pression)
  101. pp = 100. ;
  102. moph = MODE ssup 'CHARGEMENT' 'PRESSION' 'CONS' 'HAUT' ;
  103. *Pression sur les levres (via un modele de pression)
  104. mopl = MODE sulev 'CHARGEMENT' 'PRESSION' 'CONS' 'LEVRES' ;
  105.  
  106. * Construction des second membres
  107. maph = PRES moph 'PRES' pp ;
  108. effN = BSIG moph maph ;
  109. mapl1 = PRES mopl 'PRES' pp ;
  110. ff0 = BSIG mopl mapl1 ;
  111. zer1 = ZERO mopl 'RIGIDITE' ;
  112. chx chy chz = COOR zer1 ;
  113. chr = (((chx ** 2) + (chy ** 2)) ** 0.5) / aa ;
  114. *ch2 = pp * ((1. - (chr ** 2)) ** 0.5) ;
  115. ch2 = pp * (chr ** 2) ;
  116. mapl2 = PRES mopl ch2 ;
  117. ff2 = BSIG mopl mapl2 ;
  118.  
  119.  
  120. *--- 11 - RESOLUTION
  121. depN dep0 dep2 = RESO (ri1 ET cdl) effN ff0 ff2 ;
  122.  
  123.  
  124. *--- 12 - Calcul de J pour les trois conditions aux limites
  125. *----------------------------------------------------------
  126. EE = EI20 / 910. ; rpa = (3.1416 * aa / 1000.) ** 0.5 ;
  127. * cas 1 : traction seule
  128. SUPTAB = TABLE;
  129. SUPTAB.'MODELE' = mo2 ET moph ;
  130. SUPTAB.'CARACTERISTIQUES' = ma2 ;
  131. SUPTAB.'PRESSION' = maph ;
  132. SUPTAB.'BLOCAGES_MECANIQUES' = cdl ;
  133. SUPTAB.'OBJECTIF' = 'J' ;
  134. SUPTAB.'LEVRE_SUPERIEURE'= sulev ;
  135. SUPTAB.'COUCHE' = 4 ;
  136. SUPTAB.'FRONT_FISSURE' = ffis ;
  137. SUPTAB.'SOLUTION_RESO' = depN ;
  138. G_THETA SUPTAB ;
  139. Jc0 = suptab.resultats.global ;
  140. kc0 = (Jc0 * EE) ** 0.5 ;
  141. ic0 = kc0 / rpa / pp ;
  142.  
  143. * cas 2 : pression uniforme sur les levres
  144. SUPTAB.'MODELE' = mo2 ET mopl ;
  145. SUPTAB.'CARACTERISTIQUES' = ma2 ;
  146. SUPTAB.'PRESSION' = mapl1 ;
  147. SUPTAB.'SOLUTION_RESO' = dep0 ;
  148. G_THETA SUPTAB ;
  149. Jc1 = suptab.resultats.global ;
  150. kc1 = (Jc1 * EE) ** 0.5 ;
  151. ic1 = kc1 / rpa / pp ;
  152.  
  153. * cas 3 : pression parabolique sur les levres
  154. SUPTAB.'MODELE' = mo2 ET mopl ;
  155. SUPTAB.'CARACTERISTIQUES' = ma2 ;
  156. SUPTAB.'PRESSION' = mapl2 ;
  157. SUPTAB.'SOLUTION_RESO' = dep2 ;
  158. G_THETA SUPTAB ;
  159. Jc2 = suptab.resultats.global ;
  160. kc2 = (Jc2 * EE) ** 0.5 ;
  161. ic2 = kc2 / rpa / pp ;
  162.  
  163.  
  164.  
  165.  
  166. ********************
  167. * CALCUL DE L'ERREUR
  168. ********************
  169. **---> Les 2 résultats doivent être identiques
  170. **---> et converger vers la solution d'Irwin : 2/Pi
  171. **---> Le résultat ic2 doit lui converger vers 4/(3.Pi)
  172. err0 = ABS (100. * ((ic0 * pi / 2.) - 1.)) ;
  173. err1 = ABS (100. * ((ic1 * pi / 2.) - 1.)) ;
  174. err2 = ABS (100. * ((ic2 * 3. * pi / 4.) - 1.)) ;
  175.  
  176.  
  177. ****************************************
  178. * AFFICHAGE DES RESULTATS ET DES ERREURS
  179. ****************************************
  180. SAUT 5 'LIGNE' ;
  181.  
  182. mess 'Erreurs en % : ' err0 err1 err2 ;
  183.  
  184. SI (err0 > 0.6) ;
  185. ERRE 'Erreur sur le calcul de Jc0' ;
  186. FINS ;
  187. SI (err1 > 0.6) ;
  188. ERRE 'Erreur sur le calcul de Jc1' ;
  189. FINS ;
  190. SI (err2 > 0.4) ;
  191. ERRE 'Erreur sur le calcul de Jc2' ;
  192. FINS ;
  193.  
  194.  
  195. FIN;
  196.  
  197.  
  198.  
  199.  
  200.  

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