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

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