Télécharger rupt30.dgibi

Retour à la liste

Numérotation des lignes :

  1. *
  2. ************************************************************************
  3. ************************************************************************
  4. * ancien nom de fichier : test_sif_3d.dgibi
  5.  
  6.  
  7. ************************************************************************
  8. * Verification & Validation des procedures SIF et G_THETA
  9. ************************************************************************
  10. * Geometrie 3D :
  11. * -------------
  12. * fissure en forme de disque de rayon l2 (penny-shaped crack)
  13. * dans un cylindre de rayon l1 et hauteur 2*l1 (milieu quasi-infini : l1>>l2)
  14. * soumise a une contrainte sig, dans la direction orthogonale a la fissure (traction)
  15. *
  16. * Validation :
  17. * -----------
  18. * Test sur le calcul du KI avec SIF et G_THETA options J et DECOUPLAGE
  19. * Valeur theorique K_I = 2 * sig * (l2 / pi)**0.5
  20. *
  21. ************************************************************************
  22.  
  23. ************************************************************************
  24. * OPTIONS ET PARAMETRES
  25. ************************************************************************
  26.  
  27. * Options generales
  28. OPTI 'DIME' 3 'ELEM' 'CU20' ;
  29. * GRAPH = VRAI; OPTI 'TRAC' 'PSC' 'EPTR' 8 'POTR' 'HELVETICA_16';
  30. GRAPH = FAUX;
  31. COMPLET = FAUX;
  32.  
  33. * Parametres
  34. l1 = 10. ;
  35. l2 = 1. ;
  36. sig = 42.E6 ;
  37.  
  38.  
  39. ************************************************************************
  40. * MAILLAGE
  41. ************************************************************************
  42.  
  43. * --densites (loin et pres de la fissure)
  44. den1 = l1 / 2. ;
  45. den2 = l2 / 6. ;
  46. den3 = l2 / 12. ;
  47.  
  48. * --fissure levre superieure
  49. OPTI 'DENS' den2 ;
  50. p1 = 0. 0. 0. ;
  51. OPTI 'DENS' den3 ;
  52. p2 = l2 0. 0. ;
  53. l12 = DROI p1 p2 'DINI' den2 'DFIN' den3;
  54. s1 = l12 ROTA 90 p1 (p1 PLUS (0. 0. 1.)) ;
  55. lff = s1 COTE 2 ;
  56. ELIM s1 1.E-10 ;
  57. s1s = REGE s1 ;
  58. s1i = s1s PLUS (0. 0. 0.) ;
  59. ELIM s1i lff 1.E-10 ;
  60.  
  61. * --section non fisuree
  62. OPTI 'DENS' den3 ;
  63. nbel3 = 4;
  64. p3 = (l2+(nbel3*den3)) 0. 0. ;
  65. p4 = 0. (l2+(nbel3*den3)) 0. ;
  66. l34 = CERC (NBEL lff) p3 p1 p4 ;
  67. s2a = REGL lff nbel3 l34;
  68. OPTI 'DENS' den1 ;
  69. p5 = l1 0. 0. ;
  70. p6 = 0. l1 0. ;
  71. l56 = CERC (NBEL lff) p5 p1 p6 ;
  72. s2b = REGL l34 l56 'DINI' den3 'DFIN' den1;
  73. s2 = s2a et s2b;
  74.  
  75. * --volumes superieurs et inferieurs
  76. v1 = VOLU 'TRAN' (s1s ET s2) 'DINI' den3 'DFIN' den2 (0. 0. (0.05 * l1 ));
  77. v1 = VOLU 'TRAN' v1 'DINI' den3 'DFIN' den1 (0. 0. (0.95 * l1 ));
  78. v2 = VOLU 'TRAN' (s1i ET s2) 'DINI' den3 'DFIN' den2 (0. 0. (-0.05 * l1));
  79. v2 = VOLU 'TRAN' v2 'DINI' den3 'DFIN' den1 (0. 0. (-0.95 * l1));
  80. vtot = v1 ET v2 ;
  81. etot = ENVE vtot ;
  82. atot = ARET etot ;
  83.  
  84. * trace et information sur le maillage
  85. MESS 'nbel='(NBEL vtot) ' nbno=' (NBNO vtot);
  86. SI GRAPH;
  87. trac ((coul s1s ORAN) et s2) 'TITRE' 'Maillage en z=0';
  88. trac (vtot et (coul ORAN s1s)) 'TITRE' 'Maillage (la fissure en orange)';
  89. trac vtot 'CACH' 'TITRE' 'Maillage';
  90. FINSI;
  91.  
  92.  
  93. ************************************************************************
  94. * MODELE
  95. ************************************************************************
  96.  
  97. * Modele et materiau
  98. mo = MODE vtot 'MECANIQUE' ;
  99. you = 200.E9;
  100. nu = 0.3;
  101. ma = MATE mo 'YOUN' you 'NU' nu;
  102.  
  103. * Blocages
  104. xtot ytot ztot = COOR vtot ;
  105. xtol = 1.E-8;
  106. px0 = etot POIN 'PLAN' p1 p4 (0. 0. 1.) xtol ;
  107. py0 = etot POIN 'PLAN' p1 p3 (0. 0. 1.) xtol ;
  108. *px0 = xtot POIN 'MINI' ;
  109. *py0 = ytot POIN 'MINI' ;
  110. bl1 = BLOQ 'UX' px0 ;
  111. bl2 = BLOQ 'UY' py0 ;
  112. bl3 = BLOQ 'UZ' l56 ;
  113.  
  114. * Chargement
  115. shaut = v1 FACE 2 ;
  116. sbas = v2 FACE 2 ;
  117. f1 = PRES 'MASS' mo shaut (-1. * sig) ;
  118. f2 = PRES 'MASS' mo sbas (-1. * sig) ;
  119. f = f1 ET f2 ;
  120. SI GRAPH;
  121. vec_f = VECT f 'FORC' 'ROUG';
  122. trac vec_f vtot 'CACH' 'TITRE' 'Maillage';
  123. FINSI;
  124.  
  125. ************************************************************************
  126. * RESOLUTION
  127. ************************************************************************
  128.  
  129. * Resolution lineaire
  130. r0 = RIGI mo ma ;
  131. rig = r0 ET bl1 ET bl2 ET bl3 ;
  132. u = RESO rig f ;
  133.  
  134. ************************************************************************
  135. * POST TRAITEMENT
  136. ************************************************************************
  137.  
  138. * post-traitement graphique
  139. SI GRAPH;
  140. svm1 = VMIS (sigm u mo ma) mo ma;
  141. def1 = defo u vtot svm1 mo;
  142. izo1 = prog 4.E7 PAS 0.5E7 1.E8;
  143. trac def1 izo1;
  144. trac def1 'BOITE' (s1s et s2a) izo1;
  145. FINSI;
  146.  
  147. * Solution de reference
  148. k1ref = 2. * sig * ((l2 / pi) ** 0.5) ;
  149.  
  150. * Solution par SIF
  151. ts = TABL ;
  152. ts . 'MAILLAGE' = vtot ;
  153. ts . 'FRTFISS' = lff ;
  154. ts . 'LEVRE_1' = s1s ;
  155. ts . 'MODMIXTE' = VRAI ;
  156. ts . 'LEVRE_2' = s1i ;
  157. SIF ma u ts ;
  158. k1s = ts . 'K1' . p2 ;
  159. errs = 100. * (k1s - k1ref) / k1ref ;
  160.  
  161. * Solution par G_THETA DECOUPLAGE
  162. tk = TABL ;
  163. tk . 'OBJECTIF' = MOT 'DECOUPLAGE' ;
  164. tk . 'COUCHE' = 3 ;
  165. tk . 'FRONT_FISSURE' = lff ;
  166. tk . 'LEVRE_SUPERIEURE' = s1s ;
  167. tk . 'LEVRE_INFERIEURE' = s1i ;
  168. tk . 'SOLUTION_RESO' = u ;
  169. tk . 'MODELE' = mo ;
  170. tk . 'CARACTERISTIQUES' = ma ;
  171. tk . 'CHARGEMENTS_MECANIQUES' = f ;
  172. tk . 'BLOCAGES_MECANIQUES' = bl1 ET bl2 ET bl3 ;
  173.  
  174. G_THETA tk ;
  175.  
  176. k1 = tk . 'RESULTATS' . 'I' . 'GLOBAL' ;
  177. errk1 = 100. * (k1 - k1ref) / k1ref ;
  178. * trace de K1 le long du front
  179. evk1 = EXTR (EVOL ROSE 'CHPO' tk . 'CHPO_RESULTATS' 'K1' lff) 'COUR' 1;
  180. * dess evk1 'YBOR' 0 80.E6 'YGRA' 10.E6;
  181.  
  182. * Solution par G_THETA J
  183. tg = TABL ;
  184. tg . 'OBJECTIF' = MOT 'J' ;
  185. tg . 'COUCHE' = 3 ;
  186. tg . 'FRONT_FISSURE' = lff ;
  187. tg . 'LEVRE_SUPERIEURE' = s1s ;
  188. tg . 'LEVRE_INFERIEURE' = s1i ;
  189. tg . 'SOLUTION_RESO' = u ;
  190. tg . 'MODELE' = mo ;
  191. tg . 'CARACTERISTIQUES' = ma ;
  192. tg . 'CHARGEMENTS_MECANIQUES' = f ;
  193. tg . 'BLOCAGES_MECANIQUES' = bl1 ET bl2 ET bl3 ;
  194.  
  195. G_THETA tg ;
  196.  
  197. g1 = tg . 'RESULTATS' . 'GLOBAL' ;
  198. Estar = you / (1. - (nu**2));
  199. k1g = (Estar * g1)**0.5;
  200. errk1g = 100. * (k1g - k1ref) / k1ref ;
  201. * trace de K1g le long du front
  202. evk1g = EXTR (EVOL AZUR 'CHPO' tg . 'CHPO_RESULTATS' 'J' lff) 'COUR' 1;
  203. evk1g = (Estar * evk1g)**0.5;
  204. SI GRAPH;
  205. * dess evk1g 'YBOR' 0 80.E6 'YGRA' 10.E6;
  206. tdess = TABL;
  207. tdess . 'TITRE' = tabl;
  208. tdess . 'TITRE' . 1 = mot 'G-\q : K';
  209. tdess . 'TITRE' . 2 = mot 'G-\q : J';
  210. dess (evk1 et evk1g) 'TITY' 'K_{I}'
  211. 'YBOR' 0 80.E6 'YGRA' 10.E6 'LEGE' 'SO' tdess;
  212. FINSI;
  213.  
  214. * verification de l'independace du contour pour G
  215. SI COMPLET ;
  216. g1prog = prog;
  217. ng = 6;
  218. repe Bg ng;
  219. tg . 'COUCHE' = &Bg ;
  220. G_THETA tg ;
  221. g1prog = g1prog et tg . 'RESULTATS' . 'GLOBAL' ;
  222. fin Bg;
  223. k1prog = (Estar * g1prog)**0.5;
  224. * evGcon = EVOL 'AZUR' 'MANU' 'LEGE' 'G-\t : J'
  225. * 'contour' (prog 1 pas 1 ng) 'G' g1prog;
  226. * DESS evGcon XBOR 1 ng XGRA 1 ;
  227. evK1con = EVOL 'AZUR' 'MANU' 'LEGE' 'G-\t : J'
  228. 'contour' (prog 1 pas 1 ng) 'K_{I}' k1prog;
  229. SI GRAPH;
  230. DESS evK1con XBOR 1 ng XGRA 1 ;
  231. FINSI;
  232. FINSI;
  233.  
  234. ************************************************************************
  235. * TEST DE BON FONCTIONNEMENT
  236. ************************************************************************
  237.  
  238. * Affichage
  239. OPTI 'ECHO' 0 ;
  240. SAUT 3 'LIGNE' ;
  241. MESS 'BILAN, CALCUL DE KI' ;
  242. MESS 'Solution de reference :' ' ' k1ref ;
  243. MESS 'Calcul avec SIF + erreur (%) :' ' ' k1s errs ;
  244. MESS 'Calcul avec G_THETA decouplage + erreur (%) :' ' ' k1 errk1 ;
  245. MESS 'Calcul avec G_THETA J + erreur (%) :' ' ' k1g errk1g ;
  246.  
  247. * opti echo 1 donn 5 TRAC 'X';
  248.  
  249. * Test d'erreur
  250. logerr = FAUX ;
  251. SI ((ABS errs) > 4.E0) ;
  252. MESS '--> Erreur dans le calcul du KI avec SIF' ;
  253. logerr = VRAI ;
  254. FINSI ;
  255. SI ((ABS errk1) > 1.E0) ;
  256. MESS '--> Erreur dans le calcul du KI avec G_THETA' ;
  257. logerr = VRAI ;
  258. FINSI ;
  259. SI logerr ;
  260. ERRE 'ECHEC DU CAS TEST !' ;
  261. SINON ;
  262. MESS 'SUCCES DU CAS TEST !' ;
  263. FINSI ;
  264.  
  265.  
  266.  
  267. FIN ;
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  

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