* fichier waam4.dgibi * section : thermique conduction convection *----------------------------------------------------------------------* * W A A M 4 . D G I B I * *----------------------------------------------------------------------* * Objet : * ------- * * Exemple de simulation thermique d'une fabrication additive en WAAM. * L'exemple simule la realisation d'un piquage a 45 degres sur un tube * (tube A). Le depot et le tube A sont en acier 316L. * * On modelise la conduction, la convection et le rayonnement avec le * milieu ambiant. La source de chaleur suit 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 a la procedure SOUDAGE pour definir la * sequence de fabrication et indexer l'appartion des mailles au cours * du temps le long de la trajectoire de l'outil (sequancage de l'apport * de matiere). * * Cet exemple sert notamment a verifier le bon fonctionnement de * l'option MAIL de la procedure SOUDAGE utilisee pour le sequencage du * maillage dans le cas d'une trajectoire circulaire fermee. * * Un test de non regression est realise sur la temperature en un point * et un instant donne du calcul. * * Description : * ------------- * * Type de calcul : Thermique Transitoire * Mode de calcul : 3D * Type d'element : CUB8, PRI6, TET4 * Chargement : Source de chaleur, Convection, Rayonnement, * Apport de matiere * *----------------------------------------------------------------------* *opti trac psc ; * Pour affichages, mettre IG1 a VRAI : ig1 = faux ; * Pour sortie PS sequencage apport de matiere, mettre ISEQMAIL a VRAI : iseqmail = faux ; * Pour sortie PS champ temperature au cours du temps, mettre ITANIM a VRAI : iT_anim = faux ; * Pour calcul complet, mettre ICOMPLET a VRAI : icomplet = faux ; *----------------------------------------------------------------------* * Parametres du modele * *----------------------------------------------------------------------* *------------------ Parametres geometrie et maillage ------------------* * Rae1 : rayon exte. tube A (m) * Rai1 : rayon inte. tube A (m) * Rbe1 : rayon exte. tube B (m) * Rbi1 : rayon inte. tube B (m) * Rbm1 : rayon moyen tube B (m) * Angl1 : angle axes tubes A et B (degres) * Np1 : nombre de passe de fabrication * epp1 : epaisseur d'une passe * de1 : densite maillage passe (tube B) * de2 : densite maillage tube A * ne1 : nombre d'element sur la trajectoire circulaire d'une passe * ne2 : nombre d'element sur le perimetre du tube fabrique Rae1 = 150.e-3 ; Rai1 = 135.e-3 ; Rbe1 = 100.e-3 ; Epb1 = 10.e-3 ; Rbi1 = Rbe1 - Epb1 ; Rbm1 = 0.5 * (Rbe1 + Rbi1) ; Angl1 = 45. ; Np1 = 5 ; epp1 = 4.e-3 ; de1 = 2.e-3 ; de2 = 10. * de1 ; ne1 = 40 ; ne2 = enti (2. * pi * Rbm1 / de1 + 0.5) ; ne2 = ne2 / 2 ; *----------------------- Parametres fabrication -----------------------* * Us1/Us2 : tension 1ere/autres passes * Is1/Is2 : intensite 1ere/autres passes * eta1 : rendement * dtini1 : duree prechauffage 1ere passe (s) * dtpasse1: temps de pause entre 2 passes (s) * Dfil1 : diametre de fil (m) * Vfil1 : vitesse de debit de fil (m/s) * Vs1 : vitesse de soudage (m/s) * Rg1 : rayon source Gaussienne (m) * Zg1 : profondeur source Gaussienne (m) Us1 = 30. ; Us2 = 25. ; Is1 = 250. ; Is2 = 250. ; eta1 = 0.8 ; dtini1 = 1.0 ; dtpasse1 = 600. ; Dfil1 = 2.e-3 ; Vfil1 = 3.5 / 60. ; Vs1 = 300.e-3 / 60. ; Rg1 = 5.e-3 ; Zg1 = 3.e-3 ; *----------------- Parametres modelisation thermique ------------------* * T0 : temperature initiale et ambiante (degC) * H1 : coefficient de convection (W/m2) * Em1 : emissivite ZeroC1 = 273.16 ; T0 = 20. + ZeroC1 ; H1 = 20. ; Em1 = 0.5 ; *----------------------------------------------------------------------* * MAILLAGE * *----------------------------------------------------------------------* * Repere : O1 = 0 0 0 ; X1 = 1 0 0 ; y1 = 0 1 0 ; z1 = 0 0 1 ; *------------------------- Maillage du depot --------------------------* * Points et lignes de de construction : PCA1 = 1 0 0 ; PCB1 = 1 0 0 ; RBM1 = (0.2 * Rbi1) + (0.8 * Rbe1) ; * Diametres ext., int. et moyen du tube B oriente suivant Ox ; * Rotation lignes de contruction tube B a Angl1 de Ox : * Projections surfaces sur tube A : *trac (LCBE1 et LCBI1 et LCBM1) (1000. * PCB1) titr mot1 ;; * Construction maillage passe par passe & * Construction de la trajectoire : nep1 = enti (epp1/de1+0.5) ; ttrj1 = table ; tdir1 = table ; Si1 = Sb2 ; repe bpasse1 Np1 ; i1 = &bpasse1 ; * Maillage passe : VTB0 = VTB0 et Vi1 ; *trac (Si1 et (aret VTB0)) ; * Maillage trajectoire : ttrj1 . i1 = ltrj1 ; * Direction normale a la passe : ldiri1 = enum ; ldiri1 = ldiri1 et pdirij1 ; fin bdir1 ; tdir1 . i1 = ldiri1 ; * Passe suivante ; Pi1 = Pi2 ; *trac (ltrj1 et (aret VTB0)) ; fin bpasse1 ; *----------------------- Tests option PROJ CYLI -----------------------* LCA0 = LCAE1 et LCAI1 ; si ig1 ; fins ; si ig1 ; fins ; si ig1 ; fins ; si ig1 ; fins ; si ig1 ; fins ; *------------------------- Maillage du tube A -------------------------* * Maillage tranche tube A sous surface base tube B : *Stai1 = Sb2 proj dire (O1 moin pcb1) cyli O1 X1 (Rai1 * Y1) ; *opti trac x ; trac face (1000*X1) (VTA1 et vtb0) ; opti trac psc ; * Surface exterieure : dXA1 = Rbe1 / (cos 45.) + (Rae1 + Rbe1 * 0.2) ; * Contour du tube B : csbe2 = tsb2 . 1 ; csbe2 = tsb2 . 2 ; fins ; * Contour global et maillage surface exte. tube A : * Surace interieure : * Contour exte. Stai1 : cstai1 = tstai1 . 1 ; cstai1 = tstai1 . 2 ; fins ; * Contour global et maillage surface inte. tube A : * Bords : * Volume partie sup. tube A : * Extensions axiales : VTA3 = VTAx0 et VTAx1 ; * Volume partie infe. (opposee au piquage) : * Maillage total tube A : *------------------------ Affichages Maillages ------------------------* oeil1 = -100 100 80 ; si ig1 ; fins ; *----------------------------------------------------------------------* * Sequence de fabrication * *----------------------------------------------------------------------* * Puissances de soudage : Qs1 = eta1 * Us1 * Is1 ; Qs2 = eta1 * Us2 * Is2 ; * Vitesse de deplacement entre 2 passes pour un temps de pause donnee : * Donnees d'entree : tfab1 = table ; tfab1 . vitesse_de_soudage = Vs1 ; tfab1 . vitesse_de_deplacement = vdepl1 ; tfab1 . puissance_de_soudage = Qs2 ; tfab1 . debit_de_fil = 0.25 * pi * Dfil1 * Dfil1 * Vfil1 ; tfab1 . temps_de_coupure = 0.5 ; * Sequence de fabrication : repe bfab1 nfab1 ; si (&bfab1 ega 1) ; sino ; fins ; si (&bfab1 ega nfab1) ; quit bfab1 ; fins ; fin bfab1 ; * Affichages sequence de fabrication : si ig1 ; fins ; *-------------------- Sequencage apport de matiere --------------------* * Sequencage maillage le long de la trajectoire : ttps1 = tseq1 . evolution_maillage . temps ; tmai1 = tseq1 . evolution_maillage . maillage ; oeil2 = 100 50 150. ; si iseqmail ; i1 = 0 ; geoi1 = tmai1 . i1 ; i1 = i1 + 1 ; fin b1 ; fins ; *----------------------------------------------------------------------* * Modelisation Thermique * *----------------------------------------------------------------------* * Donnees materiau : evk1 = t316L.'K' + Zeroc1 absc ; evc1 = t316L.'C' + Zeroc1 absc ; * Modele de conduction : VT0 = VTA0 et VTB0 ; * Modele source thermique : * Evolution de la position de la source et direction de soudage : evqt1 = tfab1.evolution_puissance ; evxs1 = tfab1.evolution_deplacement ; * Visualisation : si ig1 ; * Maillage orientation direction soudage pour visu : ltrji1 = ttrj1 . &bx1 ; ldiri1 = tdir1 . &bx1 ; fin by1 ; fin bx1 ; fins ; * Definition du modele : * Sequencage modeles : lgeo0 = enum nb1*vta0 ; * Vectorisation des operations sur les listes de maillages et de modeles * en activant la parallelisation : lgeo1 = lgeo0 et lgeo1 ; * Chargements MODE / MATE : * Retour en sequentiel : chaque commande sert de point d'arret cgmod0 = cgmod1 et cgmod2 et cgmod3 ; cgmat0 = cgmat1 et cgmat2 et cgmat3 ; *------------------------- Resolution PASAPAS -------------------------* ltca0 = tseq1.temps_calcules ; si icomplet ; ltca1 = ltca0 ; sino ; fins ; list ltca1 ; tpas1 = table ; tpas1.modele = cgmod0 ; tpas1.caracteristiques = cgmat0 ; tpas1.temps_calcules = ltca1 ; tpas1.precision = 1.e-5 ; pasapas tpas1 ; * Affichage temps de calcul : duree1 = (duree1 / 1000) ; dmin1 = (duree1 / 60) ; dsec1 = duree1 - (60 * dmin1) ; mess mot1 ; si icomplet ; sauv ; fins ; *------------------------ Petit post-traitement -----------------------* si iT_anim ; * Sorties PS du champ de temperature : * Image toutes les : * - dtimag1 quand puiss. thermique non nulle * - FFwd1*dtimag1 sinon. dtimag1 = 2. ; FFwd1 = 10. ; ifin1 = faux ; tpsi1 = 0. ; repe b1 ; chti1 = chti1 - ZeroC1 ; thetai1 = yi1 / Ri1 * 180. / pi ; tpsi1 = tpsi1 + dtimag1 ; tpsi1 = (FFwd1 - 1.) * dtimag1 + tpsi1 ; fins ; si (tpsi1 > tpsf1) ; si ifin1 ; quit b1 ; sino ; tpsi1 = tpsf1 ; ifin1 = vrai ; fins ; fins ; fin b1 ; fins ; *------------------------- Test non-regression ------------------------* * Temperature au pas 10 : ttest1 = tpas1.temps.10 ; * Affichage T max. * On verifie qu'on a depasse la temperature de fusion : si (tmax1 < (t316L.tfus)) ; fins ; *------------------ F I N W A A M 4 . D G I B I -----------------* fin ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales