Télécharger Oxydation_Chimique_01.dgibi
* fichier : Oxydation_Chimique_01.dgibi ************************************************************************ ************************************************************************ ************************************************************************ * JEU DE DONNEES : * DESCRIPTION : * ------------- * - Simule la diffusion chimique d'une espece conduisant a la formation * d'une couche d'oxyde * L'espece diffuse a travers l'oxyde et passe dans le metal * La couche d'oxyde croit lorsque le potentiel chimique le permet ************************************************************************ ************************************************************************ 'DEBP' PARATHER PRECED*'TABLE' TEMM*'FLOTTANT'; ************************************************************************ * PROCEDURE PARATHER : * DESCRIPTION : * ------------- * Cette procedure permet de modifier le materiaux en l'exprimant au temps 'TEMM' * - Les composantes KD, CDIF * * ENTREES : * --------- * - PRECED : TABLE complete de PASAPAS * - TEMM : Temps 'MOYEN' (tient compte de la 'RELAXATION_THETA') * * SORTIES : * --------- * - Aucune * ************************************************************************ ETAB = PRECED.'WTABLE'; MOD_DIF = ETAB.'MOD_DIF' ; MAT_DIF = ETAB.'MAT_DIF' ; * Combinaison du metal et de l'oxyde avec les MASQUES GA1 =(GA11*MASQ11) + (GA21*MASQ21) + (GA21*MASQC1); CO1 =(CO11*MASQ11) + (CO21*MASQ21) + (CO21*MASQC1); DI1 =(DI11*MASQ11) + (DI21*MASQ21) + (DI21*MASQC1); Ci1 = CO1/GA1*('EXP' ( Mu1 / (R_gaz * T_ini))); MCHTMP1 = Ci1 / (R_gaz * T_ini) ; * REMPLACEMENT DU MATERIAUX ETAB.'MAT_DIF' = MCHKD1 'ET' MCHCDIF1 ; ETAB.'MAT_TOT' = ETAB.'MAT_DIF' 'ET' ETAB.'MAT_PHA' ; 'FINP'; ************************************************************************ ************************************************************************ * PROCEDURE CHARTHER : * DESCRIPTION : * ------------- * - met a jour le second membre * - met a jour la rigidite ************************************************************************ ETAB = PRECED.'WTABLE' ; MOD_DIF = ETAB.'MOD_DIF' ; MAT_DIF = ETAB.'MAT_DIF' ; TETA = ETAB.'RELAXATION_THETA'; Dt = ETAB.'DT' ; * Second membre du au changement de variable dlnCGdt =(('LOG' (CO11/GA11)) - ('LOG' (CO10/GA10))) + (('LOG' (CO21/GA21)) - ('LOG' (CO20/GA20))) / Dt ; * Combinaison du metal et de l'oxyde avec les MASQUES GA1 =(GA11*MASQ11) + (GA21*MASQ21) + (GA21*MASQC1); CO1 =(CO11*MASQ11) + (CO21*MASQ21) + (CO21*MASQC1); * Mu0 ='NOMC' Mu0 'SCAL'; * Ci0 = CONS0/GA0*(EXP ( Mu0 / (R_gaz * T_ini))); Ci1 = CO1/GA1*('EXP' ( Mu1 / (R_gaz * T_ini))); * SOUR0 ='SOUR' MOD_DIF (-1.D0 * Ci0 * dlnCGdt) ; * Second membre et RIGIDITE du a la condition de CONVECTION au bord * RIG2 = 'COND' MOD2 MAT2 ; * RIG2 = 'CHAN' 'INCO' RIG2 ('MOTS' 'T') ('MOTS' 'MU') ('MOTS' 'Q') ('MOTS' 'QM'); * Mu_ext = 'IPOL' EVMu_Ext TEMM ; * SOUR2 = 'CONV' MOD2 MAT2 'T' Mu_ext; * SOUR2 = 'CHAN' 'COMP' 'QM' SOUR2; * Remplissage des indices de sortie : ADDI_MATRICE ET ADDI_SECOND * TAA.'ADDI_MATRICE'= RIG2 ; * TAA.'ADDI_SECOND' = ((1.D0 - THETA)*SOUR1) + (THETA*SOUR1); * TAA.'ADDI_SECOND' = SOUR1 'ET' SOUR2 ; TAA.'ADDI_SECOND' = SOUR1 ; 'FINP' TAA; ************************************************************************ * MAILLAGE * DX1 = 30. ; DY = 1. ; P1 = 0. 0. ; NBE1 = 1 ; NBE2 = 100 ; STOT = S1; * MODELE * MODTOT = MOD1 'ET' MOD3 ; * MATERIAU * R_gaz = 8.314 ; T_ini = 273.15 + 30. ; ************************************************************************ * Indice 1 : Dans le METAL (ie : Mu <= Mu_ChPh) * Indice 2 : Dans l' OXYDE (ie : Mu >= Mu_ChPh) ************************************************************************ Mu_ChPh=-15000.D0 ; Mu_mini=-20000.D0 ; Mu_maxi=-10000.D0 ; * Proprietes dans le METAL C1 = 3300. ; LC1 = C1 * (LMU1**0) ; G1 =('EXP' (Mu_ChPh /(R_gaz*T_ini))) / Xi_eq ; LG1 = G1 * (LMU1**0) ; EaD1 = 65000. ; LnD1 = -22. ; D1 ='EXP'((EaD1 /(R_gaz*T_ini)) + LnD1) ; LD1 = D1 * (LMU1**0) ; * Proprietes dans l'OXYDE PAMU2 = 10. ; C2 = 2800. ; LC2 = C2 * (LMU2**0) ; G2 =('EXP' (LMU2 /(R_gaz*T_ini))) / Xi_ox ; LG2 = G2 * (LMU2**0) ; EaD2 = 55000. ; LnD2 = -20. ; D2 ='EXP'((EaD2 /(R_gaz*T_ini)) + LnD2) ; LD2 = D2 * (LMU2**0) ; * Quelques DESSINS *OPTI TRAC 'PSC'; *DESS (EVC1 ET EVC2) ; *DESS ((LOG EVG1) ET (LOG EVG2) ) ; *DESS (EVG1 ET EVG2) ; *DESS (EVD1 ET EVD2); * Materiau bidon (Change dans PARATHER) MATTOT = MAT1 'ET' MAT3 ; * Conditions aux limites *BLOQ2 = BLOQ 'MU' L2 ; BLOTOT= BLOQ1 ; * Chargement Mu_imp1 = Mu_maxi ; Mu_imp2 = Mu_mini ; *CHP2 = DEPI Mu_imp2 BLOQ2 ; *EVO2 = EVOL 'MANU' 'TEMP' (PROG 0. 1.D10) 'MU' (PROG 1. 1.) ; *CHAR2 = CHAR 'CIMP' CHP2 EVO2 ; *CHATOT= CHAR1 ET CHAR2; CHATOT = CHAR1; * Potentiel chimique 'au loin' *EVMu_Ext ='EVOL' 'MANU' 'TEMP' ('PROG' 0. 2.5 2.501 4.) 'T' ('PROG' Mu_imp1 Mu_imp1 Mu_imp2 Mu_imp2); * CONDITIONS INITIALES Mu_ini = Mu_mini ; * PASAPAS LTPS2 = LTPS1; TAB1.'MODELE' = MODTOT ; TAB1.'CARACTERISTIQUES' = MATTOT ; TAB1.'BLOCAGES_DIFFUSIONS' = BLOTOT ; TAB1.'CHARGEMENT' = CHATOT ; TAB1.'CONCENTRATIONS'. 0 = CHMUini; TAB1.'PROPORTIONS_PHASE'. 0 = CHPini ; TAB1.'TEMPS_CALCULES' = LTPS1 ; TAB1.'TEMPS_SAUVES' = LTPS2 ; TAB1.'TEMPS_SAUVEGARDES' = LTPS2 ; TAB1.'ECONOMIQUE' = VRAI ; TAB1.'PROCEDURE_PARATHER' = VRAI ; TAB1.'PROCEDURE_CHARTHER' = VRAI ; TAB1.'PROCESSEURS' ='MONO_PROCESSEUR' ; TAB1.'PRECISION' = 1.D-6 ; TAB1.'MAXITERATION' = 25 ; * AUGMENTATION EN CAS DE NON CONVERGENCE : *MAT_AUG='MATE' MOD1 'KD' 0.4 'CDIF' 0.8 ; *CAPA1 ='CAPA' MODTOT MAT_AUG ; *KDIF1 ='COND' MODTOT MATTOT ; *FLOT1 = XTMX CHMUini CAPA1 ; *FLOT2 = XTMX CHMUini KDIF1 ; *MESS FLOT1 FLOT2; *TAB1.'DIFFUSION_AUGMENTEE'= CAPA1 * 1.D2 ; 'SAUV'; PASAPAS TAB1; 'SAUV'; * Post-Traitement 'REST'; 'SAUV'; III = &SURI ; Mui = TAB1.'CONCENTRATIONS'. (III - 1) ; Pi = TAB1.'PROPORTIONS_PHASE'. (III - 1) ; Tps = TAB1.'TEMPS' . (III - 1) ; * Recherche de l'interface par interpolation lineaire COXi = Moy1*DX1; LTPSCAL = LTPSCAL 'ET' Tps ; LXFRONT = LXFRONT 'ET' COXi ; * Combinaison du metal et de l'oxyde avec les MASQUES GA1 =(GA11*MASQ1) + (GA21*MASQ2) + (GA21*MASQC); CO1 =(CO11*MASQ1) + (CO21*MASQ2) + (CO21*MASQC); DI1 =(DI11*MASQ1) + (DI21*MASQ2) + (DI21*MASQC); Xi1 =('EXP' ( Mu1 / (R_gaz * T_ini))) / GA1; Ci1 = CO1*Xi1 ; 'DESS' (EvMui 'ET' EvCHPH) 'GRIL' 'TIRC' 'GRIS' 'XBOR' 0. DX1 'YBOR' Mu_mini Mu_maxi 'YGRA' ((Mu_maxi-Mu_mini) / 10.); 'FIN' SURI; * Solution du probleme Quasi-Stationnaire 1D * Reaction consideree : M + Nu.O <=> MO_Nu Xi_2 = 1./3. ; Nu = Xi_2/(1. - Xi_2); Alpha = 1.D0; LXFRONQS=(2*Alpha*C2*D2*(Mu_imp1 - Mu_ChPh) * LTPSCAL / (R_gaz*T_ini*(C2-(Csat/Nu)))) ** 0.5 ; Alpha = 0.5D0; LXFRONQS=(2*Alpha*C2*D2*(Mu_imp1 - Mu_ChPh) * LTPSCAL / (R_gaz*T_ini*(C2-(Csat/Nu)))) ** 0.5 ; SAUV; FIN;
© Cast3M 2003 - Tous droits réservés.
Mentions légales