Télécharger metallurgie_02.dgibi
* fichier : metallurgie_02.dgibi ************************************************************************ ************************************************************************ *__________________________________________________________________* * TEST METALLURGIE_02 * * * * CALCUL DE l'ERREUR ANALYTIQUE - CAST3M POUR LEBLOND * * Le calcul est fait pour 15 pas de temps * *__________________________________________________________________* * * * Vitesse de refroidissement : 10 C/s * * - Transformation (type Leblond) de l'austenite * * en bainite seulement * * - Caracteristiques du modele constantes * *__________________________________________________________________* * * * On trace la courbe de l'erreur en fonction du pas de temps, * * sur une echelle log-log * *__________________________________________________________________* * IDESS = VRAI ; P1 = 0. 0. ; P2 = 1. 0. ; P3 = 0. 1. ; NOMCONS ='16MND5' ; MODCP1 = MODE MAILT 'METALLURGIE' 'PHASES' LISTPHA 'REACTIFS' LISTREAC 'PRODUITS' LISTPROD 'TYPE' LISTTYPE 'CONS' NOMCONS ; TINI = 900. ; TFIN = 20. ; PEQ1 = 0.47 ; F1 = 1.3 ; TAU1 = 15.2 ; *Declaration de la vitesse de refroidissement : en Degres/s DT_vit = -10. ; *Calcul de la duree du refroidissement : DUREE = -1. * (TINI - TFIN) / DT_vit ; *Declaration du Temps initial : TEMPINI = 0. ; *Calcul du Temps final : TEMPFIN = TEMPINI + DUREE ; *Calcul du pas de temps en fonction de la vitesse de refroidissement : NBPAST = 15.D0 ; LDTini ='LOG' (-1.D2 / DT_vit) ; LDTfin ='LOG' (-1.D-2 / DT_vit) ; PASLOG = (LDTfin - LDTini) / (NBPAST - 1); LISTPAS='EXP' LISTLOG ; *Boucle sur les differents taille de pas de temps : MATCP2 = MATCP1; PAS =&BOU_PAS ; T = TINI + (DT_vit * (LTCAL - TEMPINI)); ALPHA = 1. ; * Initialisation de CHE1 : proportions de phases initiales : CHE1 ='MANU' 'CHML' MODCP1 'AUST' ALPHA 'BAIN' (1.D0 - ALPHA) 'TYPE' CTYP 'NOEUD' ; CHETPS1 = CHETPS0 '+' DTPS ; CHT1 = CHT0 + DTEMP ; 'REPE' CTEMP nbpas; * Pour destruction CHDET0 = CHETPS0 ; CHDET1 = CHETPS1 ; CHDET2 = CHT0 ; CHDET3 = CHT1 ; LRDET0 = PROPi ; CHEDET = CHE1 ; * Extraction pour tracer : PROPi = PROPi 'ET' PiEvol ; CHETPS0 = CHETPS0 '+' DTPS ; CHETPS1 = CHETPS0 '+' DTPS ; CHT0 = CHT0 '+' DTEMP ; CHT1 = CHT0 '+' DTEMP ; * Destruction 'DETR' CHDET0; 'DETR' CHDET1; 'DETR' CHDET2; 'DETR' CHDET3; 'DETR' LRDET0; 'DETR' CHEDET; 'FIN' CTEMP; * Evolution calculee : EVO_CAL . PAS = EVO ; * Evolution analytique : PANALY = 1.D0 - (PEQ1 * (1.D0 - ('EXP' (-1.D0*F1*(LTCAL - TEMPINI)/TAU1)))); EVO_ANA . PAS = EVOANA ; * Erreur absolue entre analytique et calculee : ERRABS = 'ABS' (PANALY '-' PROPi) ; EVO_ERR . PAS = EVOERR ; ERR_TAB = ERR_TAB 'ET' NORMERR ; PAS_TAB = PAS_TAB 'ET' DTPS ; 'FIN' BOU_PAS; *Post-traitement : 'SI' IDESS ; PAS = &BOU_PAS ; EVOERR = EVO_ERR . PAS ; EVO = EVO_CAL . PAS ; EVOANA = EVO_ANA . PAS ; 'SI' ( DTPS '>' 0.2D0 ) ; 'SINO' ; 'FINS' ; TL . 'TITRE' . 1 = 'Evolution calculee' ; TL . 'TITRE' . 2 = 'Evolution analytique' ; 'FIN' BOU_PAS; EVTOT = ERRPAS 'ET' ERR_O1 'ET' ERR_O2; TDESS .'TITRE' . 1 = 'Erreur de Cast3M '; TDESS .'TITRE' . 2 = 'Erreur en o(PAS) '; TDESS .'TITRE' . 3 = 'Erreur en o(PAS^{2})'; 'FINSI' ; *Emission d'une erreur GIBIANE si l'erreur analytique - cast3m est trop grande : TOL1 =ERRCAL2 - ERR_TAB; LIST TOL1; 'FINS'; 'FIN';
© Cast3M 2003 - Tous droits réservés.
Mentions légales