* fichier : simtrc.dgibi ************************************************************************ ************************************************************************ SAUT PAGE ; complet = vrai ; GRAPH = 'F' ; ********************************************************************* * simtrc.dgibi * * Simulation du trc avec l'operateur comp * * Prise en compte de la concentration en carbone (cte) * * version initiale : Martinez le 30/07/98 * ********************************************************************* * mettre complet = vrai pour generer le trc du 16MND5 **** Parametres du calcul : **** Vitesse de refroidissement * -6. -7. -8. -9. -10. -12. -15. -18. -20. -25. -30. -40. -50. -60. -80. -100. -400. ; -15. -25. -35. -40. -60. -80. -150. ; -4.2 -5.5 -6.4 -7.3 -8.7 -9.9 -10.01 -12.3 -15.5 -19. -23. -26. -34. -45. -57. -61. -88. -300. -390. ; lis_ref = lis_ref1 ; * **** Delta Temperature d_tempe = 2. ; * ******** INITIALISATION DU DEPOUILLEMENT *************************** * dbai = 100. ; dmar = 100. ; ffer = 100. ; fbai = 100. ; fmar = 100. ; tdf = 1. ; tff = 1. ; tdb = 1. ; tfb = 1. ; tdm = 1. ; tfm = 1. ; * **** LECTURE DES DONNEES DU DIAGRAMME TRC ************************** * DTRC_1 = nuage 'TP'*flottant 'ZFF'*flottant 'ZFB'*flottant 'TDF'*flottant 'TFF'*flottant 'TDB'*flottant 'TFB'*flottant -0.05 0.67 0.33 769. 644. 548. 395. -0.1 0.45 0.55 752. 644.0 566.0 395.0 -0.3 0.16 0.84 714.0 639.0 588.0 395.0 -0.4 0.06 0.94 700.0 659.0 591.0 395.0 -0.5 0. 1. 700.0 690.0 593.0 395.0 -1.0 0. 0.96 700.0 690. 600.0 395.0 -2.0 0. 0.91 700.0 690.0 588.0 395.0 ; DTRC_1 = DTRC_1 et (nuage 'TP'*flottant 'ZFF'*flottant 'ZFB'*flottant 'TDF'*flottant 'TFF'*flottant 'TDB'*flottant 'TFB'*flottant -3.0 0. 0.87 700.0 390.0 581.0 396.0 -4.0 0.0 0.69 700.0 690.0 573.0 396.0 -5.0 0.0 0.55 700.0 690.0 568.0 398.0 -7.0 0.0 0.46 700.0 690.0 559.0 400.0 -10.0 0.0 0.34 700.0 690.0 543.0 402.0 -15.0 0.0 0.22 700.0 690.0 525.0 405.0 -25.0 0.0 0.05 700.0 690.0 498.0 415.0) ; DTRC_1 = DTRC_1 et (nuage 'TP'*flottant 'ZFF'*flottant 'ZFB'*flottant 'TDF'*flottant 'TFF'*flottant 'TDB'*flottant 'TFB'*flottant -35.0 0.0 0. 710.0 700.0 430.0 425.0 -40.0 0.0 0. 710.0 700.0 430.0 425.0 -60.0 0.0 0. 710.0 700.0 430.0 425.0 -80.0 0.0 0.0 710.0 700.0 430.0 425.0 -150.0 0.0 0.0 710.0 700.0 430.0 425.0 ); * * Chauffage (modele de leblond) * DTCH_1 = nuage 880.0 900.0 **** LECTURE DU MAILLAGE ******************************************* * elmat = table ; piece = table ; a00 = 0. 0. ; a01 = 0.01 0. ; a02 = 0.01 0.01 ; a03 = 0. 0.01 ; l_ext = (d1 et d2 et d3) ; tot = dalle d1 d2 d3 d4 plan ; * ******** DEFINITION D'UN MODELE ************************************* * si faux ; finsi ; mamic_1 = mate momic_1 * changement de type de certaines donnees 'AC1' 730. 'AR1' 760. 'MS0' 422. 'BETA' -0.0307 'AC' 9146. 'AA' 37.5 'ZS' 0. 'TPLM' -0.5 'CARB' 0.0074 'ACAR' 540. 'DG0' 0.00001 'AGRA' 11200. 'TIHT' 1000. 'TFHT' 200. 'DTHT' 2. 'NHTR' DTRC_1 'NLEB' DTCH_1 'MS' 400. ; 'RIGIDITE' ; ********************************************************************* ******** BOUCLE SUR LES HISTOIRES THERMIQUES ************************ ********************************************************************* * repeter bou_1 n_bou1 ; * ******** CHARGEMENT THERMIQUE ************************************** * t0tempe = 1000.0 ; t1tempe = 100.0 ; * t0chtem = t0tempe * t_chtem ; * app_fer = 0 ; app_bai = 0 ; app_mar = 0 ; * ******** INITIALISATION ********************************* * si faux ; finsi ; p_table = table ; p_table.'TEMPERATURES' = table ; p_table.'MATPHASES' = table ; * p_table.TEMPERATURES.0 = t0chtem ; p_table.MATPHASES.0 = mamic_1 et phamic_1 ; * * * ********************************************************************* ******** BOUCLE SUR LE TEMPS **************************************** ********************************************************************* * * t0temps = 0. ; t1temps = (t1tempe - t0tempe) / t_point ; atpnt = ABS t_point ; deltt = d_tempe / atpnt ; n_bou2 = enti((t1temps - t0temps) / deltt) + 1 ; * t_ps = t0temps - deltt ; * mess ' Vitesse de refroidissement : ' t_point ; * repeter bou_2 n_bou2 ; * t_ps = t_ps + deltt ; p_table.temperatures.&bou_2 = p_table.temperatures.(&bou_2-1) + (t_chtem * t_point * deltt) ; si (n1 > 0) ; cot1 = p_table.temperatures.&bou_2 ; cot0 = p_table.temperatures.(&bou_2-1) ; dt1 = cot1 - cot0 ; dtp1 = dt1 / deltt ; chp0 = p_table.'MATPHASES'.(&bou_2-1) ; (cht1 et chtemp1) ; p_table.'MATPHASES'.&bou_2 = chp1 ; finsi ; *===================================================================== **** verification des temperatures de debut et de fin de chgt de phase *===================================================================== * * * **** Temperatures d'apparition :ferrite, bainite et martensite * si (p_fe > 0.001) ; si (app_fer EGA 0) ; app_fer = 1 ; tdf = t_ps ; finsi ; finsi ; si (p_ba > 0.001) ; si (app_bai EGA 0) ; app_bai = 1 ; dbai = t_app ; tdb = t_ps ; finsi ; finsi ; si (p_ma > 0.001) ; si (app_mar EGA 0) ; app_mar = 1 ; dmar = t_app ; tdm = t_ps ; finsi ; finsi ; * **** Temperatures de fin de transformation de ferrite et bainite * si (app_fer EGA 1) ; d_fe = p_fe - p_fe0 ; si (d_fe < 0.000001) ; app_fer = 2 ; ffer = t_app ; tff = t_ps ; finsi ; finsi ; si (app_bai EGA 1) ; d_ba = p_ba - p_ba0 ; si (d_ba < 0.000001) ; app_bai = 2 ; fbai = t_app ; tfb = t_ps ; finsi ; finsi ; * si ((non complet) et (&bou_2 > 150)) ; quitter bou_2 ; finsi ; fin bou_2 ; * * * **** presentation des resultats *************************************** * mess 'bainite' dbai fbai ; * * ch4 = p_table.MATPHASES.n_f ; **** austenite **** ferrite **** bainite **** martensite **** Verification des proportions ***************************** p_tot = p_au + p_fe + p_ba + p_ma ; * mess 'Tpoint %austenite %ferrite %bainite %martensite'; mess t_point p_au p_fe p_ba p_ma ; * si (non complet) ; quitter bou_1 ; finsi ; fin bou_1 ; * ************************************************************************ ******** TRACE DU TRC ************************************************** ************************************************************************ * * tabdess = table; tabdess . 2 = 'MARQ LOSA NOLI' ; tabdess . 3 = 'MARQ CARR NOLI' ; tabdess . 5 = 'MARQ LOSA NOLI' ; tabdess . 'TITRE' = table ; * 'SI' ('EGA' GRAPH 'O') ; LEGE TITX 'temps' TITY 'temperature' tabdess ; 'FINSI' ; * * si (non complet) ; p_au0 = .65196 ; SINO; FINSI; sinon ; p_au0 = 5.09126E-05 ; p_ma0 = 0.99995 ; RES_au=ABS((p_au-p_au0)/p_au0); RES_ma=ABS((p_ma-p_ma0)/p_ma0); SI((RES_au <EG 1E-2) et (RES_ma <EG 1E-2)); SINO; FINSI; finsi ; fin;
© Cast3M 2003 - Tous droits réservés.
Mentions légales