* fichier : soudage3.dgibi *OPTI TRAC 'PSC' ; GRAPH = faux ; ************************************************************************ * Debut du jeu de donnees de soudage multipasse H. Pommier 12/03/2017 * * OPTIONS GENERALES * - 3D * - Grande Deformations * * THERMIQUE * - Source de chaleur volumique (Goldak) dépendant du temps * - Conduction dans la matière * - Convection les bords hors cordon de soudure * - Proprietes matériaux qui dépendent de T * * MECANIQUE * - Dilatation thermique * - Proprietes matériaux qui dépendent de T * - Materiaux ELASTIQUE "mou" dans les zones inactives * - Matériaux elastoplastique dans les zones actives * - Perte des proprietés mecaniques à l'état liquide (PERSO1) * - Activation des élèments dès qu'ils ont fondus une 1ère fois(PERSO2) * ************************************************************************ ***PROCEDURES 'DEBP' PERSO1 TAB1*'TABLE' ; ************************************************************************ * PROCEDURE PERSO1 : Apres la MECANIQUE dans PASAPAS * - Annnule la deformation plastique cumulee * - Annnule la deformation inelastique * lorsque les elements sont à l'etat Liquide (T > Tfusion) ************************************************************************ WTAB = TAB1.'WTABLE' ; * Recuperation des ELEMENTS LIQUIDES dans le Champs de TEMPERATURE CHPTEMP = TAB1.'ESTIMATION'.'TEMPERATURES'; * Deformations inelastiques CHELCAL = EIDITH ; 'TYPE' 'DEFORMATIONS_INELASTIQUES' 'STRESSES' ; CHELNEW= CHELNEW ET CHELSUP ; FIN ICOMP; EIDITH = CHELNEW 'ET' CHELINF ; * Variables internes CHELCAL = EPSETH ; 'TYPE' 'VARIABLES_INTERNES' 'STRESSES' ; CHELNEW= CHELNEW ET CHELSUP ; FIN ICOMP; EPSETH = CHELNEW 'ET' CHELINF ; * Mise a jour dans la TABLE TAB1.'ESTIMATION'.'DEFORMATIONS_INELASTIQUES' = EIDITH ; TAB1.'ESTIMATION'.'VARIABLES_INTERNES' = EPSETH ; FINS; 'FINP' TAB1; 'DEBP' PERSO2 TAB1*'TABLE' ; ************************************************************************ * PROCEDURE PERSO2 : Apres la THERMIQUE dans TRANSNON * - met a jour le MODELE et le MATERIAU MECANIQUE : DEGRADEES -> NOMINALES * - met a jour la TEMPERATURE_REFERENCE pour les elements fondus * - ATTENTION : La temperature a jour est dans l'indice WTAB.'THER_COURANT' ************************************************************************ WTAB = TAB1 . 'WTABLE' ; MATTOT = TAB1.'CARACTERISTIQUES' ; 'MAILLAGE' ; * Recuperation des ELEMENTS LIQUIDES dans le Champs de TEMPERATURE ************************************************************************ * Traitement du MODELE NOMINAL / DEGRAGE ************************************************************************ * Construction du MAILLAGE des ELEMENTS actifs nouveaux MAILINI = TAB1 .'MAILLAGE_ACTIF'. (NB_PAS-1) ; MAILNOMI= MAILINI ET MAILADDI ; BTEST = FAUX; * Mise a jour du MODELE et du MATERIAUX si on a des ELEMENTS ADDITIONNELS MODMECA = MODPIECE ; MODMECA = MODMECA ET MODNOMI ; FINS; * Mise a jour dans la TABLE pour le PAS suivant WTAB. 'MOD_MEC' = MODMECA ; WTAB. 'MAT_MEC' = MATMECA ; WTAB. 'MO_TOT' = MODMECA ; WTAB. 'MA_TOT' = MATMECA ; * Indice obligatoire a renseigner car PAS_ETAT travaille sur MODELE WTAB. 'MODELE' = MODMECA ET MODTHER ; WTAB. 'CARACTERISTIQUES' = MATMECA ET MATTHER ; * Enregistrement du MAILLAGE_ACTIF TAB1.'MAILLAGE_ACTIF'. NB_PAS = MAILNOMI ; TAB1.'MES_MODEL' . NB_PAS = WTAB. 'MODELE' ; *ajout HP 14/04/2017 TAB1.'MODELE' = WTAB. 'MODELE' ; BTEST = VRAI; SINO; * Recuperation depuis le PAS precedent TAB1.'MAILLAGE_ACTIF'. NB_PAS = MAILINI ; TAB1.'MES_MODEL' . NB_PAS = TAB1.'MES_MODEL'.(NB_PAS-1) ; FINS; FINS; ************************************************************************ * Traitement des ELEMENTS FONDUS ************************************************************************ * Construction du MAILLAGE des ELEMENTS fondus nouveaux MAILINI = TAB1.'MAILLAGE_FONDU'. (NB_PAS-1) ; * Recalcul de 'TEMPERATURE_REFERENCE' sur le nouveau modele MAILFOND = MAILINI ET MAILADDI ; WTAB.'TEMPERATURE_REFERENCE' = TREFSUP 'ET' TREFDIF ; * Enregistrement du MAILLAGE_ACTIF du MODELE et du MAILLAGE_FONDU TAB1.'MAILLAGE_FONDU'. NB_PAS = MAILFOND ; SINO; * Recuperation depuis le PAS precedent TAB1.'MAILLAGE_FONDU'. NB_PAS = MAILINI ; * Ajout HP 18/04/2017 * Diminution TREF jusqua temperature fusion 1400 au refroidissement * Construction du MAILLAGE des ELEMENTS refroidis *MODRE est le modele meca reduit au modele fondu *CHTRE est le champ par elem des temperatures de MODRE *ELEMRE est l ensemble des elements du maillage fondu *dont CHTRE est strict inf a Tfus *MODRE est le modele meca reduit a ELEMRE, ie a l ensemble des elements *du maillage fondu dont la temp est strict inf a Tfus *TREFRE est le champ par elements de Tfus sur MODRE *MTREFF est le maillage fondu comprenant uniquement les elements *dont la temp est sup ou eg a Tfus *MODTOL est le modele meca reduit aux elements du maillage fondu *de T >= Tfus WTAB.'TEMPERATURE_REFERENCE' = (OLDTREF 'ET' TREFRE) ET TREF0 ; FINS; * Fin ajout HP 18/04/2017 FINS; 'FINP' TAB1; ************************************************************************ * NOM : SOUGOLD0 * DESCRIPTION : Source normalisée GOLDAK * * LANGAGE : GIBIANE-CAST3M * AUTEUR : Olivier ASSERIN (CEA/DEN/DM2S/SEMT/LTA) * mél : olivier.asserin@cea.fr ************************************************************************ * VERSION : v1, 17/07/2008, version initiale * HISTORIQUE : modification pour PASAPAS H. POMMIER 02-2017 * HISTORIQUE : * HISTORIQUE : ************************************************************************ ************************************************************************ DEBP SOUGOLD0 mo_sou*'MMODEL' P_Sour*'LISTREEL' pos_sou*'POINT' theta1*'FLOTTANT' wd*'FLOTTANT' tt*'FLOTTANT' dirs*'LISTREEL' ; *** repere local(xs,ys,zs) xxloc = xglo - xsou ; yyloc = yglo - ysou ; zzloc = zglo - zsou ; *** Rotation de theta1 autour de l'axe des X *** puis rotation de theta2 autour de l'axe du nouvel axe des Z cos1 = COS theta1 ; sin1 = SIN theta1 ; theta2 = 0. ; cos2 = COS theta2 ; sin2 = SIN theta2 ; xloc = (cos2*xxloc)+((cos1*sin2)*yyloc)+((sin1*sin2)*zzloc) ; yloc = ((-1.*sin2)*xxloc)+(cos1*(cos2*yyloc))+((sin1*cos2)*zzloc) ; zloc = ((-1.*sin1)*yyloc)+(cos1*zzloc) ; *** * contribution de la source en y et z cy = EXP ( (-3./(a**2.)) * (yloc * yloc) ) ; cz = EXP ( (-3./(b**2.)) * (zloc * zloc) ) ; *** * on calcule la source en avant du front cx_av = EXP ( ( -3. / ( Cf ** 2. ) ) * (xloc * xloc) ) ; cx_ar = EXP ( ( -3. / ( Cr ** 2. ) ) * (xloc * xloc) ) ; cx_av = fil_av * cx_av ; cx_ar = fil_ar * cx_ar ; cx = cx_av + cx_ar ; Rf = 2. / (1. + ( Cr / Cf ) ) ; Pi1 = (3.14159265358979**1.5) ; qmax = (6 * (3.**0.5) * Rf * Q) / (Pi1 * Cf * a * b) ; CHPO_SOM = qmax * cx * cy * cz ; SI (tt '>' wd) ; CHPO_SOM = '*' CHPO_SOM 0. ; FINSI ; FINP CHPO_SOM ; ************************************************************ *********CHARTHER TAA=TABLE ; ETAB=PRECED.'WTABLE' ; *position source xsu = '*' ('-' tt ('*' (I-1) tfin)) vit0 ; vecp = xsu 0. 0. ; ang_sou = 0. ; pvol = SOUGOLD0 modther P_sour pos_sou ang_sou wdur tt dirs ; **Correction puissance qsours = qvol ; facteur = 1. ; QSurf0 = 0. ; SI (qsours 'NEG' 0.) ; puiseff = '/' ('+' QVol0 QSurf0) facteur ; rfsour = qvol ; cf = '/' puiseff qsours ; pvol = '*' pvol cf ; qsours2 = qvol2 ; FINS ; *CHARGEMENT * sortie du second membre TAA . 'ADDI_SECOND' = charsou ; FINP TAA; ************************************************************************ ************************************************************************ ************************************************************************ ************************************************************************ ************************************************************************ **************DEBUT MISE EN DONNES ************************************************************************ ************************************************************************ * OPTIONS GENERALES DU CALCUL *GEOMETRIE *Construction carre elementaire nl0 = 2 ; wdur = '/' ('*' ('-' nl0 1) l0) vit0 ; ************************************************************************ * PARAMETRES DU SOUDAGE * ************************************************************************ N_PIECE = 1 ; N_PASSE = '*' N P ; T_INIT = 20. ; TAREF = -273.15 ; T_CONV = T_INIT ; T_FUSION = 1400. ; Q = 2000. ; a = 0.005 ; b = 0.005 ; Cf = 0.005 ; Cr = 0.01 ; * Construction de la TABLE SOUDAGE pour stocker l'etude * Creation de la TABLE des CONSTITUANTS 'REPETER' INDICE N_PASSE ; I = &INDICE ; 'FIN' INDICE ; * Creation de la TABLE des sequences de la source 'REPETER' INDICE N_PASSE ; I = &INDICE ; pas1 = 0.5 ; pas2 = 5. ; pas3 = 200. ; 'FIN' INDICE ; ************************************************************************ * MAILLAGES * ************************************************************************ *Tables pour couleur passes TABCOUL1 = TABLE; TABCOUL2 = TABLE; TABCOUL1.1 = ROSE ; TABCOUL1.2 = VERT ; TABCOUL1.3 = JAUN ; TABCOUL1.4 = OCEA ; TABCOUL1.5 = ROSE ; TABCOUL1.6 = TURQ ; TABCOUL1.7 = ROUG ; TABCOUL1.8 = BLEU ; TABCOUL1.9 = TURQ ; TABCOUL1.10 = AZUR ; TABCOUL1.11 = ORAN ; TABCOUL1.12 = ROUG ; *************************************** d0 = 0.0025 ; P1 = 0. 0. 0. ; P2 = 0. ('*' l0 -1.) 0. ; P3 = 0. ('*' l0 -1.) l0 ; P4 = 0. 0. l0 ; TMAIL = 'TABLE' ; *PASSES K = 1 ; REPE BLOCN N ; I = '-' &BLOCN 1 ; REPE BLOCP P ; J = '-' &BLOCP 1 ; ****COUL 'REPETER' BCOUL ('*' N P) ; H = &BCOUL; TABCOUL2.H = TABCOUL1.HH ; 'FIN' BCOUL ; **** JJ = '*' J -1. ; SPASSE = MAILP = MAILP ET TMAIL.NPASSE ; K = '+' K 1 ; FIN BLOCP ; FIN BLOCN; *PIECE COUL 'ROUG' ; COUL 'ROUG' ; COUL 'ROUG' ; COUL 'ROUG' ; vec0 = 0. ('*' l0 (('*' (P + 1) -1.))) ('*' l0 -1.); vec0 = 0. ('*' l0 (('*' P -1.))) ('*' l0 -1.) ; vec0 = 0. ('*' l0 (('*' (P + 1) -1.))) ('*' l0 -2.) ; vec0 = 0. ('*' l0 (('*' P -1.))) ('*' l0 -2.) ; REPE BLOCN N ; I = '-' &BLOCN 1 ; vec0 = 0. l0 ('*' l0 I) ; vec0 = 0. ('*' l0 2) ('*' l0 I) ; vec0 = 0. ('*' l0 ('*' (P + 1) -1.)) ('*' l0 I) ; vec0 = 0. ('*' l0 ('*' P -1.)) ('*' l0 I) ; FIN BLOCN; REPE BLOCP P ; J = '-' &BLOCP 1 ; vec0 = 0. ('*' ('*' l0 J) -1.) ('*' l0 -1) ; vec0 = 0. ('*' ('*' l0 J) -1.) ('*' l0 -2) ; FIN BLOCP ; MAIL1 = MAILP ET MPIECE1 ; SI GRAPH ; FINS ; * Creation de la TABLE des MAILLAGES * Creation de la TABLE des MAILLAGES * PASSES MECA 'REPETER' INDICE N_PASSE ; I = &INDICE ; PASSTEMP = TMAIL.NOMP ; 'FIN' INDICE ; * Verification que toutes les parties ont ete renseignees MESS ' Toutes les PIECES n ont pas de MAILLAGE'; FINSI; MESS ' Tous les APPORTS n ont pas de MAILLAGE'; FINSI; MESS ' Toutes les PIECES n ont pas de CONSTITUANT'; FINSI; MESS ' Tous les APPORTS n ont pas de CONSTITUANT'; FINSI; ****Position soudage K = 1 ; REPE BLOCN N ; I = &BLOCN ; REPE BLOCP P ; J = &BLOCP ; yloc = -0.5 * l0 * (2 * J - 1) ; zloc = '*' l0 I ; posloc = ('/' l0 2.) yloc zloc ; K = '+' K 1 ; FIN BLOCP ; FIN BLOCN; ************************************************************************ * MODELES * ************************************************************************ * PIECES a souder I=&INDICE ; MAILTHER = MAILMECA ; * MODELE MECANIQUE ET THERMIQUE MOMEC = MODE MAILMECA 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' 'PLASTIQUE' 'ISOTROPE' * 'TRI6' 'Q8RI' * 'TRI3' 'Q4RI' 'CONS' CONSTI ; MOTHE = MODE MAILTHER 'THERMIQUE' 'CONDUCTION' 'CONS' 'THER' ; SOUDAGE.'MODELE'.'PIECE'.'MECANIQUE'.'TOTAL' = SOUDAGE.'MODELE'.'PIECE'.'THERMIQUE'.'TOTAL' = FIN INDICE; * APPORTS durant les differentes passes I=&INDICE ; MAILTHER = MAILMECA ; * MODELE MECANIQUE ET THERMIQUE MOMECD = MODE MAILMECA 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' * 'TRI6' 'Q8RI' * 'TRI3' 'Q4RI' 'CONS' CONSTI ; MOMECN = MODE MAILMECA 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' 'PLASTIQUE' 'ISOTROPE' * 'TRI6' 'Q8RI' * 'TRI3' 'Q4RI' 'CONS' CONSTI ; SOUDAGE.'MODELE'.'APPORT'.'MECANIQUE'.'DEGRADE'.'TOTAL' = SOUDAGE.'MODELE'.'APPORT'.'MECANIQUE'.'NOMINAL'.'TOTAL' = SOUDAGE.'MODELE'.'APPORT'.'THERMIQUE'.'TOTAL' = FIN INDICE; * CONVECTION : Construction Automatique du CONTOUR demande 'MAILLAGE') ; 'MAILLAGE') ; SI GRAPH ; TRAC LEXTT ; FINS; SOUDAGE.'MODELE'.'APPORT'.'THERMIQUE'.'TOTAL' = ************************************************************************ * MATERIAUX * ************************************************************************ *Procédure pour calculer YOUN à partir d'une évolution 'DEBP' CALYO EV1*EVOLUTION; 'FINP' YOU1 ; ****************************************** * Lecture des MATERIAUX de la bibliotheque * BIBLIOTHEQUE disponible : '316L' '16MND5' * Initialisation du CONSTITUANT precedent NOMCONSP = 'NONDEFIN'; * PIECES a souder I=&INDICE; * Chargement des proprietes materiaux que si le constituant change NOMCONSP = NOMCONS; * Lecture des proprietes dans la bibliotheque * NOMDATA = CHAI 'Materiaux/' NOMCONS '/' NOMCONS'_E.csv' ; * TTMP = LIRE 'CSV' NOMDATA ; 700. 800. 900. 1000. 1500. 3000. ; 160e9 151e9 142e9 130e9 108e9 81e9 1e9 1e9 ; * NOMDATA = CHAI 'Materiaux/' NOMCONS '/' NOMCONS'_Nu.csv' ; * TTMP = LIRE 'CSV' NOMDATA ; 900 1000 1100 1200 1300 1390 1420 1450 3000 ; 0.323 0.326 0.33 0.336 0.339 0.346 0.349 0.353 0.353 0.353 0.353 0.353 ; VALNU = TTMP. 2 ; * NOMDATA = CHAI 'Materiaux/' NOMCONS '/' NOMCONS'_Rho.csv' ; * TTMP = LIRE 'CSV' NOMDATA ; 7.45e3 7.35e3 7.30e3 7.30e3 ; * NOMDATA = CHAI 'Materiaux/' NOMCONS '/' NOMCONS'_Limite_Elas.csv' ; * TTMP = LIRE 'CSV' NOMDATA ; 127e6 115e6 79e6 5e6 1e6 ; * NOMDATA = CHAI 'Materiaux/' NOMCONS '/' NOMCONS'_Epsi_Th.csv' ; * TTMP = LIRE 'CSV' NOMDATA ; 1200 1420 1460 3000 ; 0.0126 0.0147 0.0168 0.019 0.0212 0.0235 0.029 0.0298 0.0298 ; LALPHA = TTMP. 2 / (TTMP. 1 - TAREF) ; * NOMDATA = CHAI 'Materiaux/' NOMCONS '/' NOMCONS'_Ecrou_T.csv' ; * TTMP1 = LIRE 'CSV' NOMDATA ; * NOMDATA = CHAI 'Materiaux/'NOMCONS'/'NOMCONS'_Ecrou_Cont_Def.csv ' ; * TTMP2 = LIRE 'CSV' NOMDATA ; J=&ITEMPER; LTEMPER= LTEMPER ET TEMPER ; * Interpolation du module de YOUNG et SIGY a la temperature TEMPER * Calcul de EPSIY a partir de YOUNIPOL et SIGYIPOL EPSIY = SIGYIPOL / YOUNIPOL; * Construction de la courbe de traction Complete pour Cast3M EVTOT1 = EVTOT1 ET EVTRAC; EVTOT2 = EVTOT2 ET EVECRO; * Construction du NUAGE qui associe une EVOLUTION a une TEMPERATURE SI (J EGA 1); NUATRAC = NUAGE 'COMP' 'T ' TEMPER 'COMP' 'ECRO' EVECRO ; SINO; FINS; FIN ITEMPER; * Parametres thermiques * NOMDATA = CHAI 'Materiaux/' NOMCONS '/' NOMCONS'_k.csv'; * TTMP = LIRE 'CSV' NOMDATA; 1200 1400 3000 ; 0.0211e3 0.0222e3 0.0232e3 0.0241e3 0.0248e3 0.0255e3 0.0269e3 0.0283e3 0.0283e3 ; * NOMDATA = CHAI 'Materiaux/' NOMCONS '/' NOMCONS'_Cp.csv'; * TTMP = LIRE 'CSV' NOMDATA; SI GRAPH ; 'Courbes de traction et d ecrouissage (vert) a differentes temperatures'; FINS; * MATERIAUX MECANIQUE ET THERMIQUE MAMEC = MATE MOMEC 'YOUN' EVYOUN 'NU' EVNU 'RHO' EVRHO 'ALPH' EVALPHA 'TREF' T_INIT 'TALP' TAREF 'ECRO' NUATRAC ; SOUDAGE.'MATERIAUX'.'PIECE'.'MECANIQUE'.'TOTAL' = SOUDAGE.'MATERIAUX'.'PIECE'.'THERMIQUE'.'TOTAL' = FIN INDICE; *********************************************************************** * APPORTS durant les differentes passes SOUDAGE.'MATERIAUX'.'APPORT'.'MECANIQUE'.'DEGRADE'.'TOTAL'= VIDE 'MCHAML'; SOUDAGE.'MATERIAUX'.'APPORT'.'MECANIQUE'.'NOMINAL'.'TOTAL'= VIDE 'MCHAML'; SOUDAGE.'MATERIAUX'.'APPORT'.'THERMIQUE'.'TOTAL' = VIDE 'MCHAML'; I=&INDICE; * Chargement des proprietes materiaux que si le constituant change NOMCONSP = NOMCONS; * Lecture des proprietes dans la bibliotheque * NOMDATA = CHAI 'Materiaux/' NOMCONS '/' NOMCONS'_E.csv' ; * TTMP = LIRE 'CSV' NOMDATA ; 700. 800. 900. 1000. 1500. 3000. ; 160e9 151e9 142e9 130e9 108e9 81e9 1e9 1e9 ; * NOMDATA = CHAI 'Materiaux/' NOMCONS '/' NOMCONS'_Nu.csv' ; * TTMP = LIRE 'CSV' NOMDATA ; 900 1000 1100 1200 1300 1390 1420 1450 3000 ; 0.323 0.326 0.33 0.336 0.339 0.346 0.349 0.353 0.353 0.353 0.353 0.353 ; VALNU = TTMP. 2 ; * NOMDATA = CHAI 'Materiaux/' NOMCONS '/' NOMCONS'_Rho.csv' ; * TTMP = LIRE 'CSV' NOMDATA ; 7.45e3 7.35e3 7.30e3 7.30e3 ; * NOMDATA = CHAI 'Materiaux/' NOMCONS '/' NOMCONS'_Limite_Elas.csv' ; * TTMP = LIRE 'CSV' NOMDATA ; 127e6 115e6 79e6 5e6 1e6 ; * NOMDATA = CHAI 'Materiaux/' NOMCONS '/' NOMCONS'_Epsi_Th.csv' ; * TTMP = LIRE 'CSV' NOMDATA ; 1200 1420 1460 3000 ; 0.0126 0.0147 0.0168 0.019 0.0212 0.0235 0.029 0.0298 0.0298 ; LALPHA = TTMP. 2 / (TTMP. 1 - TAREF) ; * NOMDATA = CHAI 'Materiaux/' NOMCONS '/' NOMCONS'_Ecrou_T.csv' ; * TTMP1 = LIRE 'CSV' NOMDATA ; * NOMDATA = CHAI 'Materiaux/'NOMCONS'/'NOMCONS'_Ecrou_Cont_Def.csv ' ; * TTMP2 = LIRE 'CSV' NOMDATA ; J=&ITEMPER ; LTEMPER= LTEMPER ET TEMPER ; * Interpolation du module de YOUNG et SIGY a la temperature TEMPER * Calcul de EPSIY a partir de YOUNIPOL et SIGYIPOL EPSIY = SIGYIPOL / YOUNIPOL; * Construction de la courbe de traction Complete pour Cast3M EVTOT1 = EVTOT1 ET EVTRAC ; EVTOT2 = EVTOT2 ET EVECRO; * Construction du NUAGE qui associe une EVOLUTION a une TEMPERATURE SI (J EGA 1); NUATRACN = NUAGE 'COMP' 'T ' TEMPER 'COMP' 'ECRO' EVECRO ; SINO; FINS; FIN ITEMPER; * Parametres thermiques * NOMDATA = CHAI 'Materiaux/' NOMCONS '/' NOMCONS'_k.csv'; * TTMP = LIRE 'CSV' NOMDATA; 1200 1400 3000 ; 0.0211e3 0.0222e3 0.0232e3 0.0241e3 0.0248e3 0.0255e3 0.0269e3 0.0283e3 0.0283e3 ; * NOMDATA = CHAI 'Materiaux/' NOMCONS '/' NOMCONS'_Cp.csv'; * TTMP = LIRE 'CSV' NOMDATA; SI GRAPH ; 'Courbes de traction et d ecrouissage (vert) a differentes temperatures'; FINS; * MATERIAUX MECANIQUE ET THERMIQUE * YOUND = EXTR LYOU3 (DIME LTEMPER); MAMECN= MATE MOMECN 'YOUN' EVYOUN 'NU' EVNU 'ALPH' EVALPHAN 'TREF' T_INIT 'TALP' TAREF 'ECRO' NUATRACN ; SOUDAGE.'MATERIAUX'.'APPORT'.'THERMIQUE'.'TOTAL' = SOUDAGE.'MATERIAUX'.'APPORT'.'MECANIQUE'.'DEGRADE'.'TOTAL' = SOUDAGE.'MATERIAUX'.'APPORT'.'MECANIQUE'.'NOMINAL'.'TOTAL' = FIN INDICE; SOUDAGE.'MATERIAUX'.'APPORT'.'THERMIQUE'.'TOTAL' MOTHT; SOUDAGE.'MATERIAUX'.'APPORT'.'MECANIQUE'.'DEGRADE'.'TOTAL' MOMECDT; SOUDAGE.'MATERIAUX'.'APPORT'.'MECANIQUE'.'NOMINAL'.'TOTAL' MOMECNT; * Materiaux pour la CONVECTION ************************************************************************ * BLOCAGES PERMANENTS * ************************************************************************ * BLOCAGES MECANIQUES zblo = '*' l0 -2. ; (1. 0. zblo ) (0. 1. zblo ) 1.e-4 ; ************************************************************************ * CHARGEMENT * ************************************************************************ * CHARGEMENT Thermique : Source de chaleur dans l'APPORT REPE INDICE N_PASSE ; * Boucle sur toutes les PASSES I=&INDICE; FIN INDICE ; * Chargement Thermique : FLUX pour la CONVECTION et RAYO ************************************************************************ * PASAPAS * ************************************************************************ * Assemblage des MODELES, CARACTERISTIQUES, BLOCAGES, CHARGEMENTS SOUDAGE.'MODELE' .'APPORT'.'MECANIQUE'.'DEGRADE'.'TOTAL' ; SOUDAGE.'MATERIAUX'.'APPORT'.'MECANIQUE'.'DEGRADE'.'TOTAL' ET SOUDAGE.'MATERIAUX'.'APPORT'.'MECANIQUE'.'NOMINAL'.'TOTAL' ; SOUDAGE.'MATERIAUX'.'APPORT' .'THERMIQUE' .'TOTAL'; * Ajout de la CONVECTION MODTHER = MODTHER0 ET MOCONV ; MATTHER = MATTHER0 ET MACONV ; MATTOT = MATMECA0 ET MATTHER ; * BLOCAGES PERMANENTS BLOTOT = BLOMECA0 ; I = 1; * Chargement Thermique de la PASSE 1 * On ajoute le MODELE et le MATERIAUX THERMIQUE de l'APPORT MODTOT = MODMECA0 ET MODTHER ; * Initialisations des CHAMPS *Les CHPOINTS 'UX' 0. 'UY' 0. 'UZ' 0. 'NATU' 'DIFFUS'; *Les MCHAML *Definition de TEMPERATURE_REFERENCE et TALPHA_REFERENCE * Declaration de la TABLE avant PASAPAS TPASAP.'MODELE' = MODTOT ; TPASAP.'CARACTERISTIQUES' = MATTOT ; TPASAP.'BLOCAGES_MECANIQUES' = BLOTOT ; TPASAP.'CHARGEMENT' = CHARTOT ; TPASAP.'TEMPS_CALCULES' = ltcal ; *TPASAP.'TEMPS_SAUVES' = ; TPASAP.'TEMPS' . 0 = 0.D0 ; TPASAP.'TEMPERATURES' . 0 = CHPTINI ; TPASAP.'DEPLACEMENTS' . 0 = DEPLINI ; TPASAP.'CONTRAINTES' . 0 = CONTINI ; TPASAP.'REACTIONS' . 0 = REACINI ; TPASAP.'VARIABLES_INTERNES' . 0 = VINTINI ; TPASAP.'DEFORMATIONS_INELASTIQUES' . 0 = DEININI ; TPASAP.'MES_MODEL' . 0 = MODTOT ; TPASAP.'MAILLAGE_ACTIF' . 0 = MAILACT ; TPASAP.'MAILLAGE_FONDU' . 0 = MAILFON ; TPASAP.'MES_SAUVEGARDES'.'DEFIN' = VRAI ; TPASAP.'MES_SAUVEGARDES'.'DEFTO' = VRAI ; TPASAP . 'PROCEDURE_PERSO1' = VRAI ; TPASAP . 'PROCEDURE_PERSO2' = VRAI ; TPASAP . 'PROCEDURE_CHARTHER' = VRAI ; TPASAP . 'CELSIUS' = VRAI ; TPASAP . 'PAS_AJUSTE' = FAUX ; TPASAP . 'PRECISION' = 1.e-3 ; TPASAP . 'GRANDS_DEPLACEMENTS' = VRAI ; * Boucle sur toutes les PASSES (Reprise pour PASAPAS) REPE INDICE N_PASSE ; INDI0 = &INDICE ; PASAPAS TPASAP ; MENA 'OBLI'; SI (INDI0 '<' N_PASSE) ; * Incrementation du compteur de PASSES I=&INDICE + 1 ; * On ajoute le MODELE et le MATERIAUX THERMIQUE de l'APPORT MODTOT = MODMECA0 ET MODTHER ; * Chargement Thermique de la PASSE en QUESTION * Partie nouvelle dans la THERMIQUE CHPTORI = TPASAP.'TEMPERATURES'.(NB_PAS-1) ; CHPTINI = CHPTORI 'ET' CHPTNEW ; * Liste des Temps Calcules (Recuperation dans la TABLE SOUDAGE) SINO; FINS; * On fait les modifications dans la table TPASAP.'MODELE' = MODTOT ; TPASAP.'CHARGEMENT' = CHARTOT ; TPASAP.'TEMPS_CALCULES' = list1 ; TPASAP.'TEMPERATURES' . (NB_PAS-1) = CHPTINI ; * Il faut redefinir TEMPERATURE_REFERENCE & TALPHA_REFERENCE en reprise TPASAP.'TEMPERATURE_REFERENCE' = TPASAP.'WTABLE'.'TEMPERATURE_REFERENCE'; TPASAP.'MES_DATA'.'TREF'.NB_PAS = TPASAP.'TEMPERATURE_REFERENCE' ; TPASAP.'TALPHA_REFERENCE' = TPASAP.'WTABLE'.'TALPHA_REFERENCE'; TPASAP.'MES_DATA'.'TAREF'.NB_PAS = TPASAP.'TALPHA_REFERENCE' ; TPASAP.'MES_MODEL' . NB_PAS = MODTOT ; TPASAP.'MAILLAGE_ACTIF'. NB_PAS = TPASAP.'MAILLAGE_ACTIF'.(NB_PAS-1); TPASAP.'MES_DATA'.'MA'.NB_PAS = TPASAP.'MAILLAGE_ACTIF' ; FINSI ; FIN INDICE; SI GRAPH ; MODT = TPASAP.'MES_MODEL'.N ; MAILF = TPASAP.'MAILLAGE_FONDU'. N ; CONT0 = TPASAP.'CONTRAINTES'.N ; CHT0 = TPASAP.'TEMPERATURES'. 10 ; TRAC CONT0 MODM ; TRAC CHT0 MAILM ; TRAC MAILF ; FINS ; FIN ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales