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