Télécharger channeldie3.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : channeldie3.dgibi
  2. *----------------------------------------------------------------------*
  3. * C H A N N E L D I E 3 . D G I B I *
  4. *----------------------------------------------------------------------*
  5. * Objet :
  6. * -------
  7. *
  8. * Cas-test de validation des elements BBAR pour les elements tetra-
  9. * edre, pyramide et hexaerdre lineaires.
  10. *
  11. * Calcul elastique de la compression d'un lopin de metal place dans
  12. * une matrice l'empechant de se dilater lateralement (lopin coince dans
  13. * un "canal", d'ou "channel die").
  14. *
  15. * Validation du calcul par comparaison a la solution analytique.
  16. *
  17. * Un 2nd chargement en deplacement impose sur la face superieure,
  18. * non uniforme en espace (varaition quadratique), permet de valider
  19. * l'integration dans les elements en verifiant que la pression est
  20. * est bien sous-integree (champ constant dans l'element), ainsi que
  21. * l'equilibre (F-Bsig).
  22. *
  23. * Verification du fonctionnement de l'operateur MASSE.
  24. *
  25. * Verification du fonctionnement de l'operateur KSIG.
  26. *
  27. * Description :
  28. * -------------
  29. *
  30. * Type de calcul : Mecanique Elastique
  31. * Mode de calcul : 3D
  32. * Type d'element : TET4, PYR5, CUB8
  33. * Chargement : Deplacement impose
  34. *
  35. *----------------------------------------------------------------------*
  36. opti dime 3 mode TRID elem TET4 ;
  37.  
  38. * Pour affichages, mettre ig1 a VRAI :
  39. ig1 = faux ;
  40.  
  41. *------------------------------ MAILLAGE ------------------------------*
  42.  
  43. * Points :
  44. p1 = 0. 0. 0. ;
  45. p2 = 100. 0. 0. ;
  46. p3 = 100. 100. 0. ;
  47. p4 = 0. 100. 0. ;
  48. p5 = 0. 0. 100. ;
  49.  
  50. * Contour base :
  51. ne1 = 5 ;
  52. li1 = d ne1 p1 p2 ;
  53. li2 = d ne1 p2 p3 ;
  54. li3 = d ne1 p3 p4 ;
  55. li4 = d ne1 p4 p1 ;
  56.  
  57. * Surface et Volume :
  58. sur1 = dall li1 li2 li3 li4 'PLAN' ;
  59. vol1 = volu tran sur1 p5 ne1 ;
  60. sur2 = vol1 face 2 ;
  61. sx0 = (enve vol1) poin plan p1 P4 p5 1.e-3 ;
  62. sx0 = (enve vol1) elem appu stri sx0 ;
  63. sy0 = (enve vol1) poin plan p1 P2 p5 1.e-3 ;
  64. sy0 = (enve vol1) elem appu stri sy0 ;
  65. sur3 = sx0 et sy0 ;
  66. sur4 = (vol1 face 3) diff sur3 ;
  67. sur3 = sur3 chan tri3 ;
  68. sur0 = sur1 et sur2 et sur3 et sur4 ;
  69. opti elem tet4 ;
  70. vol1 = volu (sur1 et sur2 et sur3 et sur4) ;
  71. list (vol1 elem type) ;
  72.  
  73. si ig1 ;
  74. trac cach vol1 titr 'Maillage lopin' ;
  75. fins ;
  76.  
  77. *--------------------- MODELE / CARACTERISTIQUES ----------------------*
  78.  
  79. * Valeurs modules d'elasticite :
  80. ym1 = 1.5e11 ;
  81. nu1 = 0.499 ;
  82.  
  83. * Modele et caracteristiques mecaniques :
  84. mod1 = modele vol1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' 'BBAR' ;
  85. mat1 = mate mod1 'YOUNG' 1.5e11 'NU' nu1 'RHO' 7.6e3 ;
  86.  
  87. * Matrice de raideur :
  88. rig1 = rigi mod1 mat1 ;
  89. mas1 = mass mod1 mat1 ;
  90.  
  91. *----------------------- CONDITIONS AUX LIMITES -----------------------*
  92.  
  93. * Definition des points d'interet :
  94. ptx0 = (vol1 coor 1) poin mini ;
  95. pty0 = (vol1 coor 2) poin mini ;
  96. ptz0 = sur1 ;
  97. ptz1 = sur2 ;
  98. clx0 = bloq ux ptx0 ;
  99. cly0 = bloq uy pty0 ;
  100. clz0 = bloq uz ptz0 ;
  101. clz1 = bloq uz ptz1 ;
  102. cl0 = clx0 et cly0 et clz0 et clz1 ;
  103.  
  104. * Affichages points CL :
  105. si ig1 ;
  106. trac ((ptx0 coul roug) et (aret vol1)) titr 'Points Ux = 0' ;
  107. trac ((pty0 coul roug) et (aret vol1)) titr 'Points Uy = 0' ;
  108. trac ((ptz0 coul roug) et (ptz1 coul rouge) et (aret vol1)) titr 'Points Uz = 0 (surfaces bloquees par matrice)' ;
  109. fins ;
  110.  
  111. *----------------------------- CHARGEMENT -----------------------------*
  112.  
  113. * Deplacement impose essai channel die :
  114. Uy1 = -0.1 ;
  115. pty1 = (vol1 coor 2) poin maxi ;
  116. cly1 = bloq uy pty1 ;
  117. dcl1 = depi cly1 Uy1 ;
  118.  
  119. * Deplacement impose non homogene :
  120. ptx1 = (vol1 coor 1) poin maxi ;
  121. clx1 = bloq ux ptx1 ;
  122. chy1 = ptz1 coor 2 ;
  123. Uz1 = (((-0.01 * (chy1 - 100.)) ** 2) / -100.) nomc uz ;
  124. dcl2 = depi clz1 Uz1 ;
  125.  
  126. si ig1 ;
  127. trac ((pty1 coul vert) et (aret vol1)) titr 'Points deplacement Uy impose essai channel die' ;
  128. trac Uz1 ptz1 titr '2nd chargement : deplacement non homogene' ;
  129. fins ;
  130.  
  131. *---------------------------- DEPLACEMENTS ----------------------------*
  132.  
  133. * Solution analytique au point P3:
  134. UxAna1 = -1. * nu1 / (1. - nu1) * Uy1 ;
  135.  
  136. * Solution Castem au point P3: uycas.
  137. deptot = reso (rig1 et cl0 et cly1) dcl1 ;
  138. dep2 = reso (rig1 et cl0 et cly1 et clx1) dcl2 ;
  139.  
  140. * deplacement Ux au point P3 :
  141. UxSim1 = extr deptot 'UX' p3 ;
  142.  
  143. * Deformee :
  144. def0 = defo deptot (aret vol1) 0. blan ;
  145. def1 = defo deptot (aret vol1) 100 roug ;
  146. mot1 = chai format '(F7.4)' 'deformee (vue de dessus) : Ux =' UxSim1 ;
  147.  
  148. si ig1 ;
  149. trac (0 0 1.e6) (def0 et def1) titr mot1 ;
  150. fins ;
  151.  
  152. opti oeil (1.e6 -1.e6 0.8e6) ;
  153.  
  154. * Calcul de l'erreur sur le déplacement.
  155. err1 = abs (( UxAna1 - UxSim1 ) / ( UxAna1 )) ;
  156.  
  157. *---------------------------- CONTRAINTES -----------------------------*
  158.  
  159. * Solution analytique:
  160. syyana1 = ym1 / (1. - (nu1 * nu1)) * uy1 / 100. ;
  161. szzana1 = nu1 * syyana1 ;
  162. prana1 = syyana1 + szzana1 / 3. ;
  163.  
  164. * Solution Castem : pression maximale = maxpres1.
  165. sig1 = sigma mod1 deptot mat1 ;
  166.  
  167. * Validation KSIG avec BBAR :
  168. ksg1 = ksigm mod1 sig1 ;
  169. depto2 = reso (rig1 et ksg1 et cl0 et cly1) dcl1 ;
  170. err6 = maxi abs (deptot - depto2) avec (mots ux uy uz) ;
  171.  
  172. * Affichage :
  173. si ig1 ;
  174. trac sig1 mod1 titr 'Champ de contrainte' ;
  175. fins ;
  176.  
  177. * Calcul de la pression :
  178. syySim1 = exco 'SMYY' sig1 'P' ;
  179. szzSim1 = exco 'SMZZ' sig1 'P' ;
  180. prSim1 = (syySim1 + szzSim1) / 3. ;
  181. syySim1 = mini syySim1 ;
  182. szzSim1 = mini szzSim1 ;
  183. prSim1 = mini prSim1 ;
  184.  
  185. * Calcul de l'erreur sur les contraintes :
  186. err2 = ((syyana1 - syySim1) / syyana1) + ((szzana1 - szzSim1) / szzana1) + ((prana1 - prSim1) / prana1) ;
  187. err2 = abs err2 ;
  188.  
  189. * Verification integration pression chargement non homogene :
  190. sig2 = sigm mod1 mat1 dep2 ;
  191. p2 I2 I3 = inva mod1 sig2 ;
  192. * Dans prismes :
  193. el1 = (vol1 elem tet4) elem 1 ;
  194. model1 = redu mod1 el1 ;
  195. pmax1 pmin1 = (maxi (redu p2 model1)) (mini (redu p2 model1)) ;
  196. err3 = (maxi abs (pmax1 - pmin1)) / (maxi abs pmax1) ;
  197. * Dans hexaedres :
  198. el2 = (vol1 elem pyr5) elem 1 ;
  199. model2 = redu mod1 el2 ;
  200. pmax2 pmin2 = (maxi (redu p2 model2)) (mini (redu p2 model2)) ;
  201. err4 = (maxi abs (pmax2 - pmin2)) / (maxi abs pmax2) ;
  202.  
  203. * Verification equilibre chargement non homogene :
  204. bsg2 = bsig mod1 sig2 ;
  205. rea2 = reac (cl0 et cly1 et clx1) dep2 ;
  206. res2 = rea2 - bsg2 ;
  207. err5 = (maxi abs res2) / (maxi abs rea2) ;
  208.  
  209. * Affichages solution chargement non homogene :
  210. si ig1 ;
  211. trac (defo vol1 dep2 2.e3) cach titr ' Deformee chargement non homogene' ;
  212. trac sig2 mod1 titr ' Contraintes chargement non homogene' ;
  213.  
  214. * Affichage valeur champs aux points d'integration :
  215. list (redu sig2 model1) ;
  216. list (redu p2 model1) ;
  217. list (redu sig2 model2) ;
  218. list (redu p2 model2) ;
  219. fins ;
  220.  
  221. *----------------------------- VALIDATION -----------------------------*
  222.  
  223. * Affichages :
  224. opti echo 0 ; saut 1 lign ;
  225. mess (chai format '(F6.2)' ' > Erreur relative deplacement au point P3 =' err1) ;
  226. mess (chai format '(F6.2)' ' > Erreur relative contraintes et pression =' err2) ;
  227. opti echo 1 ; saut 1 lign ;
  228.  
  229. * Test de validation:
  230. err0 = maxi abs (prog err1 err2 err3 err4 err5) ;
  231. prec0 = (vale prec) ** 0.5 * 10. ;
  232. list err0 ;
  233. list err1 ;
  234. list err2 ;
  235. list err3 ;
  236. list err4 ;
  237. list err5 ;
  238. list err6 ;
  239. list prec0 ;
  240. si ( err0 >eg prec0 ) ;
  241. erreur 5 ;
  242. finsi ;
  243.  
  244. fin;
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  

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