Télécharger raff04.dgibi

Retour à la liste

Numérotation des lignes :

  1. ************************************************************
  2. ** raff04.dgibi
  3. ************************************************************
  4. * *
  5. * Calcul elasitique 3D des facteurs d'intencité de *
  6. * contraintes pour une fissure circulaire sous un *
  7. * chargempent de traction à l'infini incliné de 45 deg *
  8. * par rapport au pla de fissure (mode mixte) *
  9. * *
  10. * Test De RAFF avec X-FEM et GTHETA *
  11. * *
  12. * Comparaison de la simulations avec une solution de *
  13. * reference pour k1, k2 et k3 donne par : *
  14. * [TADA, STRESS ANALYSIS HANDBOOK,1973] *
  15. * *
  16. * AUTEUR : GG, modifie par JB251061 *
  17. * VERSION : V1, le 15.03.2017 *
  18. * V2, le 30.04.2021
  19. ************************************************************
  20.  
  21. * I - INIT DES DONNÉES CAS_TEST
  22. * -----------------------------
  23.  
  24. * OPTIONS ET BOOLEEN POUR LES TRACERS
  25. OPTI 'DIME' 3 'ELEM' 'CUB8' ;
  26. BTRAC = FAUX ;
  27.  
  28. * DONNEES GEOMETRIQUES
  29. * L1 = DEMI-COTE DU CUBE
  30. * A0 = RAYON DE LA FISSURE
  31. * BETA0 = INCLINAISON DE LA FISSURE
  32. L1 = 0.2 ;
  33. A0 = L1 / 10. ;
  34. BETA0 = 45. ;
  35.  
  36. * PROPRIÉTÉS MATÉRIAU
  37. MYOU = 2.E11 ;
  38. POI = 0.3 ;
  39.  
  40.  
  41. * II - MAILLAGE
  42. * -------------
  43.  
  44. * CREATION DU VOLUME INITIAL
  45. DENS1 = L1 / 4.5 ;
  46. DENS DENS1 ;
  47. ML1 = 0. - L1 ;
  48. D1 = DROI (ML1 ML1 ML1) (L1 ML1 ML1) ;
  49. D2 = D1 PLUS (0. (2.*L1) 0.) ;
  50. S1 = D1 REGL D2 ;
  51. V1 = S1 VOLU 'TRAN' (0. 0. (2.*L1)) ;
  52. * TRAC 'CACH' V1 ;FIN ;
  53.  
  54. * CREATION DE LA FISSURE
  55. DENS2 = A0 / 18. ;
  56. DENS DENS2 ;
  57. PREC1 = DENS2 * 1.E-10 ;
  58. A3 = A0 / 3. ;
  59. D3 = DROI ((0.-A3) (0.-A3) 0.) (A3 (0.-A3) 0.) ;
  60. D4 = DROI ((0.-A3) A3 0.) (A3 A3 0.) ;
  61. S2 = D3 REGL D4 ;
  62. DS2 = CONT S2 ;
  63. * ON CONSTRUIT LE CERCLE A PARTIR DU POINT INITIAL DU CARRE POUR QUE LES
  64. * DEUX CONTOURS SOIENT BIEN ALIGNES POUR REGL
  65. PINI1 = DS2 POIN 'INIT' ;
  66. PINI2 = PINI1 * A0 / (NORM PINI1) ;
  67. C1 = CERC (NBEL DS2) 'ROTA' 360. PINI2 (0. 0. 0.) (0. 0. 1.) ;
  68. ELIM C1 PREC1 ;
  69. S3 = DS2 REGL C1 ;
  70. SCRACK0 = S2 ET S3 ;
  71. SCRACK0 = ORIE SCRACK0 (0. 0. 1.) ;
  72. DEPL SCRACK0 'TOUR' BETA0 (0. 0. 0.) (1. 0. 0.) ;
  73. * TRAC SCRACK0 ;FIN ;
  74.  
  75. * ON RAFFINE LE CUBE AU VOISINAGE DE LA FISSURE
  76. CHP1 = ABS (PSIP V1 SCRACK0) ;
  77. CHP1 = BORN CHP1 'MAXIMUM' ((3.4*A0) + 1.E-10) ;
  78. LAMB1 = CHP1 / (MAXI CHP1) ;
  79. DMAX = DENS1 + 1.E-10 ;
  80. DMIN = DENS1 / 6. ;
  81. PUIS = 50. ;
  82. * CETTE COMBINAISON LINEAIRE PERMET D'AVOIR UNE DENSITE QUI VARIE
  83. * DE DMIN AU NIVEAU DE LA FISSURE A DMAX A ENVIRON 3.4*A0 DE LA FISSURE
  84. CHP2 = ((LAMB1**PUIS) * DMAX) + ((1. - (LAMB1**PUIS)) * DMIN) ;
  85. CHP2 = BORN CHP2 'MAXIMUM' DMAX ;
  86. V2 = RAFF CHP2 V1 ;
  87.  
  88. * PREMIERS TRACERS
  89. SI BTRAC ;
  90. * POINT DE VUE UTILISE POUR LES FIGURES
  91. EYE1 = -100. -70. 30. ;
  92. P0 = 0. 0. 0. ;
  93. P1 = 1. 0. 0. ;
  94. P2 = 0. 1. 0. ;
  95. P3 = 0. 0. 1. ;
  96. P4 = P2 TOUR BETA0 (0. 0. 0.) (1. 0. 0.) ;
  97. TIT1 = CHAI 'VOLUME AVANT RAFF' ;
  98. TRAC 'CACH' (V1 ET SCRACK0) EYE1 'COUP' P0 P1 P4 'TITR' TIT1 ;
  99. TRAC 'CACH' (V1 ET SCRACK0) EYE1 'COUP' P0 P2 P3 'TITR' TIT1 ;
  100. TIT1 = CHAI 'DENSITE DONNEE A RAFF' ;
  101. TRAC CHP2 (V1 ET SCRACK0) EYE1 'COUP' P0 P1 P4 'TITR' TIT1 ;
  102. TRAC CHP2 (V1 ET SCRACK0) EYE1 'COUP' P0 P2 P3 'TITR' TIT1 ;
  103. TIT1 = CHAI 'VOLUME APRES RAFF' ;
  104. TRAC 'CACH' (V2 ET SCRACK0) EYE1 'COUP' P0 P1 P4 'TITR' TIT1 ;
  105. TRAC 'CACH' (V2 ET SCRACK0) EYE1 'COUP' P0 P2 P3 'TITR' TIT1 ;
  106. FINSI ;
  107.  
  108. * EXTRACTION D'UNE SOUS-PARTIE DU CUBE POUR LES XFEM
  109. * LE RESTE EST EN ELEMENTS STANDARDS
  110. CHP3 = ABS (PSIP V2 SCRACK0) ;
  111. PXFEM = CHP3 POIN 'EGINFE' ((MINI CHP3) + (0.8 * A0)) ;
  112. VXFEM = V2 ELEM 'APPUYE' PXFEM ;
  113. VFEM = DIFF V2 VXFEM ;
  114. ARE1 = (ARET VXFEM) COUL 'BLEU' ;
  115. ARE2 = ARET VFEM ;
  116. ARE3 = (CONT SCRACK0) COUL 'ROUG' ;
  117. SI BTRAC ;
  118. TIT1 = CHAI 'VOLUME D''ELEMENTS XFEM' ;
  119. TRAC 'CACH' (VXFEM ET SCRACK0) EYE1 'TITR' TIT1 ;
  120. TIT1 = CHAI 'ARETES DES DIFFERENTS VOLUMES' ;
  121. TRAC (ARE1 ET ARE2 ET ARE3) EYE1 'TITR' TIT1 ;
  122. FINSI ;
  123.  
  124.  
  125. * III - MODELE ET MATERIAU
  126. * ------------------------
  127.  
  128. * MODELE ET MATERIAU DANS LA ZONE XFEM
  129. MOD1 = MODE VXFEM 'MECANIQUE' 'ELASTIQUE' 'XC8R';
  130. MAT1 = MATE MOD1 'YOUN' MYOU 'NU' POI ;
  131. FROFIS = CONT SCRACK0 ;
  132. * IL FAUT QUE LE BON POINT SOIT LE POINT INITIAL DU FRONT DE FISSURE
  133. * POUR QUE L'ANGLE SOIT CORRECT DANS LA SOLUTION ANALYTIQUE
  134. P1 = ((COOR 2 FROFIS) POIN 'MINI') POIN 1 ;
  135. FROFIS = ORDO (FROFIS ELEM 'COMPRIS' P1 P1) ;
  136. PSI1 PHI1 = PSIP V2 SCRACK0 'DEUX' FROFIS;
  137. SI BTRAC ;
  138. TIT1 = CHAI 'CHAMP PHI' ;
  139. TRAC 'CACH' PHI1 (V2 ET SCRACK0) EYE1 'COUP' P0 P1 P4 'TITR' TIT1 ;
  140. TRAC 'CACH' PHI1 (V2 ET SCRACK0) EYE1 'COUP' P0 P2 P3 'TITR' TIT1 ;
  141. FINSI ;
  142. CHE1X = TRIE MOD1 PSI1 PHI1 ;
  143. * RELATION NECESSAIRE QUAND ON UTILISE RAFF
  144. REL1 = RELA MOD1 ;
  145. MOD2 = MODE VFEM 'MECANIQUE' 'ELASTIQUE' ;
  146. MAT2 = MATE MOD2 'YOUN' MYOU 'NU' POI ;
  147. * RELATION NECESSAIRE QUAND ON UTILISE RAFF
  148. REL2 = RELA MOD2 ;
  149. MODTOT = MOD1 ET MOD2 ;
  150. MATTOT = MAT1 ET MAT2 ;
  151. RIGTOT = RIGI MODTOT MATTOT;
  152. RELTOT = REL1 ET REL2 ;
  153.  
  154.  
  155. * IV - CONDITIONS AUX LIMITES ET RESOLUTION
  156. * -----------------------------------------
  157.  
  158. * BLOCAQUE DES DEPLACEMENTS
  159. PX = V2 POIN 'PROC' (L1 0. 0.) ;
  160. PY = V2 POIN 'PROC' (0. L1 0.) ;
  161. PZ = V2 POIN 'PROC' (0. 0. L1) ;
  162. CLX = BLOQ PX 'UY' 'UZ';
  163. CLY = BLOQ PY 'UX' 'UZ';
  164. CLZ = BLOQ PZ 'UX' 'UY';
  165. CLTOT = (CLX ET CLY ET CLZ ) ;
  166. KTOT = RIGTOT ET CLTOT ET RELTOT ;
  167.  
  168. * CHARGEMENT EN MODE MIXTE
  169. SZZ0 = -100.E6 ;
  170. PSUP = V2 POIN 'PLAN' (0. 0. L1) (1. 0. L1) (0. 1. L1) ;
  171. FACZ2 = (ENVE V2) ELEM 'APPUYE' PSUP ;
  172. PINF = V2 POIN 'PLAN' (0. 0. ML1) (1. 0. ML1) (0. 1. ML1) ;
  173. FACZ0 = (ENVE V2) ELEM 'APPUYE' PINF ;
  174. FORTOT = PRES 'MASS' MODTOT (FACZ0 ET FACZ2) SZZ0 ;
  175. SI BTRAC ;
  176. TIT1 = CHAI 'CHARGEMENT ET CONDITIONS AUX LIMITES' ;
  177. VEC1 = VECT FORTOT 'FORC' 'BLEU' ;
  178. POINS1 = (PX ET PY ET PZ ) COUL 'VERT' ;
  179. TRAC VEC1 (POINS1 ET ARE2 ET SCRACK0 ET FROFIS) 'TITR' TIT1 ;
  180. FINSI ;
  181.  
  182. * CALCUL
  183. U1 = RESO KTOT FORTOT ;
  184.  
  185.  
  186. * V - APPEL A G_THETA ET POST-TRAITEMENT
  187. * --------------------------------------
  188.  
  189. * CREATION DE LA TABLE
  190. SUPTAB = TABL ;
  191. SUPTAB.'OBJECTIF' = MOT 'DECOUPLAGE' ;
  192. SUPTAB.'PSI' = PSI1 ;
  193. SUPTAB.'PHI' = PHI1 ;
  194. SUPTAB.'FRONT_FISSURE' = FROFIS ;
  195. SUPTAB.'MODELE' = MODTOT ;
  196. SUPTAB.'CARACTERISTIQUES' = MATTOT ;
  197. SUPTAB.'SOLUTION_RESO' = U1 ;
  198. SUPTAB.'CHARGEMENTS_MECANIQUES' = FORTOT ;
  199. SUPTAB.'COUCHE' = 2 ;
  200.  
  201. * APPEL A G_THETA
  202. G_THETA SUPTAB ;
  203.  
  204. * SOLUTION ANALYTIQUE
  205. K1EV = EVOL 'CHPO' SUPTAB.'CHPO_RESULTATS' 'KI' FROFIS ;
  206. SFRO = EXTR K1EV 'ABSC' ;
  207. K1A = (SFRO*0.) - (2.*SZZ0*((SIN BETA0)**2) * ((A0/PI)**0.5)) ;
  208. CA = (4.*SZZ0*(SIN BETA0)*(COS BETA0) * ((A0/PI)**0.5)) / (2.-POI) ;
  209. OMEG1 = SFRO / A0 * 180. / PI ;
  210. K2A = CA * (COS OMEG1);
  211. K3A = CA * (1.-POI)* (SIN OMEG1) ;
  212. KANA = EVOL 'MANU' SFRO K1A ;
  213. KANA = KANA ET (EVOL 'MANU' SFRO K2A) ;
  214. KANA = KANA ET (EVOL 'MANU' SFRO K3A) ;
  215.  
  216. * POST-TRAITEMENT
  217. * PRECISIONS UTILISEES POUR LES 3 MODES
  218. L_PREC = PROG 0.06 0.11 0.15 ;
  219. TAB1 = TABL ;
  220. TAB1.(1) = CHAI 'MARQ CARR' ;
  221. NPDEL = 10 ;
  222. I1 I2 = (1 + NPDEL) ((DIME K1A) - NPDEL) ;
  223. * BOUCLE SUR LES MODES
  224. REPE IMOD 3 ;
  225. SAUT 'LIGNE' ;
  226. MMOD = EXTR 'III' 1 &IMOD ;
  227. KNUM1 = EVOL 'CHPO' SUPTAB.'CHPO_RESULTATS' (CHAI 'K' &IMOD) FROFIS ;
  228. KANA1 = (EXTR KANA 'COUR' &IMOD) COUL 'ROUG' ;
  229. SI BTRAC ;
  230. DESS (KNUM1 ET KANA1) TAB1 'TITR' (CHAI 'K' &IMOD) ;
  231. FINSI ;
  232. ERR1 = (INTG ((KNUM1 - KANA1)**2) 'INDI' I1 I2)**0.5 ;
  233. PRE1 = EXTR L_PREC &IMOD ;
  234. CRI1 = ((INTG (KANA1**2) 'INDI' I1 I2)**0.5) * PRE1 ;
  235. MESS 'ERREUR SUR LE CALCUL DE K' MMOD ' :'*30 ERR1 ;
  236. MESS 'CRITERE' ' :'*30 CRI1 ;
  237. SI (ERR1 >EG CRI1) ;
  238. MESS 'ERREUR : L''ERREUR SUR K' MMOD ' DEPASSE LE CRITERE' ;
  239. ERRE 5 ;
  240. FINSI ;
  241. FIN IMOD ;
  242.  
  243. FIN ;
  244.  
  245.  
  246.  
  247.  
  248.  

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