Télécharger waam1.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier waam1.dgibi
  2. * section : thermique conduction convection
  3. *----------------------------------------------------------------------*
  4. * W A A M 1 . D G I B I *
  5. *----------------------------------------------------------------------*
  6. * Objet :
  7. * -------
  8. *
  9. * Exemple de simulation thermique d'un depot de matiere par WAAM.
  10. * L'exemple simule la realisation d'un "mur" sur la tranche d'une tole
  11. * en acier inox (donnees 316L issues de la litterature, ref. fournie).
  12. *
  13. * On modelise la conduction, la convection avec le milieu ambiant
  14. * et la source de chaleur selon une distribution gaussienne.
  15. *
  16. * L'apport de matiere est defini a l'aide d'un chargement de nom MODE
  17. * qui decrit l'evolution du modele au cours du temps. Un chargement de
  18. * nom MATE definit celle de ses caracteristiques.
  19. *
  20. * La modelisation fait appel aux procedures SOUDAGE et WAAM pour
  21. * definir la sequence de soudage et la mailler.
  22. *
  23. * Description :
  24. * -------------
  25. *
  26. * Type de calcul : Thermique Transitoire
  27. * Mode de calcul : 3D
  28. * Type d'element : CUB8
  29. * Chargement : Source de chaleur, Convection, Apport de matiere
  30. *
  31. *----------------------------------------------------------------------*
  32. *
  33. opti dime 3 elem cub8 ;
  34.  
  35. icomplet = faux ;
  36.  
  37. ig1 = faux ;
  38. *opti trac psc eptr 5 ;
  39. ig1 = ig1 ou (ega (vale trac) 'PSC') ;
  40.  
  41. *----------------------- Parametres du probleme -----------------------*
  42.  
  43. * Parametres geometrie :
  44. * lw1 : longueur faite en WAAM
  45. * ls1 : longueur support
  46. * hs1 : hauteur support
  47. * e1 : epaisseur de la plaque
  48. lw1 = 80.e-3 ;
  49. ls1 = 124.e-3 ;
  50. hs1 = 50.e-3 ;
  51. e1 = 6.e-3 ;
  52.  
  53. * Position thermocouples :
  54. * Bord deport WAAM initial en (0 0 0) :
  55. TC1 = 40.e-3 0 -3.e-3 ;
  56. TC2 = 40.e-3 0 -5.e-3 ;
  57. TC3 = 0.e-3 0 -25.e-3 ;
  58. TC4 = 80.e-3 0 -10.e-3 ;
  59.  
  60. * Parametres apport de chaleur :
  61. * Us1 : tension electrique de soudage (V) 1ere couche
  62. * Us2 : tension electrique de soudage (V) couches suivantes
  63. * Is1 : intensite electrique soudage (A) 1ere couche
  64. * Is2 : intensite electrique soudage (A) couches suivantes
  65. * Vs1 : vitesse de soudage (m/s)
  66. * Eta1 : rendement de la source
  67. * R0 : rayon de la distribution Gaussienne
  68. Us1 = 15.0 ;
  69. Us2 = 13.0 ;
  70. Is1 = 120. ;
  71. Is2 = 100. ;
  72. Vs1 = 0.30 / 60. ;
  73. Eta1 = 0.8 ;
  74. R0 = 3.e-3 ;
  75.  
  76. * Parametres apport de matiere :
  77. * dfil1 : diametre file (m)
  78. * vfil1 : vitesse defilement fil (m/s) 1ere passe
  79. * vfil2 : vitesse defilement fil (m/s) autres passes
  80. dfil1 = 1.2e-3 ;
  81. vfil1 = 3.2 / 60. ;
  82. vfil2 = 2.5 / 60. ;
  83.  
  84. * Parametres sequence soudage :
  85. * dtini1 : delai initial avant debut deplacement torche
  86. * delai1 : delai entre 2 passes de WAAM
  87. * nbpass1: nombre de passes
  88. dtini1 = 0.8 ;
  89. delai1 = 30. ;
  90. nbpass1 = 10 ;
  91.  
  92. * Parametres conditions thermiques initiales et aux limites :
  93. * Tini1 : temperature initiale (degC)
  94. * Te1 : temperature de convection (degC)
  95. * h1 : coefficient d'echange convectif (W/m2)
  96. Tini1 = 20. ;
  97. Te1 = 20. ;
  98. h1 = 20. ;
  99.  
  100. *-------------------------- Proprietes 316 L --------------------------*
  101. * Ref. :
  102. * Camille Cambon, Issam Bendaoud, Sebastien Rouquette, Fabien Soulie.
  103. * “Influence of the first weld bead on strain and stress states in wire+arc additive manufacturing”.
  104. * The 12th International Seminar ”Numerical Analysis of Weldability”,
  105. * Institute for Materials Science, Joining and Forming (IMAT),Sep 2018, Seggau, Austria.
  106. * hal-01954354 https://hal.archives-ouvertes.fr/hal-01954354
  107. *
  108. * rho1 : masse volumique (kg/m3)
  109. * Tfus1 : temperature de changement de phase solide-liquide (degC)
  110. * Qlat1 : chaleur latente de fusion de l'acier (J/m3)
  111. rho1 = 7760. ;
  112. Tfus1 = 1450. ;
  113. Qlat1 = 2.e9 ;
  114.  
  115. * k1 : conductivite thermique (W/m/K) en fonction de la temperature
  116. lt1 = prog 20. 100. pas 100. 1500. ;
  117. lk1 = prog 14. 15.2 16.6 17.9 19. 20.6 21.8 23.1 24.3 26. 27.3 28.6 29.9 45. 60. 60. ;
  118. k1 = evol vert manu 'T' lt1 'K' lk1 ;
  119. si ig1 ;
  120. dess k1 titr 'Conductivite thermique 316L (W/m/K)' ;
  121. fins ;
  122.  
  123. * Cp1 : capacite thermique massique (J/m3) en fonction de la temperature
  124. * On derive l'enthalpie :
  125. lt1 = prog 0. pas 100. 1500. ;
  126. lh1 = prog 0.983 1.36 1.76 2.19 2.62 3.06 3.51 3.96 4.43 4.92 5.42 5.92 6.44 6.97 9.51 ;
  127. lh2 = prog 1.36 1.76 2.19 2.62 3.06 3.51 3.96 4.43 4.92 5.42 5.92 6.44 6.97 9.51 10.1 ;
  128. dhdt1 = (lh2 - lh1) / 100. ;
  129. lc0 = dhdt1 * 1.e9 / rho1 ;
  130. lt0 = prog 50. pas 100. 1450. ;
  131. cp0 = evol manu 'T' lt0 'C' lc0 ;
  132. idx0 = posi (maxi lc0) dans lc0 ;
  133. lc2 = lc0 enle idx0 ;
  134. lt2 = lt0 enle idx0 ;
  135. cp2 = evol oran manu 'T' lt2 'C' lc2 ;
  136. cp1 = cp2 ;
  137. si ig1 ;
  138. tleg1 = table ;
  139. tleg1 . titre = table ;
  140. tleg1 . 1 = 'Cp derivee publi.' ;
  141. tleg1 . 2 = 'Cp utilisee' ;
  142. dess (cp0 et cp1) titr ' Capacite thermique massique 316L (J/m3)' lege tleg1 ;;
  143. fins ;
  144.  
  145. *------------------- Sequence de soudage / Maillage -------------------*
  146.  
  147. * Parametres discretisation apport de matiere :
  148. * xp1 : "pas" de discetisation de l'apport de matiere en espace (m)
  149. * dz1 : increment WAAM selon (O,z) / hauteur cordon
  150. * debi1 : debit volumique de fil 1ere passe
  151. * debi2 : debit volumique de fil autres passes
  152. xp1 = e1 / 2. ;
  153. debi1 = 0.25 * dfil1 * dfil1 * pi * vfil1 ;
  154. debi2 = 0.25 * dfil1 * dfil1 * pi * vfil2 ;
  155. dz1 = debi1 / e1 / Vs1 ;
  156. dz2 = debi2 / e1 / Vs1 ;
  157.  
  158. * Parametres modele source Gaussienne 3D :
  159. Qtot1 = Eta1 * Us1 * Is1 ;
  160. Qtot2 = Eta1 * Us2 * Is2 ;
  161. *Qtot1 = Qtot1 - (Qlat1 * e1 * dz1 * Vs1) ;
  162. *Qtot2 = Qtot2 - (Qlat1 * e1 * dz2 * Vs1) ;
  163. *list Qtot1 ;
  164. *list Qtot2 ;
  165. Rg1 = ((2. / 3.) ** 0.5) * R0 ;
  166.  
  167. * Parametre geometrie / trajectoire :
  168. e1s2 = 0.5 * e1 ;
  169. dz1s2 = 0.5 * dz1 ;
  170.  
  171. * table SOUDAGE :
  172. tso1 = tabl ;
  173. tso1.vitesse_de_soudage = Vs1 ;
  174. tso1.puissance_de_soudage = Qtot2 ;
  175. tso1.diametre_de_fil = dfil1 ;
  176. tso1.vitesse_de_fil = vfil2 ;
  177. tso1.point_de_depart = (0 e1s2 dz1) ;
  178. tso1.largeur_de_passe = e1 ;
  179.  
  180. * Défintion de la sequence de soudage :
  181. * Repetition sequence de 2 passes en AR :
  182. si (nbpass1 mult 2) ;
  183. nb1 = nbpass1 / 2 ;
  184. sino ;
  185. nb1 = (nbpass1 - 1) / 2 ;
  186. fins ;
  187. soudage tso1 point dtini1 puis Qtot1 debi debi1 ;
  188. repe b1 nb1 ;
  189. si (&b1 ega 1) ;
  190. soudage tso1 passe droi (lw1 0 0) puis Qtot1 debi debi1 ;
  191. sino ;
  192. soudage tso1 passe droi (lw1 0 0) ;
  193. fins ;
  194. soudage tso1 depla couche pause delai1 ;
  195. soudage tso1 passe droi ((-1.*lw1) 0 0) ;
  196. soudage tso1 depla couche pause delai1 ;
  197. fin b1 ;
  198. si ((nbpass1-1) mult 2) ;
  199. soudage tso1 passe droi (lw1 0 0) ;
  200. fins ;
  201. soudage tso1 point 60. puis 0. debi 0. ;
  202.  
  203. si ig1 ;
  204. trac tso1.trajectoire titr 'trajectoire depot WAAM mur' ;
  205. dess tso1.evolution_deplacement titr 'evolution deplacement depot WAAM mur' ;
  206. dess tso1.evolution_puissance titr 'evolution puissance thermique depot WAAM mur' ;
  207. dess tso1.evolution_debit titr 'evolution debit apport de matiere depot WAAM mur' ;
  208. fins ;
  209.  
  210. * Maillage du Mur :
  211. ne1 = 5 ;
  212. tab2 = waam tso1 mail pas xp1 larg e1 dens 1.e-3 ;
  213. elim tab2.maillage 1.e-6 ;
  214. mur1 = tab2.maillage coul vert ;
  215.  
  216. si ig1 ;
  217. trac cach mur1 titr ' Maillage global du mur' ;
  218. tmai1 = tab2.evolution_maillage.maillage ;
  219. waam tab2 visu cach ((tso1.trajectoire) plus (0 0 1.e-5)) ;
  220. fins ;
  221.  
  222. * Maillage du support sous-jacent :
  223. me1 = -1. * e1 ;
  224. mdz1 = -1. * dz1 ;
  225. zmin1 = (mur1 coor 3) mini ;
  226. pz0 = (mur1 coor 3) poin infe (zmin1 + 1.e-5) ;
  227. sz0 = (enve mur1) elem appu stri pz0 ;
  228. sup1 = sz0 volu tran ne1 (0 0 me1) ;
  229.  
  230. xmin1 = (sup1 coor 1) mini ;
  231. px0 = (sup1 coor 1) poin infe (xmin1 + 1.e-5) ;
  232. px1 = (sup1 coor 1) poin supe (xmin1 + lw1 - 1.e-5) ;
  233. sx0 = (enve sup1) elem appu stri px0 ;
  234. sx1 = (enve sup1) elem appu stri px1 ;
  235. sup1 = sup1 et (sx0 volu tran ne1 (me1 0 0)) et (sx1 volu tran ne1 (e1 0 0)) ;
  236. sup1 = sup1 coul gris ;
  237.  
  238. dx1 = (ls1 - lw1) * 0.5 - e1 ;
  239. me1 = -1. * e1 ;
  240. xmin2 = xmin1 + me1 ;
  241. zmin2 = zmin1 + me1 ;
  242. p1 = sup1 poin proc (xmin2 0 zmin1) ;
  243. p2 = sup1 poin proc (xmin2 0 zmin2) ;
  244. p3 = sup1 poin proc ((xmin1 + lw1 + e1) 0 zmin2) ;
  245. p4 = sup1 poin proc ((xmin1 + lw1 + e1) 0 zmin1) ;
  246. p5 = p4 plus (dx1 0 0) ;
  247. p6 = p5 moin (0 0 hs1) ;
  248. p7 = p6 moin (ls1 0 0) ;
  249. p8 = p7 plus (0 0 hs1) ;
  250. de1 = 0.5 * e1 ;
  251. de2 = 6.2e-3 ;
  252. cs2 = (p5 droi p6 dini de1 dfin de2) et
  253. (p6 droi p7 dini de2 dfin de2) et
  254. (p7 droi p8 dini de2 dfin de1) et
  255. (p8 droi p1 dini de1 dfin de1) et
  256. (p1 droi p2 dini de1 dfin de1) et
  257. (p2 droi p3 dini de1 dfin de1) et
  258. (p3 droi p4 dini de1 dfin de1) et
  259. (p4 droi p5 dini de1 dfin de1) ;
  260. fs2 = surf cs2 plan ;
  261. sup2 = fs2 volu tran (0 e1 0) 2 ;
  262. sup2 = sup2 coul turq ;
  263.  
  264. sup0 = sup1 et sup2 ;
  265.  
  266. mail1 = sup0 et mur1 ;
  267. si ig1 ;
  268. mot1 = chai 'Maillage total "Mur WAAM" et support :' (nbno mail1) ;
  269. mot1 = chai mot1 ' /' (nbel mail1) ' noeuds/elem.' ;
  270. trac face mail1 titr mot1 ;
  271. fins ;
  272.  
  273. *------------- Accrochage DDL thermique maillage support --------------*
  274. clt1 = sup1 rela accro sup2 (mots 'T') ;
  275. clt2 = (TC1 et TC2 et TC3 et TC4) rela accro sup0 (mots 'T') ;
  276.  
  277. * Surface interface maillages support non-conformes :
  278. pinte1 = clt1 extr mail nomu ;
  279. sinte1 = (enve sup0) elem appu stri pinte1 ;
  280.  
  281. *--------------------- Modele / Caracteristique -----------------------*
  282.  
  283. * Conduction / Convection :
  284. mod1 = mode mail1 thermique ;
  285. mat1 = mate mod1 rho rho1 k k1 'C' cp1 'TINI' Tini1 ;
  286.  
  287. * Source thermique :
  288. evqt1 = tso1.evolution_puissance ;
  289. evxs1 = tso1.evolution_deplacement ;
  290. chxs1 = tso1.trajectoire coor curv ;
  291. cgxs1 = char traj chxs1 evxs1 ;
  292. mod3 = mode mail1 thermique source gaussienne ;
  293. mat3 = mate mod3 qtot evqt1 orig cgxs1 rgau Rg1 ;
  294.  
  295. * Tables d'evolution des modeles et caracteristiques :
  296. ttps1 = tab2.evolution_maillage.temps ;
  297. tmai1 = tab2.evolution_maillage.maillage ;
  298. nb1 = dime ttps1 ;
  299. tmod1 = table ;
  300. tmod2 = table ;
  301. tmod3 = table ;
  302. tmat1 = table ;
  303. tmat2 = table ;
  304. tmat3 = table ;
  305. repe b1 nb1 ;
  306. geoi1 = tmai1 . (&b1 - 1) ;
  307. geoi1 = geoi1 et sup0 ;
  308. tmod1 . (&b1 - 1) = redu mod1 geoi1 ;
  309. tmat1 . (&b1 - 1) = redu mat1 (tmod1 . (&b1 - 1)) ;
  310. sconv1 = (enve geoi1) diff sinte1 ;
  311. tmod2 . (&b1 - 1) = mode sconv1 thermique convection ;
  312. tmat2 . (&b1 - 1) = mate (tmod2 . (&b1 - 1)) 'H' h1 'TE' Te1 ;
  313. tmod3 . (&b1 - 1) = redu mod3 geoi1 ;
  314. tmat3 . (&b1 - 1) = redu mat3 (tmod3 . (&b1 - 1)) ;
  315. fin b1 ;
  316.  
  317. * Chargements MODE / MATE :
  318. cgmod1 = char mode ttps1 tmod1 ;
  319. cgmod2 = char mode ttps1 tmod2 ;
  320. cgmod3 = char mode ttps1 tmod3 ;
  321. cgmod0 = cgmod1 et cgmod2 et cgmod3 ;
  322.  
  323. cgmat1 = char mate ttps1 tmat1 ;
  324. cgmat2 = char mate ttps1 tmat2 ;
  325. cgmat3 = char mate ttps1 tmat3 ;
  326. cgmat0 = cgmat1 et cgmat2 et cgmat3 ;
  327.  
  328. cg0 = cgmod0 et cgmat0 ;
  329.  
  330. *------------------------- Resolution PASAPAS -------------------------*
  331.  
  332. * Liste des temps de calcul :
  333. ltca0 = extr evqt1 absc ;
  334. ltqt0 = extr evqt1 ordo ;
  335. list ltca0 ;
  336.  
  337. dt1 = (1. / pi) * xp1 / vs1 ;
  338. dt2 = 0.05 * delai1 ;
  339. nb0 = (dime ltca0) - 1 ;
  340. ti1 = extr ltca0 1 ;
  341. ltca1 = prog ti1 ;
  342. qtol1 = 1.e-3 * (maxi ltqt0) ;
  343. ip1 = 1 ;
  344. repe b0 nb0 ;
  345. ip1 = ip1 + 1 ;
  346. ti2 = extr ltca0 ip1 ;
  347. dti1 = ti2 - ti1 ;
  348. si ((ti2 &lt;EG dtini1) ou (dti1 < dt1)) ;
  349. ltca1 = ltca1 et (prog ti2) ;
  350. ti1 = ti2 ;
  351. iter b0 ;
  352. fins ;
  353. qi2 = extr ltqt0 ip1 ;
  354. Si (qi2 > qtol1) ;
  355. ltca1 = ltca1 et (prog (ti1 + dt1) pas dt1 ti2) ;
  356. sino ;
  357. ltca1 = ltca1 et (prog (ti1 + dt2) pas dt2 ti2) ;
  358. fins ;
  359. ti1 = ti2 ;
  360. fin b0 ;
  361. ltca1 = ltca1 enle (lect 1 2) ;
  362. ltca1 = (prog 0. pas 0.2 0.8) et ltca1 ;
  363. ltca1 = ltca1 et (prog (maxi ltca1 + 10.) pas 10. (maxi ltca1 + 60.) pas 100. (maxi ltca1 + 600.)) ;
  364. ltca1 = ordo ltca1 uniq ;
  365. list ltca1 ;
  366.  
  367. si (non icomplet) ;
  368. ltca1 = ltca1 extr (lect 1 pas 1 20) ;
  369. fins ;
  370.  
  371. tab1 = table ;
  372. tab1.modele = tire cgmod0 mode 0. ;
  373. tab1.caracteristiques = tire cgmat0 mate 0. ;
  374. tab1.chargement = cg0 ;
  375. tab1.blocages_thermiques = clt1 et clt2 ;
  376. tab1.temps_calcules = ltca1 ;
  377.  
  378.  
  379. pasapas tab1 ;
  380.  
  381. * Affichage temps de calcul :
  382. duree1 = temp enti horl ;
  383. duree1 = (duree1 / 1000) ;
  384. dmin1 = (duree1 / 60) ;
  385. dsec1 = duree1 - (60 * dmin1) ;
  386. mot1 = chai '***** DUREE DU CALCUL (s) :' dmin1 ' min' dsec1 ' s' ;
  387. mess mot1 ;
  388.  
  389. *opti sauv 'waam1.sauv' ;
  390. *sauv ;
  391.  
  392. *------------------------ Petit post-traitement -----------------------*
  393.  
  394. si ig1 ;
  395.  
  396. * Evolution temporelle temperature thermocouples :
  397. evtc1 = evol bleu temp tab1 temperatures 'T' tc1 ;
  398. evtc2 = evol vert temp tab1 temperatures 'T' tc2 ;
  399. evtc3 = evol roug temp tab1 temperatures 'T' tc3 ;
  400. evtc4 = evol turq temp tab1 temperatures 'T' tc4 ;
  401.  
  402. tleg1 = table ;
  403. tleg1 . titre = table ;
  404. tleg1 . titre . 1 = 'TC1' ;
  405. tleg1 . titre . 2 = 'TC2' ;
  406. tleg1 . titre . 3 = 'TC3' ;
  407. tleg1 . titre . 4 = 'TC4' ;
  408. trac qual (((mur1 plus (0 0 0) aret) et (sup1 plus (0 0 0) aret) et (sup2 plus (0 0 0) aret) coul defa)
  409. et ((tc1 et tc2 et tc3 et tc4) coul roug)) titr 'Position des thermocouples' ;
  410. si icomplet ;
  411. dess (evtc1 et evtc2 et evtc3 et evtc4) titr 'Thermogrammes (degC)' lege tleg1 xbor 0. 800. xgra 100 gril poin ;
  412. sino ;
  413. dess (evtc1 et evtc2 et evtc3 et evtc4) titr 'Thermogrammes (degC)' lege tleg1 gril poin ;
  414. fins ;
  415.  
  416. * Animation du champ de temperature :
  417. if1 = (dime tab1.temps) - 1 ;
  418. modf1 = tab1.modeles.if1 ;
  419. mailf1 = (extr modf1 mate conduction) extr mail ;
  420. dep0 = manu chpo mailf1 3 ux 0. uy 0. uz 0. ;
  421. def1 = vide deforme ;
  422. liso1 = prog 0. 50. 100. PAS 150. 1450. ;
  423. vtra1 = vale trac ;
  424. si (ega vtra1 'PSC') ;
  425. opti ftra 'Temperature_Waam1_Anim.ps' ;
  426. fins ;
  427. repe b1 if1 ;
  428. modi1 = tab1.modeles.(&b1-1) ;
  429. maili1 = (extr modi1 mate conduction) extr mail ;
  430. chti1 = tab1.temperatures.(&b1-1) ;
  431. defoi1 = defo maili1 dep0 chti1 ;
  432. def1 = def1 et defoi1 ;
  433. si (ega vtra1 'PSC') ;
  434. mot1 = chai format '(F6.1)' 'Temperature (degC) au temps (s) :' (tab1.temps.(&b1-1)) ;
  435. trac chti1 maili1 liso1 titr mot1 ;
  436. fins ;
  437. fin b1 ;
  438. si (neg vtra1 'PSC') ;
  439. trac anim def1 liso1 ;
  440. fins ;
  441.  
  442. fins ;
  443.  
  444. fin ;
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  

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