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. * Donnees fournies par la procedure BIBLIO :
  109. t316L = biblio 316L refe 2 ;
  110.  
  111. * rho1 : masse volumique (kg/m3) (pas dans ref. biblio)
  112. rho1 = 7760. ;
  113. * Tfus1 : temperature de changement de phase solide-liquide (degC)
  114. * Qlat1 : chaleur latente de fusion de l'acier (J/m3)
  115. * k1 : conductivite thermique (W/m/K) en fonction de la temperature
  116. Tfus1 = t316L.tfus ;
  117. Qlat1 = t316L.qlat ;
  118. k1 = t316L.k ;
  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 la derive de l'enthalpie :
  125. enth1 = t316L.enth ;
  126. lh0 = extr enth1 ordo ;
  127. lh1 = lh0 enle (dime lh0) ;
  128. lh2 = lh0 enle 1 ;
  129. dhdt1 = (lh2 - lh1) / 100. ;
  130. lc0 = dhdt1 / rho1 ;
  131. lt0 = prog 50. pas 100. 1450. ;
  132. cp0 = evol manu 'T' lt0 'C' lc0 ;
  133. idx0 = posi (maxi lc0) dans lc0 ;
  134. lc2 = lc0 enle idx0 ;
  135. lt2 = lt0 enle idx0 ;
  136. cp2 = evol oran manu 'T' lt2 'C' lc2 ;
  137. cp1 = cp2 ;
  138. si ig1 ;
  139. tleg1 = table ;
  140. tleg1 . titre = table ;
  141. tleg1 . titre . 1 = 'Cp derivee publi.' ;
  142. tleg1 . titre . 2 = 'Cp utilisee' ;
  143. dess (cp0 et cp1) titr ' Capacite thermique massique 316L (J/m3)' lege tleg1 ;
  144. fins ;
  145.  
  146. *------------------- Sequence de soudage / Maillage -------------------*
  147.  
  148. * Parametres discretisation apport de matiere :
  149. * xp1 : "pas" de discetisation de l'apport de matiere en espace (m)
  150. * dz1 : increment WAAM selon (O,z) / hauteur cordon
  151. * debi1 : debit volumique de fil 1ere passe
  152. * debi2 : debit volumique de fil autres passes
  153. xp1 = e1 / 2. ;
  154. debi1 = 0.25 * dfil1 * dfil1 * pi * vfil1 ;
  155. debi2 = 0.25 * dfil1 * dfil1 * pi * vfil2 ;
  156. dz1 = debi1 / e1 / Vs1 ;
  157. dz2 = debi2 / e1 / Vs1 ;
  158.  
  159. * Parametres modele source Gaussienne 3D :
  160. Qtot1 = Eta1 * Us1 * Is1 ;
  161. Qtot2 = Eta1 * Us2 * Is2 ;
  162. *Qtot1 = Qtot1 - (Qlat1 * e1 * dz1 * Vs1) ;
  163. *Qtot2 = Qtot2 - (Qlat1 * e1 * dz2 * Vs1) ;
  164. *list Qtot1 ;
  165. *list Qtot2 ;
  166. Rg1 = ((2. / 3.) ** 0.5) * R0 ;
  167.  
  168. * Parametre geometrie / trajectoire :
  169. e1s2 = 0.5 * e1 ;
  170. dz1s2 = 0.5 * dz1 ;
  171.  
  172. * table SOUDAGE :
  173. tso1 = tabl ;
  174. tso1.vitesse_de_soudage = Vs1 ;
  175. tso1.puissance_de_soudage = Qtot2 ;
  176. tso1.diametre_de_fil = dfil1 ;
  177. tso1.vitesse_de_fil = vfil2 ;
  178. tso1.point_de_depart = (0 e1s2 dz1) ;
  179. tso1.largeur_de_passe = e1 ;
  180.  
  181. * Défintion de la sequence de soudage :
  182. * Repetition sequence de 2 passes en AR :
  183. si (nbpass1 mult 2) ;
  184. nb1 = nbpass1 / 2 ;
  185. sino ;
  186. nb1 = (nbpass1 - 1) / 2 ;
  187. fins ;
  188. soudage tso1 point dtini1 puis Qtot1 debi debi1 ;
  189. repe b1 nb1 ;
  190. si (&b1 ega 1) ;
  191. soudage tso1 passe droi (lw1 0 0) puis Qtot1 debi debi1 ;
  192. soudage tso1 depla couche debi debi2 pause delai1 ;
  193. sino ;
  194. soudage tso1 passe droi (lw1 0 0) ;
  195. soudage tso1 depla couche pause delai1 ;
  196. fins ;
  197. soudage tso1 passe droi ((-1.*lw1) 0 0) ;
  198. soudage tso1 depla couche pause delai1 ;
  199. mess 'hello' ;
  200. fin b1 ;
  201. si ((nbpass1-1) mult 2) ;
  202. soudage tso1 passe droi (lw1 0 0) ;
  203. fins ;
  204. soudage tso1 point 90. puis 0. debi 0. ;
  205.  
  206. si ig1 ;
  207. trac tso1.trajectoire titr 'trajectoire depot WAAM mur' ;
  208. dess tso1.evolution_deplacement titr 'evolution deplacement depot WAAM mur' ;
  209. dess tso1.evolution_puissance titr 'evolution puissance thermique depot WAAM mur' ;
  210. dess tso1.evolution_debit titr 'evolution debit apport de matiere depot WAAM mur' ;
  211. fins ;
  212.  
  213. * Maillage du Mur :
  214. tab2 = waam tso1 mail pas xp1 larg e1 dens 1.e-3 'TEMP' 0.1 ;
  215. elim tab2.maillage 1.e-5 ;
  216. mur1 = tab2.maillage coul vert ;
  217.  
  218. si ig1 ;
  219. trac cach mur1 titr ' Maillage global du mur' ;
  220. tmai1 = tab2.evolution_maillage.maillage ;
  221. waam tab2 visu cach ((tso1.trajectoire) plus (0 0 1.e-5)) ;
  222. fins ;
  223.  
  224. * Maillage du support sous-jacent :
  225. ne1 = 5 ;
  226. me1 = -1. * e1 ;
  227. mdz1 = -1. * dz1 ;
  228. zmin1 = (mur1 coor 3) mini ;
  229. pz0 = (mur1 coor 3) poin infe (zmin1 + 1.e-5) ;
  230. sz0 = (enve mur1) elem appu stri pz0 ;
  231. sup1 = sz0 volu tran ne1 (0 0 me1) ;
  232.  
  233. xmin1 = (sup1 coor 1) mini ;
  234. px0 = (sup1 coor 1) poin infe (xmin1 + 1.e-5) ;
  235. px1 = (sup1 coor 1) poin supe (xmin1 + lw1 - 1.e-5) ;
  236. sx0 = (enve sup1) elem appu stri px0 ;
  237. sx1 = (enve sup1) elem appu stri px1 ;
  238. sup1 = sup1 et (sx0 volu tran ne1 (me1 0 0)) et (sx1 volu tran ne1 (e1 0 0)) ;
  239. sup1 = sup1 coul gris ;
  240.  
  241. dx1 = (ls1 - lw1) * 0.5 - e1 ;
  242. me1 = -1. * e1 ;
  243. xmin2 = xmin1 + me1 ;
  244. zmin2 = zmin1 + me1 ;
  245. p1 = sup1 poin proc (xmin2 0 zmin1) ;
  246. p2 = sup1 poin proc (xmin2 0 zmin2) ;
  247. p3 = sup1 poin proc ((xmin1 + lw1 + e1) 0 zmin2) ;
  248. p4 = sup1 poin proc ((xmin1 + lw1 + e1) 0 zmin1) ;
  249. p5 = p4 plus (dx1 0 0) ;
  250. p6 = p5 moin (0 0 hs1) ;
  251. p7 = p6 moin (ls1 0 0) ;
  252. p8 = p7 plus (0 0 hs1) ;
  253. de1 = 0.5 * e1 ;
  254. de2 = 6.2e-3 ;
  255. cs2 = (p5 droi p6 dini de1 dfin de2) et
  256. (p6 droi p7 dini de2 dfin de2) et
  257. (p7 droi p8 dini de2 dfin de1) et
  258. (p8 droi p1 dini de1 dfin de1) et
  259. (p1 droi p2 dini de1 dfin de1) et
  260. (p2 droi p3 dini de1 dfin de1) et
  261. (p3 droi p4 dini de1 dfin de1) et
  262. (p4 droi p5 dini de1 dfin de1) ;
  263. fs2 = surf cs2 plan ;
  264. sup2 = fs2 volu tran (0 e1 0) 2 ;
  265. sup2 = sup2 coul turq ;
  266.  
  267. sup0 = sup1 et sup2 ;
  268.  
  269. mail1 = sup0 et mur1 ;
  270. si ig1 ;
  271. mot1 = chai 'Maillage total "Mur WAAM" et support :' (nbno mail1) ;
  272. mot1 = chai mot1 ' /' (nbel mail1) ' noeuds/elem.' ;
  273. trac face mail1 titr mot1 ;
  274. fins ;
  275.  
  276. *------------- Accrochage DDL thermique maillage support --------------*
  277. clt1 = sup1 rela accro sup2 (mots 'T') ;
  278. clt2 = (TC1 et TC2 et TC3 et TC4) rela accro sup0 (mots 'T') ;
  279.  
  280. * Surface interface maillages support non-conformes :
  281. pinte1 = clt1 extr mail nomu ;
  282. sinte1 = (enve sup0) elem appu stri pinte1 ;
  283.  
  284. *--------------------- Modele / Caracteristique -----------------------*
  285.  
  286. * Conduction / Convection :
  287. mod1 = mode mail1 thermique ;
  288. mat1 = mate mod1 rho rho1 k k1 'C' cp1 'TINI' Tini1 ;
  289.  
  290. * Source thermique :
  291. evqt1 = tso1.evolution_puissance ;
  292. evxs1 = tso1.evolution_deplacement ;
  293. chxs1 = tso1.trajectoire coor curv ;
  294. cgxs1 = char traj chxs1 evxs1 ;
  295. mod3 = mode mail1 thermique source gaussienne ;
  296. mat3 = mate mod3 qtot evqt1 orig cgxs1 rgau Rg1 ;
  297.  
  298. * Tables d'evolution des modeles et caracteristiques :
  299. ttps1 = tab2.evolution_maillage.temps ;
  300. tmai1 = tab2.evolution_maillage.maillage ;
  301. nb1 = dime ttps1 ;
  302. ltps1 = prog ;
  303. lmod1 = enum ;
  304. lmod2 = enum ;
  305. lmod3 = enum ;
  306. lmat1 = enum ;
  307. lmat2 = enum ;
  308. lmat3 = enum ;
  309. repe b1 nb1 ;
  310. tps1 = ttps1 . (&b1 - 1) ;
  311. ltps1 = ltps1 et tps1 ;
  312. geoi1 = tmai1 . (&b1 - 1) ;
  313. geoi1 = geoi1 et sup0 ;
  314. modi1 = redu mod1 geoi1 ;
  315. mati1 = redu mat1 modi1 ;
  316. lmod1 = lmod1 et modi1 ;
  317. lmat1 = lmat1 et mati1 ;
  318. sconv1 = (enve geoi1) diff sinte1 ;
  319. modi2 = mode sconv1 thermique convection ;
  320. mati2 = mate modi2 'H' h1 'TC' Te1 ;
  321. lmod2 = lmod2 et modi2 ;
  322. lmat2 = lmat2 et mati2 ;
  323. modi3 = redu mod3 geoi1 ;
  324. mati3 = redu mat3 modi3 ;
  325. lmod3 = lmod3 et modi3 ;
  326. lmat3 = lmat3 et mati3 ;
  327. fin b1 ;
  328.  
  329. * Chargements MODE / MATE :
  330. cgmod1 = char mode ltps1 lmod1 ;
  331. cgmod2 = char mode ltps1 lmod2 ;
  332. cgmod3 = char mode ltps1 lmod3 ;
  333. cgmod0 = cgmod1 et cgmod2 et cgmod3 ;
  334.  
  335. cgmat1 = char mate ltps1 lmat1 ;
  336. cgmat2 = char mate ltps1 lmat2 ;
  337. cgmat3 = char mate ltps1 lmat3 ;
  338. cgmat0 = cgmat1 et cgmat2 et cgmat3 ;
  339.  
  340. * Temps calcules :
  341. ltca0 = tab2.temps_calcules ;
  342. si icomplet ;
  343. ltca1 = ltca0 ;
  344. sino ;
  345. ltca1 = ltca0 extr (lect 1 pas 1 21) ;
  346. fins ;
  347.  
  348. * Rendement effectif de la source :
  349. eta0 = rendsour cgmod3 cgmat3 ltca1 moye ;
  350. eveta0 = rendsour cgmod3 cgmat3 ltca1 ;
  351.  
  352. si ig1 ;
  353. mot1 = chai format '(F6.3)' 'Rendement de la source de chaleur en fonction du temp. Moy. =' eta0 ;
  354. eveta0 = eveta0 coul oran ;
  355. dess eveta0 titr mot1 ;
  356. fins ;
  357.  
  358. *------------------------- Resolution PASAPAS -------------------------*
  359.  
  360. tab1 = table ;
  361. tab1.modele = cgmod0 ;
  362. tab1.caracteristiques = cgmat0 ;
  363. tab1.blocages_thermiques = clt1 et clt2 ;
  364. tab1.temps_calcules = ltca1 ;
  365.  
  366.  
  367. pasapas tab1 ;
  368.  
  369. * Affichage temps de calcul :
  370. duree1 = temp horl ;
  371. duree1 = (duree1 / 1000) ;
  372. dmin1 = (duree1 / 60) ;
  373. dsec1 = duree1 - (60 * dmin1) ;
  374. mot1 = chai '***** DUREE DU CALCUL (s) :' dmin1 ' min' dsec1 ' s' ;
  375. mess mot1 ;
  376.  
  377. si icomplet ;
  378. opti sauv 'waam1.sauv' ;
  379. sauv ;
  380. fins ;
  381.  
  382. *------------------------ Petit post-traitement -----------------------*
  383.  
  384. si ig1 ;
  385.  
  386. * Evolution temporelle temperature thermocouples :
  387. evtc1 = evol bleu temp tab1 temperatures 'T' tc1 ;
  388. evtc2 = evol vert temp tab1 temperatures 'T' tc2 ;
  389. evtc3 = evol roug temp tab1 temperatures 'T' tc3 ;
  390. evtc4 = evol turq temp tab1 temperatures 'T' tc4 ;
  391.  
  392. tleg1 = table ;
  393. tleg1 . titre = table ;
  394. tleg1 . titre . 1 = 'TC1' ;
  395. tleg1 . titre . 2 = 'TC2' ;
  396. tleg1 . titre . 3 = 'TC3' ;
  397. tleg1 . titre . 4 = 'TC4' ;
  398. trac qual (((mur1 plus (0 0 0) aret) et (sup1 plus (0 0 0) aret) et (sup2 plus (0 0 0) aret) coul defa)
  399. et ((tc1 et tc2 et tc3 et tc4) coul roug)) titr 'Position des thermocouples' ;
  400. si icomplet ;
  401. dess (evtc1 et evtc2 et evtc3 et evtc4) titr 'Thermogrammes (degC)' lege tleg1 xbor 0. 800. xgra 100 gril poin ;
  402. sino ;
  403. dess (evtc1 et evtc2 et evtc3 et evtc4) titr 'Thermogrammes (degC)' lege tleg1 gril poin ;
  404. fins ;
  405.  
  406. * Animation du champ de temperature :
  407. if1 = (dime tab1.temps) - 1 ;
  408. modf1 = tab1.modeles.if1 ;
  409. mailf1 = (extr modf1 mate conduction) extr mail ;
  410. dep0 = manu chpo mailf1 3 ux 0. uy 0. uz 0. ;
  411. def1 = vide deforme ;
  412. liso1 = prog 0. 50. 100. PAS 150. 1450. ;
  413. vtra1 = vale trac ;
  414. si (ega vtra1 'PSC') ;
  415. opti ftra 'Temperature_Waam1_Anim.ps' ;
  416. fins ;
  417. repe b1 if1 ;
  418. modi1 = tab1.modeles.(&b1-1) ;
  419. maili1 = (extr modi1 mate conduction) extr mail ;
  420. chti1 = tab1.temperatures.(&b1-1) ;
  421. defoi1 = defo maili1 dep0 chti1 ;
  422. def1 = def1 et defoi1 ;
  423. si (ega vtra1 'PSC') ;
  424. mot1 = chai format '(F6.1)' 'Temperature (degC) au temps (s) :' (tab1.temps.(&b1-1)) ;
  425. trac chti1 maili1 liso1 titr mot1 ;
  426. fins ;
  427. fin b1 ;
  428. si (neg vtra1 'PSC') ;
  429. trac anim def1 liso1 ;
  430. fins ;
  431.  
  432. fins ;
  433.  
  434. *----------------------- Test de non regression -----------------------*
  435.  
  436. ttest1 = tab1.temps.19 ;
  437. temp1 = peche tab1 temperatures ttest1 ipol ;
  438. tmaxref1 = 3006.8 ;
  439. tmax1 = maxi abs temp1 ;
  440. si ((abs (tmax1 - tmaxref1)) > 1.) ;
  441. erre 5 ;
  442. fins ;
  443.  
  444. *------------------ F I N W A A M 1 . D G I B I -----------------*
  445. fin ;
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  

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