Télécharger comp_perfmult_perftemp.dgibi
* fichier : comp_perfmult_perftemp.dgibi ************************************************************************ ************************************************************************ ********************************************************** **** APPROCHE VF "Cell-Centred Formulation" pour la **** **** solution des **** **** Equations d'Euler pour un gaz parfait **** **** OPERATEURS PRIM, PRET, KONV **** **** **** **** Cas gaz multi-especes: **** **** Comparaison calorically perfect et thermally **** **** perfect **** **** **** **** Methodes: VLH **** **** **** **** A. BECCANTINI DRN/DMT/SEMT/TTMF DECEMBRE 1998 **** ********************************************************** *MGOU : modif gounand 16/2/99 *MGOU : augmentation légère des tolérances suite à *MGOU : l'évolution de redlec.eso (lecture des réels à *MGOU : partir de Gibiane... 'OPTION' 'ELEM' QUA4 ; 'OPTION' 'ECHO' 0 ; 'OPTION' 'TRAC' 'X' ; * *** GRAPH * GRAPH = FAUX ; * GRAPH = VRAI ; *********************** **** LA TABLE PGAZ **** *********************** * Modele gaz "thermally perfect" PGAZ = 'TABLE' ; * **** Ordre des polynoms cv_i * PGAZ . 'NORD' = 0 ; * **** Especes qui sont dans les equations d'Euler * * **** Espece qui n'y est pas * PGAZ . 'ESPNEULE' = 'N2 '; * PGAZ . 'H2 ' = 'TABLE' ; PGAZ . 'H2O ' = 'TABLE' ; PGAZ . 'N2 ' = 'TABLE' ; PGAZ . 'O2 ' = 'TABLE' ; * **** R (J/Kg/K) * PGAZ . 'H2 ' . 'R' = 4130.0 ; PGAZ . 'H2O ' . 'R' = 461.4 ; PGAZ . 'N2 ' . 'R' = 296.8 ; PGAZ . 'O2 ' . 'R' = 259.8 ; * **** Regressions polynomials * * **** "Enthalpies" (ou energies) de formations a OK (J/Kg) * Note: ce sont des entites numeriques PGAZ . 'H2 ' . 'H0K' = -4.195D6 ; PGAZ . 'H2O ' . 'H0K' = -1.395D7 ; PGAZ . 'N2 ' . 'H0K' = -2.953D5 ; PGAZ . 'O2 ' . 'H0K' = -2.634D5 ; * Modele gaz "calorically perfect" PGAZ2 = 'TABLE' ; PGAZ2 . 'CV' = 'TABLE' ; PGAZ2 . 'CV' . 'H2 ' = .14571861D+05 ; PGAZ2 . 'CV' . 'O2 ' = .92885670D+03 ; PGAZ2 . 'CV' . 'H2O ' = .26589930D+04 ; PGAZ2 . 'CV' . 'N2 ' = .10024563D+04; PGAZ2 . 'CP' = 'TABLE' ; PGAZ2 . 'CP' . 'H2 ' = (PGAZ2 . 'CV' . 'H2 ') '+' (PGAZ . 'H2 ' . 'R') ; PGAZ2 . 'CP' . 'N2 ' = (PGAZ2 . 'CV' . 'N2 ') '+' (PGAZ . 'N2 ' . 'R') ; PGAZ2 . 'CP' . 'O2 ' = (PGAZ2 . 'CV' . 'O2 ') '+' (PGAZ . 'O2 ' . 'R') ; PGAZ2 . 'CP' . 'H2O ' = (PGAZ2 . 'CV' . 'H2O ') '+' (PGAZ . 'H2O ' . 'R') ; * **** Especes qui sont dans les equations d'Euler * * **** Espece qui n'y est pas * PGAZ2 . 'ESPNEULE' = 'N2 '; *************************** ***** DOMAINE SPATIAL **** *************************** A1 = 0.0D0 0.0D0; A2 = 1.0D0 0.0D0; A3 = 2.0D0 0.0D0; A4 = 2.0D0 1.0D0; A5 = 1.0D0 1.0D0; A6 = 0.0D0 1.0D0; L12 = A1 'DROIT' 1 A2; L23 = A2 'DROIT' 1 A3; L34 = A3 'DROIT' 1 A4; L45 = A4 'DROIT' 1 A5; L56 = A5 'DROIT' 1 A6; L61 = A6 'DROIT' 1 A1; L25 = A2 'DROIT' 1 A5; DOM10 = 'DALL' L12 L25 L56 L61 'PLANE'; 'PLANE'; * *** Point ou on controlle la consistence * P10 = 1.0 0.5; * *** Etats gauche et droite (on controlle que avec XLDB on a le bon truc) * rog = 11.412 ; pg = 11.17D6 ; ung = 18.34 ; utg = 118.2 ; yh2g = 0.11 ; yh2Og = 0.12 ; yN2g = 0.115 ; yO2g = 1 '-' (yh2g '+' yh2Og '+' yn2g) ; rod = 1.412 ; pd = 1.17D6 ; und = 8.34 ; utd = 18.2 ; yh2d = 0.1 ; yh2Od = 0.2 ; yN2d = 0.15 ; yO2d = 1 '-' (yh2d '+' yh2Od '+' yn2d) ; * *** Calcul du gamg, gamd, retg, retd * rcvg = (yh2g * ('EXTRAIRE' 1 (PGAZ . 'H2 ' . 'A'))) '+' (yH2Og * ('EXTRAIRE' 1 (PGAZ . 'H2O ' . 'A'))) '+' (yO2g * ('EXTRAIRE' 1 (PGAZ . 'O2 ' . 'A'))) '+' (yN2g * ('EXTRAIRE' 1 (PGAZ . 'N2 ' . 'A'))) ; rtotg = (yh2g * (PGAZ . 'H2 ' . 'R')) + (yH2Og * (PGAZ . 'H2O ' . 'R')) '+' (yO2g * (PGAZ . 'O2 ' . 'R')) '+' (yN2g * (PGAZ . 'N2 ' . 'R')) ; gamg = (rcvg '+' rtotg) '/' rcvg ; tg = pg '/' (rtotg '*' rog) ; etherg = rtotg '*' tg '/' (gamg '-' 1.0) ; ecin = 0.5 '*' ((ung '*' ung) '+' (utg '*' utg)) ; retg = rog '*' (etherg '+' ecin) ; rcvd = (yh2d * ('EXTRAIRE' 1 (PGAZ . 'H2 ' . 'A'))) + (yH2Od * ('EXTRAIRE' 1 (PGAZ . 'H2O ' . 'A'))) '+' (yO2d * ('EXTRAIRE' 1 (PGAZ . 'O2 ' . 'A'))) '+' (yN2d * ('EXTRAIRE' 1 (PGAZ . 'N2 ' . 'A'))) ; rtotd = (yh2d * (PGAZ . 'H2 ' . 'R')) + (yH2Od * (PGAZ . 'H2O ' . 'R')) '+' (yO2d * (PGAZ . 'O2 ' . 'R')) '+' (yN2d * (PGAZ . 'N2 ' . 'R')) ; gamd = (rcvd '+' rtotd) '/' rcvd ; td = pd '/' (rtotd '*' rod) ; etherd = rtotd '*' td '/' (gamd '-' 1.0) ; ecin = 0.5 '*' ((und '*' und) '+' (utd '*' utd)) ; retd = rod '*' (etherd '+' ecin) ; **************************************************** **************************************************** ******** Boucle sur les angles ********* **************************************************** **************************************************** ANGLE = 11.3 ; * *** Rotation * ORIG = 0.0D0 0.0D0; MESSAGE; MESSAGE (CHAIN 'Angle de rotation= ' ANGLE); MESSAGE; DOM1 = DOM10 'TOURNER' ANGLE ORIG; DOM2 = DOM20 'TOURNER' ANGLE ORIG; P1 = P10 'TOURNER' ANGLE ORIG; 'ELIMINATION' (DOM1 ET DOM2) 1D-6; DOMTOT = DOM1 ET DOM2; MDOMTOT = TDOMTOT . 'QUAF' ; MDOM1 = TDOM1 . 'QUAF' ; MDOM2 = TDOM2 . 'QUAF' ; 'SI' GRAPH; 'ET' P1) 'TITRE' 'Domaine et FACEL'; 'FINSI' ; * **** Redefinition de P1 dans $DOMTOT . 'FACE' * *********************** **** Les CHPOINTs **** *********************** ruxg = ((ung '*' ('COS' ANGLE)) '-' (utg '*' ('SIN' ANGLE))) '*' rog ; ruyg = ((ung '*' ('SIN' ANGLE)) '+' (utg '*' ('COS' ANGLE))) '*' rog ; ruxd = ((und '*' ('COS' ANGLE)) '-' (utd '*' ('SIN' ANGLE))) '*' rod ; ruyd = ((und '*' ('SIN' ANGLE)) '+' (utd '*' ('COS' ANGLE))) '*' rod ; * attention: PGAZ . 'ESPEULE' = 'MOTS' 'H2 ' 'O2 ' 'H2O ' ; 'ET' 'ET' 'ET' RYN = RYH2 'ET' RYO2 'ET' RYH2O ; *************************** **** L'operateur PRIM**** *************************** ('MAXIMUM' (VN1 '-' VN2) 'ABS' ) ('MAXIMUM' (PN '-' PN1) 'ABS' ) ('MAXIMUM' (PN '-' PN2) 'ABS' ) ('MAXIMUM' (TN '-' TN1) 'ABS' ) ('MAXIMUM' (TN '-' TN2) 'ABS' ) ('MAXIMUM' (YN1 '-' YN2) 'ABS' ) ('MAXIMUM' (GAMNEW1 '-' GAMN) 'ABS' ) ('MAXIMUM' (GAMNEW2 '-' GAMN) 'ABS' )) ; *MGOU : 'SI' (IMAX > 1.0D-8) ; 'SI' (IMAX > 1.5D-8) ; 'ERREUR' 5 ; 'FINSI' ; *************************** **** L'operateur PRET**** *************************** ORDESP = 1; ORDTEM = 1; ROF VITF PF YF = 'PRET' 'PERFTEMP' ORDESP ORDTEM $DOMTOT PGAZ RN VN1 PN1 YN1 ; ROF2 VITF2 PF2 YF2 GAMF = 'PRET' 'PERFMULT' ORDESP ORDTEM $DOMTOT RN VN2 PN2 YN2 GAMNEW2 ; ('MAXIMUM' (ROF '-' ROF2) 'ABS' ) ('MAXIMUM' (VITF2 '-' VITF) 'ABS' ) ('MAXIMUM' (PF2 '-' PF) 'ABS' ) ('MAXIMUM' (YF '-' YF2) 'ABS' ) ) ; 'SI' (IMAX > 1.0D-7) ; 'MESSAGE' ('CHAINE' 'Modele PERFMULT, ERRMAX =' IMAX ) ; 'ERREUR' 5 ; 'FINSI' ; **************** **** 'KONV' **** **************** METO = 'VLH' ; $DOMTOT PGAZ LISTINCO ROF2 VITF2 PF2 YF2 ; $DOMTOT LISTINCO ROF VITF PF GAMF YF PGAZ2 ; IMAX = 'MAXIMUM' (TFLUX '-' TFLUX2) 'ABS' ; 'SI' (IMAX > 1.0D-4) ; 'MESSAGE' ('CHAINE' 'Modele PERFTEMP, ERRMAX =' IMAX ) ; 'ERREUR' 5 ; 'FINSI' ; 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales