* fichier : primtest3.dgibi ************************************************************************ ************************************************************************ *********************************************************** **** APPROCHE VF "Cell-Centred Formulation" pour la **** **** solution des **** **** Equations d'Euler pour un gaz parfait **** **** OPERATEUR PRIM **** **** Cas: gaz multiespece "calorically perfect" **** **** **** **** A. BECCANTINI DRN/DMT/SEMT/TTMF MARS 1998 **** *********************************************************** 'OPTION' 'ELEM' QUA4 ; 'OPTION' 'ECHO' 0; 'OPTION' 'TRAC' 'PS' ; * *** GRAPHIQUES * * GRAPH = VRAI ; GRAPH = FAUX ; *************************** ***** 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) ; ************************ **** MODELE DU GAZ **** ************************ NESP = 4; * *** GAS: H_2, O_2, H_2O, N_2 * * CP, CV en J/Kg/K @ T = 3000 * PGAS = 'TABLE' ; PGAS . 'CP' = 'TABLE' ; PGAS . 'CP' . 'H2 ' = .18729066D+05 ; PGAS . 'CP' . 'O2 ' = .11886820D+04 ; PGAS . 'CP' . 'H2O ' = .31209047D+04 ; PGAS . 'CP' . 'N2 ' = .12993995D+04 ; PGAS . 'CV' = 'TABLE' ; PGAS . 'CV' . 'H2 ' = .14571861D+05 ; PGAS . 'CV' . 'O2 ' = .92885670D+03 ; PGAS . 'CV' . 'H2O ' = .26589930D+04 ; PGAS . 'CV' . 'N2 ' = .10024563D+04; * **** Especes qui sont dans les equations d'Euler * * **** Espece qui n'y est pas * PGAS . 'ESPNEULE' = 'N2 '; * *********************** **** Les CHPOINTs **** *********************** 'NATU' 'DISCRET') ; 'NATU' 'DISCRET') ; VN = VNX 'ET' VNY ; * *** La quantité de mouvement * GN1 = 'COPIER' GN ; * **** Les fractions massiques YN et les masses RYN * * N.B. YN n'as pas le meme supporte geometrique * que RN, PN; en general la numerotation * des noeuds est differente, mais ce n'est * pas grave! * 'NATU' 'DISCRET') 'ET' 'NATU' 'DISCRET') 'ET' 'NATU' 'DISCRET') ; (PGAS . 'ESPEULE')) ; YNTOT = YN 'ET' YNESP ; (PGAS . 'ESPEULE') ; RYN1 = 'COPIER' RYN ; 'NATU' 'DISCRET') 'ET' 'NATU' 'DISCRET') 'ET' 'NATU' 'DISCRET') 'ET' 'NATU' 'DISCRET') ; 'NATU' 'DISCRET') 'ET' 'NATU' 'DISCRET') 'ET' 'NATU' 'DISCRET') 'ET' 'NATU' 'DISCRET') ; CVTOT = 'PSCAL' YNTOT CV LMOT1 LMOT1 ; CPTOT = 'PSCAL' YNTOT CP LMOT1 LMOT1 ; GAMN = CPTOT '/' CVTOT ; GM1 = GAMN '-' UNCH ; ETHER = PN '/' GM1; EN = ECIN '+' ETHER ; TN = ETHER '/' (CVTOT '*' RN) ; ************************ **** L'operateur ***** ************************ VITESSE PRES TEMPNEW YNNEW GAMNEW ERRGN = 'MAXIMUM' (GN1 '-' GN) 'ABS' ; VCELL = ('MAXIMUM' GN 'ABS') ; 'SI' (VCELL > 0); ERRGN = ERRGN '/' VCELL; 'FINSI' ; ERRV = 'MAXIMUM' (VITESSE '-' VN) 'ABS' ; VCELL = ('MAXIMUM' VN 'ABS') ; 'SI' (VCELL > 0); ERRV = ERRV '/' VCELL; 'FINSI' ; ERRT = ('MAXIMUM' (TEMPNEW '-' TN) 'ABS') '/' ('MAXIMUM' TN) ; ERRG = ('MAXIMUM' (GAMN '-' GAMNEW) 'ABS') '/' ('MAXIMUM' GAMN) ; ERRY = 'MAXIMUM' (YNNEW '-' YN) 'ABS' ; 1.0D-12)); 'MESSAGE' ('CHAINE' 'Erreur maximum'); )); 'ERREUR' 5; 'FINSI' ; 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales