Télécharger g_theta_utilisateur_2.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : g_theta_utilisateur_2.dgibi
  2. ****************************************************
  3. ****************************************************
  4. * *
  5. * VERIFICATION DE LA PROCEDURE G_THETA *
  6. * POUR LE CALCUL DE G POUR UNE FISSURE PLANE *
  7. * A FOND DROIT DANS UN CUBE *
  8. * - *
  9. * VERIFICATION DU CALCUL DE G VIA EN 2D AVEC *
  10. * ELEMENTS STANDARDS ET CHAMP_THETA UTILISATEUR *
  11. * EN MODE I PUR *
  12. * *
  13. ****************************************************
  14.  
  15. * I - INIT DES DONNÉES CAS_TEST
  16. * -----------------------------
  17.  
  18. OPTI 'DIME' 3 'ELEM' 'CUB8' ;
  19. BTRA = FAUX ;
  20.  
  21. * DONNEES GEOMETRIQUES
  22. A0 = 1. ;
  23. L1 = A0 / 4. ;
  24. DENS1 = L1 / 5. ;
  25. DENS2 = A0 / L1 * DENS1 ;
  26. DENS3 = 0.5*(DENS1 + DENS2) ;
  27. DENS DENS1 ;
  28.  
  29. * PROPRIÉTÉS MATÉRIAU
  30. MYOU = 2E11 ;
  31. POI = 0.3 ;
  32. KAPPA = 3-(4*POI) ;
  33. MU = MYOU/(2*(1+POI)) ;
  34.  
  35.  
  36. * II - MAILLAGE
  37. * -------------
  38.  
  39. * CREATION DES VOLUMES
  40. P0 = 0. 0. 0. ;
  41. D1 = DROI (P0 MOIN (L1 0. 0.)) (P0 PLUS (L1 0. 0.)) ;
  42. S1 = D1 TRAN (0. L1 0.) ;
  43. CONT1 = CONT S1 ;
  44. CONT1 = DIFF CONT1 D1 ;
  45. CONT2 = CONT1 HOMO (A0 / L1) P0 ;
  46. S2 = CONT1 REGL 'DFIN' DENS2 CONT2 ;
  47. S0 = S1 ET S2 ;
  48. V1 = S0 VOLU 'DINI' DENS3 'DFIN' DENS3 'TRAN' (0. 0. (2.*A0)) ;
  49. V2 = V1 SYME 'PLAN' P0 (1. 0. 0.) (0. 0. 1.) ;
  50. V0 = (V1 COUL 'BLEU') ET (V2 COUL 'ROUG') ;
  51. * TRAC 'CACH' V0 ;FIN ;
  52.  
  53. * FUSION
  54. PRE1 = 1.E-10 ;
  55. PSUP = V1 POIN 'PLAN' P0 (1. 0. 0.) (0. 0. 1.) ;
  56. PSUP = (COOR 1 PSUP) POIN 'EGSUPE' (0. - PRE1) ;
  57. PINF = V2 POIN 'PLAN' P0 (1. 0. 0.) (0. 0. 1.) ;
  58. PINF = (COOR 1 PINF) POIN 'EGSUPE' (0. - PRE1) ;
  59. ELIM PSUP PINF PRE1 ;
  60.  
  61. * FRONT
  62. ENV0 = ENVE V0 ;
  63. PMIL = ENV0 POIN 'PLAN' P0 (1. 0. 0.) (0. 0. 1.) ;
  64. LEVS = ENV0 ELEM 'APPUYE' PMIL ;
  65. * ON FAIT ATTENTION D'ORIENTER CORRECTEMENT LES LEVRES
  66. LVSUP = LEVS ELEM 'APPUYE' (CHAN 'POI1' V1) ;
  67. LVSUP = ORIE LVSUP (0. 1. 0.) ;
  68. LVINF = LEVS ELEM 'APPUYE' (CHAN 'POI1' V2) ;
  69. LVINF = ORIE LVINF (0. (-1.) 0.) ;
  70. FRON1 = INTE (CHAN 'LIGNE' LVSUP) (CHAN 'LIGNE' LVINF) ;
  71.  
  72.  
  73. * III - MODELE ET MATERIAU
  74. * ------------------------
  75.  
  76. MOD1 = MODE V0 'MECANIQUE' 'ELASTIQUE' ;
  77. MAT1 = MATE MOD1 'YOUN' MYOU 'NU' POI ;
  78.  
  79.  
  80. * IV - CONDITIONS AUX LIMITES POUR LES 3 MODES
  81. * --------------------------------------------
  82.  
  83. * IV.1 - EFFORTS DONNES
  84. * *********************
  85.  
  86. * PREPARATIFS
  87. EEXT = DIFF ENV0 LEVS ;
  88. VEXT = V0 ELEM 'APPUYE' 'LARGEMENT' ENV0 ;
  89. MOD2 = REDU MOD1 VEXT ;
  90. X Y Z = COOR VEXT ;
  91. X Y = (CHAN 'CHAM' X MOD2 'STRESSES') (CHAN 'CHAM' Y MOD2 'STRESSES') ;
  92. TETA = CHAN (ATG Y (X + 1.E-30)) 'TYPE' 'SCALAIRE' ;
  93. RAY1 = (((X)**2) + ((Y)**2))**0.5 ;
  94. RAY1 = CHAN RAY1 'TYPE' 'SCALAIRE' ;
  95. PREF = 1. / ((2*PI*RAY1)**0.5) ;
  96. COS05 = COS (TETA/2) ;
  97. SIN05 = SIN (TETA/2) ;
  98. COS15 = COS (3*TETA/2) ;
  99. SIN15 = SIN (3*TETA/2) ;
  100. SIG0 = ZERO MOD2 'CONTRAIN' ;
  101.  
  102. * MODE I :
  103. SXX = PREF*(COS05*(1.-(SIN05*SIN15))) ;
  104. SXY = PREF*(COS05*SIN05*COS15) ;
  105. SYY = PREF*(COS05*(1.+(SIN05*SIN15))) ;
  106. SZZ = POI * (SXX + SYY) ;
  107. SIG1 = SIG0 + (NOMC 'SMXX' SXX) + (NOMC 'SMXY' SXY) + (NOMC 'SMYY' SYY)
  108. + (NOMC 'SMZZ' SZZ) ;
  109. TCHAR = REDU (BSIG MOD2 SIG1) EEXT ;
  110.  
  111.  
  112. * IV.2 - DEPLACEMENT ANALYTIQUE
  113. * *****************************
  114.  
  115. * PREPARATIFS
  116. X Y Z = COOR V0 ;
  117. LSUP = V1 POIN 'PLAN' P0 (1. 0. 0.) (0. 0. 1.) ;
  118. LSUP = (COOR 1 LSUP) POIN 'EGINFE' (0. - PRE1) ;
  119. LINF = V2 POIN 'PLAN' P0 (1. 0. 0.) (0. 0. 1.) ;
  120. LINF = (COOR 1 LINF) POIN 'EGINFE' (0. - PRE1) ;
  121. Y = Y + ((COOR 2 LSUP) + 1.E-30) + ((COOR 2 LINF) - 1.E-30) ;
  122. TETA = ATG Y (X + 1.E-30) ;
  123. RAY1 = (((X)**2) + ((Y)**2))**0.5 ;
  124. PREF = (RAY1/(2*PI))**0.5 ;
  125. COS05 = COS (TETA/2) ;
  126. SIN05 = SIN (TETA/2) ;
  127. XI0 = CHAN 'CHPO' MOD1 (ZERO MOD1 'DEPLACEM') ;
  128.  
  129. * MODE I :
  130. XIX = PREF/(2.*MU)*(COS05*(KAPPA - 1. + (2.*(SIN05**2)))) ;
  131. XIY = PREF/(2.*MU)*(SIN05*(KAPPA + 1. - (2.*(COS05**2)))) ;
  132. USOL = XI0 + (NOMC 'UX' XIX) + (NOMC 'UY' XIY) ;
  133.  
  134.  
  135. * V - APPEL A G_THETA
  136. * -------------------
  137.  
  138. * G_THETA AVEC OPTION 'COUCHE'
  139. SUPTAB = TABL ;
  140. SUPTAB.'OBJECTIF' = MOT 'J' ;
  141. SUPTAB.'FRONT_FISSURE' = FRON1 ;
  142. SUPTAB.'MODELE' = MOD1 ;
  143. SUPTAB.'LEVRE_SUPERIEURE' = LVSUP ;
  144. SUPTAB.'LEVRE_INFERIEURE' = LVINF ;
  145. SUPTAB.'CARACTERISTIQUES' = MAT1 ;
  146. SUPTAB.'SOLUTION_RESO' = USOL ;
  147. SUPTAB.'CHARGEMENTS_MECANIQUES' = TCHAR ;
  148. SUPTAB2 = COPI SUPTAB ;
  149. SUPTAB.'COUCHE' = 4 ;
  150. G_THETA SUPTAB ;
  151. GNUM1 = SUPTAB.'CHPO_RESULTATS' ;
  152. P1 = FRON1 POIN 1 ;
  153. GVAL1 = EXTR (EXTR GNUM1 'VALE' P1) 1 ;
  154.  
  155. * G_THETA AVEC LE CHAMP THETA CALCULE AVEC LE NOMBRE DE COUCHES MAIS FOURNI
  156. * DANS L'INDICE 'CHAMP_THETA'
  157. SUPTAB2.'CHAMP_THETA' = SUPTAB.'CHAMP_THETA' ;
  158. SUPTAB3 = COPI SUPTAB2 ;
  159. G_THETA SUPTAB2 ;
  160. GNUM2 = SUPTAB2.'CHPO_RESULTATS' ;
  161. GVAL2 = EXTR (EXTR GNUM2 'VALE' P1) 1 ;
  162.  
  163. * G_THETA AVEC CHAMP THETA COMPLETEMENT CREE PAR L'UTILISATEUR
  164. * DANS L'INDICE 'CHAMP_THETA'
  165. PSI PHI = PSIP V0 LVSUP 'DEUX' FRON1 ;
  166. RHO = (((NOMC 'SCAL' PSI)**2.) + ((NOMC 'SCAL' PHI)**2.))**0.5 ;
  167. R1 = L1 ;
  168. R2 = 1.05*R1 ;
  169. FUNC = BORN ((RHO - R2) / (R1 - R2)) 'COMPRIS' 0. 1. ;
  170. THETA = MANU 'CHPO' V0 2 'UX' 1. 'UY' 0. ;
  171. THETA = FUNC * THETA ;
  172. SUPTAB3.'CHAMP_THETA' = THETA ;
  173. G_THETA SUPTAB3 ;
  174. GNUM3 = SUPTAB3.'CHPO_RESULTATS' ;
  175. GVAL3 = EXTR (EXTR GNUM3 'VALE' P1) 1 ;
  176.  
  177. * RESULTAT ANALYTIQUE
  178. GANA = (1. - (POI**2.)) / MYOU ;
  179.  
  180. * CALCUL DES ERREURS
  181. SAUT 'LIGNE' ;
  182. OPTI 'ECHO' 0 ;
  183. MESS 'RESULTAT AVEC ''COUCHE'' :' GVAL1/50 ;
  184. MESS 'RESULTAT AVEC ''CHAMP_THETA'' DE VALEUR IDENTIQUE :' GVAL2 ;
  185. MESS 'RESULTAT AVEC ''CHAMP_THETA'' DIFFERENT :' GVAL3/50 ;
  186. MESS 'RESULTAT ANALYTIQUE :' GANA/50 ;
  187.  
  188. * ERREURS
  189. GNUM = PROG GVAL1 GVAL2 GVAL3 ;
  190. ERR1 = GNUM - GANA ;
  191. ERR1 = (ABS ERR1) / GANA ;
  192. CRI1 = 1.E-2 ;
  193. SI ((MAXI ERR1) >EG CRI1) ;
  194. MESS 'ERREUR : L''ERREUR SUR G DEPASSE LE CRITERE' ;
  195. ERRE 5 ;
  196. FINSI ;
  197.  
  198. FIN ;
  199.  
  200.  
  201.  

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