Télécharger forgeage.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier forgeage.dgibi
  2. * section : thermomecanique plasticite grands deplacements
  3. *----------------------------------------------------------------------*
  4. * F O R G E A G E . D G I B I *
  5. *----------------------------------------------------------------------*
  6. * Objet :
  7. * -------
  8. *
  9. * Exemple de simulation du forgeage d'un tube en compression simple.
  10. * On applique un effort sur le bord superieur du tube, le deplacement
  11. * de sa partie inferieure etant bloque axialement. Le tube est soumis
  12. * a un champ de temperature variant quadratiquement de 0 a 1000 degres
  13. * du haut vers le bas.
  14. *
  15. * Le tube a un comportement elastoplastique avec ecroissage lineaire
  16. * isotrope. Ses carateristiques diminuent avec la temperature. Il se
  17. * deforme donc essentiellement dans sa partie chaude, comme dans le cas
  18. * d'une mise en forme par forgeage.
  19. *
  20. * On suppose que le tube est initialement a la temperature decrite.
  21. * On calcule l'equilibre pas a pas, en appliquant la charge de facon
  22. * croissante.
  23. *
  24. * Le calcul est realise en grands deplacements. On utilise des
  25. * elements finis quadratiques a integration selective (BBAR) pour limiter
  26. * les effets de verrouillage numerique dus a l'incompressibilite plastique.
  27. *
  28. * Enfin, on regularise le maillage au cours du calcul a l'aide de
  29. * l'operateur DEDU ADAP appele dans PERSO1 afin de limiter l'ecrasement
  30. * des mailles sur le bas du maillage.
  31. *
  32. * Description :
  33. * -------------
  34. *
  35. * Type de calcul : Mecanique, Plastique, Grands Deplacements
  36. * Mode de calcul : 2D AXIS
  37. * Type d'element : QUA8, TRI6
  38. * Chargement : Temperature, Force
  39. *
  40. *----------------------------------------------------------------------*
  41.  
  42. opti dime 2 elem qua8 mode axis ;
  43.  
  44. * ig1 : activation traces
  45. * complet : calcul complet
  46. ig1 = faux ;
  47. complet = faux ;
  48.  
  49. *------------------------- Geometrie, maillage ------------------------*
  50.  
  51. * Parametres :
  52. * ep1 : epaissseur du tube (m)
  53. * lo1 : longueur du tube (m)
  54. * Ri1 : rayon interieure du tube (m)
  55. * hr1 : hauteur remaillage (m)
  56. * de1 : densite maillage fin
  57. * de2 : densite maillage grossier
  58. ep1 = 1.0e-3 ;
  59. lo1 = 3.e-3 ;
  60. Ri1 = 5.e-3 ;
  61. hr1 = 2.e-3 ;
  62. de1 = 0.03e-3 ;
  63. de2 = 0.25e-3 ;
  64. de3 = de2 ;
  65. de0 = 0.5 * de1 ;
  66.  
  67. * Points :
  68. P1 = Ri1 0 ;
  69. P2 = P1 plus (ep1 0) ;
  70. P3 = P2 plus (0 hr1) ;
  71. P4 = Ri1 hr1 ;
  72. P5 = Ri1 lo1 ;
  73.  
  74. * Maillage du haut :
  75. lm2 = P4 droi P3 dini de3 dfin de3 ;
  76. s2 = lm2 tran (P5 moin P4) dini de3 dfin de3 ;
  77. s2 = s2 coul gris ;
  78.  
  79. * Maillage du bas :
  80. lb1 = P1 droi P2 dini de0 dfin de0 ;
  81. ld1 = P2 droi P3 dini de0 dfin de2 ;
  82. lm1 = lm2 ;
  83. lg1 = P4 droi P1 dini de2 dfin de0 ;
  84. sr1 = surf (lb1 et ld1 et lm1 et lg1) ;
  85. sr1 = sr1 coul oran ;
  86.  
  87. * Maillage "total"
  88. s0 = sr1 et s2 ;
  89.  
  90. * Optimisation Sr1 avec DEDU ADAP :
  91. opti mode plan ;
  92. chde1 = mesu dens sr1 ;
  93. chde1 = born chde1 scal comp de1 de2 ;
  94. clada1 = (bloq depl (lg1 et ld1)) et (bloq depl (lb1 et lm1)) et (rela mili sr1) ;
  95. chada1 = dedu adap sr1 clada1 dens chde1 ;
  96. clada1 = (bloq uy lb1) et (bloq depl (ld1 et lm1 et lg1)) et (rela mili sr1) ;
  97. srX = (sr1 plus (0 0)) coul blan ;
  98. form chada1 ;
  99. opti mode axis ;
  100. * Fin optimisation
  101.  
  102. si ig1 ;
  103. trac s0 titr ' Maillage tube' ;
  104. mbox1 = boite sr1 ;
  105. trac s0 boit mbox1 titr ' Zoom partie raffinee' ;
  106. trac (sr1 et srX) titr ' Maillage initial (blanc) / apres adaptation (orange)' ;
  107. fins ;
  108.  
  109. *------------------------ Modelisation mecanique ----------------------*
  110.  
  111. * Caracteristiques materielles :
  112. evym1 = evol roug manu 'T' (prog 0. 1000.) 'YOUN' (prog 210.e9 10.e9) ;
  113. ecro0 = evol bleu manu 'EPSE' (prog 0. 1.) 'ECRO' (prog 300.e6 600.e6) ;
  114. ecro1000 = evol vert manu 'EPSE' (prog 0. 1.) 'ECRO' (prog 10.e6 20.e6) ;
  115. ecro1 = (nuag comp 'T' 0. comp 'ECRO' ecro0) et (nuag comp 'T' 1000. comp 'ECRO' ecro1000) ;
  116. si ig1 ;
  117. dess evym1 titr 'Module de Young vs. temperature' ;
  118. tleg1 = table ;
  119. tleg1 . titre = table ;
  120. tleg1 . titre . 1 = 'T = 0 deg.' ;
  121. tleg1 . titre . 2 = 'T = 1000 deg.' ;
  122. dess ecro1 titr 'Courbes ecrouissage vs. temperature' lege tleg1 ;
  123. fins ;
  124.  
  125. * Temperature initiale / imposee ;
  126. chz1 = s0 coor 2 ;
  127. cht1 = (((chz1 - lo1 / lo1) ** 2) * 1000.) nomc 'T' ;
  128.  
  129. mod1 = mode s0 mecanique elastique plastique isotrope bbar ;
  130. chtref1 = chan cham mod1 cht1 ;
  131. mat1 = mate mod1 youn evym1 nu 0.3 ecro ecro1 alph 1.e-5 tref chtref1 talp. 0. ;
  132.  
  133. * CL mecanique :
  134. lh1 = s2 cote 3 ;
  135. clmb1 = bloq uz lb1 ;
  136. clmh1 = rela ense uz lh1 ;
  137.  
  138. * Force impose :
  139. fimp1 = forc (0 -4000.) lh1 ;
  140. ev1 = evol manu temp (prog 0. 1.) dimp (prog 0. 1.) ;
  141. cgm1 = char meca fimp1 ev1 ;
  142.  
  143. * Chargement en temperature :
  144. chz1 = s0 coor 2 ;
  145. cht1 = (((chz1 - lo1 / lo1) ** 2) * 1000.) nomc 'T' ;
  146. ev0 = evol manu temp (prog 0. 1.e12) dimp (prog 1. 1.) ;
  147. cgt1 = char 'T' cht1 ev0 ;
  148.  
  149. si ig1 ;
  150. trac ((lh1 chan poi1) coul roug et s0) titr ' Noeuds deplacement impose' ;
  151. trac cht1 s0 titr 'Temperature imposee' ;
  152. fins ;
  153.  
  154. *------------------------------- PERSO1 -------------------------------*
  155.  
  156. * Adaptation maillage avec PERSO1 :
  157. debp perso1 tu1*table ;
  158. wtab1 = tu1.wtable ;
  159.  
  160. * Sauvegarde configuration :
  161. si (exis tu1 config_adaptation) ;
  162. iadap1 = dime tu1.config_adaptation ;
  163. tu1.config_adaptation.iadap1 = form ;
  164. sino ;
  165. tu1.config_adaptation = table ;
  166. tu1.config_adaptation.0 = form ;
  167. fins ;
  168.  
  169. * Retour config. initiale & sortie si fin de calcul :
  170. tps1 = wtab1.temps0 ;
  171. tpsmax1 = (tu1.temps_calcules) maxi ;
  172. si (tps1 ega tpsmax1) ;
  173. mess ' ***** PERSO1 : retour config. initiale' ;
  174. form (tu1.config_adaptation.0) ;
  175. quit perso1 ;
  176. fins ;
  177.  
  178. * Adaptation :
  179. geoada1 = tu1.donnees_perso1.geom ;
  180. rigada1 = tu1.donnees_perso1.clad ;
  181. chdens1 = tu1.donnees_perso1.chdens ;
  182. epsm1 = tu1.donnees_perso1.seuil ;
  183.  
  184. * Sauvegarde seuil adaptation :
  185. si (exis wtab1 epsm_remail) ;
  186. seui1 = wtab1.epsm_remail ;
  187. sino ;
  188. seui1 = epsm1 ;
  189. fins ;
  190. eps1 = tu1.estimation.deformations ;
  191. epmax1 = maxi abs eps1 ;
  192.  
  193. * Test adaptation :
  194. si (epmax1 > seui1) ;
  195. mess ' ***** PERSO1 : Adaptation maillage ' ;
  196. list seui1 ; list epsm1 ;
  197. wtab1.epsm_remail = seui1 + epsm1 ;
  198.  
  199. * Adaptation maillage avec DEDU ADAP :
  200. dep1 = tu1.estimation.deplacements ;
  201. conf1 = form dep1 ;
  202. opti mode plan ;
  203. chada1 = dedu adap geoada1 rigada1 dens chdens1 ;
  204. srx1 = (geoada1 plus (0 0)) coul blan ;
  205. form chada1 ;
  206. opti mode axis ;
  207. si ig1 ;
  208. trac nclk (srx1 et geoada1) titr 'Maillage initial (blanc) / adapte (orange)' ;
  209. fins ;
  210. form (-1.*dep1) ;
  211. fins ;
  212.  
  213. finp ;
  214.  
  215. *------------------------- Resolution PASAPAS -------------------------*
  216.  
  217. ltca1 = prog 0. PAS 0.02 0.4 PAS 0.005 1. ;
  218. si complet ;
  219. ltsa1 = prog 0. pas 0.02 1. ;
  220. sino ;
  221. ltca1 = ltca1 extr (lect 1 pas 1 10) ;
  222. ltsa1 = ltca1 ;
  223. fins ;
  224.  
  225. tpas1 = table ;
  226. tpas1. modele = mod1 ;
  227. tpas1. caracteristiques = mat1 ;
  228. tpas1. chargement = cgm1 et cgt1 ;
  229. tpas1. blocages_mecaniques = clmb1 et clmh1 ;
  230.  
  231. tpas1. grands_deplacements = vrai ;
  232. tpas1. predicteur = mot hpp ;
  233. tpas1. lagrangien = mot reactualise ;
  234.  
  235. tpas1. temps_calcules = ltca1 ;
  236. tpas1. temps_sauves = ltsa1 ;
  237.  
  238. tpas1. procedure_perso1 = vrai ;
  239. tpas1. donnees_perso1 = table ;
  240. tpas1. donnees_perso1. geom = sr1 ;
  241. tpas1. donnees_perso1. clad = clada1 ;
  242. tpas1. donnees_perso1. chdens = chde1 ;
  243. tpas1. donnees_perso1. seuil = 0.05 ;
  244.  
  245. pasapas tpas1 ;
  246.  
  247. *-------------------------- Post-traitement ---------------------------*
  248.  
  249. if1 = (tpas1.temps) dime - 1 ;
  250. depf1 = tpas1.deplacements.if1 ;
  251. modf1 = mod1 ;
  252.  
  253. si ig1 ;
  254. conf0 = form ;
  255. form depf1 ;
  256.  
  257. epsf1 = tpas1.estimation.deformations ;
  258. trac epsf1 modf1 titr 'Deformations en fin de calcul' ;
  259.  
  260. sigf1 = tpas1.contraintes.if1 ;
  261. sigf1 = 1.e-6 * sigf1 ;
  262. trac sigf1 modf1 titr 'Contraintes en fin de calcul' ;
  263.  
  264. form conf0 ;
  265. fins ;
  266.  
  267. mbox1 = boite s0 ;
  268. liso1 = prog -200. pas 25. 50. ;
  269. def1 = vide deforme ;
  270. repe b1 if1 ;
  271. depi1 = tpas1.deplacements.&b1 ;
  272. sigi1 = tpas1.contraintes.&b1 ;
  273. sigi1 = 1.e-6 * sigi1 ;
  274. form tpas1.config_adaptation.&b1 ;
  275. defi1 = defo s0 depi1 1. (exco sigi1 smzz smzz) mod1 ;
  276. form tpas1.config_adaptation.0 ;
  277. def1 = def1 et defi1 ;
  278. si (ega (vale trac) 'PSC') ;
  279. trac defi1 liso1 boit mbox1 ;
  280. fins ;
  281. fin b1 ;
  282. si ig1 ;
  283. trac anim def1 liso1 ;
  284. fins ;
  285.  
  286. fin ;
  287. *----------------------------------------------------------------------*
  288. * F I N F O R G E A G E . D G I B I *
  289. *----------------------------------------------------------------------*
  290.  
  291.  
  292.  
  293.  
  294.  

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