* fichier : clim3d.dgibi ********************************************************************* * VF, CLIM 3D * * * * BECCANTINI A., DM2S/SFME/LTMF, JANVIER 2002 * ********************************************************************* TYEL = 'CU20' ; 'OPTION' 'DIME' 3 'ELEM' TYEL 'ISOV' 'SULI' 'ECHO' 0 'TRAC' 'X' ; GRAPH = VRAI ; GRAPH = FAUX ; ****************** **** MAILLAGE **** ****************** * * P5 P4 * * P2 P3 * DX = 0.5 ; P2 = 0.0 0.0 0.0 ; P3 = DX 0.0 0.0 ; P4 = DX DX 0.0 ; P5 = 0.0 DX 0.0 ; P2P3 = P2 'DROIT' 1 P3 ; P5P4 = P5 'DROIT' 1 P4 ; ENTREE = P2P3 'REGLER' 1 P5P4 ; DOMINT = ENTREE 'VOLU' 'TRAN' 4 (0.0 0.0 (4 '*' DX)) ; DOMINT = 'CHANGER' DOMINT 'QUAF' ; ENTREE = 'CHANGER' ENTREE 'QUAF' ; 'ELIMINATION' DOMINT 0.1D-3 ENTREE ; * **** Creation of DOMAINE tables via the MODEL object * MDOMINT = 'MODELISER' DOMINT 'NAVIER_STOKES' 'LINE' ; MENTREE = 'MODELISER' ENTREE 'NAVIER_STOKES' 'LINE' ; $DOMINT = 'DOMA' MDOMINT 'TABLE' ; $ENTREE = 'DOMA' MENTREE 'TABLE' ; DOMINT = 'DOMA' MDOMINT 'MAILLAGE' ; ENTREE = 'DOMA' MENTREE 'MAILLAGE' ; PCEN = ($DOMINT . 'CENTRE') 'POIN' 'PROC' ((DX '/' 2) (DX '/' 2) (DX '/' 2)) ; 'SI' GRAPH ; 'TRACER' (DOMINT 'ET' PCEN) ; 'FINSI' ; ********************************************************************************** ********************************************************************************** *************************** Riemann invariants, inlet *************************** ********************************************************************************** ********************************************************************************** RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.15 ; PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.011 ; GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ; VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 3 'UY' 1.19 'UX' 1.5 'UZ' 1.11 ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN ('MOTS' 'UX' 'UY' 'UZ') ('MOTS' 'UX' 'UY' 'UZ'))) ; CHPLI = 'MANUEL' 'CHPO' ($ENTREE . 'CENTRE') 5 'RN' 0.91 'PN' 3.0 'UX' 0.35 'UY' 0.3 'UZ' 1.0 ; LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' ; LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'UZ ' 'PN ' ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN VN PN GAMN CHPLI 'INRI' ; * **** On calcule RCHLIM en gibiane * UNC = 'EXCO' VN 'UZ' 'SCAL' ; 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 'UZ' ; ASONC = GAMMA * (PNCEL '/' RNCEL) ; ASONC = ASONC '**' 0.5 ; G3 = UNCELC '+' (DSGM1 * ASONC) ; G3 = 'EXTRAIRE' G3 ('POIN' 1 ($ENTREE . 'CENTRE')) 'SCAL' ; S = PNCEL '/' (RNCEL** GAMMA) ; S = 'EXTRAIRE' S ('POIN' 1 ($ENTREE . '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) ; CHLIM2 = 'MANU' 'CHPO' ($ENTREE . 'CENTRE') 5 'RN' RHO 'UX' ('EXTR' CHPLI ('POIN' 1 ($ENTREE . 'CENTRE')) 'UX') 'UY' ('EXTR' CHPLI ('POIN' 1 ($ENTREE . 'CENTRE')) 'UY') 'UZ' UNCEL 'PN' P ; ERRO = 'MAXIMUM' (CHLIM2 '-' RCHLIM) 'ABS' ; 'SI' (ERRO > 1.0D-12) ; 'ERREUR' 5 ; 'FINSI' ; * **** Jacobian with respect to primitive variable * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MENTREE 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 MENTREE LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'INRI' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 1.0 'UX' 0.0 'UY' 0.0 'UZ' 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 MENTREE LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'INRI' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 1.0 'UY' 0.0 'UZ' 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 MENTREE LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'INRI' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 0.0 'UY' 1.0 'UZ' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UZ DUZSCAL = EPS '*' ('EXTRAIRE' VN 'UZ' PCEN) ; DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN (VN '+' DUZ) PN GAMN CHPLI 'INRI' ; DRESDUZN = ( RCHRES1 '-' RCHRES) '/' DUZSCAL ; DRESDUZ = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 0.0 'UY' 0.0 'UZ' 1.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) '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 MENTREE LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'INRI' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; DRESDP = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 0.0 'UY' 0.0 'UZ' 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 MENTREE 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 = GN ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INRI' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 1.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 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 = RN ; GN1 = GN '+' DUX ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INRI' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 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 = RN ; GN1 = GN '+' DUY ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INRI' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUZ DUZSCAL = EPS '*' ('EXTRAIRE' GN 'UZ' PCEN) ; DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ; RN1 = RN ; GN1 = GN '+' DUZ ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INRI' ; DRESDUZN = (RCHRES1 '-' RCHRES) '/' DUZSCAL ; DRESDUZ = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0) ; ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) '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 = RN ; GN1 = GN ; RETN1 = RETN '+' DR ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INRI' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 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.15 ; PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.011 ; GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ; VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 3 'UY' 0.19 'UX' 0.15 'UZ' -0.11 ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN ('MOTS' 'UX' 'UY' 'UZ') ('MOTS' 'UX' 'UY' 'UZ'))) ; CHPLI = 'MANUEL' 'CHPO' ($ENTREE . 'CENTRE') 5 'RN' 0.91 'PN' 1.10 'UX' 0.35 'UY' 0.3 'UZ' 0.011 ; LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' ; LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'UZ ' 'PN ' ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN VN PN GAMN CHPLI 'OUTRI' ; * **** On calcule RCHLIM en gibiane * UNC = -1 '*' ('EXCO' VN 'UZ' 'SCAL') ; UTC1 = ('EXCO' VN 'UX' 'SCAL') ; UTC2 = ('EXCO' VN 'UY' 'SCAL') ; 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 'UZ' 'SCAL') ; ASONC = GAMMA * (PNCEL '/' RNCEL) ; ASONC = ASONC '**' 0.5 ; G1 = UNCELC '-' (DSGM1 * ASONC) ; G1 = 'EXTRAIRE' G1 ('POIN' 1 ($ENTREE . '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) ; UZ = -1*UNCEL ; UX = 'EXTR' UTC1 'SCAL' PCEN ; UY = 'EXTR' UTC2 'SCAL' PCEN ; CHLIM2 = 'MANU' 'CHPO' ($ENTREE . 'CENTRE') 5 'RN' RHO 'UX' UX 'UY' UY 'UZ' UZ 'PN' P ; ERRO = 'MAXIMUM' (CHLIM2 '-' RCHLIM) 'ABS' ; 'SI' (ERRO > 1.0D-12) ; 'ERREUR' 5 ; 'FINSI' ; * **** Jacobian with respect to primitive variable * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MENTREE 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 MENTREE LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'OUTRI' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 1.0 'UX' 0.0 'UY' 0.0 'UZ' 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 MENTREE LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'OUTRI' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 1.0 'UY' 0.0 'UZ' 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 MENTREE LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'OUTRI' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 0.0 'UY' 1.0 'UZ' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UZ DUZSCAL = EPS '*' ('EXTRAIRE' VN 'UZ' PCEN) ; DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN (VN '+' DUZ) PN GAMN CHPLI 'OUTRI' ; DRESDUZN = ( RCHRES1 '-' RCHRES) '/' DUZSCAL ; DRESDUZ = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 0.0 'UY' 0.0 'UZ' 1.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) '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 MENTREE LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'OUTRI' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; DRESDP = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 0.0 'UY' 0.0 'UZ' 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 MENTREE 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 = GN ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTRI' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 1.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 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 = RN ; GN1 = GN '+' DUX ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTRI' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 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 = RN ; GN1 = GN '+' DUY ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTRI' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUZ DUZSCAL = EPS '*' ('EXTRAIRE' GN 'UZ' PCEN) ; DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ; RN1 = RN ; GN1 = GN '+' DUZ ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTRI' ; DRESDUZN = (RCHRES1 '-' RCHRES) '/' DUZSCAL ; DRESDUZ = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0) ; ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) '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 = RN ; GN1 = GN ; RETN1 = RETN '+' DR ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTRI' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 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') 3 'UY' 15. 'UX' 1. 'UZ' 1.7; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ; CHPLI = 'MANUEL' 'CHPO' ($ENTREE . 'CENTRE') 5 'RN' 1.11 'PN' 2.13 'UX' -11. 'UY' 2. 'UZ' 1.8 ; LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' ; LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'UZ ' 'PN ' ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE 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 MENTREE LISTC LISTP RN VN PN GAMN CHPLI 'INSS' ; AA = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 5 'VAR1' 1.11 'VAR2' 1.13 'VAR3' 1.15 'VAR4' 1.17 'VAR5' 1.37 ; ERRO = 'MAXIMUM' ('KOPS' 'MULT' RJACO AA) 'ABS' ; 'SI' (ERRO > 1.0D-12) ; 'ERREUR' 5 ; 'FINSI' ; RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MENTREE 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') 3 'UY' -15. 'UX' 1. 'UZ' -5. ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN ('MOTS' 'UX' 'UY' 'UZ') ('MOTS' 'UX' 'UY' 'UZ'))) ; CHPLI CACCA = 'KOPS' MATRIK ; LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' ; LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'UZ ' 'PN ' ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE 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' ; UZC = 'EXTRAIRE' VN PCEN 'UZ' ; PC = 'EXTRAIRE' PN PCEN 'SCAL' ; CHLIM2 = 'MANU' 'CHPO' ($ENTREE . 'CENTRE') 5 'RN' RC 'UX' UXC 'UY' UYC 'UZ' UZC 'PN' PC ; ERRO = 'MAXIMUM' (CHLIM2 '-' RCHLIM) 'ABS' ; 'SI' (ERRO > 1.0D-12) ; 'ERREUR' 5 ; 'FINSI' ; * **** Jacobian with respect to primitive variable * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MENTREE 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 MENTREE LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'OUTSS' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 1.0 'UX' 0.0 'UY' 0.0 'UZ' 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 MENTREE LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'OUTSS' ; DRESDUXN = (RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 1.0 'UY' 0.0 'UZ' 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 MENTREE LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'OUTSS' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 0.0 'UY' 1.0 'UZ' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UZ DUZSCAL = EPS '*' ('EXTRAIRE' VN 'UZ' PCEN) ; DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN (VN '+' DUZ) PN GAMN CHPLI 'OUTSS' ; DRESDUZN = ( RCHRES1 '-' RCHRES) '/' DUZSCAL ; DRESDUZ = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 0.0 'UY' 0.0 'UZ' 1.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) '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 MENTREE LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'OUTSS' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; DRESDP = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 0.0 'UY' 0.0 'UZ' 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 MENTREE 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 = GN ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTSS' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 1.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 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 = RN ; GN1 = GN '+' DUX ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTSS' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 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 = RN ; GN1 = GN '+' DUY ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTSS' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUZ DUZSCAL = EPS '*' ('EXTRAIRE' GN 'UZ' PCEN) ; DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ; RN1 = RN ; GN1 = GN '+' DUZ ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTSS' ; DRESDUZN = (RCHRES1 '-' RCHRES) '/' DUZSCAL ; DRESDUZ = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0) ; ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) '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 = RN ; GN1 = GN ; RETN1 = RETN '+' DR ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTSS' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 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') 3 'UY' -15. 'UX' 1. 'UZ' -3.1 ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN ('MOTS' 'UX' 'UY' 'UZ') ('MOTS' 'UX' 'UY' 'UZ'))) ; CHPLI = 'MANUEL' 'CHPO' ($ENTREE . 'CENTRE') 1 'PN' 2.1 ; LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' ; LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'UZ ' 'PN ' ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN VN PN GAMN CHPLI 'OUTP' ; * Surfaces and volumes are constant SURSVOL = -1 * ('MAXIMUM' ('DOMA' $DOMINT 'SURFACE')) '/' ('MAXIMUM' ('DOMA' $DOMINT 'VOLUME')) ; UXC = ('EXTRAIRE' VN 'UX' PCEN) ; UYC = ('EXTRAIRE' VN 'UY' PCEN) ; UZC = ('EXTRAIRE' VN 'UZ' PCEN) ; UNORM = -1 * UZC ; PC = 'EXTRAIRE' PN PCEN 'SCAL' ; RC = 'EXTRAIRE' RN PCEN 'SCAL' ; GAMC = 'EXTRAIRE' GAMN PCEN 'SCAL' ; FMASS = RC '*' UNORM ; FUN = (RC '*' UNORM '*' UNORM) '+' PC ; FUX = (RC '*' UNORM '*' UXC) ; FUY = (RC '*' UNORM '*' UYC) ; FUZ = -1 * FUN ; FEN = (UNORM '*' ((GAMC/(GAMC-1)) '*' PC)) '+' (0.5 '*' UNORM '*' RC '*' ((UNORM '*' UNORM) '+' (UXC '*' UXC) '+' (UYC '*' UYC))) ; RCHRES1 = 'MANUEL' 'CHPO' ('MANUEL' 'POI1' PCEN) 5 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL) 'VAR3' (FUY '*' SURSVOL) 'VAR4' (FUZ '*' SURSVOL) 'VAR5' (FEN '*' SURSVOL) ; ERRO = 'MAXIMUM' (RCHRES '-' RCHRES1) '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') 3 'UY' -15. 'UX' 1. 'UZ' -1.17 ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN ('MOTS' 'UX' 'UY' 'UZ') ('MOTS' 'UX' 'UY' 'UZ'))) ; CHPLI = 'MANUEL' 'CHPO' ($ENTREE . 'CENTRE') 1 'PN' 4.1 ; LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' ; LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'UZ ' 'PN ' ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE 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' ; UZC = 'EXTRAIRE' VN PCEN 'UZ' ; PF = 'MAXIMUM' CHPLI ; CHLIM2 = 'MANU' 'CHPO' ($ENTREE . 'CENTRE') 5 'RN' RC 'UX' UXC 'UY' UYC 'PN' PF 'UZ' UZC ; ERRO = 'MAXIMUM' (CHLIM2 '-' RCHLIM) 'ABS' ; 'SI' (ERRO > 1.0D-12) ; 'ERREUR' 5 ; 'FINSI' ; * **** Jacobian with respect to primitive variable * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MENTREE 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 MENTREE LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'OUTP' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 1.0 'UX' 0.0 'UY' 0.0 'UZ' 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 MENTREE LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'OUTP' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 1.0 'UY' 0.0 'UZ' 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 MENTREE LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'OUTP' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 0.0 'UY' 1.0 'UZ' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UZ DUZSCAL = EPS '*' ('EXTRAIRE' VN 'UZ' PCEN) ; DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN (VN '+' DUZ) PN GAMN CHPLI 'OUTP' ; DRESDUZN = ( RCHRES1 '-' RCHRES) '/' DUZSCAL ; DRESDUZ = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 0.0 'UY' 0.0 'UZ' 1.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) '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 MENTREE LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'OUTP' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; DRESDP = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 0.0 'UY' 0.0 'UZ' 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 MENTREE 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 = GN ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTP' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 1.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 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 = RN ; GN1 = GN '+' DUX ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTP' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 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 = RN ; GN1 = GN '+' DUY ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTP' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUZ DUZSCAL = EPS '*' ('EXTRAIRE' GN 'UZ' PCEN) ; DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ; RN1 = RN ; GN1 = GN '+' DUZ ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTP' ; DRESDUZN = (RCHRES1 '-' RCHRES) '/' DUZSCAL ; DRESDUZ = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0) ; ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) '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 = RN ; GN1 = GN ; RETN1 = RETN '+' DR ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTP' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 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') 3 'UY' 0. 'UX' 0. 'UZ' 1.11 ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN ('MOTS' 'UX' 'UY' 'UZ') ('MOTS' 'UX' 'UY' 'UZ'))) ; RHTN = RETN '+' PN ; HTN = RHTN '/' RN ; UXC = ('EXTRAIRE' VN 'UX' PCEN) ; UYC = ('EXTRAIRE' VN 'UY' PCEN) ; UZC = ('EXTRAIRE' VN 'UZ' PCEN) ; SN = PN '/' (RN '**' ('MAXI' GAMN)) ; CHPLI = 'MANUEL' 'CHPO' ($ENTREE . 'CENTRE') 2 'HT' ('MAXIMUM' HTN) 'S' ('MAXIMUM' SN) ; LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' ; LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'UZ ' 'PN ' ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN VN PN GAMN CHPLI 'INSU' ; SURSVOL = ('MAXIMUM' ('DOMA' $DOMINT 'SURFACE')) '/' ('MAXIMUM' ('DOMA' $DOMINT 'VOLUME')) ; UXC = ('EXTRAIRE' VN 'UX' PCEN) ; UYC = ('EXTRAIRE' VN 'UY' PCEN) ; UZC = ('EXTRAIRE' VN 'UZ' PCEN) ; UNORM = UZC ; PC = 'EXTRAIRE' PN PCEN 'SCAL' ; RC = 'EXTRAIRE' RN PCEN 'SCAL' ; GAMC = 'EXTRAIRE' GAMN PCEN 'SCAL' ; FMASS = RC '*' UNORM ; FUZ = (RC '*' UNORM '*' UNORM) '+' PC ; FUX = (RC '*' UNORM '*' UXC) ; FUY = (RC '*' UNORM '*' UYC) ; FEN = (UNORM '*' ((GAMC/(GAMC-1)) '*' PC)) '+' (0.5 '*' UNORM '*' RC '*' ((UXC '*' UXC) '+' (UYC '*' UYC) '+' (UZC '*' UZC))) ; RCHRES1 = 'MANUEL' 'CHPO' ('MANUEL' 'POI1' PCEN) 5 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL) 'VAR3' (FUY '*' SURSVOL) 'VAR4' (FUZ '*' SURSVOL) 'VAR5' (FEN '*' SURSVOL) ; ERRO = 'MAXIMUM' (RCHRES1 '-' RCHRES) 'ABS' ; 'SI' (ERRO > 1.0D-6) ; 'ERREUR' 5 ; 'FINSI' ; * **** Jacobian with respect to primitive variable * 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') 3 'UY' 1.13 'UX' 1.16 'UZ' 1.11 ; GN = RN * VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN ('MOTS' 'UX' 'UY' 'UZ') ('MOTS' 'UX' 'UY' 'UZ'))) ; CHPLI = 'MANUEL' 'CHPO' ($ENTREE . 'CENTRE') 2 'HT' (('MAXIMUM' HTN) * 1.11) 'S' (('MAXIMUM' SN) '*' 1.13) ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN VN PN GAMN CHPLI 'INSU' ; RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MENTREE 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 MENTREE LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'INSU' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 1.0 'UX' 0.0 'UY' 0.0 'UZ' 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 MENTREE LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'INSU' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 1.0 'UY' 0.0 'UZ' 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 MENTREE LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'INSU' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 0.0 'UY' 1.0 'UZ' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UZ DUZSCAL = EPS '*' ('EXTRAIRE' VN 'UZ' PCEN) ; DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN (VN '+' DUZ) PN GAMN CHPLI 'INSU' ; DRESDUZN = ( RCHRES1 '-' RCHRES) '/' DUZSCAL ; DRESDUZ = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 0.0 'UY' 0.0 'UZ' 1.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) '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 MENTREE LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'INSU' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; DRESDP = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 0.0 'UY' 0.0 'UZ' 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 MENTREE 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 = GN ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INSU' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 1.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 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 = RN ; GN1 = GN '+' DUX ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INSU' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 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 = RN ; GN1 = GN '+' DUY ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INSU' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUZ DUZSCAL = EPS '*' ('EXTRAIRE' GN 'UZ' PCEN) ; DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ; RN1 = RN ; GN1 = GN '+' DUZ ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INSU' ; DRESDUZN = (RCHRES1 '-' RCHRES) '/' DUZSCAL ; DRESDUZ = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0) ; ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) '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 = RN ; GN1 = GN ; RETN1 = RETN '+' DR ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INSU' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 1.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; ********************************************************************************** ********************************************************************************** *************************** INJELM ************************************************ ********************************************************************************** ********************************************************************************** * * We impose RT and the normal momontum 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') 3 'UY' 1. 'UX' 1.2 'UZ' 1.13 ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN ('MOTS' 'UX' 'UY' 'UZ') ('MOTS' 'UX' 'UY' 'UZ'))) ; MOME = 1.13 * 1.1 ; RT = 2.1 '/' 1.1 ; PC = ('EXTRAIRE' PN 'SCAL' PCEN) ; RC = ('EXTRAIRE' RN 'SCAL' PCEN) ; CHPLI = 'MANUEL' 'CHPO' ($ENTREE . 'CENTRE') 2 'RT' RT 'MOME' MOME ; LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' ; LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'UZ ' 'PN ' ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN VN PN GAMN CHPLI 'INJELM' ; RCHLIM1 = 'MANUEL' 'CHPO' ($ENTREE . 'CENTRE') 5 'RN' RC 'PN' PC 'UX' 0.0 'UY' 0.0 'UZ' 1.13 ; ERRO = 'MAXIMUM' (RCHLIM1 '-' RCHLIM) 'ABS' ; 'SI' (ERRO > 1.0D-6) ; 'ERREUR' 5 ; 'FINSI' ; SURSVOL = 2.50000E-1 '/' 1.25000E-1 ; GAMC = 'EXTRAIRE' GAMN PCEN 'SCAL' ; FMASS = MOME ; FUX = 0.0 ; FUY = 0.0 ; FUZ = (MOME * 1.13) '+' PC ; HIN = (GAMC/(GAMC-1)) '*' (PC '/' RC) ; ECIN = 0.5 '*' (1.13 * 1.13) ; FEN = MOME '*' (HIN '+' ECIN) ; RCHRES1 = 'MANUEL' 'CHPO' ('MANUEL' 'POI1' PCEN) 5 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL) 'VAR3' (FUY '*' SURSVOL) 'VAR4' (FUZ '*' SURSVOL) 'VAR5' (FEN '*' SURSVOL) ; ERRO = 'MAXIMUM' (RCHRES1 '-' RCHRES) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; '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') 3 'UY' 1.11 'UX' -1.3 'UZ' 1.5 ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN ('MOTS' 'UX' 'UY' 'UZ') ('MOTS' 'UX' 'UY' 'UZ'))) ; MOME = 0.111 ; RT = 4.1 ; CHPLI = 'MANUEL' 'CHPO' ($ENTREE . 'CENTRE') 2 'RT' RT 'MOME' MOME ; LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' ; LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'UZ ' 'PN ' ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN VN PN GAMN CHPLI 'INJELM' ; * **** Jacobian with respect to primitive variable * RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN VN PN GAMN CHPLI 'INJELM' ; RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MENTREE 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 MENTREE LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'INJELM' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 1.0 'UX' 0.0 'UY' 0.0 'UZ' 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 MENTREE LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'INJELM' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 1.0 'UY' 0.0 'UZ' 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 MENTREE LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'INJELM' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 0.0 'UY' 1.0 'UZ' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UZ DUZSCAL = EPS '*' ('EXTRAIRE' VN 'UZ' PCEN) ; DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN (VN '+' DUZ) PN GAMN CHPLI 'INJELM' ; DRESDUZN = ( RCHRES1 '-' RCHRES) '/' DUZSCAL ; DRESDUZ = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 0.0 'UY' 0.0 'UZ' 1.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) '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 MENTREE LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'INJELM' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; DRESDP = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 0.0 'UY' 0.0 'UZ' 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 MENTREE 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 = GN ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJELM' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 1.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 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 = RN ; GN1 = GN '+' DUX ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJELM' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 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 = RN ; GN1 = GN '+' DUY ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJELM' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUZ DUZSCAL = EPS '*' ('EXTRAIRE' GN 'UZ' PCEN) ; DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ; RN1 = RN ; GN1 = GN '+' DUZ ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJELM' ; DRESDUZN = (RCHRES1 '-' RCHRES) '/' DUZSCAL ; DRESDUZ = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0) ; ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) '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 = RN ; GN1 = GN ; RETN1 = RETN '+' DR ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJELM' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 1.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; ********************************************************************************** ********************************************************************************** *************************** INJE ************************************************ ********************************************************************************** ********************************************************************************** * * We impose RT and the normal momontum at the inlet. * ***** Calcul du residu dans le cas particulier inj // uz * RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.3 ; PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ; GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ; VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 3 'UY' 1. 'UX' 1.2 'UZ' 1.13 ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN ('MOTS' 'UX' 'UY' 'UZ') ('MOTS' 'UX' 'UY' 'UZ'))) ; MOME = 16. ; RT = 4.1 ; UZC = ('EXTRAIRE' VN 'UZ' PCEN) ; PC = ('EXTRAIRE' PN 'SCAL' PCEN) ; RC = ('EXTRAIRE' RN 'SCAL' PCEN) ; GAMC = ('EXTRAIRE' GAMN 'SCAL' PCEN) ; UNC = UZC ; 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 ; UZF = UNF ; CHPLI = 'MANUEL' 'CHPO' ($ENTREE . 'CENTRE') 2 'RT' RT 'MOME' MOME ; LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' ; LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'UZ ' 'PN ' ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN VN PN GAMN CHPLI 'INJE' ; RCHLIM1 = 'MANUEL' 'CHPO' ($ENTREE . 'CENTRE') 5 'RN' RF 'PN' PF 'UX' 0.0 'UY' 0.0 'UZ' UZF ; ERRO = 'MAXIMUM' (RCHLIM1 '-' RCHLIM) 'ABS' ; 'SI' (ERRO > 1.0D-6) ; 'ERREUR' 5 ; 'FINSI' ; SURSVOL = 2.50000E-1 '/' 1.25000E-1 ; GAMC = 'EXTRAIRE' GAMN PCEN 'SCAL' ; * F1=RHOUF*SURF/VOLU * F2=(RHOUF*UX+P*CNX)*SURF/VOLU * F3=(RHOUF*UY+P*CNY)*SURF/VOLU * F4=(RHOUF*((GAMC*USGM1*PSRF)+ECIN))*SURF/VOLU FMASS = MOME ; FUX = 0.0 ; FUY = 0.0 ; FUZ = (MOME * UZF) '+' PF ; HIN = (GAMC/(GAMC-1)) '*' (PF '/' RF) ; ECIN = 0.5 '*' (UZF * UZF) ; FEN = MOME '*' (HIN '+' ECIN) ; RCHRES1 = 'MANUEL' 'CHPO' ('MANUEL' 'POI1' PCEN) 5 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL) 'VAR3' (FUY '*' SURSVOL) 'VAR4' (FUZ '*' SURSVOL) 'VAR5' (FEN '*' SURSVOL) ; ERRO = 'MAXIMUM' (RCHRES1 '-' RCHRES) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; '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') 3 'UY' 1.11 'UX' -1.3 'UZ' 1.5 ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN ('MOTS' 'UX' 'UY' 'UZ') ('MOTS' 'UX' 'UY' 'UZ'))) ; MOME = 0.111 ; RT = 4.1 ; CHPLI = 'MANUEL' 'CHPO' ($ENTREE . 'CENTRE') 2 'RT' RT 'MOME' MOME ; LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' ; LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'UZ ' 'PN ' ; RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN VN PN GAMN CHPLI 'INJE' ; * **** Jacobian with respect to primitive variable * RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN VN PN GAMN CHPLI 'INJE' ; RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MENTREE 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 MENTREE LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'INJE' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 1.0 'UX' 0.0 'UY' 0.0 'UZ' 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 MENTREE LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'INJE' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 1.0 'UY' 0.0 'UZ' 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 MENTREE LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'INJE' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 0.0 'UY' 1.0 'UZ' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UZ DUZSCAL = EPS '*' ('EXTRAIRE' VN 'UZ' PCEN) ; DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN (VN '+' DUZ) PN GAMN CHPLI 'INJE' ; DRESDUZN = ( RCHRES1 '-' RCHRES) '/' DUZSCAL ; DRESDUZ = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 0.0 'UY' 0.0 'UZ' 1.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) '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 MENTREE LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'INJE' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; DRESDP = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0 'UX' 0.0 'UY' 0.0 'UZ' 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 MENTREE 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 = GN ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJE' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 1.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 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 = RN ; GN1 = GN '+' DUX ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJE' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 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 = RN ; GN1 = GN '+' DUY ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJE' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUZ DUZSCAL = EPS '*' ('EXTRAIRE' GN 'UZ' PCEN) ; DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ; RN1 = RN ; GN1 = GN '+' DUZ ; RETN1 = RETN ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJE' ; DRESDUZN = (RCHRES1 '-' RCHRES) '/' DUZSCAL ; DRESDUZ = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0) ; ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) '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 = RN ; GN1 = GN ; RETN1 = RETN '+' DR ; VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ; RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MENTREE LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJE' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 1.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; 'FIN' ;