* fichier : clim3d.dgibi ********************************************************************* * VF, CLIM 3D * * * * BECCANTINI A., DM2S/SFME/LTMF, JANVIER 2002 * ********************************************************************* TYEL = 'CU20' ; 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 = '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' ; ((DX '/' 2) (DX '/' 2) (DX '/' 2)) ; 'SI' GRAPH ; 'TRACER' (DOMINT 'ET' PCEN) ; 'FINSI' ; ********************************************************************************** ********************************************************************************** *************************** Riemann invariants, inlet *************************** ********************************************************************************** ********************************************************************************** 'UZ' 1.11 ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN 'UX' 0.35 'UY' 0.3 'UZ' 1.0 ; LISTC LISTP RN VN PN GAMN CHPLI 'INRI' ; * **** On calcule RCHLIM en gibiane * 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' ; ASONC = GAMMA * (PNCEL '/' RNCEL) ; ASONC = ASONC '**' 0.5 ; G3 = UNCELC '+' (DSGM1 * ASONC) ; S = PNCEL '/' (RNCEL** GAMMA) ; 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' 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 ; LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'INRI' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; '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) ; LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'INRI' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; '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) ; LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'INRI' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; '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) ; LISTC LISTP RN (VN '+' DUZ) PN GAMN CHPLI 'INRI' ; DRESDUZN = ( RCHRES1 '-' RCHRES) '/' DUZSCAL ; '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 ; LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'INRI' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; '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 ; RN1 = RN '+' DR ; GN1 = GN ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INRI' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; '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) ; RN1 = RN ; GN1 = GN '+' DUX ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INRI' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; '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) ; RN1 = RN ; GN1 = GN '+' DUY ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INRI' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; '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) ; RN1 = RN ; GN1 = GN '+' DUZ ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INRI' ; DRESDUZN = (RCHRES1 '-' RCHRES) '/' DUZSCAL ; '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 ; RN1 = RN ; GN1 = GN ; RETN1 = RETN '+' DR ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INRI' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; '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 ************************** ********************************************************************************** ********************************************************************************** 'UZ' -0.11 ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN 'UX' 0.35 'UY' 0.3 'UZ' 0.011 ; LISTC LISTP RN VN PN GAMN CHPLI 'OUTRI' ; * **** On calcule RCHLIM en gibiane * 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' ; ASONC = GAMMA * (PNCEL '/' RNCEL) ; ASONC = ASONC '**' 0.5 ; G1 = UNCELC '-' (DSGM1 * ASONC) ; 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 '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 ; LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'OUTRI' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; '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) ; LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'OUTRI' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; '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) ; LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'OUTRI' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; '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) ; LISTC LISTP RN (VN '+' DUZ) PN GAMN CHPLI 'OUTRI' ; DRESDUZN = ( RCHRES1 '-' RCHRES) '/' DUZSCAL ; '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 ; LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'OUTRI' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; '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 ; RN1 = RN '+' DR ; GN1 = GN ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTRI' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; '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) ; RN1 = RN ; GN1 = GN '+' DUX ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTRI' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; '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) ; RN1 = RN ; GN1 = GN '+' DUY ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTRI' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; '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) ; RN1 = RN ; GN1 = GN '+' DUZ ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTRI' ; DRESDUZN = (RCHRES1 '-' RCHRES) '/' DUZSCAL ; '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 ; RN1 = RN ; GN1 = GN ; RETN1 = RETN '+' DR ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTRI' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; '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 ************************************ ********************************************************************************** ********************************************************************************** GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN 'UX' -11. 'UY' 2. 'UZ' 1.8 ; 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' ; 'VAR3' 1.15 'VAR4' 1.17 'VAR5' 1.37 ; 'SI' (ERRO > 1.0D-12) ; 'ERREUR' 5 ; 'FINSI' ; RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MENTREE LISTC LISTP RN VN PN GAMN CHPLI 'INSS' ; 'UY' 1.15 'PN' 1.17 ; 'SI' (ERRO > 1.0D-12) ; 'ERREUR' 5 ; 'FINSI' ; ********************************************************************************** ********************************************************************************** *************************** Supersonic outlet *********************************** ********************************************************************************** ********************************************************************************** ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN 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' ; 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 ; LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'OUTSS' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; '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) ; LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'OUTSS' ; DRESDUXN = (RCHRES1 '-' RCHRES) '/' DUXSCAL ; '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) ; LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'OUTSS' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; '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) ; LISTC LISTP RN (VN '+' DUZ) PN GAMN CHPLI 'OUTSS' ; DRESDUZN = ( RCHRES1 '-' RCHRES) '/' DUZSCAL ; '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 ; LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'OUTSS' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; '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 ; RN1 = RN '+' DR ; GN1 = GN ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTSS' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; '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) ; RN1 = RN ; GN1 = GN '+' DUX ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTSS' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; '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) ; RN1 = RN ; GN1 = GN '+' DUY ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTSS' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; '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) ; RN1 = RN ; GN1 = GN '+' DUZ ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTSS' ; DRESDUZN = (RCHRES1 '-' RCHRES) '/' DUZSCAL ; '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 ; RN1 = RN ; GN1 = GN ; RETN1 = RETN '+' DR ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTSS' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; '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 * 'UZ' -3.1 ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN LISTC LISTP RN VN PN GAMN CHPLI 'OUTP' ; * Surfaces and volumes are constant 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))) ; '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 'UZ' -1.17 ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN 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 ; 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 ; LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'OUTP' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; '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) ; LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'OUTP' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; '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) ; LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'OUTP' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; '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) ; LISTC LISTP RN (VN '+' DUZ) PN GAMN CHPLI 'OUTP' ; DRESDUZN = ( RCHRES1 '-' RCHRES) '/' DUZSCAL ; '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 ; LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'OUTP' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; '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 ; RN1 = RN '+' DR ; GN1 = GN ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTP' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; '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) ; RN1 = RN ; GN1 = GN '+' DUX ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTP' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; '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) ; RN1 = RN ; GN1 = GN '+' DUY ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTP' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; '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) ; RN1 = RN ; GN1 = GN '+' DUZ ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTP' ; DRESDUZN = (RCHRES1 '-' RCHRES) '/' DUZSCAL ; '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 ; RN1 = RN ; GN1 = GN ; RETN1 = RETN '+' DR ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTP' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; '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 * ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN RHTN = RETN '+' PN ; HTN = RHTN '/' RN ; UXC = ('EXTRAIRE' VN 'UX' PCEN) ; UYC = ('EXTRAIRE' VN 'UY' PCEN) ; UZC = ('EXTRAIRE' VN 'UZ' PCEN) ; 'S' ('MAXIMUM' SN) ; LISTC LISTP RN VN PN GAMN CHPLI 'INSU' ; 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))) ; '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 * 'UZ' 1.11 ; GN = RN * VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN 1.11) 'S' (('MAXIMUM' SN) '*' 1.13) ; 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 ; LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'INSU' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; '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) ; LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'INSU' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; '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) ; LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'INSU' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; '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) ; LISTC LISTP RN (VN '+' DUZ) PN GAMN CHPLI 'INSU' ; DRESDUZN = ( RCHRES1 '-' RCHRES) '/' DUZSCAL ; '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 ; LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'INSU' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; '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 ; RN1 = RN '+' DR ; GN1 = GN ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INSU' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; '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) ; RN1 = RN ; GN1 = GN '+' DUX ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INSU' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; '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) ; RN1 = RN ; GN1 = GN '+' DUY ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INSU' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; '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) ; RN1 = RN ; GN1 = GN '+' DUZ ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INSU' ; DRESDUZN = (RCHRES1 '-' RCHRES) '/' DUZSCAL ; '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 ; RN1 = RN ; GN1 = GN ; RETN1 = RETN '+' DR ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INSU' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; '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 * 'UZ' 1.13 ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN RT = 2.1 '/' 1.1 ; PC = ('EXTRAIRE' PN 'SCAL' PCEN) ; RC = ('EXTRAIRE' RN 'SCAL' PCEN) ; LISTC LISTP RN VN PN GAMN CHPLI 'INJELM' ; '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' ; FUX = 0.0 ; FUY = 0.0 ; HIN = (GAMC/(GAMC-1)) '*' (PC '/' RC) ; ECIN = 0.5 '*' (1.13 * 1.13) ; ; '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 1.5 ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN RT = 4.1 ; LISTC LISTP RN VN PN GAMN CHPLI 'INJELM' ; * **** Jacobian with respect to primitive variable * 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 ; LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'INJELM' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; '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) ; LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'INJELM' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; '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) ; LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'INJELM' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; '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) ; LISTC LISTP RN (VN '+' DUZ) PN GAMN CHPLI 'INJELM' ; DRESDUZN = ( RCHRES1 '-' RCHRES) '/' DUZSCAL ; '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 ; LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'INJELM' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; '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 ; RN1 = RN '+' DR ; GN1 = GN ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJELM' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; '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) ; RN1 = RN ; GN1 = GN '+' DUX ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJELM' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; '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) ; RN1 = RN ; GN1 = GN '+' DUY ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJELM' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; '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) ; RN1 = RN ; GN1 = GN '+' DUZ ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJELM' ; DRESDUZN = (RCHRES1 '-' RCHRES) '/' DUZSCAL ; '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 ; RN1 = RN ; GN1 = GN ; RETN1 = RETN '+' DR ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJELM' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; '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 * 'UZ' 1.13 ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN 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 ; PF = BCEL '+' (((BCEL * BCEL) '+' (4 '*' ACEL '*' CCEL)) '**' 0.5) ; PF = PC '*' (PF '/' (2 '*' ACEL)) ; RF = PF '/' RT ; UZF = UNF ; LISTC LISTP RN VN PN GAMN CHPLI 'INJE' ; '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 FUX = 0.0 ; FUY = 0.0 ; HIN = (GAMC/(GAMC-1)) '*' (PF '/' RF) ; ECIN = 0.5 '*' (UZF * UZF) ; '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 1.5 ; GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN RT = 4.1 ; LISTC LISTP RN VN PN GAMN CHPLI 'INJE' ; * **** Jacobian with respect to primitive variable * 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 ; LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'INJE' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; '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) ; LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'INJE' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; '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) ; LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'INJE' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; '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) ; LISTC LISTP RN (VN '+' DUZ) PN GAMN CHPLI 'INJE' ; DRESDUZN = ( RCHRES1 '-' RCHRES) '/' DUZSCAL ; '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 ; LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'INJE' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; '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 ; RN1 = RN '+' DR ; GN1 = GN ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJE' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; '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) ; RN1 = RN ; GN1 = GN '+' DUX ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJE' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; '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) ; RN1 = RN ; GN1 = GN '+' DUY ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJE' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; '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) ; RN1 = RN ; GN1 = GN '+' DUZ ; RETN1 = RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJE' ; DRESDUZN = (RCHRES1 '-' RCHRES) '/' DUZSCAL ; '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 ; RN1 = RN ; GN1 = GN ; RETN1 = RETN '+' DR ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJE' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; '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' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales