* fichier : clim.dgibi ********************************************************************* * VF, CLIM 2D * * * * BECCANTINI A., DM2S/SFME/LTMF, JANVIER 2002 * ********************************************************************* TYEL = 'QUA8' ; * TYEL = 'TRI6' ; 'OPTION' 'DIME' 2 'ELEM' TYEL 'ISOV' 'SULI' 'ECHO' 1 'TRAC' 'X' ; GRAPH = VRAI ; GRAPH = FAUX ; ****************** **** MAILLAGE **** ****************** * * P2 P3 * DX = 0.5 ; P2 = 0.0 0.0 ; P3 = DX DX ; P2P3 = P2 'DROIT' 1 P3 ; LIGHAU = (P2P3) 'PLUS' (4 '*' ((-1*DX) DX)) ; 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' ; $DOMINT = 'DOMA' MDOMINT 'TABLE' ; $P2P3 = 'DOMA' MP2P3 'TABLE' ; DOMINT = 'DOMA' MDOMINT 'MAILLAGE' ; P2P3 = 'DOMA' MP2P3 'MAILLAGE' ; PCEN = ($DOMINT . 'CENTRE') 'POIN' 'PROC' ((DX '/' 2) (DX /2)) ; 'SI' GRAPH ; 'TRACER' (DOMINT 'ET' PCEN) ; 'FINSI' ; ********************************************************************************** ********************************************************************************** *************************** Riemann invariants, inlet *************************** ********************************************************************************** ********************************************************************************** RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.110 ; PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.41 ; GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ; VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' 0.1 'UX' 1.65 ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ; CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 4 'RN' 2.11 'PN' 111.4 'UX' 2.0 'UY' 1.0 ; LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ; LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INRI' ; * **** On calcule RCHLIM en gibiane * UNC = (('EXCO' VN 'UY' 'SCAL') '-' ('EXCO' VN 'UX' 'SCAL')) '/' (2 '**' 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' ; RNCEL= 'EXCO' CHPLI 'RN' ; PNCEL = 'EXCO' CHPLI 'PN' ; UNCELC = (('EXCO' CHPLI 'UY' 'SCAL') '-' ('EXCO' CHPLI 'UX' 'SCAL')) '/' (2 '**' 0.5) ; UTCELC = (('EXCO' CHPLI 'UY' 'SCAL') '+' ('EXCO' CHPLI 'UX' 'SCAL')) '/' (-1*(2 '**' 0.5)) ; ASONC = GAMMA * (PNCEL '/' RNCEL) ; ASONC = ASONC '**' 0.5 ; G3 = UNCELC '+' (DSGM1 * ASONC) ; G3 = 'EXTRAIRE' G3 ('POIN' 1 ($P2P3 . 'CENTRE')) 'SCAL' ; S = PNCEL '/' (RNCEL** GAMMA) ; S = 'EXTRAIRE' S ('POIN' 1 ($P2P3 . 'CENTRE')) 'SCAL' ; ASON2=(0.5D0*(G3-G1)) ; ASON2=ASON2/DSGM1 ; ASON2=ASON2*ASON2 ; RHO=ASON2/(GAMMA*S) ; RHO=RHO**USGM1 ; P=(RHO*ASON2)/GAMMA ; UNCEL = 0.5 '*' (G3 '+' G1) ; UTCEL = 'EXTRAIRE' UTCELC ('POIN' 1 ($P2P3 . 'CENTRE')) 'SCAL' ; UX = (UNCEL '+' UTCEL) '/' (-1*(2 '**' 0.5)) ; UY = (UNCEL '-' UTCEL) '/' (2 '**' 0.5) ; CHLIM2 = 'MANU' 'CHPO' ($P2P3 . 'CENTRE') 4 'RN' RHO 'UX' UX 'UY' UY 'PN' P ; ERRO = 'MAXIMUM' (CHLIM2 '-' RCHLIM) ; 'SI' (ERRO > 1.0D-12) ; 'ERREUR' 5 ; 'FINSI' ; 'FINSI' ; * **** Jacobian with respect to primitive variable * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INRI' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'INRI' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 1.0 'UX' 0.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UX DUXSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ; DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'INRI' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0 'UX' 1.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UY DUYSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ; DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'INRI' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0 'UX' 0.0 'UY' 1.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * PN DPSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DP = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DPSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'INRI' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; DRESDP = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0 'UX' 0.0 'UY' 0.0 'PN' 1.0) ; ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * **** Jacobian with respect to conservative variables * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOCONS' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INRI' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ; RN1 = RN '+' DR ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INRI' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 1.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUX DUXSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ; DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUX ; RETN1 = 'COPIER' RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INRI' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUY DUYSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ; DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUY ; RETN1 = 'COPIER' RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INRI' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RETN DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = RETN '+' DR ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INRI' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; ********************************************************************************** ********************************************************************************** *************************** Riemann invariants, outlet ************************** ********************************************************************************** ********************************************************************************** RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ; PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ; GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ; VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' -0.1 'UX' 1. ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ; CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 4 'RN' 1.11 'PN' 2.13 'UX' 1.1 'UY' -0.1 ; LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ; LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'OUTRI' ; * **** On calcule RCHLIM en gibiane * UNC = (('EXCO' VN 'UY' 'SCAL') '-' ('EXCO' VN 'UX' 'SCAL')) '/' (-1*(2 '**' 0.5)) ; UTC = (('EXCO' VN 'UY' 'SCAL') '+' ('EXCO' VN 'UX' 'SCAL')) '/' (2 '**' 0.5) ; GAMMA = 'MAXIMUM' GAMN ; GM1 = '-' GAMMA 1. ; USGM1 = 1. '/' GM1 ; DSGM1 = 2. '*' USGM1 ; ASONC = GAMMA * (PN '/' RN) ; ASONC = ASONC '**' 0.5 ; G3 = UNC '+' (DSGM1 * ASONC) ; G3 = 'EXTRAIRE' G3 PCEN 'SCAL' ; S = PN '/' (RN** GAMMA) ; S = 'EXTRAIRE' S PCEN 'SCAL' ; RNCEL= 'EXCO' CHPLI 'RN' ; PNCEL = 'EXCO' CHPLI 'PN' ; UNCELC = -1 * (('EXCO' CHPLI 'UY' 'SCAL') '-' ('EXCO' CHPLI 'UX' 'SCAL')) '/' (2 '**' 0.5) ; ASONC = GAMMA * (PNCEL '/' RNCEL) ; ASONC = ASONC '**' 0.5 ; G1 = UNCELC '-' (DSGM1 * ASONC) ; G1 = 'EXTRAIRE' G1 ('POIN' 1 ($P2P3 . 'CENTRE')) 'SCAL' ; ASON2=(0.5D0*(G3-G1)) ; ASON2=ASON2/DSGM1 ; ASON2=ASON2*ASON2 ; RHO=ASON2/(GAMMA*S) ; RHO=RHO**USGM1 ; P=(RHO*ASON2)/GAMMA ; UNCEL = 0.5 '*' (G3 '+' G1) ; UTCEL = 'EXTR' UTC 'SCAL' PCEN ; UX = (UNCEL '+' UTCEL) '/' ((2 '**' 0.5)) ; UY = (UNCEL '-' UTCEL) '/' (-1*(2 '**' 0.5)) ; CHLIM2 = 'MANU' 'CHPO' ($P2P3 . 'CENTRE') 4 'RN' RHO 'UX' UX 'UY' UY 'PN' P ; ERRO = 'MAXIMUM' (CHLIM2 '-' RCHLIM) ; 'SI' (ERRO > 1.0D-12) ; 'ERREUR' 5 ; 'FINSI' ; * **** Jacobian with respect to primitive variable * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'OUTRI' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'OUTRI' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 1.0 'UX' 0.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UX DUXSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ; DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'OUTRI' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0 'UX' 1.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UY DUYSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ; DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'OUTRI' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0 'UX' 0.0 'UY' 1.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * PN DPSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DP = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DPSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'OUTRI' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; DRESDP = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0 'UX' 0.0 'UY' 0.0 'PN' 1.0) ; ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * **** Jacobian with respect to conservative variables * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOCONS' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'OUTRI' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ; RN1 = RN '+' DR ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTRI' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 1.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUX DUXSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ; DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUX ; RETN1 = 'COPIER' RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTRI' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUY DUYSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ; DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUY ; RETN1 = 'COPIER' RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTRI' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RETN DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = RETN '+' DR ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTRI' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; ********************************************************************************** ********************************************************************************** *************************** Supersonic inlet ************************************ ********************************************************************************** ********************************************************************************** RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ; PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ; GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ; VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' 15. 'UX' 1. ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ; CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 4 'RN' 1.11 'PN' 2.13 'UX' -11. 'UY' 2. ; LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ; LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INSS' ; ERRO = 'MAXIMUM' (RCHLIM '-' CHPLI) 'ABS' ; 'SI' (ERRO > 1.0D-12) ; 'ERREUR' 5 ; 'FINSI' ; RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOCONS' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INSS' ; AA = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 4 'VAR1' 1.11 'VAR2' 1.13 'VAR3' 1.15 'VAR4' 1.17 ; ERRO = 'MAXIMUM' ('KOPS' 'MULT' RJACO AA) 'ABS' ; 'SI' (ERRO > 1.0D-12) ; 'ERREUR' 5 ; 'FINSI' ; RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INSS' ; AA = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 4 'RN' 1.11 'UX' 1.13 'UY' 1.15 'PN' 1.17 ; ERRO = 'MAXIMUM' ('KOPS' 'MULT' RJACO AA) 'ABS' ; 'SI' (ERRO > 1.0D-12) ; 'ERREUR' 5 ; 'FINSI' ; ********************************************************************************** ********************************************************************************** *************************** Supersonic outlet *********************************** ********************************************************************************** ********************************************************************************** RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ; PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ; GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ; VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' -15. 'UX' 1. ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ; CHPLI CACCA = 'KOPS' MATRIK ; LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ; LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'OUTSS' ; * Calcul de RCHLIM en gibiane RC = 'EXTRAIRE' RN PCEN 'SCAL' ; UXC = 'EXTRAIRE' VN PCEN 'UX' ; UYC = 'EXTRAIRE' VN PCEN 'UY' ; PC = 'EXTRAIRE' PN PCEN 'SCAL' ; CHLIM2 = 'MANU' 'CHPO' ($P2P3 . 'CENTRE') 4 'RN' RC 'UX' UXC 'UY' UYC 'PN' PC ; ERRO = 'MAXIMUM' (CHLIM2 '-' RCHLIM) ; 'SI' (ERRO > 1.0D-12) ; 'ERREUR' 5 ; 'FINSI' ; RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'OUTSS' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'OUTSS' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 1.0 'UX' 0.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UX DUXSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ; DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'OUTSS' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0 'UX' 1.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UY DUYSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ; DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'OUTSS' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0 'UX' 0.0 'UY' 1.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * PN DPSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DP = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DPSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'OUTSS' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; DRESDP = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0 'UX' 0.0 'UY' 0.0 'PN' 1.0) ; ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * **** Jacobian with respect to conservative variables * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOCONS' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'OUTSS' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ; RN1 = RN '+' DR ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTSS' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 1.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUX DUXSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ; DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUX ; RETN1 = 'COPIER' RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTSS' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUY DUYSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ; DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUY ; RETN1 = 'COPIER' RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTSS' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RETN DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = RETN '+' DR ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTSS' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; '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 * RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ; PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ; GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ; VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' -15. 'UX' 1. ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ; CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 1 'PN' 2.1 ; LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ; LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'OUTP' ; SURSVOL = -1. '/' ((2 '**' 0.5) * 0.5) ; 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' ; 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))) ; RCHRES1 = 'MANUEL' 'CHPO' ('MANUEL' 'POI1' PCEN) 4 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL) 'VAR3' (FUY '*' SURSVOL) 'VAR4' (FEN '*' SURSVOL) ; ERRO = 'MAXIMUM' (RCHRES1 '-' RCHRES) 'ABS' ; 'SI' (ERRO > 1.0D-12) ; 'ERREUR' 5 ; 'FINSI' ; * Calcul de RCHLIM en gibiane RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ; PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ; GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ; VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' -15. 'UX' 1. ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ; CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 1 'PN' 4.1 ; LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ; LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'OUTP' ; * Calcul de RCHLIM en gibiane RC = 'EXTRAIRE' RN PCEN 'SCAL' ; UXC = 'EXTRAIRE' VN PCEN 'UX' ; UYC = 'EXTRAIRE' VN PCEN 'UY' ; PF = 'MAXIMUM' CHPLI ; CHLIM2 = 'MANU' 'CHPO' ($P2P3 . 'CENTRE') 4 'RN' RC 'UX' UXC 'UY' UYC 'PN' PF ; ERRO = 'MAXIMUM' (CHLIM2 '-' RCHLIM) 'ABS' ; 'SI' (ERRO > 1.0D-12) ; 'ERREUR' 5 ; 'FINSI' ; * ***** Jacobian with respect to the primitive variables * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'OUTP' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'OUTP' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 1.0 'UX' 0.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UX DUXSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ; DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'OUTP' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0 'UX' 1.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UY DUYSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ; DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'OUTP' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0 'UX' 0.0 'UY' 1.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * PN DPSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DP = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DPSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'OUTP' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; DRESDP = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0 'UX' 0.0 'UY' 0.0 'PN' 1.0) ; ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * **** Jacobian with respect to conservative variables * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOCONS' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'OUTP' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ; RN1 = RN '+' DR ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTP' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 1.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUX DUXSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ; DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUX ; RETN1 = 'COPIER' RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTP' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUY DUYSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ; DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUY ; RETN1 = 'COPIER' RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTP' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RETN DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = RETN '+' DR ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTP' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; '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 * RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ; PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ; GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ; VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' -15. 'UX' 15. ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ; RHTN = RETN '+' PN ; HTN = RHTN '/' RN ; UXC = ('EXTRAIRE' VN 'UX' PCEN) ; UYC = ('EXTRAIRE' VN 'UY' PCEN) ; UTC = -1 '*' (UXC '+' UYC) '/' (2. '**' 0.5) ; SN = PN '/' (RN '**' ('MAXI' GAMN)) ; CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 2 'HT' ('MAXIMUM' HTN) 'S' ('MAXIMUM' SN) ; LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ; LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INSU' ; SURSVOL = -1. '/' ((2 '**' 0.5) * 0.5) ; 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' ; RCHLIM2 = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 4 'RN' RC 'PN' PC 'UX' UXC 'UY' UYC ; ERRO = 'MAXIMUM' (RCHLIM '-' RCHLIM2) 'ABS' ; 'SI' (ERRO > 1.0D-6) ; '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))) ; RCHRES1 = 'MANUEL' 'CHPO' ('MANUEL' 'POI1' PCEN) 4 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL) 'VAR3' (FUY '*' SURSVOL) 'VAR4' (FEN '*' SURSVOL) ; ERRO = 'MAXIMUM' (RCHRES1 '-' RCHRES) 'ABS' ; 'SI' (ERRO > 1.0D-6) ; 'ERREUR' 5 ; 'FINSI' ; * JACOBIANS RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ; PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ; GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ; VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' -15. 'UX' 1. ; CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 2 'HT' 130. 'S' 2.0 ; LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ; LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INSU' ; * ***** Jacobian with respect to the primitive variables * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INSU' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'INSU' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 1.0 'UX' 0.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UX DUXSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ; DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'INSU' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0 'UX' 1.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UY DUYSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ; DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'INSU' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0 'UX' 0.0 'UY' 1.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * PN DPSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DP = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DPSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'INSU' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; DRESDP = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0 'UX' 0.0 'UY' 0.0 'PN' 1.0) ; ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * **** Jacobian with respect to conservative variables * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOCONS' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INSU' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ; RN1 = RN '+' DR ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INSU' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 1.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUX DUXSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ; DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUX ; RETN1 = 'COPIER' RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INSU' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUY DUYSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ; DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUY ; RETN1 = 'COPIER' RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INSU' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RETN DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = RETN '+' DR ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INSU' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; ********************************************************************************** ********************************************************************************** *************************** INJELM ********************************************** ********************************************************************************** ********************************************************************************** * Injection at low Mach regime * * We impose RT and the normal momentum at the inlet. * ***** Calcul du residu dans le cas particulier UF = UC * RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ; PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ; GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ; VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' 15. 'UX' -15. ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ; MOME = (15 '*' (2. '**' 0.5)) * 1.1 ; 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) ; CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 2 'RT' RT 'MOME' MOME ; LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ; LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INJELM' ; RCHLIM1 = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 4 'RN' RC 'PN' PC 'UX' UXC 'UY' UYC ; ERRO = 'MAXIMUM' (RCHLIM1 '-' RCHLIM) 'ABS' ; 'SI' (ERRO > 1.0D-6) ; 'ERREUR' 5 ; 'FINSI' ; SURSVOL = 1. '/' ((2 '**' 0.5) * 0.5) ; GAMC = 'EXTRAIRE' GAMN PCEN 'SCAL' ; FMASS = MOME ; FUX = (MOME * UXC) '-' (PC '/' (2. '**' 0.5)) ; FUY = (MOME * UYC) '+' (PC '/' (2. '**' 0.5)) ; HIN = (GAMC/(GAMC-1)) '*' (PC '/' RC) ; ECIN = 0.5 '*' ((UXC '*' UXC) '+' (UYC '*' UYC)) ; FEN = MOME '*' (HIN '+' ECIN) ; RCHRES1 = 'MANUEL' 'CHPO' ('MANUEL' 'POI1' PCEN) 4 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL) 'VAR3' (FUY '*' SURSVOL) 'VAR4' (FEN '*' SURSVOL) ; ERRO = 'MAXIMUM' (RCHRES1 '-' RCHRES) 'ABS' ; 'SI' (ERRO > 1.0D-6) ; 'ERREUR' 5 ; 'FINSI' ; * JACOBIANS RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ; PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ; GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ; VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' 1.11 'UX' -1.3 ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ; MOME = 0.111 ; RT = 4.1 ; CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 2 'RT' RT 'MOME' MOME ; LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ; LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INJELM' ; * ***** Jacobian with respect to the primitive variables * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INJELM' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'INJELM' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 1.0 'UX' 0.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UX DUXSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ; DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'INJELM' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0 'UX' 1.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UY DUYSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ; DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'INJELM' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0 'UX' 0.0 'UY' 1.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * PN DPSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DP = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DPSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'INJELM' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; DRESDP = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0 'UX' 0.0 'UY' 0.0 'PN' 1.0) ; ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ; 'SI' (ERRO > 1.0D-3 ) ; 'ERREUR' 5 ; 'FINSI' ; * **** Jacobian with respect to conservative variables * RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INJELM' ; RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOCONS' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INJELM' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ; RN1 = RN '+' DR ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJELM' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 1.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; * 'SI' (ERRO > 1.0D-3) ; * 'ERREUR' 5 ; * 'FINSI' ; * RUX DUXSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ; DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUX ; RETN1 = 'COPIER' RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJELM' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUY DUYSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ; DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUY ; RETN1 = 'COPIER' RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJELM' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RETN DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = RETN '+' DR ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM1 RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJELM' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; ********************************************************************************** ********************************************************************************** *************************** INJE ********************************************** ********************************************************************************** ********************************************************************************** * * We impose RT and the normal momentum at the inlet. * ********************************************************* RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ; PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ; GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ; VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' 4. 'UX' -4. ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ; MOME = (15 '*' (2. '**' 0.5)) * 1.1 ; RT = 4.1 '/' 1.1 ; UXC = ('EXTRAIRE' VN 'UX' PCEN) ; UYC = ('EXTRAIRE' VN 'UY' PCEN) ; PC = ('EXTRAIRE' PN 'SCAL' PCEN) ; RC = ('EXTRAIRE' RN 'SCAL' PCEN) ; GAMC = ('EXTRAIRE' GAMN 'SCAL' PCEN) ; UNC = 4. '*' (2. '**' 0.5) ; CC = GAMC * (PC '/' RC) ; CC = CC '**' 0.5 ; ACEL = CC '/' GAMC ; BCEL = ACEL '-' UNC ; CCEL = (MOME '/' PC) '*' RT ; PF = BCEL '+' (((BCEL * BCEL) '+' (4 '*' ACEL '*' CCEL)) '**' 0.5) ; PF = PC '*' (PF '/' (2 '*' ACEL)) ; RF = PF '/' RT ; UNF = MOME '/' RF ; UXF = UNF '/' (-1 '*' (2 '**' 0.5)) ; UYF = UNF '/' (2 '**' 0.5) ; CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 2 'RT' RT 'MOME' MOME ; LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ; LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INJE' ; RCHLIM1 = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 4 'RN' RF 'PN' PF 'UX' UXF 'UY' UYF ; ERRO = 'MAXIMUM' (RCHLIM1 '-' RCHLIM) 'ABS' ; 'SI' (ERRO > 1.0D-6) ; 'ERREUR' 5 ; 'FINSI' ; SURSVOL = 1. '/' ((2 '**' 0.5) * 0.5) ; GAMC = 'EXTRAIRE' GAMN PCEN 'SCAL' ; FMASS = MOME ; FUX = (MOME * UXF) '-' (PF '/' (2. '**' 0.5)) ; FUY = (MOME * UYF) '+' (PF '/' (2. '**' 0.5)) ; HIN = (GAMC/(GAMC-1)) '*' (PF '/' RF) ; ECIN = 0.5 '*' ((UXF '*' UXF) '+' (UYF '*' UYF)) ; FEN = MOME '*' (HIN '+' ECIN) ; RCHRES1 = 'MANUEL' 'CHPO' ('MANUEL' 'POI1' PCEN) 4 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL) 'VAR3' (FUY '*' SURSVOL) 'VAR4' (FEN '*' SURSVOL) ; ERRO = 'MAXIMUM' (RCHRES1 '-' RCHRES) 'ABS' ; 'SI' (ERRO > 1.0D-6) ; 'ERREUR' 5 ; 'FINSI' ; * JACOBIANS RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ; PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ; GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ; VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' 1.11 'UX' -1.3 ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ; MOME = 0.111 ; RT = 4.1 ; CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 2 'RT' RT 'MOME' MOME ; LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ; LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INJE' ; * ***** Jacobian with respect to the primitive variables * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INJE' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'INJE' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 1.0 'UX' 0.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-4) ; 'ERREUR' 5 ; 'FINSI' ; * UX DUXSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ; DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'INJE' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0 'UX' 1.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UY DUYSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ; DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'INJE' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0 'UX' 0.0 'UY' 1.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * PN DPSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DP = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DPSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'INJE' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; DRESDP = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0 'UX' 0.0 'UY' 0.0 'PN' 1.0) ; ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ; 'SI' (ERRO > 1.0D-3 ) ; 'ERREUR' 5 ; 'FINSI' ; * **** Jacobian with respect to conservative variables * RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INJE' ; RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOCONS' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INJE' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ; RN1 = RN '+' DR ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJE' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 1.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; * 'SI' (ERRO > 1.0D-3) ; * 'ERREUR' 5 ; * 'FINSI' ; * RUX DUXSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ; DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUX ; RETN1 = 'COPIER' RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJE' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUY DUYSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ; DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUY ; RETN1 = 'COPIER' RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJE' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RETN DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = RETN '+' DR ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM1 RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJE' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; ********************************************************************************** ********************************************************************************** *************************** INSO ********************************************** ********************************************************************************** ********************************************************************************** * * We impose the stagnation pressure and density in the tank * and assume the sonic flow at the boundary. * The values at the boundary are found using three conditions: * 1) entropy in the tank and at the inlet are equal * 2) enthalpy in the tank and at the inlet are equal * 3) fluid velocity at the inlet equal to sonic velocity at * the inlet ********************************************************************************** RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ; PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.D5 ; GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.4 ; VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' 0. 'UX' 0.0 ; ****** stagnation values RAIR = 288.2944D0 ; P_ST = 100.0D5 ; T_ST = 300.0D0 ; R_ST = P_ST '/' (RAIR '*' T_ST) ; CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 2 'PSTA' P_ST 'RSTA' R_ST ; S0 = P_ST '/' (R_ST '**' 1.4) ; RF = (2.0D0 '/' (1.4 '+' 1.0D0)) '**' (1.0D0 '/' (1.4 '-' 1.0D0)) '*' R_ST ; PF = S0 '*' (RF '**' 1.4) ; PF1 = (2.0D0 '/' (1.4 '+' 1.0D0)) '**' (1.4D0 '/' (1.4 '-' 1.0D0)) ; PF1 = PF1 '*' P_ST ; UNF = (1.4D0 '*' PF '/' RF) '**' 0.5D0 ; UXF = UNF '/' (-1.0D0 '*' (2.0D0 '**' 0.5D0)) ; UYF = UNF '/' (2.0D0 '**' 0.5D0) ; LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ; LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INSO' ; ************** checking the boundary conditions RCHLIM1 = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 4 'RN' RF 'PN' PF 'UX' UXF 'UY' UYF ; ERRO = 'MAXIMUM' (RCHLIM1 '-' RCHLIM) 'ABS' ; 'SI' (ERRO > 3.0D-6) ; 'ERREUR' 5 ; 'FINSI' ; ************** checking the residual SURSVOL = 1. '/' ((2.0D0 '**' 0.5D0) * 0.5D0) ; GAMC = 'EXTRAIRE' GAMN PCEN 'SCAL' ; FMASS = RF '*' UNF ; FUX = (FMASS * UXF) '-' (PF '/' (2. '**' 0.5)) ; FUY = (FMASS * UYF) '+' (PF '/' (2. '**' 0.5)) ; HIN = (GAMC/(GAMC-1.0)) '*' (PF '/' RF) ; ECIN = 0.5 '*' ((UXF '*' UXF) '+' (UYF '*' UYF)) ; FEN = FMASS '*' (HIN '+' ECIN) ; RCHRES1 = 'MANUEL' 'CHPO' ('MANUEL' 'POI1' PCEN) 4 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL) 'VAR3' (FUY '*' SURSVOL) 'VAR4' (FEN '*' SURSVOL) ; TVAR1 = 'EXCO' RCHRES 'VAR1' ; TV1 = 'MAXIMUM' TVAR1 ; *--------------------------- TVAR2 = 'EXCO' RCHRES 'VAR2' ; TV2 = 'MAXIMUM' TVAR2 ; *--------------------------- TVAR3 = 'EXCO' RCHRES 'VAR3' ; TV3 = 'MAXIMUM' TVAR3 ; *--------------------------- TVAR4 = 'EXCO' RCHRES 'VAR4' ; TV4 = 'MAXIMUM' TVAR4 ; *--------------------------- ERRV1 = 'ABS' ((TV1 '-' (SURSVOL '*' FMASS)) '/' TV1) ; ERRV2 = 'ABS' ((TV2 '-' (FUX '*' SURSVOL)) '/' TV2) ; ERRV3 = 'ABS' ((TV3 '-' (FUY '*' SURSVOL)) '/' TV3) ; ERRV4 = 'ABS' ((TV4 '-' (FEN '*' SURSVOL)) '/' TV4) ; LERRV = 'PROG' ERRV1 ERRV2 ERRV3 ERRV4 ; ERRO = 'MAXIMUM' LERRV ; 'SI' (ERRO > 1.0D-6) ; 'ERREUR' 5 ; 'FINSI' ; 'FIN' ;