Télécharger g_decouplage_5.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : g_decouplage_5.dgibi
  2. ****************************************************
  3. ****************************************************
  4. * *
  5. * VERIFICATION DE LA PROCEDURE G_THETA *
  6. * POUR LE CALCUL DES FIC POUR UNE FISSURE *
  7. * PLANE A FOND DROIT DANS UN CUBE *
  8. * - *
  9. * VERIFICATION DU CALCUL DE KI, KII ET KIII VIA *
  10. * DECOUPLAGE EN 3D AVEC ELEMENTS XFEM *
  11. * *
  12. ****************************************************
  13.  
  14. * I - INIT DES DONNÉES CAS_TEST
  15. * -----------------------------
  16.  
  17. OPTI 'DIME' 3 'ELEM' 'CUB8' ;
  18. BTRA = FAUX ;
  19.  
  20. * DONNEES GEOMETRIQUES
  21. A0 = 1. ;
  22. L1 = A0 / 4. ;
  23. DENS1 = L1 / 2. ;
  24. DENS2 = A0 / L1 * DENS1 ;
  25. DENS3 = 0.5*(DENS1 + DENS2) ;
  26. DENS DENS1 ;
  27.  
  28. * PROPRIÉTÉS MATÉRIAU
  29. MYOU = 2E11 ;
  30. POI = 0.001 ;
  31. KAPPA = 3-(4*POI) ;
  32. MU = MYOU/(2*(1+POI)) ;
  33.  
  34.  
  35. * II - MAILLAGE
  36. * -------------
  37.  
  38. P0 = 0. 0. 0. ;
  39. D1 = DROI (P0 MOIN (L1 0. 0.)) (P0 PLUS (L1 0. 0.)) ;
  40. S1 = D1 TRAN (0. L1 0.) ;
  41. CONT1 = CONT S1 ;
  42. CONT1 = DIFF CONT1 D1 ;
  43. CONT2 = CONT1 HOMO (A0 / L1) P0 ;
  44. S2 = CONT1 REGL 'DFIN' DENS2 CONT2 ;
  45. S0 = S1 ET S2 ;
  46. V1 = S0 VOLU 'DINI' DENS3 'DFIN' DENS3 'TRAN' (0. 0. (2.*A0)) ;
  47. V2 = V1 SYME 'PLAN' P0 (1. 0. 0.) (0. 0. 1.) ;
  48. V0 = (V1 COUL 'BLEU') ET (V2 COUL 'ROUG') ;
  49. * TRAC 'CACH' V0 ;FIN ;
  50.  
  51. * FUSION
  52. PRE1 = 1.E-10 ;
  53. ENV1 = ENVE V1 ;
  54. ELIM V1 V2 PRE1 ;
  55. PMED = V0 POIN 'PLAN' P0 (1. 0. 0.) (0. 0. 1.) ;
  56. PLEV = (COOR 1 PMED) POIN 'EGINFE' PRE1 ;
  57. LEV1 = ENV1 ELEM 'APPUYE' PLEV ;
  58. LEV1 = (LEV1 PLUS (0. 0. 0.)) COUL 'VIOL' ;
  59. LEV1 = ORIE LEV1 (0. 1. 0.) ;
  60.  
  61. * FRONT
  62. CONT1 = CONT LEV1 ;
  63. PFRON = (COOR 1 CONT1) POIN 'MAXI' ;
  64. FRON1 = (CONT1 ELEM 'APPUYE' PFRON) COUL 'VERT' ;
  65. * TRAC (LEV1 ET FRON1) ;FIN ;
  66.  
  67.  
  68. * III - MODELE ET MATERIAU
  69. * ------------------------
  70.  
  71. MOD1 = MODE V0 'MECANIQUE' 'ELASTIQUE' 'XC8R' ;
  72. MAT1 = MATE MOD1 'YOUN' MYOU 'NU' POI ;
  73. PSI0 PHI0 = PSIP V0 LEV1 'DEUX' FRON1 ;
  74. CHE1X = TRIE MOD1 PSI0 PHI0 ;
  75. RELAX = RELA MOD1 ;
  76. RIG1 = RIGI MAT1 MOD1 ;
  77.  
  78.  
  79. * IV - CONDITIONS AUX LIMITES POUR LES 3 MODES
  80. * --------------------------------------------
  81.  
  82. T_CHAR = TABL ;
  83. T_DEPL = TABL ;
  84.  
  85. * SEPARATION DE LA FRONTIERE EN 2
  86. ENV0 = ENVE V0 ;
  87. PFAC1 = (COOR 1 ENV0) POIN 'MAXI' ;
  88. FAC1 = ENV0 ELEM 'APPUYE' PFAC1 ;
  89. FAC2 = DIFF ENV0 FAC1 ;
  90. * BLOCAGE DES DEPLACEMENTS SUR FAC1
  91. BLO0 = BLOQ 'DEPL' FAC1 ;
  92.  
  93. * IV.1 - EFFORTS DONNES
  94. * *********************
  95.  
  96. * PREPARATIFS
  97. VEXT = V0 ELEM 'APPUYE' 'LARGEMENT' ENV0 ;
  98. MOD2 = REDU MOD1 VEXT ;
  99. X Y Z = COOR VEXT ;
  100. X Y = (CHAN 'CHAM' X MOD2 'STRESSES') (CHAN 'CHAM' Y MOD2 'STRESSES') ;
  101. TETA = CHAN (ATG Y (X + 1.E-30)) 'TYPE' 'SCALAIRE' ;
  102. RAY1 = (((X)**2) + ((Y)**2))**0.5 ;
  103. RAY1 = CHAN RAY1 'TYPE' 'SCALAIRE' ;
  104. PREF = 1. / ((2*PI*RAY1)**0.5) ;
  105. COS05 = COS (TETA/2) ;
  106. SIN05 = SIN (TETA/2) ;
  107. COS15 = COS (3*TETA/2) ;
  108. SIN15 = SIN (3*TETA/2) ;
  109. SIG0 = ZERO MOD2 'CONTRAIN' ;
  110.  
  111. * MODE I :
  112. SXX = PREF*(COS05*(1.-(SIN05*SIN15))) ;
  113. SXY = PREF*(COS05*SIN05*COS15) ;
  114. SYY = PREF*(COS05*(1.+(SIN05*SIN15))) ;
  115. SZZ = POI * (SXX + SYY) ;
  116. SIG1 = SIG0 + (NOMC 'SMXX' SXX) + (NOMC 'SMXY' SXY) + (NOMC 'SMYY' SYY)
  117. + (NOMC 'SMZZ' SZZ) ;
  118. T_CHAR.'I' = REDU (BSIG MOD2 SIG1) FAC2 ;
  119.  
  120. * MODE II :
  121. SXX = PREF*(0. - (SIN05*(2.+(COS05*COS15)))) ;
  122. SXY = PREF*(COS05*(1.-(SIN05*SIN15))) ;
  123. SYY = PREF*(SIN05*COS05*COS15) ;
  124. SZZ = POI * (SXX + SYY) ;
  125. SIG1 = SIG0 + (NOMC 'SMXX' SXX) + (NOMC 'SMXY' SXY) + (NOMC 'SMYY' SYY)
  126. + (NOMC 'SMZZ' SZZ) ;
  127. T_CHAR.'II' = REDU (BSIG MOD2 SIG1) FAC2 ;
  128.  
  129. * MODE III :
  130. SXZ = 0. - (PREF*SIN05) ;
  131. SYZ = PREF*COS05 ;
  132. SIG1 = SIG0 + (NOMC 'SMXZ' SXZ) + (NOMC 'SMYZ' SYZ) ;
  133. T_CHAR.'III' = REDU (BSIG MOD2 SIG1) FAC2 ;
  134.  
  135.  
  136. * IV.2 - DEPLACEMENTS DONNES
  137. * **************************
  138.  
  139. * PREPARATIFS
  140. X Y Z = COOR V0 ;
  141. LSUP = V1 POIN 'PLAN' P0 (1. 0. 0.) (0. 0. 1.) ;
  142. LSUP = (COOR 1 LSUP) POIN 'EGINFE' (0. - PRE1) ;
  143. LINF = V2 POIN 'PLAN' P0 (1. 0. 0.) (0. 0. 1.) ;
  144. LINF = (COOR 1 LINF) POIN 'EGINFE' (0. - PRE1) ;
  145. Y = Y + ((COOR 2 LSUP) + 1.E-30) + ((COOR 2 LINF) - 1.E-30) ;
  146. TETA = ATG Y (X + 1.E-30) ;
  147. RAY1 = (((X)**2) + ((Y)**2))**0.5 ;
  148. PREF = (RAY1/(2*PI))**0.5 ;
  149. COS05 = COS (TETA/2) ;
  150. SIN05 = SIN (TETA/2) ;
  151. XI0 = CHAN 'CHPO' MOD1 (ZERO MOD1 'DEPLACEM') ;
  152.  
  153. * MODE I :
  154. XIX = PREF/(2.*MU)*(COS05*(KAPPA - 1. + (2.*(SIN05**2)))) ;
  155. XIY = PREF/(2.*MU)*(SIN05*(KAPPA + 1. - (2.*(COS05**2)))) ;
  156. T_DEPL.'I' = REDU (XI0 + (NOMC 'UX' XIX) + (NOMC 'UY' XIY)) FAC1 ;
  157.  
  158. * MODE II :
  159. XIX = PREF/(2.*MU)*(SIN05*(KAPPA + 1. + (2.*(COS05**2)))) ;
  160. XIY = PREF/(2.*MU)*(0. - (COS05*(KAPPA - 1. - (2.*(SIN05**2))))) ;
  161. T_DEPL.'II' = REDU (XI0 + (NOMC 'UX' XIX) + (NOMC 'UY' XIY)) FAC1 ;
  162.  
  163. * MODE III :
  164. XIZ = PREF*2./MU*SIN05 ;
  165. T_DEPL.'III' = REDU (XI0 + (NOMC 'UZ' XIZ)) FAC1 ;
  166.  
  167.  
  168. * V - RESOLUTION ET APPEL A G_THETA
  169. * ---------------------------------
  170.  
  171. * CREATION DE LA TABLE
  172. SUPTAB = TABL ;
  173. SUPTAB.'OBJECTIF' = MOT 'DECOUPLAGE' ;
  174. SUPTAB.'FRONT_FISSURE' = FRON1 ;
  175. SUPTAB.'MODELE' = MOD1 ;
  176. SUPTAB.'PSI' = PSI0 ;
  177. SUPTAB.'PHI' = PHI0 ;
  178. SUPTAB.'CARACTERISTIQUES' = MAT1 ;
  179. SUPTAB.'COUCHE' = 4 ;
  180.  
  181. * RESOLUTION ET APPEL A G_THETA
  182. GTAB = TABL ;
  183. RIG0 = RIG1 ET BLO0 ET RELAX ;
  184. REPE IMOD 3 ;
  185. MMOD = EXTR 'III' 1 &IMOD ;
  186. TAB1 = COPI SUPTAB ;
  187. CHAR0 = T_CHAR.MMOD ET (DEPI BLO0 T_DEPL.MMOD) ;
  188. TAB1.'SOLUTION_RESO' = RESO RIG0 CHAR0 ;
  189. TAB1.'CHARGEMENTS_MECANIQUES' = CHAR0 ;
  190. G_THETA TAB1 ;
  191. GTAB.MMOD = TAB1 ;
  192. FIN IMOD ;
  193.  
  194. * CALCUL DES ERREURS
  195. SAUT 'LIGNE' ;
  196. REPE IMOD 3 ;
  197. * ON ITERE SUR CHAQUE CHAMP DE DEPLACEMENT UTILISE
  198. MMOD = EXTR 'III' 1 &IMOD ;
  199. MESS 'SOLUTION EN MODE' ' ' MMOD ' :' ;
  200. SAUT 'LIGNE' ;
  201. TAB1 = GTAB.MMOD ;
  202. REPE JMOD 3 ;
  203. MMOD = EXTR 'III' 1 &JMOD ;
  204. * ET ON ITERE SUR LES 3 MODES
  205. KEV = EVOL 'CHPO' TAB1.'CHPO_RESULTATS' (CHAI 'K' &JMOD) FRON1 ;
  206. SI BTRA ;
  207. DESS KEV ;
  208. FINSI ;
  209. ABS1 = EXTR KEV 'ABSC' ;
  210. SI (EGA &IMOD &JMOD) ;
  211. * SI LE MODE CORRESPOND A CELUI DU CHAMP ANALYTIQUE ON DOIT TROUVER K=1
  212. ORD1 = PROG (DIME ABS1)*1. ;
  213. SINON ;
  214. * SINON ON DOIT TROUVER K=0
  215. ORD1 = PROG (DIME ABS1)*0. ;
  216. FINSI ;
  217. KAEV = EVOL 'MANU' 'ABS' ABS1 (CHAI 'K' &JMOD) ORD1 ;
  218. INT1 = (KEV - KAEV)**2. ;
  219. * ON CALCULE L'ERREUR EN NORME L2
  220. ERR1 = (INTG INT1 'INDI' 2 (NBEL FRON1))**0.5 ;
  221. MESS 'ERREUR SUR LE CALCUL DE K' MMOD ' :'*30 ERR1 ;
  222. SI (EGA &JMOD 1) ;
  223. EVO1 = EVOL 'MANU' 'ABS' ABS1 (CHAI 'K' &JMOD) (PROG (DIME ABS1)*1.) ;
  224. CRI1 = ((INTG (EVO1**2) 'INDI' 2 (NBEL FRON1))**0.5)*7.E-2 ;
  225. FINSI ;
  226. SI (ERR1 >EG CRI1) ;
  227. MESS 'ERREUR : L''ERREUR SUR K' MMOD ' DEPASSE LE CRITERE' ;
  228. MESS ' POUR LE CHAMP ANALYTIQUE EN MODE' ' ' &IMOD ;
  229. ERRE 5 ;
  230. FINSI ;
  231. FIN JMOD ;
  232. SAUT 'LIGNE' ;
  233. FIN IMOD ;
  234.  
  235. FIN ;
  236.  
  237.  
  238.  

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