$$$$ ROSENT * ROSENT PROCEDUR DEGAY 95/05/11 21:16:52 1663 DEBPROC ROSENT TAB1*TABLE; ******************************************************************** * PROCEDURE ROSENT : Calcul du champ de température créé par le * * déplacement d'un arc de soudure * * (D'après Rosenthal : Mathematical Theory of Heat * * Distribution During Welding and Cutting) * ******************************************************************** * Entrées : TABLE : * * 'PUISSANCE' : REEL : Puissance de l'arc (en W) * * 'RENDEMENT' : REEL : Rendement de l'arc : Rapport de * * la puissance recue par la pièce et de la puissance * * de l'arc * * 'DIFFUSVITE' : REEL : Diffusivité thermique du * * matériau (en m2/s) * * 'CONDUCTIVITE' : REEL : Conductivité thermique du * * matériau (en W/Km2) * * 'VITESSE' : REEL : Vitesse de déplacement de l'arc * * (en m/s) * * 'T0' : REEL : Température ambiante (en °C ou en K) * * 'NTERMES' : ENTIER : Nombre de termes de la somme * * 'MAILLAGE' : MAILLAGE : Maillage support du champ de * * température * * 'EPAISSEUR' : REEL : Epaisseur de la pièce (en m) * * 'LOCAL' : BOOLEEN : VRAI si la pièce est décrite dans * * le repère local à l'arc * * 'INSTANT' : REEL : Si 'LOCAL' est FAUX, instant * * auquel il faut calculer le champ de température * * (l'abscisse de l'arc est alors V*t) (en s) * * 'GAUSS' : BOOLEEN : VRAI si la source est gaussienne * * 'XPOS' : REEL : Si 'GAUSS' est VRAI, abscisse de la * * source * * 'YPOS' : REEL : Si 'GAUSS' est VRAI, ordonnee de la * * source * * Sortie : CHPOINT : Champ de température (en °C ou en K) * ******************************************************************** &IMP = 'VALEUR' IMPI; *&IMP = 1; EPS1 = 1.0E-4; Q = TAB1.'PUISSANCE'; RHO = TAB1.'RENDEMENT'; A = TAB1.'DIFFUSVITE'; LBDA = TAB1.'CONDUCTIVITE'; V = TAB1.'VITESSE'; T0 = TAB1.'T0'; NTER = TAB1.'NTERMES'; OBJ = TAB1.'MAILLAGE'; THK = TAB1.'EPAISSEUR'; SI (EXISTE TAB1 'LOCAL'); LRL = TAB1.'LOCAL'; SINON; LRL = FAUX; FINSI; SI (NON LRL); TPS = TAB1.'INSTANT'; CHVT = OBJ MANU 'CHPO' 1 SCAL (V*TPS); FINSI; * SI (EGA &IMP 1); MESS 'Creation des CHPOINT'; FINSI; CHT0 = OBJ MANU 'CHPO' 1 SCAL T0; CHEP = OBJ MANU 'CHPO' 1 SCAL EPS1; * CHX = COOR 1 OBJ; CHY = COOR 2 OBJ; CHZ = COOR 3 OBJ; * SI (EXISTE TAB1 'GAUSS'); BGAUSS = TAB1.'GAUSS'; SINON; BGAUSS = FAUX; FINSI; SI (BGAUSS); CHX0 = OBJ MANU 'CHPO' 1 SCAL (TAB1.'XPOS'); CHY0 = OBJ MANU 'CHPO' 1 SCAL (TAB1.'YPOS'); CHX = CHX - CHX0; CHY = CHY - CHY0; FINSI; * SI (LRL); CHKS = CHX; SINON; CHKS = CHX - CHVT; FINSI; * SI (EGA &IMP 1); MESS 'Calcul du champ de temperatures'; FINSI; CHR = ((CHKS**2) + (CHY**2) + (CHZ**2))**0.5; CHR = CHR + CHEP; CHTT = ((-0.5)*V/A)*CHR; CHTT = (EXP(CHTT))/CHR; * SI (EGA &IMP 1); MESS 'Nombre de noeuds ' (NBNO OBJ); FINSI; I = 0; REPETER BOUC1 NTER; I = I + 1; SI (EGA &IMP 1); MESS 'Boucle N =' I; FINSI; CHTN = OBJ MANU 'CHPO' 1 SCAL (2.*I*THK); CHRN = ((CHKS**2) + (CHY**2) + ((CHTN - CHZ)**2))**0.5; CHRPN = ((CHKS**2) + (CHY**2) + ((CHTN + CHZ)**2))**0.5; CHTN = ((-0.5)*V/A)*CHRN; CHTN = (EXP(CHTN))/CHRN; CHTPN = ((-0.5)*V/A)*CHRPN; CHTPN = (EXP(CHTPN))/CHRPN; CHTT = CHTT + CHTN + CHTPN; FIN BOUC1; * CHTT = (EXP(((-0.5)*V/A)*CHKS))*CHTT; CHTT = (Q*RHO/(2.*PI*LBDA))*CHTT; CHT = CHT0 + CHTT; RESP CHT; * FINPROC;