* fichier : clim.dgibi ********************************************************************* * VF, CLIM 2D * * * * BECCANTINI A., DM2S/SFME/LTMF, JANVIER 2002 * ********************************************************************* TYEL = 'QUA8' ; * TYEL = 'TRI6' ; GRAPH = VRAI ; GRAPH = FAUX ; ****************** **** MAILLAGE **** ****************** * * P2 P3 * DX = 0.5 ; P2 = 0.0 0.0 ; P3 = DX DX ; P2P3 = P2 'DROIT' 1 P3 ; DOMINT = P2P3 'REGLER' 4 LIGHAU ; DOMINT = 'CHANGER' DOMINT 'QUAF' ; * **** Creation of DOMAINE tables via the MODEL object * MDOMINT = 'MODELISER' DOMINT 'NAVIER_STOKES' 'LINE' ; MP2P3 = 'MODELISER' P2P3 'NAVIER_STOKES' 'LINE' ; 'SI' GRAPH ; 'TRACER' (DOMINT 'ET' PCEN) ; 'FINSI' ; ********************************************************************************** ********************************************************************************** *************************** Riemann invariants, inlet *************************** ********************************************************************************** ********************************************************************************** GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN 'UX' 2.0 'UY' 1.0 ; LISTC LISTP RN VN PN GAMN CHPLI 'INRI' ; * **** On calcule RCHLIM en gibiane * '**' 0.5) ; GAMMA = 'MAXIMUM' GAMN ; GM1 = '-' GAMMA 1. ; USGM1 = 1. '/' GM1 ; DSGM1 = 2. '*' USGM1 ; ASONC = GAMMA * (PN '/' RN) ; ASONC = ASONC '**' 0.5 ; G1 = UNC '-' (DSGM1 * ASONC) ; G1 = 'EXTRAIRE' G1 PCEN 'SCAL' ; '/' (2 '**' 0.5) ; '/' (-1*(2 '**' 0.5)) ; 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) ; UX = (UNCEL '+' UTCEL) '/' (-1*(2 '**' 0.5)) ; UY = (UNCEL '-' UTCEL) '/' (2 '**' 0.5) ; UX 'UY' UY 'PN' P ; ERRO = 'MAXIMUM' (CHLIM2 '-' RCHLIM) ; 'SI' (ERRO > 1.0D-12) ; 'ERREUR' 5 ; 'FINSI' ; 'FINSI' ; * **** Jacobian with respect to primitive variable * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INRI' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'INRI' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UX DUXSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ; LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'INRI' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; 'UX' 1.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UY DUYSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ; LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'INRI' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; 'UX' 0.0 'UY' 1.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * PN DPSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'INRI' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 1.0) ; ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * **** Jacobian with respect to conservative variables * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOCONS' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INRI' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = RN '+' DR ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INRI' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUX DUXSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUX ; RETN1 = 'COPIER' RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INRI' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUY DUYSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUY ; RETN1 = 'COPIER' RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INRI' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RETN DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = RETN '+' DR ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INRI' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; ********************************************************************************** ********************************************************************************** *************************** Riemann invariants, outlet ************************** ********************************************************************************** ********************************************************************************** GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN 'UX' 1.1 'UY' -0.1 ; LISTC LISTP RN VN PN GAMN CHPLI 'OUTRI' ; * **** On calcule RCHLIM en gibiane * (-1*(2 '**' 0.5)) ; (2 '**' 0.5) ; GAMMA = 'MAXIMUM' GAMN ; GM1 = '-' GAMMA 1. ; USGM1 = 1. '/' GM1 ; DSGM1 = 2. '*' USGM1 ; ASONC = GAMMA * (PN '/' RN) ; ASONC = ASONC '**' 0.5 ; G3 = UNC '+' (DSGM1 * ASONC) ; G3 = 'EXTRAIRE' G3 PCEN 'SCAL' ; S = PN '/' (RN** GAMMA) ; S = 'EXTRAIRE' S PCEN 'SCAL' ; 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) ; UX = (UNCEL '+' UTCEL) '/' ((2 '**' 0.5)) ; UY = (UNCEL '-' UTCEL) '/' (-1*(2 '**' 0.5)) ; UX 'UY' UY 'PN' P ; ERRO = 'MAXIMUM' (CHLIM2 '-' RCHLIM) ; 'SI' (ERRO > 1.0D-12) ; 'ERREUR' 5 ; 'FINSI' ; * **** Jacobian with respect to primitive variable * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'OUTRI' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'OUTRI' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UX DUXSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ; LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'OUTRI' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; 'UX' 1.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UY DUYSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ; LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'OUTRI' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; 'UX' 0.0 'UY' 1.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * PN DPSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'OUTRI' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 1.0) ; ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * **** Jacobian with respect to conservative variables * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOCONS' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'OUTRI' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = RN '+' DR ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTRI' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUX DUXSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUX ; RETN1 = 'COPIER' RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTRI' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUY DUYSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUY ; RETN1 = 'COPIER' RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTRI' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RETN DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = RETN '+' DR ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTRI' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 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. ; LISTC LISTP RN VN PN GAMN CHPLI 'INSS' ; ERRO = 'MAXIMUM' (RCHLIM '-' CHPLI) 'ABS' ; 'SI' (ERRO > 1.0D-12) ; 'ERREUR' 5 ; 'FINSI' ; RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOCONS' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INSS' ; 'VAR3' 1.15 'VAR4' 1.17 ; 'SI' (ERRO > 1.0D-12) ; 'ERREUR' 5 ; 'FINSI' ; RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MP2P3 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' ; PC = 'EXTRAIRE' PN PCEN 'SCAL' ; UXC 'UY' UYC 'PN' PC ; ERRO = 'MAXIMUM' (CHLIM2 '-' RCHLIM) ; 'SI' (ERRO > 1.0D-12) ; 'ERREUR' 5 ; 'FINSI' ; RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'OUTSS' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'OUTSS' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UX DUXSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ; LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'OUTSS' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; 'UX' 1.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UY DUYSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ; LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'OUTSS' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; 'UX' 0.0 'UY' 1.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * PN DPSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'OUTSS' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 1.0) ; ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * **** Jacobian with respect to conservative variables * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOCONS' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'OUTSS' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = RN '+' DR ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTSS' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUX DUXSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUX ; RETN1 = 'COPIER' RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTSS' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUY DUYSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUY ; RETN1 = 'COPIER' RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTSS' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RETN DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = RETN '+' DR ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTSS' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; ********************************************************************************** ********************************************************************************** *************************** Pressure at the outlet ****************************** ********************************************************************************** ********************************************************************************** * * We solve a Riemann probleme between the state in the center and * the same state but the pressure equal to the pressure at the outlet * We use AUSMPLUS * * ***** Calcul du residu dans le cas particulier PF = PC * GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN LISTC LISTP RN VN PN GAMN CHPLI 'OUTP' ; SURSVOL = -1. '/' ((2 '**' 0.5) * 0.5) ; UXC = ('EXTRAIRE' VN 'UX' PCEN) ; UYC = ('EXTRAIRE' VN 'UY' PCEN) ; UNORM = (UXC '-' UYC) '/' (2. '**' 0.5) ; UT = (UXC '+' UYC) '/' (2. '**' 0.5) ; PC = 'EXTRAIRE' PN PCEN 'SCAL' ; RC = 'EXTRAIRE' RN PCEN 'SCAL' ; GAMC = 'EXTRAIRE' GAMN PCEN 'SCAL' ; FMASS = RC '*' UNORM ; FUN = (RC '*' UNORM '*' UNORM) '+' PC ; FUT = (RC '*' UNORM '*' UT) ; FUX = (FUN '+' FUT) '/' (2. '**' 0.5) ; FUY = (FUT '-' FUN) '/' (2. '**' 0.5) ; FEN = (UNORM '*' ((GAMC/(GAMC-1)) '*' PC)) '+' (0.5 '*' UNORM '*' RC '*' ((UNORM '*' UNORM) '+' (UT '*' UT))) ; 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL) 'VAR3' (FUY '*' SURSVOL) 'VAR4' (FEN '*' SURSVOL) ; ERRO = 'MAXIMUM' (RCHRES1 '-' RCHRES) 'ABS' ; 'SI' (ERRO > 1.0D-12) ; 'ERREUR' 5 ; 'FINSI' ; * Calcul de RCHLIM en gibiane 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' ; PF = 'MAXIMUM' CHPLI ; UXC 'UY' UYC 'PN' PF ; ERRO = 'MAXIMUM' (CHLIM2 '-' RCHLIM) 'ABS' ; 'SI' (ERRO > 1.0D-12) ; 'ERREUR' 5 ; 'FINSI' ; * ***** Jacobian with respect to the primitive variables * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'OUTP' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'OUTP' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UX DUXSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ; LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'OUTP' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; 'UX' 1.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UY DUYSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ; LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'OUTP' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; 'UX' 0.0 'UY' 1.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * PN DPSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'OUTP' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 1.0) ; ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * **** Jacobian with respect to conservative variables * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOCONS' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'OUTP' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = RN '+' DR ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTP' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUX DUXSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUX ; RETN1 = 'COPIER' RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTP' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUY DUYSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUY ; RETN1 = 'COPIER' RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTP' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RETN DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = RETN '+' DR ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'OUTP' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; ********************************************************************************** ********************************************************************************** *************************** INSU ************************************************ ********************************************************************************** ********************************************************************************** * * Total enthalpy, entropy, tangential velocity at the inlet * Normal velocity inside * * We solve a Riemann probleme between the state at the interface thus * reconstructed and the state at the center * ***** Calcul du residu dans le cas particulier UF = UC * 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) ; UTC = -1 '*' (UXC '+' UYC) '/' (2. '**' 0.5) ; 'S' ('MAXIMUM' SN) ; LISTC LISTP RN VN PN GAMN CHPLI 'INSU' ; SURSVOL = -1. '/' ((2 '**' 0.5) * 0.5) ; UXC = ('EXTRAIRE' VN 'UX' PCEN) ; UYC = ('EXTRAIRE' VN 'UY' PCEN) ; UNORM = (UXC '-' UYC) '/' (2. '**' 0.5) ; UT = (UXC '+' UYC) '/' (2. '**' 0.5) ; PC = 'EXTRAIRE' PN PCEN 'SCAL' ; RC = 'EXTRAIRE' RN PCEN 'SCAL' ; GAMC = 'EXTRAIRE' GAMN PCEN 'SCAL' ; UXC 'UY' UYC ; ERRO = 'MAXIMUM' (RCHLIM '-' RCHLIM2) 'ABS' ; 'SI' (ERRO > 1.0D-6) ; 'ERREUR' 5 ; 'FINSI' ; FMASS = RC '*' UNORM ; FUN = (RC '*' UNORM '*' UNORM) '+' PC ; FUT = (RC '*' UNORM '*' UT) ; FUX = (FUN '+' FUT) '/' (2. '**' 0.5) ; FUY = (FUT '-' FUN) '/' (2. '**' 0.5) ; FEN = (UNORM '*' ((GAMC/(GAMC-1)) '*' PC)) '+' (0.5 '*' UNORM '*' RC '*' ((UNORM '*' UNORM) '+' (UT '*' UT))) ; 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL) 'VAR3' (FUY '*' SURSVOL) 'VAR4' (FEN '*' SURSVOL) ; ERRO = 'MAXIMUM' (RCHRES1 '-' RCHRES) 'ABS' ; 'SI' (ERRO > 1.0D-6) ; 'ERREUR' 5 ; 'FINSI' ; * JACOBIANS LISTC LISTP RN VN PN GAMN CHPLI 'INSU' ; * ***** Jacobian with respect to the primitive variables * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INSU' ; EPS=1.0D-8 ; * 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 '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 '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 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * PN DPSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'INSU' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 1.0) ; ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * **** Jacobian with respect to conservative variables * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOCONS' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INSU' ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = RN '+' DR ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INSU' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUX DUXSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUX ; RETN1 = 'COPIER' RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INSU' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUY DUYSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUY ; RETN1 = 'COPIER' RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INSU' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RETN DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = RETN '+' DR ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INSU' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; ********************************************************************************** ********************************************************************************** *************************** INJELM ********************************************** ********************************************************************************** ********************************************************************************** * Injection at low Mach regime * * We impose RT and the normal momentum at the inlet. * ***** Calcul du residu dans le cas particulier UF = UC * GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN RT = 2.1 '/' 1.1 ; UXC = ('EXTRAIRE' VN 'UX' PCEN) ; UYC = ('EXTRAIRE' VN 'UY' PCEN) ; PC = ('EXTRAIRE' PN 'SCAL' PCEN) ; RC = ('EXTRAIRE' RN 'SCAL' PCEN) ; LISTC LISTP RN VN PN GAMN CHPLI 'INJELM' ; 'UY' UYC ; ERRO = 'MAXIMUM' (RCHLIM1 '-' RCHLIM) 'ABS' ; 'SI' (ERRO > 1.0D-6) ; 'ERREUR' 5 ; 'FINSI' ; SURSVOL = 1. '/' ((2 '**' 0.5) * 0.5) ; GAMC = 'EXTRAIRE' GAMN PCEN 'SCAL' ; HIN = (GAMC/(GAMC-1)) '*' (PC '/' RC) ; ECIN = 0.5 '*' ((UXC '*' UXC) '+' (UYC '*' UYC)) ; ; 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL) 'VAR3' (FUY '*' SURSVOL) 'VAR4' (FEN '*' SURSVOL) ; ERRO = 'MAXIMUM' (RCHRES1 '-' RCHRES) 'ABS' ; 'SI' (ERRO > 1.0D-6) ; 'ERREUR' 5 ; 'FINSI' ; * JACOBIANS 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 the primitive variables * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INJELM' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'INJELM' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UX DUXSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ; LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'INJELM' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; 'UX' 1.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UY DUYSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ; LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'INJELM' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; 'UX' 0.0 'UY' 1.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * PN DPSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'INJELM' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 1.0) ; ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ; 'SI' (ERRO > 1.0D-3 ) ; 'ERREUR' 5 ; 'FINSI' ; * **** Jacobian with respect to conservative variables * LISTC LISTP RN VN PN GAMN CHPLI 'INJELM' ; RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOCONS' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INJELM' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = RN '+' DR ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJELM' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; * 'SI' (ERRO > 1.0D-3) ; * 'ERREUR' 5 ; * 'FINSI' ; * RUX DUXSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUX ; RETN1 = 'COPIER' RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJELM' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUY DUYSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUY ; RETN1 = 'COPIER' RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJELM' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RETN DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = RETN '+' DR ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJELM' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; ********************************************************************************** ********************************************************************************** *************************** INJE ********************************************** ********************************************************************************** ********************************************************************************** * * We impose RT and the normal momentum at the inlet. * ********************************************************* GN = RN '*' VN ; RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN RT = 4.1 '/' 1.1 ; UXC = ('EXTRAIRE' VN 'UX' PCEN) ; UYC = ('EXTRAIRE' VN 'UY' PCEN) ; PC = ('EXTRAIRE' PN 'SCAL' PCEN) ; RC = ('EXTRAIRE' RN 'SCAL' PCEN) ; GAMC = ('EXTRAIRE' GAMN 'SCAL' PCEN) ; UNC = 4. '*' (2. '**' 0.5) ; CC = GAMC * (PC '/' RC) ; CC = CC '**' 0.5 ; ACEL = CC '/' GAMC ; BCEL = ACEL '-' UNC ; PF = BCEL '+' (((BCEL * BCEL) '+' (4 '*' ACEL '*' CCEL)) '**' 0.5) ; PF = PC '*' (PF '/' (2 '*' ACEL)) ; RF = PF '/' RT ; UXF = UNF '/' (-1 '*' (2 '**' 0.5)) ; UYF = UNF '/' (2 '**' 0.5) ; LISTC LISTP RN VN PN GAMN CHPLI 'INJE' ; 'UY' UYF ; ERRO = 'MAXIMUM' (RCHLIM1 '-' RCHLIM) 'ABS' ; 'SI' (ERRO > 1.0D-6) ; 'ERREUR' 5 ; 'FINSI' ; SURSVOL = 1. '/' ((2 '**' 0.5) * 0.5) ; GAMC = 'EXTRAIRE' GAMN PCEN 'SCAL' ; HIN = (GAMC/(GAMC-1)) '*' (PF '/' RF) ; ECIN = 0.5 '*' ((UXF '*' UXF) '+' (UYF '*' UYF)) ; ; 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL) 'VAR3' (FUY '*' SURSVOL) 'VAR4' (FEN '*' SURSVOL) ; ERRO = 'MAXIMUM' (RCHRES1 '-' RCHRES) 'ABS' ; 'SI' (ERRO > 1.0D-6) ; 'ERREUR' 5 ; 'FINSI' ; * JACOBIANS 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 the primitive variables * RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INJE' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; LISTC LISTP (RN '+' DR) VN PN GAMN CHPLI 'INJE' ; DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-4) ; 'ERREUR' 5 ; 'FINSI' ; * UX DUXSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ; LISTC LISTP RN (VN '+' DUX) PN GAMN CHPLI 'INJE' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; 'UX' 1.0 'UY' 0.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * UY DUYSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ; LISTC LISTP RN (VN '+' DUY) PN GAMN CHPLI 'INJE' ; DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ; 'UX' 0.0 'UY' 1.0 'PN' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * PN DPSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; LISTC LISTP RN VN (PN '+' DP) GAMN CHPLI 'INJE' ; DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ; 'UX' 0.0 'UY' 0.0 'PN' 1.0) ; ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ; 'SI' (ERRO > 1.0D-3 ) ; 'ERREUR' 5 ; 'FINSI' ; * **** Jacobian with respect to conservative variables * LISTC LISTP RN VN PN GAMN CHPLI 'INJE' ; RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOCONS' MDOMINT MP2P3 LISTC LISTP RN VN PN GAMN CHPLI 'INJE' ; EPS=1.0D-6 ; * RN DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = RN '+' DR ; GN1 = 'COPIER' GN ; RETN1 = 'COPIER' RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJE' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; * 'SI' (ERRO > 1.0D-3) ; * 'ERREUR' 5 ; * 'FINSI' ; * RUX DUXSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUX ; RETN1 = 'COPIER' RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJE' ; DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ; 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RUY DUYSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ; RN1 = 'COPIER' RN ; GN1 = GN '+' DUY ; RETN1 = 'COPIER' RETN ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJE' ; DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ; 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0) ; ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; * RETN DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ; ELE1 = 'MANUEL' 'POI1' PCEN ; RN1 = 'COPIER' RN ; GN1 = 'COPIER' GN ; RETN1 = RETN '+' DR ; LISTC LISTP RN1 VN1 PN1 GAMN CHPLI 'INJE' ; DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ; 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0) ; ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ; 'SI' (ERRO > 1.0D-3) ; 'ERREUR' 5 ; 'FINSI' ; ********************************************************************************** ********************************************************************************** *************************** INSO ********************************************** ********************************************************************************** ********************************************************************************** * * We impose the stagnation pressure and density in the tank * and assume the sonic flow at the boundary. * The values at the boundary are found using three conditions: * 1) entropy in the tank and at the inlet are equal * 2) enthalpy in the tank and at the inlet are equal * 3) fluid velocity at the inlet equal to sonic velocity at * the inlet ********************************************************************************** ****** stagnation values RAIR = 288.2944D0 ; P_ST = 100.0D5 ; T_ST = 300.0D0 ; R_ST = P_ST '/' (RAIR '*' T_ST) ; 'RSTA' R_ST ; S0 = P_ST '/' (R_ST '**' 1.4) ; RF = (2.0D0 '/' (1.4 '+' 1.0D0)) '**' (1.0D0 '/' (1.4 '-' 1.0D0)) '*' R_ST ; PF = S0 '*' (RF '**' 1.4) ; PF1 = (2.0D0 '/' (1.4 '+' 1.0D0)) '**' (1.4D0 '/' (1.4 '-' 1.0D0)) ; PF1 = PF1 '*' P_ST ; UNF = (1.4D0 '*' PF '/' RF) '**' 0.5D0 ; UXF = UNF '/' (-1.0D0 '*' (2.0D0 '**' 0.5D0)) ; UYF = UNF '/' (2.0D0 '**' 0.5D0) ; LISTC LISTP RN VN PN GAMN CHPLI 'INSO' ; ************** checking the boundary conditions 'UY' UYF ; ERRO = 'MAXIMUM' (RCHLIM1 '-' RCHLIM) 'ABS' ; 'SI' (ERRO > 3.0D-6) ; 'ERREUR' 5 ; 'FINSI' ; ************** checking the residual SURSVOL = 1. '/' ((2.0D0 '**' 0.5D0) * 0.5D0) ; GAMC = 'EXTRAIRE' GAMN PCEN 'SCAL' ; FMASS = RF '*' UNF ; FUX = (FMASS * UXF) '-' (PF '/' (2. '**' 0.5)) ; FUY = (FMASS * UYF) '+' (PF '/' (2. '**' 0.5)) ; HIN = (GAMC/(GAMC-1.0)) '*' (PF '/' RF) ; ECIN = 0.5 '*' ((UXF '*' UXF) '+' (UYF '*' UYF)) ; FEN = FMASS '*' (HIN '+' ECIN) ; 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL) 'VAR3' (FUY '*' SURSVOL) 'VAR4' (FEN '*' SURSVOL) ; TV1 = 'MAXIMUM' TVAR1 ; *--------------------------- TV2 = 'MAXIMUM' TVAR2 ; *--------------------------- TV3 = 'MAXIMUM' TVAR3 ; *--------------------------- TV4 = 'MAXIMUM' TVAR4 ; *--------------------------- ERRV1 = 'ABS' ((TV1 '-' (SURSVOL '*' FMASS)) '/' TV1) ; ERRV2 = 'ABS' ((TV2 '-' (FUX '*' SURSVOL)) '/' TV2) ; ERRV3 = 'ABS' ((TV3 '-' (FUY '*' SURSVOL)) '/' TV3) ; ERRV4 = 'ABS' ((TV4 '-' (FEN '*' SURSVOL)) '/' TV4) ; ERRO = 'MAXIMUM' LERRV ; 'SI' (ERRO > 1.0D-6) ; 'ERREUR' 5 ; 'FINSI' ; 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales