* fichier waam3.dgibi * section : thermique conduction convection *----------------------------------------------------------------------* * W A A M 3 . D G I B I * *----------------------------------------------------------------------* * Objet : * ------- * * Exemple de simulation thermique d'un depot de matiere par WAAM. * L'exemple simule la realisation d'un "mur" sur la tranche d'une tole * en acier inox (donnees 316L issues de la litterature, ref. fournie). * * On modelise la conduction, la convection avec le milieu ambiant * et la source de chaleur selon une distribution gaussienne. * * L'apport de matiere est defini a l'aide d'un chargement de nom MODE * qui decrit l'evolution du modele au cours du temps. Un chargement de * nom MATE definit celle de ses caracteristiques. * * La modelisation fait appel aux procedures SOUDAGE et WAAM pour * definir la sequence de soudage et la mailler. * * Description : * ------------- * * Type de calcul : Thermique Transitoire * Mode de calcul : 3D * Type d'element : CUB8 * Chargement : Source de chaleur, Convection, Apport de matiere * *----------------------------------------------------------------------* * icomplet = faux ; ig1 = faux ; *opti trac psc eptr 5 ; *----------------------- Parametres du probleme -----------------------* * Parametres geometrie : * lw1 : longueur de passe * ew1 : epaisseur de passe (largeur) * as1 : longueur du support * bs1 : profondeur du support (largeur) * es1 : epaisseur du support * de1 : densite maillage cordons * tol1 : tolerance geometrique lw1 = 50.e-3 ; ew1 = 5.e-3 ; as1 = 200.e-3 ; bs1 = 50.e-3 ; es1 = 20.e-3 ; de1 = 1.25e-3 ; de2 = ew1 ; tol1 = 1.e-6 * de1 ; * Parametres apport de chaleur : * Us1 : tension electrique de soudage (V) 1ere couche * Us2 : tension electrique de soudage (V) couches suivantes * Is1 : intensite electrique soudage (A) 1ere couche * Is2 : intensite electrique soudage (A) couches suivantes * Vs1 : vitesse de soudage (m/s) * Eta1 : rendement de la source * Rg1 : rayon de la distribution Gaussienne Us1 = 15.0 ; Us2 = 13.0 ; Is1 = 120. ; Is2 = 100. ; Vs1 = 0.30 / 60. ; Eta1 = 0.8 ; Rg1 = ((2. / 3.) ** 0.5) * ew1 ; * Parametres apport de matiere : * dfil1 : diametre file (m) * vfil1 : vitesse defilement fil (m/s) 1ere passe * vfil2 : vitesse defilement fil (m/s) autres passes dfil1 = 1.2e-3 ; vfil1 = 3.2 / 60. ; vfil2 = 2.5 / 60. ; * Parametres sequence soudage : * dtini1 : delai initial avant debut deplacement torche * delai1 : delai entre 2 passes de WAAM * nbpass1: nombre de passes dtini1 = 0.8 ; delai1 = 300. ; nbpass1 = 4 ; * Parametres conditions thermiques initiales et aux limites : * Tini1 : temperature initiale (degC) * Tc1 : temperature de convection (degC) * h1 : coefficient d'echange convectif (W/m2) Tini1 = 20. ; Tc1 = 20. ; h1 = 20. ; *-------------------------- Proprietes 316 L --------------------------* * Ref. : * Camille Cambon, Issam Bendaoud, Sebastien Rouquette, Fabien Soulie. * “Influence of the first weld bead on strain and stress states in wire+arc additive manufacturing”. * The 12th International Seminar ”Numerical Analysis of Weldability”, * Institute for Materials Science, Joining and Forming (IMAT),Sep 2018, Seggau, Austria. * hal-01954354 https://hal.archives-ouvertes.fr/hal-01954354 * * Donnees fournies par la procedure BIBLIO : * rho1 : masse volumique (kg/m3) (pas dans ref. biblio) rho1 = 7760. ; * Tfus1 : temperature de changement de phase solide-liquide (degC) * Qlat1 : chaleur latente de fusion de l'acier (J/m3) * k1 : conductivite thermique (W/m/K) en fonction de la temperature Tfus1 = t316L.tfus ; Qlat1 = t316L.qlat ; k1 = t316L.k ; si ig1 ; fins ; * Cp1 : capacite thermique massique (J/m3) en fonction de la temperature * On la derive de l'enthalpie : enth1 = t316L.enth ; dhdt1 = (lh2 - lh1) / 100. ; lc0 = dhdt1 / rho1 ; cp1 = cp2 ; si ig1 ; tleg1 = table ; tleg1 . titre = table ; tleg1 . titre . 1 = 'Cp derivee publi.' ; tleg1 . titre . 2 = 'Cp utilisee' ; fins ; *------- Sequence de fabrication : appel a la procedure SOUDAGE -------* * Puissances thermique (1 : 1ere couche, 2 : couches suivantes) : Qtot1 = Is1 * Us1 ; Qtot2 = Is2 * Us2 ; * Debits de matiere : debi1 = 0.25 * dfil1 * dfil1 * pi * vfil1 ; debi2 = 0.25 * dfil1 * dfil1 * pi * vfil2 ; * Table de la procedure SOUDAGE tfab1.vitesse_de_soudage = Vs1 ; tfab1.puissance_de_soudage = Qtot2 ; tfab1.orientation_soudure = (0 0 1) ; tfab1.diametre_de_fil = dfil1 ; tfab1.vitesse_de_fil = vfil2 ; tfab1.largeur_de_passe = ew1 ; * Définition de la sequence de fabrication : nb1 = nbpass1 / 2 ; sino ; nb1 = (nbpass1 - 1) / 2 ; fins ; uw1 = lw1 0 0 ; uw2 = -1. * uw1 ; vw1 = 0 ew1 0 ; vw2 = -1. * vw1 ; repe b1 nb1 ; si (&b1 ega 1) ; sino ; sino ; fins ; soudage tfab1 depla couche pause delai1 ; fins ; fin b1 ; si ig1 ; fins ; *------------------------- Maillage du depot --------------------------* * Maillage fin du depôt : appel a la procedure WAAM xpas1 = 0.5 * ew1 ; mail1 = twam1.maillage ; elim mail1 tol1 ; * Tables d'evolution du maillage : ttps1 = twam1.evolution_maillage.temps ; tmail1 = twam1.evolution_maillage.maillage ; * Maillage grossier du depot : si (nb1 > 1) ; sino ; fins ; mail2 = v1 et v2 ; * Fusion des noeuds des maillages fin et grossier : si ig1 ; fins ; *-------------------- Maillage de la tole support ---------------------* * Contour base du depot : * Contour base support : partie raffinee conforme (maillage fin) * Maillage raffinee du support : * Contour base support : partie deraffinee non conforme (maillage grossier) dx1 = 0.5 * (as1 - (xmax1 - xmin1)) ; dy1 = 0.5 * (bs1 - (ymax1 - ymin1)) ; * Maillage grossier du support : * Separation partie non conforme adaptee et remanante : * Vsup1 : partie du support maille finement * Vsup2 : support maille "grossierement" * Assemblage maillages depot et support : mail1 = mail1 et vsup1 ; mail0 = mail1 et vsup0 ; mail2 = mail2 et vsupx ; elim mail2 tol1 ; si ig1 ; fins ; * Assemblage maillages fins depot et support : i0 = &b1 - 1 ; tmail1 . i0 = (tmail1.i0) et vsup1 ; fin b1 ; *------- Adaptation en maillage : appel a la procedure ADAPTE --------* * Chargement de modeles pour ADAPTE : tmod0 = table ; i0 = 0 ; geoi1 = tmail1 . i0 ; i0 = i0 + 1 ; fin b1 ; * Definition du chargement de trajectoire evqt1 = tfab1.evolution_puissance ; ltraj1 = tfab1.trajectoire ; evxs1 = tfab1.evolution_deplacement ; * Chargement pour ADAPTE : char1 = cgmod0 et cgxs1 ; * Adaptation du maillage au cours du deplacement le long de la trajectoire *char2 ladap1 = adapte 'MAIL' mail2 char1 'DIST' (0.01*pi) 'TRAJ' 11.e-3 ; * Extraction table temps et maillage et chargement BLOT : * Affichage de l'adaptation : si faux ; tpsi1 = ttps3 . (&b1 - 1) ; def1 = def1 et defi1 ; * trac face maili3 ; fin b1 ; fins ; *----------- Accrochage DDL thermique parties non conformes -----------* * Surfaces interfaces maillages support non-conformes : * Relations DDL parties non conformes support : trig5 = table ; i0 = 0 ; tpsi1 = ttps3 . i0 ; * Il ne faut pas accrocher les points deja accroches par ADAPTE * ptsi1 : point deja accroches par ADAPTE * si2 : element de si1 dont les points sont deja accroches *trac (si1 et (aret geoi1) et (extr rigi1 mail nomu)) ; sino ; fins ; trig5 . i0 = rigi1 ; i0 = i0 + 1 ; fin b1 ; *--------------------- Modele / Caracteristique -----------------------* * Tables d'evolution des modeles et caracteristiques : lmod1 = enum ; lmod2 = enum ; lmod3 = enum ; lmat1 = enum ; lmat2 = enum ; lmat3 = enum ; i0 = 0 ; repe b1 nb1 ; tpsi1 = ttps3 . i0 ; ltps3 = ltps3 et tpsi1 ; * Conduction dans le massif adapte : geoi1 = geoi1 et vsup0 ; *trac geoi1 face ; lmod1 = lmod1 et modi1 ; lmat1 = lmat1 et mati1 ; * Convection a la surface du massif adapte * (il faut retirer les surfaces a l'interface des parties non conformes) : *trac (enve geoi2) ; lmod2 = lmod2 et modi2 ; lmat2 = lmat2 et mati2 ; * Source thermique dans le massif adapte : lmod3 = lmod3 et modi3 ; lmat3 = lmat3 et mati3 ; i0 = i0 + 1 ; fin b1 ; * Chargements MODE / MATE : cgmod0 = cgmod1 et cgmod2 et cgmod3 ; cgmat0 = cgmat1 et cgmat2 et cgmat3 ; *------------------------- Resolution PASAPAS -------------------------* ltca0 = twam1.temps_calcules ; si (non icomplet) ; sino ; ltca1 = ltca0 ; fins ; list ltca1 ; tab1 = table ; tab1.modele = cgmod0 ; tab1.caracteristiques = cgmat0 ; tab1.blocages_thermiques = cgblot1 et cgblot2 ; tab1.temps_calcules = ltca1 ; tab1.temps_adaptation_modele = ladap1 ; pasapas tab1 ; * Affichage temps de calcul : duree1 = (duree1 / 1000) ; dmin1 = (duree1 / 60) ; dsec1 = duree1 - (60 * dmin1) ; mess mot1 ; si icomplet ; sauv ; fins ; *------------------------ Petit post-traitement -----------------------* si ig1 ; * Animation du champ de temperature : modf1 = tab1.modeles.if1 ; si (ega vtra1 'PSC') ; fins ; repe b1 if1 ; modi1 = tab1.modeles.(&b1-1) ; chti1 = tab1.temperatures.(&b1-1) ; def1 = def1 et defoi1 ; si (ega vtra1 'PSC') ; fins ; fin b1 ; si (neg vtra1 'PSC') ; trac anim def1 liso1 ; fins ; fins ; *----------------------- Test de non regression -----------------------* ttest1 = tab1.temps.19 ; tmaxref1 = 1648.5 ; si ((abs (tmax1 - tmaxref1)) > 1.) ; fins ; *------------------ F I N W A A M 3 . D G I B I -----------------* fin ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales