Télécharger prim_ther_2es.dgibi
* fichier : prim_ther_2es.dgibi ************************************************************************ ************************************************************************ ********************************************************************** **** APPROCHE VF "Cell-Centred Formulation" pour la solution des **** **** Equations d'Euler pour un gaz parfait **** **** OPERATEUR PRIM **** **** Gaz multi-especes (deux especes) "thermally perfect" **** **** **** **** A. BECCANTINI DRN/DMT/SEMT/LTMF JANVIER 2000 **** ********************************************************************** * * * **** GRAPH * * GRAPH = FAUX ; * GRAPH = VRAI ; * * *** On considere une melange H2, O2 * * De la table JANAF on a, pour les cp (J/Kg/K) * .6000D+03 .7000D+03 .8000D+03 .9000D+03 .1000D+04 .1100D+04 .1200D+04 .1300D+04 .1400D+04 .1500D+04 .1600D+04 .1700D+04 .1800D+04 .1900D+04 .2000D+04 .2100D+04 .2200D+04 .2300D+04 .2400D+04 .2500D+04 .2600D+04 ; .2700D+04 .2800D+04 .2900D+04 .3000D+04 .3100D+04 .3200D+04 .3300D+04 .3400D+04 .3500D+04 .3600D+04 .4000D+04 .4500D+04 .5000D+04 .5500D+04 .6000D+04) ; .1042D+05 .1048D+05 .1057D+05 .1070D+05 .1086D+05 .1104D+05 .1125D+05 .1147D+05 .1168D+05 .1190D+05 .1211D+05 .1231D+05 .1251D+05 .1270D+05 .1288D+05 .1305D+05 .1321D+05 .1337D+05 .1351D+05 .1365D+05 .1378D+05 ; .1391D+05 .1403D+05 .1415D+05 .1426D+05 .1438D+05 .1449D+05 .1460D+05 .1471D+05 .1480D+05 .1490D+05 .1528D+05 .1573D+05 .1613D+05 .1646D+05 .1669D+05 ) ; .7430D+03 .7710D+03 .7940D+03 .8140D+03 .8300D+03 .8430D+03 .8550D+03 .8650D+03 .8740D+03 .8820D+03 .8900D+03 .8970D+03 .9040D+03 .9110D+03 .9180D+03 .9250D+03 .9320D+03 .9390D+03 .9450D+03 .9520D+03 .9580D+03 ; .9640D+03 .9700D+03 .9760D+03 .9810D+03 .9870D+03 .9920D+03 .9970D+03 .1001D+04 .1006D+04 .1010D+04 .1034D+04 .1054D+04 .1074D+04 .1097D+04 .1127D+04 ) ; 'MESSAGE' ; 'MESSAGE' ('cv_i = polynoms de 4-eme degree'); 'MESSAGE' ; ERRMAX = 1.0D-6 ; *) Degre de polynome = 4 *********************** **** LA TABLE PGAZ **** *********************** PGAZ = 'TABLE' ; * **** Ordre des polynoms * PGAZ . 'NORD' = 4 ; * **** Especes qui sont dans les equations d'Euler * * **** Espece qui n'y est pas * PGAZ . 'ESPNEULE' = 'O2 ' ; * PGAZ . 'H2 ' = 'TABLE' ; PGAZ . 'O2 ' = 'TABLE' ; * **** R (J/Kg/K) * PGAZ . 'H2 ' . 'R' = 4130.0 ; PGAZ . 'O2 ' . 'R' = 259.8 ; * **** Regressions polynomials * -2.37281455E-07 1.84701105E-11 ; 2.33636971E-08 -1.53304905E-12; * **** "Enthalpies" (ou energies) de formations a OK (J/Kg) * PGAZ . 'H2 ' . 'H0K' = -4.195D6 ; PGAZ . 'O2 ' . 'H0K' = -2.634D5 ; * *** Fin PGAZ * A0H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 1 ; A1H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 2 ; A2H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 3 ; A3H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 4 ; A4H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 5 ; A0O2 = 'EXTRAIRE' (PGAZ . 'O2 ' . 'A') 1 ; A1O2 = 'EXTRAIRE' (PGAZ . 'O2 ' . 'A') 2 ; A2O2 = 'EXTRAIRE' (PGAZ . 'O2 ' . 'A') 3 ; A3O2 = 'EXTRAIRE' (PGAZ . 'O2 ' . 'A') 4 ; A4O2 = 'EXTRAIRE' (PGAZ . 'O2 ' . 'A') 5 ; T = 'EXTRAIRE' LTEMP &BL1 ; T2 = T * T ; T3 = T2 * T ; T4 = T3 * T; (A0H2 '+' (A1H2 * T) '+' (A2H2 * T2) '+' (A3H2 * T3) '+' (A4H2 * T4))) ; (A0O2 '+' (A1O2 * T) '+' (A2O2 * T2) '+' (A3O2 * T3) '+' (A4O2 * T4))) ; 'FIN' BL1 ; TAB1 = 'TABLE' ; TAB1 . 'TITRE' = 'TABLE' ; TAB1 . 1 ='TIRR '; TAB1 . 'TITRE' . 1 = 'JANAF DATA'; TAB1 . 2 = 'MARQ CROI'; TAB1 . 'TITRE' . 2 = 'POLYN. REGR.'; 'SI' GRAPH ; 'DESSIN' (EVCVH2 'ET' EVCV1H2) 'LEGE' TAB1 'TITRE' 'H2, polynome de 4-eme degre' ; 'DESSIN' (EVCVO2 'ET' EVCV1O2) 'LEGE' TAB1 'TITRE' 'O2, polynome de 4-eme degre' ; 'FINSI' ; *************************** ***** DOMAINE SPATIAL **** *************************** A1 = 0.0D0 0.0D0; A2 = 2.0D0 0.0D0; A3 = 3.0D0 0.0D0; A4 = 4.0D0 1.0D0; A5 = 1.0D0 1.0D0; A6 = 0.0D0 1.0D0; A7 = 7.0D0 8.0D0 ; MAI1 = ('MANUEL' 'POI1' A1) 'ET' ('MANUEL' 'POI1' A2) 'ET' ('MANUEL' 'POI1' A3) 'ET' ('MANUEL' 'POI1' A4) 'ET' ('MANUEL' 'POI1' A5) 'ET' ('MANUEL' 'POI1' A6) ; * MAI2 = ('MANUEL' 'POI1' A2) 'ET' ('MANUEL' 'POI1' A1) 'ET' ('MANUEL' 'POI1' A3) 'ET' ('MANUEL' 'POI1' A4) 'ET' ('MANUEL' 'POI1' A5) 'ET' ('MANUEL' 'POI1' A6) ; * MAI3 = ('MANUEL' 'POI1' A3) 'ET' ('MANUEL' 'POI1' A2) 'ET' ('MANUEL' 'POI1' A1) 'ET' ('MANUEL' 'POI1' A4) 'ET' ('MANUEL' 'POI1' A5) 'ET' ('MANUEL' 'POI1' A6) ; * MAI4 = ('MANUEL' 'POI1' A4) 'ET' ('MANUEL' 'POI1' A3) 'ET' ('MANUEL' 'POI1' A2) 'ET' ('MANUEL' 'POI1' A1) 'ET' ('MANUEL' 'POI1' A5) 'ET' ('MANUEL' 'POI1' A6) ; * **** Pression, densite, temperature et vitesse * YN = 'NOMC' 'H2 ' 'NATU' 'DISCRET' ; (PGAZ . 'ESPEULE'))) 'NATU' 'DISCRET' ; YNTOT = YN 'ET' YO2 ; (PGAZ . 'ESPEULE') ; GN1 = 'COPIER' GN ; * * Calcul de l'energie thermique et du gamma * * Ether = \sum_{i=1,4} Y_i \int_{0}^{T} cv_i(x) dx * gamma = (\sum_{i=1,4} Y_i cp_i) / (\sum_{i=1,4} Y_i cv_i) * T2 = TN * TN ; T3 = T2 * TN ; T4 = T3 * TN ; T5 = T4 * TN ; ((A2H2 '/' 3.0) * T3) '+' ((A3H2 '/' 4.0) * T4) '+' ((A4H2 '/' 5.0) * T5)) 'H2 ' 'NATU' 'DISCRET' ; ((A2O2 '/' 3.0) * T3) '+' ((A3O2 '/' 4.0) * T4) '+' ((A4O2 '/' 5.0) * T5)) 'O2 ' 'NATU' 'DISCRET' ; ETHERSIN = ETERH2 'ET' ETERO2 ; RETHER = 'PSCAL' ETHERSIN RYNTOT LMOT1 LMOT1 ; RECIN = 'PSCAL' (0.5 '*' VN) GN LMOT2 LMOT2 ; RET = RECIN '+' RETHER ; (A2H2 * T2) '+' (A3H2 * T3) '+' (A4H2 * T4)) 'H2 ' 'NATU' 'DISCRET' ; (A2O2 * T2) '+' (A3O2 * T3) '+' (A4O2 * T4)) 'O2 ' 'NATU' 'DISCRET' ; CPH2 = CVH2 '+' (PGAZ . 'H2 ' . 'R') ; CPO2 = CVO2 '+' (PGAZ . 'O2 ' . 'R') ; CPSIN = CPH2 'ET' CPO2 ; CPTOT = 'PSCAL' CPSIN YNTOT LMOT1 LMOT1 ; CVSIN = CVH2 'ET' CVO2 ; CVTOT = 'PSCAL' CVSIN YNTOT LMOT1 LMOT1 ; GAMN = CPTOT '/' CVTOT ; RTOT = CPTOT '-' CVTOT ; PN = (RTOT '*' TN) '*' RN ; * **** PRIM * VITESSE PRES TEMPNEW YNNEW GAMNEW * **** TEST * ERRGN = ('MAXIMUM' (GN '-' GN1) 'ABS') '/' ('MAXIMUM' GN 'ABS' ) ; ERRV = ('MAXIMUM' (VN '-' VITESSE) 'ABS') '/' ('MAXIMUM' VN 'ABS' ) ; ERRT = 'MAXIMUM' ((TEMPNEW '-' TN) '/' TN) 'ABS'; ERRG = 'MAXIMUM' ((GAMN '-' GAMNEW) '/' GAMN) 'ABS'; ERRY = ('MAXIMUM' (YN '-' YNNEW) 'ABS') '/' ('MAXIMUM' YN) ; ERRMAX); 'MESSAGE' ('CHAINE' 'Erreur maximum'); )); 'ERREUR' 5; 'FINSI' ; **** Avec une temperature de premier tentative VITESSE PRES TEMPNEW2 YNNEW GAMNEW ERRT = 'MAXIMUM' ((TEMPNEW '-' TEMPNEW2) '/' TEMPNEW) 'ABS'; 'SI' (ERRT > ERRMAX); 'MESSAGE' ('CHAINE' 'Erreur maximum' ERRT) ; 'ERREUR' 5; 'FINSI' ; **** On teste aussi la difference entre l'energie initiale et celle la. T2 = TEMPNEW * TEMPNEW ; T3 = T2 * TEMPNEW ; T4 = T3 * TEMPNEW ; T5 = T4 * TEMPNEW ; ((A2H2 '/' 3.0) * T3) '+' ((A3H2 '/' 4.0) * T4) '+' ((A4H2 '/' 5.0) * T5)) 'H2 ' 'NATU' 'DISCRET' ; ((A2O2 '/' 3.0) * T3) '+' ((A3O2 '/' 4.0) * T4) '+' ((A4O2 '/' 5.0) * T5)) 'O2 ' 'NATU' 'DISCRET' ; ETHERSIN = ETERH2 'ET' ETERO2 ; RETHER_N = 'PSCAL' ETHERSIN RYNTOT LMOT1 LMOT1 ; ERRET = 'MAXIMUM' ((RETHER '-' RETHER_N) '/' RETHER) 'ABS' ; 'SI' (ERRET > ERRMAX); 'MESSAGE' ('CHAINE' 'Erreur maximum' ERRET) ; 'ERREUR' 5; 'FINSI' ; * **** Scalaires passifs * 9.5 12.9 11.0 12.5) ; RSN1 = 'COPIER' RSN ; VITESSE PRES TEMPNEW2 YNNEW SNNEW GAMNEW ERRSN = ('MAXIMUM' (SN '-' SNNEW) 'ABS') '/' ('MAXIMUM' SN 'ABS' ) ; ERRRSN = ('MAXIMUM' (RSN '-' RSN1) 'ABS') '/' ('MAXIMUM' RSN 'ABS' ) ; ERRGN = ('MAXIMUM' (GN '-' GN1) 'ABS') '/' ('MAXIMUM' GN 'ABS' ) ; ERRV = ('MAXIMUM' (VN '-' VITESSE) 'ABS') '/' ('MAXIMUM' VN 'ABS' ) ; ERRT = 'MAXIMUM' ((TEMPNEW '-' TN) '/' TN) 'ABS'; ERRG = 'MAXIMUM' ((GAMN '-' GAMNEW) '/' GAMN) 'ABS'; ERRY = ('MAXIMUM' (YN '-' YNNEW) 'ABS') '/' ('MAXIMUM' YN) ; ERRMAX); 'MESSAGE' ('CHAINE' 'Erreur maximum'); )); 'ERREUR' 5; 'FINSI' ; 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales