* fichier : soudage4.dgibi * section : thermique conduction convection *----------------------------------------------------------------------* * S O U D A G E 4 . D G I B I * *----------------------------------------------------------------------* * Objet : * ------- * * Exemple d'utilisation d'un modele de SOURCE THERMIQUE GAUSSIENNE * pour la simulation d'une ligne de fusion en soudage sur une plaque * en acier 316L (proprietes approchees). * * Le resultat est compare au meme calcul realise en utilisant * l'operateur SOURCE et en faisant appel aux procedures utilsateur de * PASAPAS pour representer l'avancement de la torche. * * Le jeu de donnees se decompose ainsi en 2 parties : * - une 1ere partie "exemple" * - une 2nd partie "validation" * * Description : * ------------- * * Type de calcul : Thermique Transitoire * Mode de calcul : 3D * Type d'element : CUB8 * Chargement : Source de chaleur, Convection * Reference : Comparaison des resultats de 2 mises en donnees * differentes * Objectif : Ecart relatif < 1.e-12 car meme calcul mais mise en * donnees differente. * *----------------------------------------------------------------------* * * Mettre ig1 a VRAI pour visualiser le calcul : ig1 = faux ; *opti trac psc ; * Mettre icomplet a VRAI pour le calcul complet : icomplet = faux ; * Racine du nom du fichier (pour nom fichier sauvegarde et animation) : fic1 = 'soudage4' ; *----------------------------------------------------------------------* * 1ere PARTIE * * * * E X E M P L E * * * * * *----------------------------------------------------------------------* * *---------------------------- Parametres -----------------------------* * * Geometrie : longueur, largeur, epaisseur lo1 = 100.e-3 ; la1 = 50.e-3 ; ep1 = 10.e-3 ; * Densite maillage : de1 = 2.5e-3 ; *---- Parametres physiques : * rho1 : masse volumique (kg/m3) * cp1 : capacite calorifique (J/kg/K) * k1 : conductivite thermique (W/m/K) * h1 : coefficient d'echange convectif (W/m2/K) rho1 = 7760. ; cp1 = 500. ; k1 = 24. ; h1 = 20. ; *---- Parametres du chargement : * Soudage : * vs1 : vitesse de soudage (m/s) * tis1 : instant debut deplacement de la torche (s) vs1 = 80.e-3 / 60. ; tis1 = 0. ; * Source de chaleur Gaussienne : * q0 : puissance thermique totale (W) * r0 : rayon source Gaussienne (m) * z0 : profondeur source Gaussienne (m) q0 = 1.5e3 ; r0 = 6.e-3 ; z0 = 3.e-3 ; * * Conditions iniiale & aux limites * tini0 : temperature initiale * te0 : temperature exterieure de convection tini0 = 20. ; te0 = 20. ; *------------------------------ Maillage ------------------------------* * Repere : O1 = 0 0 0 ; X1 = 1 0 0 ; Y1 = 0 1 0 ; Z1 = 0 0 1 ; * Maillage de la plaque : P1 = la1 * y1 ; * Surface de convection : si ig1 ; trac cach v1 titre ' Maillage de la plaque ' ; fins ; *------------------------ CI - CL / Chargement -----------------------* ***** Definition du chargement thermique de la torche ***** * Ligne de fusion : ps1 = 3.e-3 0.e-3 ep1 ; ps2 = (lo1 - 5.e-3) (la1 - 2.e-3) ep1 ; si ig1 ; trac chs1 ls1 titre 'Abscisse curiviligne de la ligne de fusion' ; fins ; * Evolution temporelle de la position de la torche TIG (m/s) : * tfs1 : instant fin de deplacement de la torche (s) si ig1 ; titre ' Evolution temporelle du deplacement de la torche (abscisse curviligne)' ; fins ; * Chargement decrivant le trajet de la source : * Evolution temporelle de la puissance de la torche : evq1 = q0 * evq1 ; si ig1 ; titre ' Evolution temporelle de la puissance thermique de la torche (W) ' ; fins ; *--------------------- Modele / Caracteristiques ----------------------* * Conduction : * Convection : * Source Gaussienne elliptique : *------------------------- Resolution PASAPAS -------------------------* * Instants de calcul : * pas1 : pas de temps pour avancer d'un 1/2 element pas1 = 0.5 * de1 / vs1 ; si icomplet ; fins ; * Table PASAPAS : ta1 = table ; ta1 . modele = mo1 et mocv1 et moq1 ; ta1 . caracteristiques = ma1 et macv1 et maq1 ; ta1 . temps_calcules = ltca1 ; * Affichages en cours de calcul avec PERSO2 : ta1 . procedure_perso2 = vrai ; debp PERSO2 tu1*table ; tps1 = tu1.estimation.temps ; si ig1 ; fins ; finp ; fins ; pasapas ta1 ; *----------------------------------------------------------------------* * 2nd PARTIE * * * * V A L I D A T I O N * * * * * *----------------------------------------------------------------------* *------------------------ CI - CL / Chargement -----------------------* * Temperature initiale de la plaque : * Temperature exterieure d'exchange convectif et chargement associe : *-------------------- Source de chaleur Gaussienne --------------------* * PROCEDURE MODSOURC : modelise une source de chaleur Gaussienne *----------------------------------------------------------------------* debp modsourc mod1*mmodel pt1*point q1*flottant a1*flottant b1*flottant ig1/logique ; chx1 = chx1 - xs1 ; chy1 = chy1 - ys1 ; chz1 = chz1 - zs1 ; chq1 = ((chx1 ** 2) + (chy1 ** 2) / a1 / a1) + (chz1 ** 2 / b1 / b1) * -2. ; qx1 = ((2. ** 5) / (PI ** 3)) ** 0.5 ; qx1 = q1 * qx1 / a1 / a1 / b1 ; chq1 = qx1 * (exp chq1) ; si ig1 ; fins ; finp sq1 ; * Chargement associe a la source a l'instant initial (t=0) : chq1 = modsourc mo1 ps1 q0 r0 z0 ig1 ; *------------------------------ CHARTHER ------------------------------* * PROCEDURE CHARTHER : deplacement de la source au cours du temps *----------------------------------------------------------------------* * * Passage des donnees "perso" : lxs1 = tu1.donnees_charther.trj ; evxs1 = tu1.donnees_charther.evs ; evxq1 = tu1.donnees_charther.evq ; rx1 = tu1.donnees_charther.rayo ; zx1 = tu1.donnees_charther.prof ; * Instant courant et modele : mox1 = tu1.wtable.mod_cond ; * Calcul de la source : chqxs1 = modsourc mox1 pxs1 qx1 rx1 zx1 ; tu2 . addi_second = chqxs1 ; finp tu2 ; *------------------------- Resolution PASAPAS -------------------------* * Table PASAPAS : ta2 = table ; ta2 . modele = mo1 et mocv1 ; ta2 . caracteristiques = ma1 et macv1 ; ta2 . chargement = cg1 ; ta2 . temps_calcules = ltca1 ; * Temperature initiale : ta2 . temperatures . 0 = cht0 ; * Traces de controle : ta2 . procedure_perso2 = vrai ; ta2 . procedure_charther = vrai ; * Donnees procedure CHARTHER : ta2 . donnees_charther = table ; ta2 . donnees_charther . trj = ls1 ; ta2 . donnees_charther . evs = evs1 ; ta2 . donnees_charther . evq = evq1 ; ta2 . donnees_charther . rayo = r0 ; ta2 . donnees_charther . prof = z0 ; pasapas ta2 ; *----------------------------------------------------------------------* * Comparaison resultats ta1 & ta2 * *----------------------------------------------------------------------* * On ne compare que les champs de temeprature : tt1 = ta1. temperatures ; tt2 = ta2. temperatures ; Tmax1 = 0. ; repe b1 nb1 ; i1 = &b1 - 1 ; si (Tmaxi1 > Tmax1) ; Tmax1 = Tmaxi1 ; fins ; fin b1 ; * * Message : * test d'erreur : si (err1 > 1.e-6) ; fins ; * fin ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales