* fichier : clmult2D.dgibi ********************************************************************* * VF, Condition Limites en 2D pour les Equations d'Euler * * multiespeces * * Kudriakov S., DM2S/SFME/LTMF, FEVRIER 2003 * * * * Beccantini A., DM2S/SFME/LTMF, FEVRIER 2006: * * BC of RESErvoir type * ********************************************************************* TYEL = 'QUA8' ; * TYEL = 'TRI6' ; GRAPH = VRAI ; GRAPH = FAUX ; ****************** **** MAILLAGE **** ****************** * * P2 P3 * DX = 0.5 ; P2 = 0.0 0.0 ; P3 = DX DX ; P2P3 = P2 'DROIT' 1 P3 ; DOMINT = P2P3 'REGLER' 4 LIGHAU ; DOMINT = 'CHANGER' DOMINT 'QUAF' ; * **** Creation of DOMAINE tables via the MODEL object * MDOMINT = 'MODELISER' DOMINT 'NAVIER_STOKES' 'LINE' ; MP2P3 = 'MODELISER' P2P3 'NAVIER_STOKES' 'LINE' ; MDICEN = $DOMINT . 'CENTRE' ; MFCEN = $P2P3 . 'CENTRE' ; 'SI' GRAPH ; 'TRACER' (DOMINT 'ET' PCEN) ; 'FINSI' ; ********************************************************************************** ********************************************************************************** *************************** Riemann invariants, inlet *************************** ********************************************************************************** ********************************************************************************** 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 ' ; *----------------- *** CP **** *----------------- (PGAS . 'CP' . 'H2 ') 'NATU' 'DISCRET') 'ET' (PGAS . 'CP' . 'O2 ') 'NATU' 'DISCRET') 'ET' (PGAS . 'CP' . 'H2O ') 'NATU' 'DISCRET') 'ET' (PGAS . 'CP' . 'N2 ') 'NATU' 'DISCRET') ; *************************** (PGAS . 'CP' . 'H2 ') 'NATU' 'DISCRET') 'ET' (PGAS . 'CP' . 'O2 ') 'NATU' 'DISCRET') 'ET' (PGAS . 'CP' . 'H2O ') 'NATU' 'DISCRET') 'ET' (PGAS . 'CP' . 'N2 ') 'NATU' 'DISCRET') ; *----------------- *** CV **** *----------------- (PGAS . 'CV' . 'H2 ') 'NATU' 'DISCRET') 'ET' (PGAS . 'CV' . 'O2 ') 'NATU' 'DISCRET') 'ET' (PGAS . 'CV' . 'H2O ') 'NATU' 'DISCRET') 'ET' (PGAS . 'CV' . 'N2 ') 'NATU' 'DISCRET') ; ***************************** (PGAS . 'CV' . 'H2 ') 'NATU' 'DISCRET') 'ET' (PGAS . 'CV' . 'O2 ') 'NATU' 'DISCRET') 'ET' (PGAS . 'CV' . 'H2O ') 'NATU' 'DISCRET') 'ET' (PGAS . 'CV' . 'N2 ') 'NATU' 'DISCRET') ; *********************************************************** *********************************************************** 'H2O' 0.1 ; 'H2O' 0.1 'NATU' 'DISCRET' ; ********************************************************** (PGAS . 'ESPEULE')) ; YNTOT = YN1 'ET' YNESP ; CVTOT = 'PSCAL' YNTOT CV LMOT1 LMOT1 ; CPTOT = 'PSCAL' YNTOT CP LMOT1 LMOT1 ; GAMN = CPTOT '/' CVTOT ; ********************************************************** 'UX' 2.0 'UY' 1.0 'H2' 0.1 'O2' 0.7 'H2O' 0.05 ; PGAS LISTC LISTP RN VN PN YN CHPLI 'INRI' ; ************************************************************ **** On calcule les variables conservatives ************** ************************************************************ RAZM = NESP '+' 3 ; VVV = 'PSCAL' VN VN LMOT1 LMOT1 ; ECIN = 0.5D0 '*' RN '*' VVV ; 'NATU' 'DISCRET' ; LMOT1 = (PGAS . 'ESPEULE') ; LMOT3 = (PGAS . 'ESPEULE') ; RYN = YN '*' RN LMOT1 LMOT2 LMOT3 ; XXTOL = 1.D-12; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; 'SI' (ERR2 > XXTOL) ; 'MESS' CHAI2; 'ERREUR' 5 ; 'FINSI' ; ***************************************** **** On calcule RCHLIM en gibiane ***************************************** '**' 0.5) ; GAMMA = 'MAXIMUM' GAMN ; GM1 = '-' GAMMA 1. ; USGM1 = 1. '/' GM1 ; DSGM1 = 2. '*' USGM1 ; ASONC = GAMMA * (PN '/' RN) ; ASONC = ASONC '**' 0.5 ; G1 = UNC '-' (DSGM1 * ASONC) ; G1 = 'EXTRAIRE' G1 PCEN 'SCAL' ; ******************************************************* '/' (2 '**' 0.5) ; '/' (-1*(2 '**' 0.5)) ; YNCEL = YH2CEL 'ET' YO2CEL ; YNCEL = YNCEL 'ET' YHOCEL ; ********************************************************** 'H2O' 0.05 'N2' 0.15 'NATU' 'DISCRET' ; CVTOT = 'PSCAL' YNTCEL CVCEL LMOT1 LMOT1 ; CPTOT = 'PSCAL' YNTCEL CPCEL LMOT1 LMOT1 ; GAMCEL = CPTOT '/' CVTOT ; *********************************************************** GAMF = 'MAXIMUM' GAMCEL ; GM1F = '-' GAMF 1. ; USGM1F = 1. '/' GM1F ; DSGM1F = 2. '*' USGM1F ; ASONF = GAMF * (PNCEL '/' RNCEL) ; ASONF = ASONF '**' 0.5 ; G3 = UNCELC '+' (DSGM1F * ASONF) ; S = PNCEL '/' (RNCEL** GAMF) ; GAMID = (GAMMA '+' GAMF) '/' 2.0D0 ; GM1M = '-' GAMID 1. ; USGM1M = 1. '/' GM1M ; DSGM1M = 2. '*' USGM1M ; ASON2=(0.5D0*(G3-G1)) ; ASON2=ASON2/DSGM1F ; ASON2=ASON2*ASON2 ; RHO=ASON2/(GAMF*S) ; RHO=RHO**USGM1F ; P=(RHO*ASON2)/GAMF ; UNCEL = 0.5 '*' (G3 '+' G1) ; UX = (UNCEL '+' UTCEL) '/' (-1*(2 '**' 0.5)) ; UY = (UNCEL '-' UTCEL) '/' (2 '**' 0.5) ; UX 'UY' UY 'PN' P 'H2' 0.1 'O2' 0.7 'H2O' 0.05 ; ERRO = 'MAXIMUM' (CHLIM2 '-' RCHLIM) ; XXTOL = 1.D-12; 'SI' (ERRO > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; 'FINSI' ; ****************************************************************** **** Jacobian with respect to primitive variable ****************************************************************** RJACO = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'JACOPRIM' MDOMINT MP2P3 PGAS LISTC LISTP RN VN PN YN CHPLI 'INRI' ; EPS=1.0D-6 ; ERROM = 1.0D-3 ; * RN ****************** RN ******* RN ********************* DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP (RN '+' DR) VN PN YN CHPLI 'INRI' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; * UX ***** UX ****** UX ****** UX ************************ DUXSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ; PGAS LISTC LISTP RN (VN '+' DUX) PN YN CHPLI 'INRI' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; 'UX' 1.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0) ; MMM = 'MAXIMUM' DRESDUX 'ABS' ; ERRO = 'MAXIMUM' ((DRESDUX '-' DRESDUXN) '/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; *** UY *************** UY ************* UY ******************* DUYSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ; PGAS LISTC LISTP RN (VN '+' DUY) PN YN CHPLI 'INRI' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; 'UX' 0.0 'UY' 1.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ; MMM = 'MAXIMUM' DRESDUY 'ABS' ; ERRO = 'MAXIMUM' ((DRESDUY '-' DRESDUYN) '/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; **** PN ********** PN ************ PN *********************** DPSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN VN (PN '+' DP) YN CHPLI 'INRI' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 1.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ; MMM = 'MAXIMUM' DRESDP 'ABS' ; ERRO = 'MAXIMUM' ((DRESDP '-' DRESDPN)'/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; **** YH2 ********** YH2 ************ YH2 *********************** DYH2SCAL = EPS '*' ('EXTRAIRE' YN 'H2' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN VN PN (YN1 '+' DYH2) CHPLI 'INRI' ; DRESDYN = ( RCHRES1 '-' RCHRES) '/' DYH2SCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 1.0 'O2' 0.0 'H2O' 0.0 ) ; MMM = 'MAXIMUM' DRESDY 'ABS' ; ERRO = 'MAXIMUM' ((DRESDY '-' DRESDYN)'/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ***** YO2 ****** YO2 *********** YO2 ****************** DYO2SCAL = EPS '*' ('EXTRAIRE' YN 'O2' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN VN PN (YN1 '+' DYO2) CHPLI 'INRI' ; DRESDYN = ( RCHRES1 '-' RCHRES) '/' DYO2SCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 1.0 'H2O' 0.0 ) ; MMM = 'MAXIMUM' DRESDY 'ABS' ; ERRO = 'MAXIMUM' ((DRESDY '-' DRESDYN)'/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ***** YHO ****** YHO *********** YHO ****************** DYHOSCAL = EPS '*' ('EXTRAIRE' YN 'H2O' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN VN PN (YN1 '+' DYHO) CHPLI 'INRI' ; DRESDYN = ( RCHRES1 '-' RCHRES) '/' DYHOSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 1.0 ) ; MMM = 'MAXIMUM' DRESDY 'ABS' ; ERRO = 'MAXIMUM' ((DRESDY '-' DRESDYN)'/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************************************************************** **** Jacobian with respect to conservative variables ************************************************************** RJACO = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'JACOCONS' MDOMINT MP2P3 PGAS LISTC LISTP RN VN PN YN CHPLI 'INRI' ; ******** RN ************* RN ********** RN ************** DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = RN '+' DR ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; RYN1 = 'COPIER' RYN ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INRI' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN)'/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ***** RUX ******* RUX ******** RUX ******************* DUXSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUX ; RETN1 = 'COPIER' RETN ; RYN1 = 'COPIER' RYN ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INRI' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDUX 'ABS' ; ERRO = 'MAXIMUM' ((DRESDUX '-' DRESDUXN) '/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ***** RUY ******* RUY ******** RUY ******************* DUYSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUY ; RETN1 = 'COPIER' RETN ; RYN1 = 'COPIER' RYN ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INRI' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDUY 'ABS' ; ERRO = 'MAXIMUM' ((DRESDUY '-' DRESDUYN) '/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ******** RETN ************ RETN ************************ DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = RETN '+' DR ; RYN1 = 'COPIER' RYN ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INRI' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN)'/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ******** RYN ************ RYN ************************ DRSCAL = EPS '*' ('EXTRAIRE' RYN 'H2' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = RETN ; RYN1 = RYN '+' DR ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INRI' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 1.0 'VAR6' 0.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN)'/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ******** RYN ************ RYN ************************ DRSCAL = EPS '*' ('EXTRAIRE' RYN 'H2' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = RETN ; RYN1 = RYN '+' DR ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INRI' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 1.0 'VAR6' 0.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN)'/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ******** RYNH2 ************ RYNH2 ************************ DRSCAL = EPS '*' ('EXTRAIRE' RYN 'H2' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = RETN ; RYN1 = RYN '+' DR ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INRI' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 1.0 'VAR6' 0.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN)'/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ******** RYNO2 ************ RYNO2 ************************ DRSCAL = EPS '*' ('EXTRAIRE' RYN 'O2' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = RETN ; RYN1 = RYN '+' DR ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INRI' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 1.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN)'/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ******** RYNH20 ************ RYNH20 ************************ DRSCAL = EPS '*' ('EXTRAIRE' RYN 'H2O' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = RETN ; RYN1 = RYN '+' DR ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INRI' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 1.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN)'/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ****************************************************************************** ****************************************************************************** *************************** INJE ******************************************** ****************************************************************************** ****************************************************************************** * * We impose RT and the normal momentum at the inlet. * (les fractions massiques sont impsees aussi) ***** Calcul du residu dans le cas particulier UF = UC ***************************************************************************** 'H2O' 0.1 ; GN = RN '*' VN ; RT = 2.1 '/' 1.1 ; UXC = ('EXTRAIRE' VN 'UX' PCEN) ; UYC = ('EXTRAIRE' VN 'UY' PCEN) ; PC = ('EXTRAIRE' PN 'SCAL' PCEN) ; RC = ('EXTRAIRE' RN 'SCAL' PCEN) ; YH2 = ('EXTRAIRE' YN 'H2' PCEN) ; YO2 = ('EXTRAIRE' YN 'O2' PCEN) ; YH2O = ('EXTRAIRE' YN 'H2O' PCEN) ; PGAS LISTC LISTP RN VN PN YN CHPLI 'INJE' ; *--------------------------------------- ** Testing RCHLIM !!!!! *--------------------------------------- 'UY' UYC 'H2' 0.3 'O2' 0.5 'H2O' 0.1 ; ERRO = 'MAXIMUM' (RCHLIM1 '-' RCHLIM) 'ABS' ; XXTOL = 1.D-12; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; *------------------------------------- ** Testing RCHRES !!!!! *------------------------------------- 'SI' ('EGA' TYEL 'QUA8') ; SURSVOL = 1. '/' ((2 '**' 0.5) * 0.5) ; 'SINON' ; SURSVOL = 2. '/' ((2 '**' 0.5) * 0.5) ; 'FINSI' ; *------------------------------------------------------------- YN2 = 1.0D0 '-' (YH2 '+' YO2 '+' YH2O) ; 'H2O' YH2O 'N2' YN2 ; CVTOT = 'PSCAL' YNTOT CV LMOT1 LMOT1 ; CPTOT = 'PSCAL' YNTOT CP LMOT1 LMOT1 ; GAMN = CPTOT '/' CVTOT ; GAMC = ('EXTRAIRE' GAMN 'SCAL' PCEN) ; *-------------------------------------------------------------- HIN = (GAMC/(GAMC-1)) '*' (PC '/' RC) ; ECIN = 0.5 '*' ((UXC '*' UXC) '+' (UYC '*' UYC)) ; ; 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL) 'VAR3' (FUY '*' SURSVOL) 'VAR4' (FEN '*' SURSVOL) 'VAR5' (FMASS '*' YH2 '*' SURSVOL) 'VAR6' (FMASS '*' YO2'*'SURSVOL) 'VAR7' (FMASS '*' YH2O'*'SURSVOL); ERRO = 'MAXIMUM' (RCHRES1 '-' RCHRES) 'ABS' ; XXTOL = 1.D-10; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; **************************************************************** ************* JACOBIANS *************************************** **************************************************************** 'H2O' 0.1 ; YH2 = ('EXTRAIRE' YN 'H2' PCEN) ; YO2 = ('EXTRAIRE' YN 'O2' PCEN) ; YH2O = ('EXTRAIRE' YN 'H2O' PCEN) ; YN2 = 1.0D0 '-' (YH2 '+' YO2 '+' YH2O) ; 'H2O' YH2O 'N2' YN2 ; CVTOT = 'PSCAL' YNTOT CV LMOT1 LMOT1 ; CPTOT = 'PSCAL' YNTOT CP LMOT1 LMOT1 ; GAMN = CPTOT '/' CVTOT ; GAMC = ('EXTRAIRE' GAMN 'SCAL' PCEN) ; LMOT1 = (PGAS . 'ESPEULE') ; LMOT3 = (PGAS . 'ESPEULE') ; RYN = YN '*' RN LMOT1 LMOT2 LMOT3 ; ************************************************ GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN RT = 4.1 ; PGAS LISTC LISTP RN VN PN YN CHPLI 'INJE' ; *************************************************************** ***** Jacobian with respect to the primitive variables ******** *************************************************************** RJACO = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'JACOPRIM' MDOMINT MP2P3 PGAS LISTC LISTP RN VN PN YN CHPLI 'INJE' ; * EPS=1.0D-6 ; * ERROM = 1.0D-5 ; ************ RN *************** RN ***************************** DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP (RN '+' DR) VN PN YN CHPLI 'INJE' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************ UX *************** UX ***************************** DRSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN (VN '+' DR) PN YN CHPLI 'INJE' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 1.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************ UY *************** UY ***************************** DRSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN (VN '+' DR) PN YN CHPLI 'INJE' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 1.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************ PN *************** PN ***************************** DRSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN VN (PN '+' DR) YN CHPLI 'INJE' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 1.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************ H2 *************** H2 ***************************** DRSCAL = EPS '*' ('EXTRAIRE' YN 'H2' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN VN PN (YN '+' DR) CHPLI 'INJE' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 1.0 'O2' 0.0 'H2O' 0.0 ) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************ O2 *************** O2 ***************************** DRSCAL = EPS '*' ('EXTRAIRE' YN 'O2' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN VN PN (YN '+' DR) CHPLI 'INJE' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 1.0 'H2O' 0.0 ) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************ H2O *************** H2O ***************************** DRSCAL = EPS '*' ('EXTRAIRE' YN 'H2O' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN VN PN (YN '+' DR) CHPLI 'INJE' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 1.0 ) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************************************************************ **** Jacobian with respect to conservative variables ****** ************************************************************ PGAS LISTC LISTP RN VN PN YN CHPLI 'INJE' ; RJACO = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'JACOCONS' MDOMINT MP2P3 PGAS LISTC LISTP RN VN PN YN CHPLI 'INJE' ; ***************** RN ************************************ DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = RN '+' DR ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; RYN1 = 'COPIER' RYN ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INJE' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ***************** RUX ************************************ DRSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = GN '+' DR ; RETN1 = 'COPIER' RETN ; RYN1 = 'COPIER' RYN ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INJE' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ***************** RUY ************************************ DRSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = GN '+' DR ; RETN1 = 'COPIER' RETN ; RYN1 = 'COPIER' RYN ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INJE' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ***************** RETN ************************************ DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = RETN '+' DR ; RYN1 = 'COPIER' RYN ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INJE' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ***************** RYH2 ************************************ DRSCAL = EPS '*' ('EXTRAIRE' RYN 'H2' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; RYN1 = RYN '+' DR ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INJE' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 1.0 'VAR6' 0.0 'VAR7' 0.0 ) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ***************** RYO2 ************************************ DRSCAL = EPS '*' ('EXTRAIRE' RYN 'O2' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; RYN1 = RYN '+' DR ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INJE' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 1.0 'VAR7' 0.0 ) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ***************** RYH2O ************************************ DRSCAL = EPS '*' ('EXTRAIRE' RYN 'H2O' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; RYN1 = RYN '+' DR ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INJE' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 1.0 ) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************************************************************************ ************************************************************************ *************************** Pressure at the outlet ******************** ************************************************************************ ************************************************************************ * * We solve a Riemann probleme between the state in the center and * the same state but the pressure equal to the pressure at the outlet * We use AUSMPLUS * * ***** Calcul du residu dans le cas particulier PF = PC 'H2O' 0.1 ; GN = RN '*' VN ; *---------------------------------------------------------- YH2 = ('EXTRAIRE' YN 'H2' PCEN) ; YO2 = ('EXTRAIRE' YN 'O2' PCEN) ; YH2O = ('EXTRAIRE' YN 'H2O' PCEN) ; YN2 = 1.0D0 '-' (YH2 '+' YO2 '+' YH2O) ; 'H2O' YH2O 'N2' YN2 ; CVTOT = 'PSCAL' YNTOT CV LMOT1 LMOT1 ; CPTOT = 'PSCAL' YNTOT CP LMOT1 LMOT1 ; GAMN = CPTOT '/' CVTOT ; GAMC = ('EXTRAIRE' GAMN 'SCAL' PCEN) ; *---------------------------------------------------------- LMOT1 = (PGAS . 'ESPEULE') ; LMOT3 = (PGAS . 'ESPEULE') ; RYN = YN '*' RN LMOT1 LMOT2 LMOT3 ; ************************************************ RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN PGAS LISTC LISTP RN VN PN YN CHPLI 'OUTP' ; *----------------------------------------------- 'SI' ('EGA' TYEL 'QUA8') ; SURSVOL = -1. '/' ((2 '**' 0.5) * 0.5) ; 'SINON' ; SURSVOL = -2. '/' ((2 '**' 0.5) * 0.5) ; 'FINSI' ; UXC = ('EXTRAIRE' VN 'UX' PCEN) ; UYC = ('EXTRAIRE' VN 'UY' PCEN) ; UNORM = (UXC '-' UYC) '/' (2. '**' 0.5) ; UT = (UXC '+' UYC) '/' (2. '**' 0.5) ; PC = 'EXTRAIRE' PN PCEN 'SCAL' ; RC = 'EXTRAIRE' RN PCEN 'SCAL' ; FMASS = RC '*' UNORM ; FUN = (RC '*' UNORM '*' UNORM) '+' PC ; FUT = (RC '*' UNORM '*' UT) ; FUX = (FUN '+' FUT) '/' (2. '**' 0.5) ; FUY = (FUT '-' FUN) '/' (2. '**' 0.5) ; FEN = (UNORM '*' ((GAMC/(GAMC-1)) '*' PC)) '+' (0.5 '*' UNORM '*' RC '*' ((UNORM '*' UNORM) '+' (UT '*' UT))) ; FYH2 = YH2 '*' RC '*' UNORM ; FYO2 = YO2 '*' RC '*' UNORM ; FYH2O = YH2O '*' RC '*' UNORM ; 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL) 'VAR3' (FUY '*' SURSVOL) 'VAR4' (FEN '*' SURSVOL) 'VAR5' (FYH2 '*' SURSVOL) 'VAR6' (FYO2 '*' SURSVOL) 'VAR7' (FYH2O '*' SURSVOL) ; ERRO = 'MAXIMUM' (RCHRES1 '-' RCHRES) 'ABS' ; XXTOL = 1.D-12; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; *------------------------------------------------------------ ***** Jacobian with respect to the primitive variables ****** *------------------------------------------------------------ PGAS LISTC LISTP RN VN PN YN CHPLI 'OUTP' ; RJACO = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'JACOPRIM' MDOMINT MP2P3 PGAS LISTC LISTP RN VN PN YN CHPLI 'OUTP' ; ************* RN *********** RN *********************** DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP (RN '+' DR) VN PN YN CHPLI 'OUTP' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************* UX *********** UX *********************** DRSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN (VN '+' DR) PN YN CHPLI 'OUTP' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 1.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************* UY *********** UY *********************** DRSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN (VN '+' DR) PN YN CHPLI 'OUTP' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 1.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************* PN *********** PN *********************** DRSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN VN (PN '+' DR) YN CHPLI 'OUTP' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 1.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************* H2 *********** H2 *********************** DRSCAL = EPS '*' ('EXTRAIRE' YN 'H2' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN VN PN (YN '+' DR) CHPLI 'OUTP' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 1.0 'O2' 0.0 'H2O' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************* O2 *********** O2 *********************** DRSCAL = EPS '*' ('EXTRAIRE' YN 'O2' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN VN PN (YN '+' DR) CHPLI 'OUTP' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 1.0 'H2O' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************* H2O *********** H2O *********************** DRSCAL = EPS '*' ('EXTRAIRE' YN 'H2O' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN VN PN (YN '+' DR) CHPLI 'OUTP' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 1.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; *---------------------------------------------------------- **** Jacobian with respect to conservative variables *--------------------------------------------------------- RJACO = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'JACOCONS' MDOMINT MP2P3 PGAS LISTC LISTP RN VN PN YN CHPLI 'OUTP' ; *************** RN **************** RN ******************* DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = RN '+' DR ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; RYN1 = 'COPIER' RYN ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'OUTP' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN)'/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ***************** RUX ************************************ DRSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = GN '+' DR ; RETN1 = 'COPIER' RETN ; RYN1 = 'COPIER' RYN ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'OUTP' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ***************** RUY ************************************ DRSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = GN '+' DR ; RETN1 = 'COPIER' RETN ; RYN1 = 'COPIER' RYN ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'OUTP' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ***************** RETN ************************************ DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = RETN '+' DR ; RYN1 = 'COPIER' RYN ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'OUTP' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ***************** RYH2 ************************************ DRSCAL = EPS '*' ('EXTRAIRE' RYN 'H2' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; RYN1 = RYN '+' DR ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'OUTP' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 1.0 'VAR6' 0.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ***************** RYO2 ************************************ DRSCAL = EPS '*' ('EXTRAIRE' RYN 'O2' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; RYN1 = RYN '+' DR ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'OUTP' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 1.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ***************** RYH2O ************************************ DRSCAL = EPS '*' ('EXTRAIRE' RYN 'H2O' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; RYN1 = RYN '+' DR ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'OUTP' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 1.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ******************************************************************* ******************************************************************* *************************** INSU ********************************* ******************************************************************* ******************************************************************* * Total enthalpy, entropy, tangential velocity at the inlet * Normal velocity inside * * We solve a Riemann probleme between the state at the interface thus * reconstructed and the state at the center * ***** Calcul du residu dans le cas particulier UF = UC * 'H2O' 0.1 ; GN = RN '*' VN ; *---------------------------------------------------------- YH2 = ('EXTRAIRE' YN 'H2' PCEN) ; YO2 = ('EXTRAIRE' YN 'O2' PCEN) ; YH2O = ('EXTRAIRE' YN 'H2O' PCEN) ; YN2 = 1.0D0 '-' (YH2 '+' YO2 '+' YH2O) ; 'H2O' YH2O 'N2' YN2 ; CVTOT = 'PSCAL' YNTOT CV LMOT1 LMOT1 ; CPTOT = 'PSCAL' YNTOT CP LMOT1 LMOT1 ; GAMN = CPTOT '/' CVTOT ; GAMC = ('EXTRAIRE' GAMN 'SCAL' PCEN) ; *---------------------------------------------------------- RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN RHTN = RETN '+' PN ; HTN = RHTN '/' RN ; UXC = ('EXTRAIRE' VN 'UX' PCEN) ; UYC = ('EXTRAIRE' VN 'UY' PCEN) ; UTC = -1 '*' (UXC '+' UYC) '/' (2. '**' 0.5) ; 'S' ('MAXIMUM' SN) 'H2' 0.3 'O2' 0.5 'H2O' 0.1; PGAS LISTC LISTP RN VN PN YN CHPLI 'INSU' ; *------------------------------------------------------------- 'SI' ('EGA' TYEL 'QUA8') ; SURSVOL = -1. '/' ((2 '**' 0.5) * 0.5) ; 'SINON' ; SURSVOL = -2. '/' ((2 '**' 0.5) * 0.5) ; 'FINSI' ; UXC = ('EXTRAIRE' VN 'UX' PCEN) ; UYC = ('EXTRAIRE' VN 'UY' PCEN) ; UNORM = (UXC '-' UYC) '/' (2. '**' 0.5) ; UT = (UXC '+' UYC) '/' (2. '**' 0.5) ; PC = 'EXTRAIRE' PN PCEN 'SCAL' ; RC = 'EXTRAIRE' RN PCEN 'SCAL' ; GAMC = 'EXTRAIRE' GAMN PCEN 'SCAL' ; UXC 'UY' UYC 'H2' YH2 'O2' YO2 'H2O' YH2O ; ERRO = 'MAXIMUM' (RCHLIM '-' RCHLIM2) 'ABS' ; XXTOL = 1.D-6; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; FMASS = RC '*' UNORM ; FUN = (RC '*' UNORM '*' UNORM) '+' PC ; FUT = (RC '*' UNORM '*' UT) ; FUX = (FUN '+' FUT) '/' (2. '**' 0.5) ; FUY = (FUT '-' FUN) '/' (2. '**' 0.5) ; FEN = (UNORM '*' ((GAMC/(GAMC-1)) '*' PC)) '+' (0.5 '*' UNORM '*' RC '*' ((UNORM '*' UNORM) '+' (UT '*' UT))) ; FH2 = RC '*' UNORM '*' YH2 ; FO2 = RC '*' UNORM '*' YO2 ; FHO = RC '*' UNORM '*' YH2O ; 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL) 'VAR3' (FUY '*' SURSVOL) 'VAR4' (FEN '*' SURSVOL) 'VAR5' (FH2 '*' SURSVOL) 'VAR6' (FO2 '*' SURSVOL) 'VAR7' (FHO '*' SURSVOL) ; ERRO = 'MAXIMUM' (RCHRES1 '-' RCHRES) 'ABS' ; XXTOL = 1.D-6; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; *------------------------------------------------------------ ***** Jacobian with respect to the primitive variables ****** *------------------------------------------------------------ 'S' 2.0 'H2' 0.1 'O2' 0.7 'H2O' 0.2; PGAS LISTC LISTP RN VN PN YN CHPLI 'INSU' ; RJACO = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'JACOPRIM' MDOMINT MP2P3 PGAS LISTC LISTP RN VN PN YN CHPLI 'INSU' ; ************* RN *********** RN *********************** DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP (RN '+' DR) VN PN YN CHPLI 'INSU' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************* UX *********** UX *********************** DRSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN (VN '+' DR) PN YN CHPLI 'INSU' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 1.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************* UY *********** UY *********************** DRSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN (VN '+' DR) PN YN CHPLI 'INSU' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 1.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************* PN *********** PN *********************** DRSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN VN (PN '+' DR) YN CHPLI 'INSU' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 1.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************* H2 *********** H2 *********************** DRSCAL = EPS '*' ('EXTRAIRE' YN 'H2' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN VN PN (YN '+' DR) CHPLI 'INSU' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 1.0 'O2' 0.0 'H2O' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************* O2 *********** O2 *********************** DRSCAL = EPS '*' ('EXTRAIRE' YN 'O2' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN VN PN (YN '+' DR) CHPLI 'INSU' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 1.0 'H2O' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************* H2O *********** H2O *********************** DRSCAL = EPS '*' ('EXTRAIRE' YN 'H2O' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN VN PN (YN '+' DR) CHPLI 'INSU' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 1.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; *---------------------------------------------------------- **** Jacobian with respect to conservative variables *--------------------------------------------------------- RJACO = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'JACOCONS' MDOMINT MP2P3 PGAS LISTC LISTP RN VN PN YN CHPLI 'INSU' ; *************** RN **************** RN ******************* DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = RN '+' DR ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; RYN1 = 'COPIER' RYN ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INSU' ; NNN = 'MAXIMUM' RCHRES 'ABS' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; * 'OPTION' DONN 5 ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ***************** RUX ************************************ DRSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = GN '+' DR ; RETN1 = 'COPIER' RETN ; RYN1 = 'COPIER' RYN ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INSU' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; * 'OPTION' DONN 5 ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ***************** RUY ************************************ DRSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = GN '+' DR ; RETN1 = 'COPIER' RETN ; RYN1 = 'COPIER' RYN ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INSU' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ***************** RETN ************************************ DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = RETN '+' DR ; RYN1 = 'COPIER' RYN ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INSU' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ***************** RYH2 ************************************ DRSCAL = EPS '*' ('EXTRAIRE' RYN 'H2' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; RYN1 = RYN '+' DR ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INSU' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 1.0 'VAR6' 0.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ***************** RYO2 ************************************ DRSCAL = EPS '*' ('EXTRAIRE' RYN 'O2' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; RYN1 = RYN '+' DR ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INSU' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 1.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ***************** RYH2O ************************************ DRSCAL = EPS '*' ('EXTRAIRE' RYN 'H2O' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; RYN1 = RYN '+' DR ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INSU' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 1.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************************************************************* ************************************************************* *------- 'INOU' -------* ************************************************************* ************************************************************* 'H2O' 0.1 ; GN = RN '*' VN ; GN2 = RN '*' VN1 ; *--------------------------------------------------------- YH2 = ('EXTRAIRE' YN 'H2' PCEN) ; YO2 = ('EXTRAIRE' YN 'O2' PCEN) ; YH2O = ('EXTRAIRE' YN 'H2O' PCEN) ; YN2 = 1.0D0 '-' (YH2 '+' YO2 '+' YH2O) ; 'H2O' YH2O 'N2' YN2 ; CVTOT = 'PSCAL' YNTOT CV LMOT1 LMOT1 ; CPTOT = 'PSCAL' YNTOT CP LMOT1 LMOT1 ; GAMN = CPTOT '/' CVTOT ; GAMC = ('EXTRAIRE' GAMN 'SCAL' PCEN) ; *---------------------------------------------------------- RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN RETN2 =(('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN1 GN2 RHTN = RETN '+' PN ; HTN = RHTN '/' RN ; UXC = ('EXTRAIRE' VN 'UX' PCEN) ; UYC = ('EXTRAIRE' VN 'UY' PCEN) ; UTC = -1 '*' (UXC '+' UYC) '/' (2. '**' 0.5) ; 'S' ('MAXIMUM' SN) 'H2' 0.3 'O2' 0.5 'H2O' 0.1 'PN' 50.0 ; 'S' ('MAXIMUM' SN) 'H2' 0.3 'O2' 0.5 'H2O' 0.1 ; PGAS LISTC LISTP RN VN PN YN CHPLI 'INOU' ; PGAS LISTC LISTP RN VN PN YN CHPLI1 'INSU' ; ERRO = 'MAXIMUM' (RCHRES1 '-' RCHRES) 'ABS' ; ERRO1 = 'MAXIMUM' (RCHLIM1 '-' RCHLIM) 'ABS' ; * 'OPTION' DONN 5 ; XXTOL = 1.D-9; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; XXTOL = 1.D-12; ERR1 = ERRO1; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; *-------------------------------------------------------------- PGAS LISTC LISTP RN VN1 PN YN CHPLI 'INOU' ; PGAS LISTC LISTP RN VN1 PN YN CHPLI2 'OUTP' ; ERRO = 'MAXIMUM' (RCHRES2 '-' RCHRES) 'ABS' ; ERRO1 = 'MAXIMUM' (RCHLIM2 '-' RCHLIM) 'ABS' ; XXTOL = 1.D-12; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; XXTOL = 1.D-12; ERR1 = ERRO1; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; *------------------------------------------------------------ ***** Jacobian with respect to the primitive variables ****** *------------------------------------------------------------ 'S' 2.0 'H2' 0.1 'O2' 0.7 'H2O' 0.2 'PN' 50.0 ; PGAS LISTC LISTP RN VN PN YN CHPLI 'INOU' ; PGAS LISTC LISTP RN VN1 PN YN CHPLI 'INOU' ; RJACO = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'JACOPRIM' MDOMINT MP2P3 PGAS LISTC LISTP RN VN PN YN CHPLI 'INOU' ; RJACO2 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'JACOPRIM' MDOMINT MP2P3 PGAS LISTC LISTP RN VN1 PN YN CHPLI 'INOU' ; ************* RN *********** RN *********************** DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP (RN '+' DR) VN PN YN CHPLI 'INOU' ; PGAS LISTC LISTP (RN '+' DR) VN1 PN YN CHPLI 'INOU' ; DRESDRN2 = ( RCHRES3 '-' RCHRES2) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; *--------------------------- MMM = 'MAXIMUM' DRESDR2 'ABS' ; 'SI' (MMM < ERROM) ; ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ; 'SINON' ; ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO2; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************* UX *********** UX *********************** DRSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; *------------------------------------------- DRSCAL2 = EPS '*' ('EXTRAIRE' VN2 'UX' PCEN) ; *------------------------------------------- PGAS LISTC LISTP RN (VN '+' DR) PN YN CHPLI 'INOU' ; PGAS LISTC LISTP RN (VN1 '+' DR2) PN YN CHPLI 'INOU' ; DRESDRN2 = ( RCHRES3 '-' RCHRES2) '/' DRSCAL2 ; 'UX' 1.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 1.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; *--------------------------- MMM = 'MAXIMUM' DRESDR2 'ABS' ; 'SI' (MMM < ERROM) ; ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ; 'SINON' ; ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO2; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************* UY *********** UY *********************** DRSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; *------------------------------------------- DRSCAL2 = EPS '*' ('EXTRAIRE' VN2 'UY' PCEN) ; *------------------------------------------- PGAS LISTC LISTP RN (VN '+' DR) PN YN CHPLI 'INOU' ; PGAS LISTC LISTP RN (VN1 '+' DR2) PN YN CHPLI 'INOU' ; DRESDRN2 = ( RCHRES3 '-' RCHRES2) '/' DRSCAL2 ; 'UX' 0.0 'UY' 1.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 1.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; *--------------------------- MMM = 'MAXIMUM' DRESDR2 'ABS' ; 'SI' (MMM < ERROM) ; ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ; 'SINON' ; ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO2; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************* PN *********** PN *********************** DRSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN VN (PN '+' DR) YN CHPLI 'INOU' ; PGAS LISTC LISTP RN VN1 (PN '+' DR) YN CHPLI 'INOU' ; DRESDRN2 = ( RCHRES3 '-' RCHRES2) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 1.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 1.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; *--------------------------- MMM = 'MAXIMUM' DRESDR2 'ABS' ; 'SI' (MMM < ERROM) ; ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ; 'SINON' ; ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO2; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************* H2 *********** H2 *********************** DRSCAL = EPS '*' ('EXTRAIRE' YN 'H2' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN VN PN (YN '+' DR) CHPLI 'INOU' ; PGAS LISTC LISTP RN VN1 PN (YN '+' DR) CHPLI 'INOU' ; DRESDRN2 = ( RCHRES3 '-' RCHRES2) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 1.0 'O2' 0.0 'H2O' 0.0 ) ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 1.0 'O2' 0.0 'H2O' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; *--------------------------- MMM = 'MAXIMUM' DRESDR2 'ABS' ; 'SI' (MMM < ERROM) ; ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ; 'SINON' ; ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO2; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************* O2 *********** O2 *********************** DRSCAL = EPS '*' ('EXTRAIRE' YN 'O2' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN VN PN (YN '+' DR) CHPLI 'INOU' ; PGAS LISTC LISTP RN VN1 PN (YN '+' DR) CHPLI 'INOU' ; DRESDRN2 = ( RCHRES3 '-' RCHRES2) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 1.0 'H2O' 0.0 ) ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 1.0 'H2O' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; *--------------------------- MMM = 'MAXIMUM' DRESDR2 'ABS' ; 'SI' (MMM < ERROM) ; ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ; 'SINON' ; ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO2; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; ************* H20 *********** H20 *********************** DRSCAL = EPS '*' ('EXTRAIRE' YN 'H2O' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; PGAS LISTC LISTP RN VN PN (YN '+' DR) CHPLI 'INOU' ; PGAS LISTC LISTP RN VN1 PN (YN '+' DR) CHPLI 'INOU' ; DRESDRN2 = ( RCHRES3 '-' RCHRES2) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 1.0 ) ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 1.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; *--------------------------- MMM = 'MAXIMUM' DRESDR2 'ABS' ; 'SI' (MMM < ERROM) ; ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ; 'SINON' ; ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO2; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; *---------------------------------------------------------- **** Jacobian with respect to conservative variables *--------------------------------------------------------- RJACO = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'JACOCONS' MDOMINT MP2P3 PGAS LISTC LISTP RN VN PN YN CHPLI 'INOU' ; RJACO2 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'JACOCONS' MDOMINT MP2P3 PGAS LISTC LISTP RN VN1 PN YN CHPLI 'INOU' ; *************** RN **************** RN ******************* DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = RN '+' DR ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; RYN1 = 'COPIER' RYN ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; VN2 PN2 TTEMP YN2 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN2 RETN2 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INOU' ; PGAS LISTC LISTP RN1 VN2 PN2 YN2 CHPLI 'INOU' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ; DRESDRN2 = (RCHRES3 '-' RCHRES2) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; *--------------------------- MMM = 'MAXIMUM' DRESDR2 'ABS' ; 'SI' (MMM < ERROM) ; ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ; 'SINON' ; ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO2; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; *************** RUX **************** RUX ******************* DRSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; *--------------------------------------------- DRSCAL2 = EPS '*' ('EXTRAIRE' GN2 'UX' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = GN '+' DR ; GN3 = GN2 '+' DR2 ; RETN1 = 'COPIER' RETN ; RYN1 = 'COPIER' RYN ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; VN2 PN2 TTEMP YN2 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN3 RETN2 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INOU' ; PGAS LISTC LISTP RN1 VN2 PN2 YN2 CHPLI 'INOU' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ; DRESDRN2 = (RCHRES3 '-' RCHRES2) '/' DRSCAL2 ; 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; *--------------------------- MMM = 'MAXIMUM' DRESDR2 'ABS' ; 'SI' (MMM < ERROM) ; ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ; 'SINON' ; ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO2; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; *************** RUY **************** RUY ******************* DRSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; *--------------------------------------------- DRSCAL2 = EPS '*' ('EXTRAIRE' GN2 'UY' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = GN '+' DR ; GN3 = GN2 '+' DR2 ; RETN1 = 'COPIER' RETN ; RYN1 = 'COPIER' RYN ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; VN2 PN2 TTEMP YN2 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN3 RETN2 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INOU' ; PGAS LISTC LISTP RN1 VN2 PN2 YN2 CHPLI 'INOU' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ; DRESDRN2 = (RCHRES3 '-' RCHRES2) '/' DRSCAL2 ; 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; *--------------------------- MMM = 'MAXIMUM' DRESDR2 'ABS' ; 'SI' (MMM < ERROM) ; ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ; 'SINON' ; ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO2; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; *************** RETN **************** RETN ******************* DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; *--------------------------------------------- DRSCAL2 = EPS '*' ('EXTRAIRE' RETN2 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = (RETN '+' DR) ; RETN3 = (RETN2 '+' DR2) ; RYN1 = 'COPIER' RYN ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; VN2 PN2 TTEMP YN2 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN2 RETN3 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INOU' ; PGAS LISTC LISTP RN1 VN2 PN2 YN2 CHPLI 'INOU' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ; DRESDRN2 = (RCHRES3 '-' RCHRES2) '/' DRSCAL2 ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; *--------------------------- MMM = 'MAXIMUM' DRESDR2 'ABS' ; 'SI' (MMM < ERROM) ; ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ; 'SINON' ; ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO2; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; *************** RH2 **************** RH2 ******************* DRSCAL = EPS '*' ('EXTRAIRE' RYN 'H2' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; RYN1 = RYN '+' DR ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; VN2 PN2 TTEMP YN2 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN2 RETN2 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INOU' ; PGAS LISTC LISTP RN1 VN2 PN2 YN2 CHPLI 'INOU' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 1.0 'VAR6' 0.0 'VAR7' 0.0 ) ; DRESDRN2 = (RCHRES3 '-' RCHRES2) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 1.0 'VAR6' 0.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; *--------------------------- MMM = 'MAXIMUM' DRESDR2 'ABS' ; 'SI' (MMM < ERROM) ; ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ; 'SINON' ; ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ; 'FINSI' ; *---------------------------- * 'OPTION' DONN 5 ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO2; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; *************** RO2 **************** RO2 ******************* DRSCAL = EPS '*' ('EXTRAIRE' RYN 'O2' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; RYN1 = RYN '+' DR ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; VN2 PN2 TTEMP YN2 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN2 RETN2 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INOU' ; PGAS LISTC LISTP RN1 VN2 PN2 YN2 CHPLI 'INOU' ; NNN = 'MAXIMUM' RCHRES 'ABS' ; VERH = (RCHRES1 '-' RCHRES) '/' NNN ; DRESDRN = VERH '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 1.0 'VAR7' 0.0 ) ; DRESDRN2 = (RCHRES3 '-' RCHRES2) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 1.0 'VAR7' 0.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; *--------------------------- MMM = 'MAXIMUM' DRESDR2 'ABS' ; 'SI' (MMM < ERROM) ; ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ; 'SINON' ; ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ; 'FINSI' ; * 'OPTION' DONN 5 ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO2; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; *************** RH2O **************** RH2O ******************* DRSCAL = EPS '*' ('EXTRAIRE' RYN 'H2O' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; RYN1 = RYN '+' DR ; VN1 PN1 TTEMP YN1 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ; VN2 PN2 TTEMP YN2 GAMM = 'PRIM' 'PERFMULT' PGAS RN1 GN2 RETN2 RYN1 ; PGAS LISTC LISTP RN1 VN1 PN1 YN1 CHPLI 'INOU' ; PGAS LISTC LISTP RN1 VN2 PN2 YN2 CHPLI 'INOU' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 1.0 ) ; DRESDRN2 = (RCHRES3 '-' RCHRES2) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 1.0 ) ; MMM = 'MAXIMUM' DRESDR 'ABS' ; 'SI' (MMM < ERROM) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SINON' ; ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ; 'FINSI' ; *--------------------------- MMM = 'MAXIMUM' DRESDR2 'ABS' ; 'SI' (MMM < ERROM) ; ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ; 'SINON' ; ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ; 'FINSI' ; *---------------------------- * 'OPTION' DONN 5 ; XXTOL = ERROM; ERR1 = ERRO; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; XXTOL = ERROM; ERR1 = ERRO2; 'SI' (ERR1 > XXTOL) ; 'MESS' CHAI1; 'ERREUR' 5 ; 'FINSI' ; * * BC of 'RESE'rvoir type * * * We give the pressure of the reservoir, the density, the homogeneous * composition. We suppose that the tangential velocity is zero. * We compute the inlet boundary conditions by supposing that the inlet * is at the throat, namely the inlet pressure is equal to the maximum * between the critical and the inlet pressure. * The inlet density and velocity are found using the Riemann invariant. * * Two species * HELIUM * AIR * PGAS = 'TABLE' ; PGAS . 'CP' = 'TABLE' ; PGAS . 'CP' . 'AIR ' = 1.00D+03 ; PGAS . 'CP' . 'HE ' = 5.18D+03 ; PGAS . 'CV' = 'TABLE' ; PGAS . 'CV' . 'AIR ' = .717D+03 ; PGAS . 'CV' . 'HE ' = 3.10D+03 ; *---------------------------------------------------- **** Especes qui sont dans les equations d'Euler *---------------------------------------------------- *---------------------------------------------------- **** Espece qui n'y est pas *---------------------------------------------------- PGAS . 'ESPNEULE' = 'HE ' ; * * Reservoir conditions * P0 = 200.0D5 ; RHO0 = 32.1D0 ; Y0 = 1.0D-5 ; gamf = ((PGAS . 'CP' . 'HE ') '*' (1. '-' Y0)) '+' ((PGAS . 'CP' . 'AIR ') '*' (Y0)) ; gamf = gamf '/' (((PGAS . 'CV' . 'HE ') '*' (1. '-' Y0)) '+' ((PGAS . 'CV' . 'AIR ') '*' (Y0))) ; PCR = (2. '/' (gamf '+' 1.)) ; PCR = PCR '**' (gamf '/' (gamf '-' 1.)) ; PCR = PCR '*' P0 ; RCR = (PCR '/' P0) '**' (1. '/' gamf) ; RCR = RCR '*' RHO0 ; UCR = (2 '*' gamf '/' (gamf '-' 1.0D0)) '*' ((P0 '/' RHO0) '-' (PCR '/' RCR)) ; UCR = UCR '**' 0.5 ; 'SI' ('NEG' (ucr * ucr) (gamf * pcr '/' rcr) (1.0D-12 *ucr)) ; 'MESSAGE' 'RESE BC' ; 'ERREUR' 5 ; 'FINSI' ; * * Case 1: internal pressure lower than critical pressure * P1 = 1.0D5 ; RHO1 = 0.954D0 ; Y1 = 0.99999 ; * 'AIR ' y0 ; PGAS LISTC LISTP RN VN PN YN CHPLI 'RESE' ; 'SI' ('NEG' (rcr) (aa) (1.0D-12 * aa)) ; 'MESSAGE' 'RESE BC' ; 'ERREUR' 5 ; 'FINSI' ; 'SI' ('NEG' (pcr) (bb) (1.0D-12 * bb)) ; 'MESSAGE' 'RESE BC' ; 'ERREUR' 5 ; 'FINSI' ; ee = (cc * cc) '+' (dd * dd) ; ee = ee '**' 0.5 ; 'SI' ('NEG' (ee) (ucr) (1.0D-12 * ee)) ; 'MESSAGE' 'RESE BC' ; 'ERREUR' 5 ; 'FINSI' ; * bb = SURSVOL '*' rcr * ucr ; 'SI' ('NEG' (bb) (aa) (1.0D-12 * aa)) ; 'MESSAGE' 'RESE BC' ; 'ERREUR' 5 ; 'FINSI' ; * htot = (gamf '/' (gamf '-' 1.0)) '*' p0 '/' rho0 ; aa = htot * rcr * ucr * sursvol ; 'SI' ('NEG' (bb) (aa) (1.0D-12 * aa)) ; 'MESSAGE' 'RESE BC' ; 'ERREUR' 5 ; 'FINSI' ; * * Case 2: internal pressure larger than critical pressure * P1 = 1.0D7 ; * R1 = (P1 '/' P0) '**' (1. '/' gamf) ; R1 = R1 '*' RHO0 ; U1 = (2 '*' gamf '/' (gamf '-' 1.0D0)) '*' ((P0 '/' RHO0) '-' (P1 '/' R1)) ; U1 = U1 '**' 0.5 ; * PGAS LISTC LISTP RN VN PN YN CHPLI 'RESE' ; 'SI' ('NEG' (r1) (aa) (1.0D-12 * aa)) ; 'MESSAGE' 'RESE BC' ; 'ERREUR' 5 ; 'FINSI' ; 'SI' ('NEG' (p1) (bb) (1.0D-12 * bb)) ; 'MESSAGE' 'RESE BC' ; 'ERREUR' 5 ; 'FINSI' ; ee = (cc * cc) '+' (dd * dd) ; ee = ee '**' 0.5 ; 'SI' ('NEG' (ee) (u1) (1.0D-12 * ee)) ; 'MESSAGE' 'RESE BC' ; 'ERREUR' 5 ; 'FINSI' ; * bb = SURSVOL '*' r1 * u1 ; 'SI' ('NEG' (bb) (aa) (1.0D-12 * aa)) ; 'MESSAGE' 'RESE BC' ; 'ERREUR' 5 ; 'FINSI' ; * aa = htot * r1 * u1 * sursvol ; 'SI' ('NEG' (bb) (aa) (1.0D-12 * aa)) ; 'MESSAGE' 'RESE BC' ; 'ERREUR' 5 ; 'FINSI' ; * * Case 3: internal pressure larger than reservoir pressure * P1 = 210.0D5 ; * * PGAS LISTC LISTP RN VN PN YN CHPLI 'RESE' ; 'SI' ('NEG' (rho0) (aa) (1.0D-12 * aa)) ; 'MESSAGE' 'RESE BC' ; 'ERREUR' 5 ; 'FINSI' ; 'SI' ('NEG' (p0) (bb) (1.0D-12 * bb)) ; 'MESSAGE' 'RESE BC' ; 'ERREUR' 5 ; 'FINSI' ; ee = (cc * cc) '+' (dd * dd) ; ee = ee '**' 0.5 ; 'SI' ('NEG' (ee) (0.0) (1.0D-12 * ucr)) ; 'MESSAGE' 'RESE BC' ; 'ERREUR' 5 ; 'FINSI' ; * bb = 0.0 ; 'SI' ('NEG' (bb) (aa) (1.0D-12 * rcr * ucr)) ; 'MESSAGE' 'RESE BC' ; 'ERREUR' 5 ; 'FINSI' ; * aa = 0.0 ; 'SI' ('NEG' (bb) (aa) (1.0D-12 * rcr * (ucr ** 3))) ; 'MESSAGE' 'RESE BC' ; 'ERREUR' 5 ; 'FINSI' ; * ee = (cc * cc) '+' (dd * dd) ; ee = ee '**' 0.5 ; ff = SURSVOL * p1 ; 'SI' ('NEG' (ee) (ff) (1.0D-12 * ee)) ; 'MESSAGE' 'RESE BC' ; 'ERREUR' 5 ; 'FINSI' ; 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales