***************************************************** ************************************************************************ ************************************************************************ * fichier : flamcat.dgibi * ** modifie le 15/06/2014 passage EQPR -> EQEX * ***************************************************** ***************************************** * COMBUSTION CATALYTIQUE DE L'HYDROGENE * * on teste l'operateur FLAM * * H.PAILLERE/TTMF 97 * ***************************************** DISCR = 'MACRO' ; KPRESS = 'CENTRE' ; BETAP = 1. ; * Filtre sur K et Epsilon * K > 0 Epsilon tel que l'echelle de longueur reste inférieure * à L0 diamètre enceinte iarg=rx.'IARG' ; si( non ( ega iarg 3)) ; finsi ; U1=rv.'INCO'.(rx.'ARG1') ; sinon ; U1=rx.'ARG1' ; sinon ; finsi ; finsi ; L0=rv.'INCO'.(rx.'ARG2') ; sinon ; L0=rx.'ARG2' ; sinon ; finsi ; finsi ; NU=rv.'INCO'.(rx.'ARG3') ; sinon ; NU=rx.'ARG3' ; sinon ; finsi ; finsi ; si( non ( ega nic 2)) ; finsi ; en=rv.'INCO'.nom2 ; kn=rv.'INCO'.nom1 ; Rec=100.; k0 = 1.e-10 ; mdu=mdu ** 0.5 ; rv.'INCO'.'EN'=en ; rv.'INCO'.'KN'=kn ; FINPROC as2 ama1; ********************************************************************* * PROCEDURE RECOMBINEUR ********************************************************************* DEBPROC RECOMB ; Dt = RV.PASDETPS.'DELTAT' ; Dt = Dt * RV.'ALFA' ; YHEe = 0.D0 ; YCO2e = 0.D0 ; YCOe = 0.D0 ; Pe = RV.INCO.'PM' ; Tp = RV.INCO.'TPLAQUE' ; AA1 = RV . 'INCO' . 'A' ; BB1 = RV . 'INCO' . 'B' ; XH2ON = RV . 'INCO' . 'XH2ON' ; XH2OFF = RV . 'INCO' . 'XH2OFF' ; BETAI = RV . 'INCO' . 'BETA' ; *IKALP = 1 ; YH2s YO2s YN2s YH2Os YHEs YCO2s YCOs Ts TP DEB EFF XH2ONF = 'FLAM' 'RECOMBIN' YH2e YO2e YN2e YH2Oe YHEe YCO2e YCOe Te TP Pe Dt 1 'SIEMENS' AA1 BB1 XH2ON XH2OFF BETAI ; * Te TP Pe Dt IKALP 'SIEMENS' AA1 BB1 XH2ON XH2OFF BETAI ; *YH2s YO2s YN2s YH2Os TS TP DEB EFF XH2ONF *= 'FLAM' 'RECOMBIN' *YH2e YO2e YN2e YH2Oe Te TP Pe Dt 1 *'SIEMENS' AA1 BB1 XH2ON XH2OFF BETAI ; RV . 'INCO' . 'XH2ON' = XH2ONF ; DD = RV.PASDETPS.'NUPASDT' ; NN = DD/20 ; LO = (DD-(20*NN)) EGA 0 ; SI ( LO ) ; RV.INCO.'TP' = RV.INCO.'TP' ET P_TP ; RV.INCO.'DEBIT' = RV.INCO.'DEBIT' ET P_DEB ; RV.INCO.'EFFIC' = RV.INCO.'EFFIC' ET P_EFF ; RV.INCO.'TS' = RV.INCO.'TS' ET P_TS ; RV.INCO.'PRESSIO' = RV.INCO.'PRESSIO' ET P_PM ; RV.INCO.'MASSETOT' = RV.INCO.'MASSETOT' ET P_MAST ; FINSI ; R = (YH2s*RH2)+(YO2s*RO2)+(YN2s*RN2)+(YH2Os*RH2O); PSIs = R*TS ; RV.INCO.'TPLAQUE' = TP ; DD = RV.PASDETPS.'NUPASDT' ; NN = DD/20 ; LO = (DD-(20*NN)) EGA 0 ; SI ( LO ) ; MESSAGE 'TEMPERATURE PLAQUE EN K = ' TP ; MESSAGE 'TEMPERATURE GAZ SORTIE EN K = ' TS ; MESSAGE 'EFFICACITE RECOMBINEUR EN % = ' EFF ; MESSAGE 'DEBIT EN KG/S = ' DEB ; FINSI ; * MODIFICATION DES CONDITIONS LIMITES cl_YH2 = 0.D0 * cl_YH2 + YH2s ; cl_YO2 = 0.D0 * cl_YO2 + YO2s ; cl_YH2O = 0.D0 * cl_YH2O + YH2Os ; cl_PSI = 0.D0 * cl_PSI + PSIs ; cl_GNX = 0.D0 * cl_GNX + cl_GNXm + cl_GNXs ; cl_GNY = 0.D0 * cl_GNY + cl_GNYm + cl_GNYe ; RV.'CLIM' = cl_YH2 + cl_YO2 + cl_YH2O + cl_GNX + cl_GNY + cl_KN + cl_EN + cl_PSI ; detr cl_YH2 ; detr cl_YO2 ; detr cl_YH2O ; detr cl_GNX ; detr cl_GNY ; detr cl_KN ; detr cl_EN ; detr cl_PSI ; detr cl_GNYm ; detr cl_GNXm ; detr cl_GNYe ; detr cl_GNXs ; FINPROC as2 ama1; ********************************************************************* * PROCEDURE CALCUL1 ********************************************************************* DEBPROC CALCUL1 ; RV.PASDETPS.'DELTAT' = 0.5 ; * filtres sur fractions massiques et calcul de la fraction massique d'azote YH2 = RV.INCO.'YH2' ; YO2 = RV.INCO.'YO2' ; YH2O = RV.INCO.'YH2O' ; RV.INCO.'YH2' = YH2 ; RV.INCO.'YO2' = YO2 ; RV.INCO.'YH2O' = YH2O ; * calcul de la constante des gaz et de la temperature * calcul des concentrations max et min d'hydrogène DD = RV.PASDETPS.'NUPASDT' ; NN = DD/20 ; LO = (DD-(20*NN)) EGA 0 ; SI ( LO ) ; XH2 = XH2/MH2 ; XH2 = XH2*100. ; RV.INCO.'XH2MAX' = RV.INCO.'XH2MAX' ET P_XH2MAX ; RV.INCO.'XH2MIN' = RV.INCO.'XH2MIN' ET P_XH2MIN ; FINSI ; * calcul de rho à partir de la loi d'état des gaz parfaits RV.INCO.'RHOM' = RHOM ; * calcul du terme (rho-rhom)*g de la QDM * calcul la vitesse à partir de la qdm GN = RV.INCO.'GN' ; RV.INCO.'UN' = un ; * calcul de nut à partir de mut et de rho FINPROC as2 ama1; ********************************************************************* * PROCEDURE CALCUL2 ********************************************************************* DEBPROC CALCUL2 ; * on récupère le pas de temps Dt = RV.PASDETPS.'DELTAT' ; Dt = Dt * RV.'ALFA' ; DD = RV.PASDETPS.'NUPASDT' ; NN = DD/20 ; LO = (DD-(20*NN)) EGA 0 ; SI ( LO ) ; RV.INCO.'TEMPS' = RV.INCO.'TEMPS' ET P_TEMPS ; FINSI ; * calcul l'intégrale se trouvant dans le terme Dp/Dt. * calcul de dPdt q0 = q0+q1 ; dPdt = ZZT + q0 ; dPdt = dPdt*(RV.INCO.'PM')/VOLT/RV.INCO.'RHOM' ; * terme source de l'équation d'énergie zuzu = (gamma-1.)/gamma ; * terme source équation de Poisson Z1 = dPdt/RV.INCO.'PM' ; ZZS = ZZS * (-1.0) ; * calcul de l'évolution de la pression RV.INCO.'PM' = RV.INCO.'PM' + (dPdt*dt) ; * affichage informations toutes les 20 iterations DD = RV.PASDETPS.'NUPASDT' ; NN = DD/20 ; LO = (DD-(20*NN)) EGA 0 ; SI ( LO ) ; MESSAGE '==========================================================' ; MESSAGE 'TEMPS = ' RV.PASDETPS.'TPS' ' PRESSION = ' RV.INCO.'PM' ; FINSI ; FINPROC as2 ama1; *************************************************************** * JEU DE DONNEES NURETH-8 : CALCUL DE DISTRIBUTION/COMBUSTION * * ALGORITHME 'COMPRESSIBLE FAIBLE MACH' SEMI-IMPLICITE * * === DISTRIBUTION === * *************************************************************** *========================================================* * GENERATION DU MAILLAGE * *========================================================* L = 1. ; H = 2. ; height= 1. ; depth = 0.3 ; length= 0.2 ; * position du recombineur XR = 0.2 ; YR = 0.2 ; SREC = 'D' ; DINJ = depth ; A1 = 0.0 0.0 ; A2 = L 0.0 ; A3 = L H ; A4 = 0.0 H ; R1 = XR YR ; R2 = (XR+depth) YR ; R3 = (XR+depth) (YR+height-depth) ; R4 = (XR+depth) (YR+height) ; R5 = XR (YR+height) ; R6 = XR (YR+height-depth) ; C1 = XR 0.0 ; C2 = (XR+depth) 0.0 ; C3 = L YR ; C4 = L (YR+height-depth) ; C5 = L (YR+height) ; C6 = (XR+depth) H ; C7 = XR H ; C8 = 0.0 (YR+height) ; C9 = 0.0 (YR+height-depth) ; C10 = 0.0 YR ; DE1 = 1.2 ; DE2 = 0.8 ; DE3 = 0.2 ; SI (EGA SREC 'G') ; DE4 = DE3 ; DE5 = DE3 ; SINON ; DE4 = DE3 ; DE5 = DE3 ; FINSI ; COMPA = 'DALLER' A1C1 C1R1 R1C10 C10A1 'PLAN' ; COMPB = 'DALLER' C1C2 C2R2 R2R1 R1C1 'PLAN' ; COMPC = 'DALLER' C2A2 A2C3 C3R2 R2C2 'PLAN' ; COMPD = 'DALLER' R2C3 C3C4 C4R3 R3R2 'PLAN' ; COMPE = 'DALLER' R3C4 C4C5 C5R4 R4R3 'PLAN' ; COMPF = 'DALLER' R4C5 C5A3 A3C6 C6R4 'PLAN' ; COMPG = 'DALLER' R5R4 R4C6 C6C7 C7R5 'PLAN' ; COMPH = 'DALLER' C8R5 R5C7 C7A4 A4C8 'PLAN' ; COMPI = 'DALLER' C9R6 R6R5 R5C8 C8C9 'PLAN' ; COMPJ = 'DALLER' C10R1 R1R6 R6C9 C9C10 'PLAN' ; MT = COMPA ET COMPB ET COMPC ET COMPD ET COMPE ET COMPF ET COMPG ET COMPH ET COMPI ET COMPJ ; WALL = A1C1 ET C1C2 ET C2A2 ET A2C3 ET C3C4 ET C4C5 ET C5A3 ET A3C6 ET C6C7 ET C7A4 ET A4C8 ET C8C9 ET C9C10 ET C10A1 ; ENTREE = R2R1 ; SI (EGA SREC 'G') ; SORTIE = R6R5 ; BOUCHEE = R4R3 ; SINON ; SORTIE = R4R3 ; BOUCHEE = R6R5 ; FINSI ; 'MESSAGE' 'VOLUME TOTAL = ' VOLT ; ****************************************** * FRONTIERES POUR CONDITIONS AUX LIMITES * ****************************************** MUR_HOR = A1C1 ET C1C2 ET C2A2 ET A3C6 ET C6C7 ET C7A4 ET R5R4 ; MUR_VER = A2C3 ET C3C4 ET C4C5 ET C5A3 ET A4C8 ET C8C9 ET C9C10 ET C10A1 ET R3R2 ET R1R6 ET BOUCHEE ; *========================================================* * DONNEES DU CALCUL DE DISTRIBUTION * *========================================================* *-------------------------------------- * temperature et pression de saturation *-------------------------------------- T = 373.0 ; ZZ = 7000.*(-1.)/T ; PSAT = 1.055E21/(T ** 5.)* (EXP ZZ) ; PSAT = PSAT*101325.0 ; *-------------------------------------- * masses molaires et constantes des gaz *-------------------------------------- MH2 = 2.0E-3 ; MO2 = 32.0E-3 ; MN2 = 28.0E-3 ; MH2O = 18.0E-3 ; Rg = 8.313 ; RH2 = Rg/MH2 ; RO2 = Rg/MO2 ; RN2 = Rg/MN2 ; RH2O = Rg/MH2O ; *------------------- * conditions air sec *------------------- P1 = 1.E5 ; T1 = 273.0 ; XH2_SEC = 0.1 ; XAIR_SEC = 1.0 - XH2_SEC ; *----------------------------- * pressions partielles des gaz * fractions volumiques *----------------------------- PVAP = PSAT ; PAIR = (XAIR_SEC*P1)*(T/T1) ; PH2 = (XH2_SEC*P1)*(T/T1) ; P = PVAP + PAIR + PH2 ; XH2 = PH2/P ; XAIR = PAIR/P ; XH2O = PVAP/P ; XO2 = 0.21*XAIR ; XN2 = 1.0 - XH2 -XH2O - XO2 ; *--------------------------------------------- * masse molaire du melange et constante du gaz *--------------------------------------------- M = (XH2*MH2) + (XO2*MO2) + (XN2*MN2) + (XH2O*MH2O) ; R = Rg/M ; *------------------------------------------------------------ * densite du melange (loi d'etat GP) *------------------------------------------------------------ PSI = R*T ; RHO = P/PSI ; *------------------------ * Caractéristiques du jet *------------------------ XH2Jet = 0.0 ; XH2OJet = 0.0 ; XO2Jet = 0.21*( 1.0 - XH2Jet - XH2OJet ) ; XN2Jet = 1.0 - XH2Jet - XH2OJet - XO2Jet ; MJet = (XH2Jet*MH2) + (XH2OJet*MH2O) + (XO2Jet*MO2) + (XN2Jet*MN2) ; RJet = Rg/MJet ; TJet = 650.0 ; PSIJet = Rjet*Tjet ; RhoJet = P/PSIJet ; GJet = 2.5 ; GJetabs= GJet ; UJet = GJet/RhoJet ; KJet = 0.05*UJet*UJet ; EJet = 0.02*(UJet**3.)/DINJ ; *------------------------------------------------ * fractions massiques des differents constituants *------------------------------------------------ YH2 = XH2*MH2/M ; YO2 = XO2*MO2/M ; YN2 = XN2*MN2/M ; YH2O = XH2O*MH2O/M ; YH2Jet = XH2Jet*MH2/MJet ; YH2OJet =XH2OJet*MH2O/MJet ; YO2Jet = XO2Jet*MO2/MJet ; YN2Jet =XN2Jet*MN2/MJet ; *------------------------------------------------------------------ * Cp des différents constituants et du mélange (supposés constants) *------------------------------------------------------------------ CPH2 = 13514.04 + (1.684537*T) ; CPH2O = 1715.632 + (0.552805*T) ; CPN2 = 1006.15 + (0.1387166*T) ; CPO2 = 907.580 + (0.1420522*T) ; CP = (YH2*CPH2) + (YH2O*CPH2O) + (YO2*CPO2) + (YN2*CPN2) ; gamma = CP/(CP-R) ; *---------------------------------------------------- * calcul d'une vitesse de référence (pour les tracés) *---------------------------------------------------- uref = gamma*R*T ; uref = uref**0.5 ; uref = 0.01*uref ; ampl = 1./uref ; *------------------------------------------------------------------------ * Prandtl, Schmidt, viscosité (loi de Sutherland), conductivité thermique * coefficients de diffusion moléculaire *------------------------------------------------------------------------ Pr = 0.7 ; Prt = 1.0 ; Sct = 1.0 ; Mu = 1.716E-5*((T/273.0)**1.5)*(273.0+110.5)/(T+110.5) ; Nu = Mu/RHO ; Lambda = Mu*CP/Pr ; alpha = Lambda/RHO/CP ; DH2O = 2.55E-5 ; DH2 = 7.12E-5 ; DO2 = 2.06E-5 ; PSIWALL = T*R ; h = 10. ; U0 = 1.0D0 ; L0 = 1.0D0 ; *============================================================== * TABLE EQEX CONTENANT LES EQUATIONS A RESOUDRE : * 0) FILTRE K-E * 1) QUANTITE DE MOUVEMENT --- OPERATEUR NSKE * 2) EQUATION DE L'ENERGIE --- OPERATEUR TSCAL * 3) TRANSPORT DES ESPECES --- OPERATEUR TSCAL * AINSI QUE 2 PROCEDURES (CALCUL1 ET CALCUL2) POUR L'ALGORITHME * 'FAIBLE MACH' * 4) CONDITIONS AUX LIMITES *============================================================== 'ZONE' $MT 'OPER' 'CALCUL1' 'ZONE' $MT 'OPER' 'FILTREKE' 'UN' L0 NU 'INCO' 'KN' 'EN' 'OPTI' 'CONS' 'ZONE' $MT 'OPER' 'NSKE' 'RHOC' MU 'MUT' 'UN' 'ROG' 'INCO' 'GN' 'KN' 'EN' 'OPTI' 'NOCONS' 'ZONE' $MT 'OPER' 'TSCAL' alpha 'UN' 'S' 'NUT' Prt 'INCO' 'PSIN' 'OPTI' 'EFM1' 'EXPL' 'ZONE' $WALL 'OPER' 'ECHI' h PSIWALL 'INCO' 'PSIN' ; RV = 'EQEX' RV 'ZONE' $MT 'OPER' 'TSCAL' DH2 'UN' 0.0 'NUT' SCT 'INCO' 'YH2' 'ZONE' $MT 'OPER' 'TSCAL' DO2 'UN' 0.0 'NUT' SCT 'INCO' 'YO2' 'ZONE' $MT 'OPER' 'TSCAL' DH2O 'UN' 0.0 'NUT' SCT 'INCO' 'YH2O' 'ZONE' $MT 'OPER' 'CALCUL2' 'ZONE' $MT 'OPER' 'RECOMB' ; 'ZONE' $MT 'OPER' 'DFDT' 1. 'GN' 'DELTAT' 'INCO' 'GN' 'ZONE' $MT 'OPER' 'DFDT' 1. 'PSIN' 'DELTAT' 'INCO' 'PSIN' 'ZONE' $MT 'OPER' 'DFDT' 1. 'YH2' 'DELTAT' 'INCO' 'YH2' 'ZONE' $MT 'OPER' 'DFDT' 1. 'YO2' 'DELTAT' 'INCO' 'YO2' ; 'ZONE' $MT 'OPER' 'DFDT' 1. 'YH2O' 'DELTAT' 'INCO' 'YH2O' 'ZONE' $MT 'OPER' 'DFDT' 1. 'KN' 'DELTAT' 'INCO' 'KN' 'ZONE' $MT 'OPER' 'DFDT' 1. 'EN' 'DELTAT' 'INCO' 'EN' ; RV = 'EQEX' RV 'CLIM' 'GN' 'UIMP' MUR_VER 0.0 'GN' 'VIMP' MUR_HOR 0.0 'GN' 'UIMP' SORTIE GJet 'GN' 'VIMP' SORTIE 0.0 'GN' 'UIMP' ENTREE 0.0 'GN' 'VIMP' ENTREE GJetabs ; RV = 'EQEX' RV 'CLIM' 'PSIN' 'TIMP' SORTIE PSIJet 'YH2' 'TIMP' SORTIE YH2Jet 'YO2' 'TIMP' SORTIE YO2Jet 'YH2O' 'TIMP' SORTIE YH2OJet 'KN' 'TIMP' SORTIE KJet 'EN' 'TIMP' SORTIE EJet ; *=========================================================== * TABLE EQEX POUR L'EQUATION DE POISSON (SOLVEUR ELLIPTIQUE) 'OPTI' 'EF' 'CENTREE' 'INCOD' KPRESS ; rvp.'METHINV'.TYPINV=1 ; rvp.'METHINV'.IMPINV=0 ; rvp.'METHINV'.NITMAX=300; rvp.'METHINV'.PRECOND=3 ; rvp.'METHINV'.RESID =1.e-8 ; rvp.'METHINV' . 'FCPRECT'=100 ; rvp.'METHINV' . 'FCPRECI'=100 ; *=========================================================== *========================================================== * TABLE INCO CONTENANT LES INCONNUES ET DONNEES DU PROBLEME *========================================================== RV.'NOMVI' = 'GN' ; RV.'INCO' = 'TABLE' 'INCO' ; RVP.'INCO' = RV.'INCO' ; * vitesse et quantité de mouvement * pression * température RV.INCO.'TPLAQUE' = T ; * variables modèle de turbulence * masse volumique RV.INCO.'RHOM'= RHO ; * fractions massiques * termes sources (Poisson/énergie/QDM) * pression RV.INCO.'PM' = P ; * progressions RV . 'INCO' . 'A' = 0.48D-8 ; RV . 'INCO' . 'B' = 0.58D-3 ; RV . 'INCO' . 'XH2ON' = 0.005 ; RV . 'INCO' . 'XH2OFF' = 0.005 ; RV . 'INCO' . 'BETA' = 0.2 ; exec rv ; SI (RV.PASDETPS.'TPS' < 8.0) ; ERREUR 5 ; FINSI ; ERREUR 5 ; FINSI ; ERREUR 5 ; FINSI ; ERREUR 5 ; FINSI ; FIN ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales