Télécharger g_decouplage_3.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : g_decouplage_3.dgibi
  2. ****************************************************
  3. ****************************************************
  4. * *
  5. * VERIFICATION DE LA PROCEDURE G_THETA *
  6. * POUR LE CALCUL DES FIC POUR UNE FISSURE *
  7. * DROITE DANS UNE PLAQUE *
  8. * - *
  9. * COMPARAISAON DU CALCUL DE KI ET KII ENTRE *
  10. * ELEMENTS STANDARDS ET XFEM VIA DECOUPLAGE *
  11. * *
  12. ****************************************************
  13.  
  14. * I - CALCUL 2D ELEMENTS STANDARDS
  15. * --------------------------------
  16.  
  17. OPTI 'DIME' 2 'MODE' 'PLANDEFO' 'ELEM' 'QUA4' 'DENS' 1. ;
  18. BTRAC = FAUX ;
  19.  
  20. * MAILLAGE DE LA TRANCHE
  21. L1 = 0. ;
  22. L2 = 10. ;
  23. LP = 5. ;
  24.  
  25. NELDEF = 6 ;
  26. DENS1 = 1./NELDEF ;
  27. PP = LP 0. ;
  28. P1 = PP MOIN ((NELDEF*DENS1) 0.) ;
  29. P2 = PP PLUS ((NELDEF*DENS1) 0.) ;
  30. D1 = DROI NELDEF (DROI NELDEF P1 PP) P2 ;
  31. S1 = D1 TRAN NELDEF (0. (NELDEF*DENS1)) ;
  32.  
  33. EL1 = (CONT S1) ELEM 'COMPRIS' P2 P1 ;
  34. RAP1 = LP/(NELDEF*DENS1) ;
  35. EL2 = EL1 HOMO RAP1 PP ;
  36. DENS2 = RAP1*DENS1 ;
  37. S2 = EL1 REGL EL2 'DINI' DENS1 'DFIN' DENS2 ;
  38. SURF1 = S1 ET S2 ;
  39.  
  40. * SYMETRIE
  41. SURF2 = SURF1 SYME 'DROI' (0. 0.) (1. 0.) ;
  42. OMEGA1 = SURF1 ET SURF2 ;
  43.  
  44. * DEFINITION DE LA FISSURE ET FUSION DES NOEUDS COINCIDENTS
  45. C1 = CONT SURF1 ;
  46. POIN1 = (COOR 2 C1) POIN 'MINI' ;
  47. ELEM1 = C1 ELEM 'APPUYE' POIN1 ;
  48. POIN1 = (COOR 1 POIN1) POIN 'EGINFE' LP ;
  49. LVSUP = C1 ELEM 'APPUYE' POIN1 ;
  50. LIGSUP = ELEM1 DIFF LVSUP ;
  51. C2 = CONT SURF2 ;
  52. POIN2 = (COOR 2 C2) POIN 'MAXI' ;
  53. ELEM2 = C2 ELEM 'APPUYE' POIN2 ;
  54. POIN2 = (COOR 1 POIN2) POIN 'EGINFE' LP ;
  55. LVINF = C2 ELEM 'APPUYE' POIN2 ;
  56. LIGINF = ELEM2 DIFF LVINF ;
  57. ELIM LIGSUP LIGINF 1.E-10 ;
  58. SI BTRAC ;
  59. TRAC (OMEGA1 ET (LVSUP COUL 'ROUG')) ;
  60. FINSI ;
  61.  
  62. * DEFINITION DU FRONT DE FISSURE
  63. FRONFISS = ((COOR 1 LVSUP) POIN 'MAXI') POIN 1 ;
  64.  
  65. * MODELE ET MATERIAU
  66. MOD1 = MODE OMEGA1 'MECANIQUE' 'ELASTIQUE' ;
  67. MAT1 = MATE MOD1 'YOUN' 2.E5 'NU' 0.3 ;
  68. RIG1 = RIGI MOD1 MAT1 ;
  69.  
  70. * CL
  71. PSUP = (COOR 2 OMEGA1) POIN 'MAXI' ;
  72. BLOQ1 = BLOQ 'UX' PSUP ;
  73. BLOQ2 = BLOQ 'UY' PSUP ;
  74. PINF = (COOR 2 OMEGA1) POIN 'MINI' ;
  75. BLOQ3 = BLOQ 'UX' PINF ;
  76. BLOQ4 = BLOQ 'UY' PINF ;
  77. BLOQ0 = BLOQ1 ET BLOQ2 ET BLOQ3 ET BLOQ4 ;
  78. DEP1 = DEPI BLOQ1 1. ;
  79. DEP2 = DEPI BLOQ2 1. ;
  80. DEP3 = DEPI BLOQ3 (0.-1.) ;
  81. DEP4 = DEPI BLOQ4 (0.-1.) ;
  82. DEP0 = DEP1 ET DEP2 ET DEP3 ET DEP4 ;
  83.  
  84. * RESO
  85. U1 = RESO (RIG1 ET BLOQ0) DEP0 ;
  86.  
  87. * G_THETA
  88. SUPTAB = TABL ;
  89. SUPTAB.'MODELE' = MOD1 ;
  90. SUPTAB.'CARACTERISTIQUES' = MAT1 ;
  91. SUPTAB.'BLOCAGES_MECANIQUES' = BLOQ0 ;
  92. SUPTAB.'CHARGEMENTS_MECANIQUES' = DEP0 ;
  93. SUPTAB.'OBJECTIF' = MOT 'DECOUPLAGE' ;
  94. SUPTAB.'LEVRE_SUPERIEURE' = LVSUP ;
  95. SUPTAB.'LEVRE_INFERIEURE' = LVINF ;
  96. SUPTAB.'COUCHE' = 4 ;
  97. SUPTAB.'FRONT_FISSURE' = FRONFISS ;
  98. SUPTAB.'SOLUTION_RESO' = U1 ;
  99.  
  100. G_THETA SUPTAB ;
  101. KI_STD = SUPTAB.'RESULTATS' ;
  102.  
  103.  
  104. * II - CALCUL 2D XFEM
  105. * -------------------
  106.  
  107. N1 = (2 * NELDEF) + 1 ;
  108. P3 = (LP - (NELDEF*DENS1)) (0. - (NELDEF*DENS1)) ;
  109. P4 = (LP + (NELDEF*DENS1)) (0. - (NELDEF*DENS1)) ;
  110. D2 = DROI N1 P3 P4 ;
  111. S3 = D2 TRAN N1 (0. (2.*NELDEF*DENS1)) ;
  112.  
  113. EL1 = CONT S3 ;
  114. EL2 = EL1 HOMO RAP1 PP ;
  115. S4 = EL1 REGL EL2 'DINI' DENS1 'DFIN' DENS2 ;
  116.  
  117. OMEGA2 = S3 ET S4 ;
  118.  
  119. FRONFISS = LP 0. ;
  120. FISS1 = (DROI 10 (0. 0.) FRONFISS) COUL 'ROUG' ;
  121. PSI0 PHI0 = PSIP OMEGA2 FISS1 'DEUX' FRONFISS ;
  122. SI BTRAC ;
  123. TRAC PSI0 OMEGA2 (OMEGA2 ET FISS1) ;
  124. TRAC PHI0 OMEGA2 (OMEGA2 ET FISS1) ;
  125. FINSI ;
  126.  
  127. * MODELE ET MATERIAU
  128. MOD2 = MODE OMEGA2 'MECANIQUE' 'ELASTIQUE' 'XQ4R' ;
  129. ENRI1 = TRIE MOD2 PSI0 PHI0 ;
  130. MAT2 = MATE MOD2 'YOUN' 2.E5 'NU' 0.3 ;
  131. RIG2 = RIGI MOD2 MAT2 ;
  132.  
  133. * CL
  134. PSUP = (COOR 2 OMEGA2) POIN 'MAXI' ;
  135. BLOQ1 = BLOQ 'UX' PSUP ;
  136. BLOQ2 = BLOQ 'UY' PSUP ;
  137. PINF = (COOR 2 OMEGA2) POIN 'MINI' ;
  138. BLOQ3 = BLOQ 'UX' PINF ;
  139. BLOQ4 = BLOQ 'UY' PINF ;
  140. BLOQ0 = BLOQ1 ET BLOQ2 ET BLOQ3 ET BLOQ4 ;
  141. DEP1 = DEPI BLOQ1 1. ;
  142. DEP2 = DEPI BLOQ2 1. ;
  143. DEP3 = DEPI BLOQ3 (0.-1.) ;
  144. DEP4 = DEPI BLOQ4 (0.-1.) ;
  145. DEP0 = DEP1 ET DEP2 ET DEP3 ET DEP4 ;
  146.  
  147. * RESO
  148. U2 = RESO (RIG2 ET BLOQ0) DEP0 ;
  149.  
  150. XTAB = TABL ;
  151. XTAB.'MODELE' = MOD2 ;
  152. XTAB.'CARACTERISTIQUES' = MAT2 ;
  153. XTAB.'BLOCAGES_MECANIQUES' = BLOQ0 ;
  154. XTAB.'CHARGEMENTS_MECANIQUES' = DEP0 ;
  155. XTAB.'OBJECTIF' = MOT 'DECOUPLAGE';
  156. XTAB.'PSI' = PSI0 ;
  157. XTAB.'PHI' = PHI0 ;
  158. XTAB.'COUCHE' = 4 ;
  159. XTAB.'FRONT_FISSURE' = FRONFISS ;
  160. XTAB.'SOLUTION_RESO' = U2 ;
  161.  
  162. G_THETA XTAB ;
  163. KI_X = XTAB.'RESULTATS' ;
  164.  
  165.  
  166. * III - COMPARAISON
  167. * -----------------
  168.  
  169. ACCEPT = 1.E-2 ;
  170. REPE IMOD 2 ;
  171. MMOD = EXTR 'II' 1 &IMOD ;
  172. CRIT1 = MAXI (KI_X.MMOD - KI_STD.MMOD) 'ABS' ;
  173. CMAX1 = MAXI KI_STD.MMOD 'ABS' ;
  174. MESS 'ERREUR RELATIVE = ' (CRIT1 / CMAX1 * 100.) '%' ;
  175. SI (CRIT1 > (CMAX1 * ACCEPT)) ;
  176. MESS 'LA SOLUTION XFEM EST TROP ELOIGNEE DE LA SOLUTION' ;
  177. MESS 'STANDARD POUR LE CALCUL DU FIC EN MODE' ' ' MMOD ;
  178. ERRE 5 ;
  179. FINSI ;
  180. FIN IMOD ;
  181.  
  182. FIN ;
  183.  
  184.  
  185.  

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