* fichier :  clim3dj.dgibi
*********************************************************************
* VF, CLIM 3D                                                       *
* Jacobians in a rotated mesh                                       *
*                                                                   *
* BECCANTINI A., DM2S/SFME/LTMF,  JANVIER 2002                      *
*********************************************************************

 TYEL = 'CU20' ;
 
 'OPTION'  'DIME' 3  'ELEM' TYEL  'ISOV' 'SULI' 'ECHO' 1 'TRAC' 'X' ;

 GRAPH = VRAI ;
 GRAPH = FAUX ;

******************
**** MAILLAGE ****
******************
*
*  P5    P4
*
*  P2    P3
*

 DX = 0.5 ;
 P2 = 0.0 0.0 0.0 ;
 P3 = DX  0.0 0.0 ;
 P4 = DX  DX  0.0 ;
 P5 = 0.0 DX  0.0 ;
 P2P3 = P2 'DROIT' 1 P3 ;
 P5P4 = P5 'DROIT' 1 P4 ;
 ENTREE = P2P3 'REGLER' 1 P5P4 ;
 DOMINT = ENTREE 'VOLU' 'TRAN' 4 (0.0 0.0 (4 '*' DX)) ;
 
 ENTREE = ENTREE 'TOURNER' 15 (-1 0.0 0.0) (2.0 0.0 0.0) ;
 DOMINT = DOMINT 'TOURNER' 15 (-1 0.0 0.0) (2.0 0.0 0.0) ;

 'ELIMINATION' ENTREE DOMINT (DX '/' 100) ;

 DOMINT = 'CHANGER' DOMINT 'QUAF' ;
 ENTREE = 'CHANGER' ENTREE 'QUAF' ;

 'ELIMINATION' DOMINT 0.1D-3 ENTREE ;

*
**** Creation of DOMAINE tables via the MODEL object
*
 
 MDOMINT  = 'MODELISER' DOMINT 'NAVIER_STOKES' 'LINE' ;
 MENTREE    = 'MODELISER' ENTREE 'NAVIER_STOKES' 'LINE' ;
 
 $DOMINT = 'DOMA' MDOMINT 'TABLE' ;
 $ENTREE   = 'DOMA' MENTREE   'TABLE' ;

 DOMINT = 'DOMA' MDOMINT 'MAILLAGE' ;
 ENTREE   = 'DOMA' MENTREE 'MAILLAGE' ;

 PCEN = ($DOMINT . 'CENTRE') 'POIN' 'PROC'
   ((DX '/' 2) (DX '/' 2) (DX '/' 2)) ;

 'SI' GRAPH ; 
    'TRACER' (DOMINT 'ET' PCEN) ;
 'FINSI' ;


**********************************************************************************
**********************************************************************************
***************************  Riemann invariants, inlet ***************************
**********************************************************************************
**********************************************************************************
 
 RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.15 ;
 PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.011 ;
 GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ;
 VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 3 'UY' 1.19 'UX' 1.5
    'UZ' 1.11 ;

 GN = RN '*' VN ;
 RETN = (('INVERSE' (GAMN '-' 1)) '*' PN)  '+' (0.5 '*' ('PSCAL' VN GN
   ('MOTS' 'UX' 'UY' 'UZ') ('MOTS' 'UX' 'UY' 'UZ'))) ;

 CHPLI = 'MANUEL' 'CHPO' ($ENTREE . 'CENTRE') 5 'RN' 0.91 'PN' 3.0
         'UX' 0.35 'UY' 0.3 'UZ' 1.0 ;

 LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' ;
 LISTP = 'MOTS' 'RN  ' 'UX  ' 'UY  ' 'UZ  ' 'PN  ' ;

 RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN VN PN GAMN CHPLI 'INRI'  ;

*
**** Jacobian with respect to primitive variable
*
 RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'JACOPRIM' MDOMINT MENTREE
          LISTC LISTP
          RN VN PN GAMN CHPLI 'INRI'  ;

 EPS=1.0D-6 ;

* RN
 
 DRSCAL = EPS '*'  ('EXTRAIRE' RN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 (RN '+' DR) VN PN GAMN CHPLI 'INRI'  ;

 DRESDRN = ( RCHRES1 '-'  RCHRES) '/' DRSCAL ;
 DRESDR  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 1.0
           'UX' 0.0 'UY' 0.0 'UZ' 0.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 

* UX

 DUXSCAL = EPS '*'  ('EXTRAIRE' VN 'UX' PCEN) ;
 DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN (VN '+' DUX) PN GAMN CHPLI 'INRI'  ;

 DRESDUXN = ( RCHRES1 '-'  RCHRES) '/' DUXSCAL ;
 DRESDUX  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 1.0 'UY' 0.0 'UZ' 0.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

* UY

 DUYSCAL = EPS '*'  ('EXTRAIRE' VN 'UY' PCEN) ;
 DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN (VN '+' DUY) PN GAMN CHPLI 'INRI'  ;

 DRESDUYN = ( RCHRES1 '-'  RCHRES) '/' DUYSCAL ;
 DRESDUY  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 0.0 'UY' 1.0 'UZ' 0.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 
* UZ

 DUZSCAL = EPS '*'  ('EXTRAIRE' VN 'UZ' PCEN) ;
 DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN (VN '+' DUZ) PN GAMN CHPLI 'INRI'  ;

 DRESDUZN = ( RCHRES1 '-'  RCHRES) '/' DUZSCAL ;
 DRESDUZ  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 0.0 'UY' 0.0 'UZ' 1.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 
* PN
 
 DPSCAL = EPS '*'  ('EXTRAIRE' PN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DP = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DPSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN  VN (PN '+' DP) GAMN CHPLI 'INRI'  ;

 DRESDPN = ( RCHRES1 '-'  RCHRES) '/' DPSCAL ;
 DRESDP  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 0.0 'UY' 0.0 'UZ' 0.0 'PN' 1.0) ;

 ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

*
**** Jacobian with respect to conservative variables
*

 RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'JACOCONS' MDOMINT MENTREE
          LISTC LISTP
          RN VN PN GAMN CHPLI 'INRI'  ;

 EPS=1.0D-6 ;

* RN
 
 DRSCAL = EPS '*'  ('EXTRAIRE' RN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;

 RN1 = RN '+' DR ;
 GN1 = GN ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'INRI'  ;

 DRESDRN = (RCHRES1 '-'  RCHRES) '/' DRSCAL ;
 DRESDR  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 1.0
           'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

* RUX

 DUXSCAL = EPS '*'  ('EXTRAIRE' GN 'UX' PCEN) ;
 DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;

 RN1 = RN ;
 GN1 = GN '+' DUX ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'INRI'  ;

 DRESDUXN = ( RCHRES1 '-'  RCHRES) '/' DUXSCAL ;
 DRESDUX  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

* RUY

 DUYSCAL = EPS '*'  ('EXTRAIRE' GN 'UY' PCEN) ;
 DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;

 RN1 = RN ;
 GN1 = GN '+' DUY ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'INRI'  ;

 DRESDUYN = (RCHRES1 '-'  RCHRES) '/' DUYSCAL ;
 DRESDUY  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 

* RUZ

 DUZSCAL = EPS '*'  ('EXTRAIRE' GN 'UZ' PCEN) ;
 DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ;

 RN1 = RN ;
 GN1 = GN '+' DUZ ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'INRI'  ;

 DRESDUZN = (RCHRES1 '-'  RCHRES) '/' DUZSCAL ;
 DRESDUZ  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) 'ABS' ;
 
 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 
* RETN
 
 DRSCAL = EPS '*'  ('EXTRAIRE' RETN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;

 RN1 = RN ;
 GN1 = GN ;
 RETN1 = RETN '+' DR ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'INRI'  ;

 DRESDRN = (RCHRES1 '-'  RCHRES) '/' DRSCAL ;
 DRESDR  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 1.0) ;

 ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

**********************************************************************************
**********************************************************************************
***************************  Riemann invariants, outlet **************************
**********************************************************************************
**********************************************************************************

 RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.15 ;
 PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.011 ;
 GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ;
 VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 3 'UY' 0.19 'UX' 0.15
    'UZ' -0.11 ;

 GN = RN '*' VN ;
 RETN = (('INVERSE' (GAMN '-' 1)) '*' PN)  '+' (0.5 '*' ('PSCAL' VN GN
   ('MOTS' 'UX' 'UY' 'UZ') ('MOTS' 'UX' 'UY' 'UZ'))) ;

 CHPLI = 'MANUEL' 'CHPO' ($ENTREE . 'CENTRE') 5 'RN' 0.91 'PN' 1.10
         'UX' 0.35 'UY' 0.3 'UZ' 0.011 ;

 LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' ;
 LISTP = 'MOTS' 'RN  ' 'UX  ' 'UY  ' 'UZ  ' 'PN  ' ;

 RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN VN PN GAMN CHPLI 'OUTRI'  ;

*
**** Jacobian with respect to primitive variable
*
 
 RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'JACOPRIM' MDOMINT MENTREE
          LISTC LISTP
          RN VN PN GAMN CHPLI 'OUTRI'  ;

 EPS=1.0D-6 ;

* RN
 
 DRSCAL = EPS '*'  ('EXTRAIRE' RN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 (RN '+' DR) VN PN GAMN CHPLI 'OUTRI'  ;

 DRESDRN = ( RCHRES1 '-'  RCHRES) '/' DRSCAL ;
 DRESDR  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 1.0
           'UX' 0.0 'UY' 0.0 'UZ' 0.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

* UX

 DUXSCAL = EPS '*'  ('EXTRAIRE' VN 'UX' PCEN) ;
 DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN (VN '+' DUX) PN GAMN CHPLI 'OUTRI'  ;

 DRESDUXN = ( RCHRES1 '-'  RCHRES) '/' DUXSCAL ;
 DRESDUX  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 1.0 'UY' 0.0 'UZ' 0.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

* UY

 DUYSCAL = EPS '*'  ('EXTRAIRE' VN 'UY' PCEN) ;
 DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN (VN '+' DUY) PN GAMN CHPLI 'OUTRI'  ;

 DRESDUYN = ( RCHRES1 '-'  RCHRES) '/' DUYSCAL ;
 DRESDUY  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 0.0 'UY' 1.0 'UZ' 0.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 
* UZ

 DUZSCAL = EPS '*'  ('EXTRAIRE' VN 'UZ' PCEN) ;
 DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN (VN '+' DUZ) PN GAMN CHPLI 'OUTRI'  ;

 DRESDUZN = ( RCHRES1 '-'  RCHRES) '/' DUZSCAL ;
 DRESDUZ  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 0.0 'UY' 0.0 'UZ' 1.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 
* PN
 
 DPSCAL = EPS '*'  ('EXTRAIRE' PN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DP = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DPSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN  VN (PN '+' DP) GAMN CHPLI 'OUTRI'  ;

 DRESDPN = ( RCHRES1 '-'  RCHRES) '/' DPSCAL ;
 DRESDP  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 0.0 'UY' 0.0 'UZ' 0.0 'PN' 1.0) ;

 ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

*
**** Jacobian with respect to conservative variables
*

 RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'JACOCONS' MDOMINT MENTREE
          LISTC LISTP
          RN VN PN GAMN CHPLI 'OUTRI'  ;

 EPS=1.0D-6 ;

* RN
 
 DRSCAL = EPS '*'  ('EXTRAIRE' RN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;

 RN1 = RN '+' DR ;
 GN1 = GN ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'OUTRI'  ;

 DRESDRN = (RCHRES1 '-'  RCHRES) '/' DRSCAL ;
 DRESDR  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 1.0
           'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

* RUX

 DUXSCAL = EPS '*'  ('EXTRAIRE' GN 'UX' PCEN) ;
 DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;

 RN1 = RN ;
 GN1 = GN '+' DUX ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'OUTRI'  ;

 DRESDUXN = ( RCHRES1 '-'  RCHRES) '/' DUXSCAL ;
 DRESDUX  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

* RUY

 DUYSCAL = EPS '*'  ('EXTRAIRE' GN 'UY' PCEN) ;
 DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;

 RN1 = RN ;
 GN1 = GN '+' DUY ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'OUTRI'  ;

 DRESDUYN = (RCHRES1 '-'  RCHRES) '/' DUYSCAL ;
 DRESDUY  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 

* RUZ

 DUZSCAL = EPS '*'  ('EXTRAIRE' GN 'UZ' PCEN) ;
 DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ;

 RN1 = RN ;
 GN1 = GN '+' DUZ ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'OUTRI'  ;

 DRESDUZN = (RCHRES1 '-'  RCHRES) '/' DUZSCAL ;
 DRESDUZ  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) 'ABS' ;
 
 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 
* RETN
 
 DRSCAL = EPS '*'  ('EXTRAIRE' RETN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;

 RN1 = RN ;
 GN1 = GN ;
 RETN1 = RETN '+' DR ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'OUTRI'  ;

 DRESDRN = (RCHRES1 '-'  RCHRES) '/' DRSCAL ;
 DRESDR  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 1.0) ;

 ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

**********************************************************************************
**********************************************************************************
***************************  Supersonic inlet ************************************
**********************************************************************************
**********************************************************************************

 RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ;
 PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ;
 GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ;
 VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 3 'UY' 15. 'UX' 1. 'UZ' 1.7;

 GN = RN '*' VN ;
 RETN = (('INVERSE' (GAMN '-' 1)) '*' PN)  '+' (0.5 '*' ('PSCAL' VN GN
   ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ;
   
 CHPLI = 'MANUEL' 'CHPO' ($ENTREE . 'CENTRE') 5 'RN' 1.11 'PN' 2.13
         'UX' -11. 'UY' 2. 'UZ' 1.8 ;

 LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' ;
 LISTP = 'MOTS' 'RN  ' 'UX  ' 'UY  ' 'UZ  ' 'PN  ' ;

 RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN VN PN GAMN CHPLI 'INSS'  ;

 ERRO = 'MAXIMUM' (RCHLIM '-' CHPLI) 'ABS' ;
 
 'SI' (ERRO > 1.0D-12) ;
     'ERREUR' 5 ;
 'FINSI' ;

 RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'JACOCONS' MDOMINT MENTREE
          LISTC LISTP
          RN VN PN GAMN CHPLI 'INSS'  ;

 AA = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 5 'VAR1' 1.11 'VAR2' 1.13
 'VAR3' 1.15 'VAR4' 1.17 'VAR5' 1.37 ;
 
 ERRO = 'MAXIMUM' ('KOPS' 'MULT' RJACO AA) 'ABS' ;
 
 'SI' (ERRO > 1.0D-12) ;
     'ERREUR' 5 ;
 'FINSI' ;

 RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'JACOPRIM' MDOMINT MENTREE
          LISTC LISTP
          RN VN PN GAMN CHPLI 'INSS'  ;

 AA = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 4 'RN' 1.11 'UX' 1.13
 'UY' 1.15 'PN' 1.17 ;
 
 ERRO = 'MAXIMUM' ('KOPS' 'MULT' RJACO AA) 'ABS' ;
 
 'SI' (ERRO > 1.0D-12) ;
     'ERREUR' 5 ;
 'FINSI' ;
 

**********************************************************************************
**********************************************************************************
***************************  Supersonic outlet ***********************************
**********************************************************************************
**********************************************************************************

 RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ;
 PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ;
 GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ;
 VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 3 'UY' -15. 'UX' 1. 'UZ' -5.
    ;

 GN = RN '*' VN ;
 RETN = (('INVERSE' (GAMN '-' 1)) '*' PN)  '+' (0.5 '*' ('PSCAL' VN GN
   ('MOTS' 'UX' 'UY' 'UZ') ('MOTS' 'UX' 'UY' 'UZ'))) ;
   
 CHPLI CACCA = 'KOPS' MATRIK ;

 LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' ;
 LISTP = 'MOTS' 'RN  ' 'UX  ' 'UY  ' 'UZ  ' 'PN  ' ;

 RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN VN PN GAMN CHPLI 'OUTSS'  ;

*
**** Jacobian with respect to primitive variable
*
 
 RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'JACOPRIM' MDOMINT MENTREE
          LISTC LISTP
          RN VN PN GAMN CHPLI 'OUTSS'  ;

 EPS=1.0D-6 ;

* RN
 
 DRSCAL = EPS '*'  ('EXTRAIRE' RN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 (RN '+' DR) VN PN GAMN CHPLI 'OUTSS'  ;

 DRESDRN = ( RCHRES1 '-'  RCHRES) '/' DRSCAL ;
 DRESDR  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 1.0
           'UX' 0.0 'UY' 0.0 'UZ' 0.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;

  
 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

* UX

 DUXSCAL = EPS '*'  ('EXTRAIRE' VN 'UX' PCEN) ;
 DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN (VN '+' DUX) PN GAMN CHPLI 'OUTSS'  ;

 DRESDUXN = (RCHRES1 '-'  RCHRES) '/' DUXSCAL ;
 DRESDUX  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 1.0 'UY' 0.0 'UZ' 0.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

* UY

 DUYSCAL = EPS '*'  ('EXTRAIRE' VN 'UY' PCEN) ;
 DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN (VN '+' DUY) PN GAMN CHPLI 'OUTSS'  ;

 DRESDUYN = ( RCHRES1 '-'  RCHRES) '/' DUYSCAL ;
 DRESDUY  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 0.0 'UY' 1.0 'UZ' 0.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 
* UZ

 DUZSCAL = EPS '*'  ('EXTRAIRE' VN 'UZ' PCEN) ;
 DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN (VN '+' DUZ) PN GAMN CHPLI 'OUTSS'  ;

 DRESDUZN = ( RCHRES1 '-'  RCHRES) '/' DUZSCAL ;
 DRESDUZ  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 0.0 'UY' 0.0 'UZ' 1.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 
* PN
 
 DPSCAL = EPS '*'  ('EXTRAIRE' PN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DP = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DPSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN  VN (PN '+' DP) GAMN CHPLI 'OUTSS'  ;

 DRESDPN = ( RCHRES1 '-'  RCHRES) '/' DPSCAL ;
 DRESDP  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 0.0 'UY' 0.0 'UZ' 0.0 'PN' 1.0) ;

 ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

*
**** Jacobian with respect to conservative variables
*

 RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'JACOCONS' MDOMINT MENTREE
          LISTC LISTP
          RN VN PN GAMN CHPLI 'OUTSS'  ;

 EPS=1.0D-6 ;

* RN
 
 DRSCAL = EPS '*'  ('EXTRAIRE' RN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;

 RN1 = RN '+' DR ;
 GN1 = GN ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'OUTSS'  ;

 DRESDRN = (RCHRES1 '-'  RCHRES) '/' DRSCAL ;
 DRESDR  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 1.0
           'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

* RUX

 DUXSCAL = EPS '*'  ('EXTRAIRE' GN 'UX' PCEN) ;
 DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;

 RN1 = RN ;
 GN1 = GN '+' DUX ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'OUTSS'  ;

 DRESDUXN = ( RCHRES1 '-'  RCHRES) '/' DUXSCAL ;
 DRESDUX  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

* RUY

 DUYSCAL = EPS '*'  ('EXTRAIRE' GN 'UY' PCEN) ;
 DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;

 RN1 = RN ;
 GN1 = GN '+' DUY ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'OUTSS'  ;

 DRESDUYN = (RCHRES1 '-'  RCHRES) '/' DUYSCAL ;
 DRESDUY  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 

* RUZ

 DUZSCAL = EPS '*'  ('EXTRAIRE' GN 'UZ' PCEN) ;
 DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ;

 RN1 = RN ;
 GN1 = GN '+' DUZ ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'OUTSS'  ;

 DRESDUZN = (RCHRES1 '-'  RCHRES) '/' DUZSCAL ;
 DRESDUZ  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) 'ABS' ;
 
 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 
* RETN
 
 DRSCAL = EPS '*'  ('EXTRAIRE' RETN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;

 RN1 = RN ;
 GN1 = GN ;
 RETN1 = RETN '+' DR ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'OUTSS'  ;

 DRESDRN = (RCHRES1 '-'  RCHRES) '/' DRSCAL ;
 DRESDR  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 1.0) ;

 ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

**********************************************************************************
**********************************************************************************
***************************  Pressure at the outlet ******************************
**********************************************************************************
**********************************************************************************
*
* We solve a Riemann probleme between the state in the center and
* the same state but the pressure equal to the pressure at the outlet
* We use AUSMPLUS
*
*
***** Calcul du residu dans le cas particulier PF = PC
*

 RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ;
 PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ;
 GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ;
 VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 3 'UY' -15. 'UX' 1.
      'UZ' -3.1 ;

 GN = RN '*' VN ;
 RETN = (('INVERSE' (GAMN '-' 1)) '*' PN)  '+' (0.5 '*' ('PSCAL' VN GN
   ('MOTS' 'UX' 'UY' 'UZ') ('MOTS' 'UX' 'UY' 'UZ'))) ;
   
 CHPLI = 'MANUEL' 'CHPO' ($ENTREE . 'CENTRE') 1 'PN' 2.1 ;

 LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' ;
 LISTP = 'MOTS' 'RN  ' 'UX  ' 'UY  ' 'UZ  ' 'PN  ' ;

 RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN VN PN GAMN CHPLI 'OUTP'  ;

*
**** Jacobian with respect to primitive variable
*

 RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'JACOPRIM' MDOMINT MENTREE
          LISTC LISTP
          RN VN PN GAMN CHPLI 'OUTP'  ;

 EPS=1.0D-6 ;

* RN
 
 DRSCAL = EPS '*'  ('EXTRAIRE' RN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 (RN '+' DR) VN PN GAMN CHPLI 'OUTP'  ;

 DRESDRN = ( RCHRES1 '-'  RCHRES) '/' DRSCAL ;
 DRESDR  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 1.0
           'UX' 0.0 'UY' 0.0 'UZ' 0.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 

* UX

 DUXSCAL = EPS '*'  ('EXTRAIRE' VN 'UX' PCEN) ;
 DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN (VN '+' DUX) PN GAMN CHPLI 'OUTP'  ;

 DRESDUXN = ( RCHRES1 '-'  RCHRES) '/' DUXSCAL ;
 DRESDUX  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 1.0 'UY' 0.0 'UZ' 0.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

* UY

 DUYSCAL = EPS '*'  ('EXTRAIRE' VN 'UY' PCEN) ;
 DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN (VN '+' DUY) PN GAMN CHPLI 'OUTP'  ;

 DRESDUYN = ( RCHRES1 '-'  RCHRES) '/' DUYSCAL ;
 DRESDUY  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 0.0 'UY' 1.0 'UZ' 0.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 
* UZ

 DUZSCAL = EPS '*'  ('EXTRAIRE' VN 'UZ' PCEN) ;
 DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN (VN '+' DUZ) PN GAMN CHPLI 'OUTP'  ;

 DRESDUZN = ( RCHRES1 '-'  RCHRES) '/' DUZSCAL ;
 DRESDUZ  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 0.0 'UY' 0.0 'UZ' 1.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 
* PN
 
 DPSCAL = EPS '*'  ('EXTRAIRE' PN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DP = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DPSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN  VN (PN '+' DP) GAMN CHPLI 'OUTP'  ;

 DRESDPN = ( RCHRES1 '-'  RCHRES) '/' DPSCAL ;
 DRESDP  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 0.0 'UY' 0.0 'UZ' 0.0 'PN' 1.0) ;

 ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

*
**** Jacobian with respect to conservative variables
*

 RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'JACOCONS' MDOMINT MENTREE
          LISTC LISTP
          RN VN PN GAMN CHPLI 'OUTP'  ;

 EPS=1.0D-6 ;

* RN
 
 DRSCAL = EPS '*'  ('EXTRAIRE' RN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;

 RN1 = RN '+' DR ;
 GN1 = GN ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'OUTP'  ;

 DRESDRN = (RCHRES1 '-'  RCHRES) '/' DRSCAL ;
 DRESDR  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 1.0
           'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

* RUX

 DUXSCAL = EPS '*'  ('EXTRAIRE' GN 'UX' PCEN) ;
 DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;

 RN1 = RN ;
 GN1 = GN '+' DUX ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'OUTP'  ;

 DRESDUXN = ( RCHRES1 '-'  RCHRES) '/' DUXSCAL ;
 DRESDUX  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

* RUY

 DUYSCAL = EPS '*'  ('EXTRAIRE' GN 'UY' PCEN) ;
 DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;

 RN1 = RN ;
 GN1 = GN '+' DUY ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'OUTP'  ;

 DRESDUYN = (RCHRES1 '-'  RCHRES) '/' DUYSCAL ;
 DRESDUY  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 

* RUZ

 DUZSCAL = EPS '*'  ('EXTRAIRE' GN 'UZ' PCEN) ;
 DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ;

 RN1 = RN ;
 GN1 = GN '+' DUZ ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'OUTP'  ;

 DRESDUZN = (RCHRES1 '-'  RCHRES) '/' DUZSCAL ;
 DRESDUZ  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) 'ABS' ;
 
 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 
* RETN
 
 DRSCAL = EPS '*'  ('EXTRAIRE' RETN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;

 RN1 = RN ;
 GN1 = GN ;
 RETN1 = RETN '+' DR ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'OUTP'  ;

 DRESDRN = (RCHRES1 '-'  RCHRES) '/' DRSCAL ;
 DRESDR  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 1.0) ;

 ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

**********************************************************************************
**********************************************************************************
***************************  INSU ************************************************
**********************************************************************************
**********************************************************************************
*
* Total enthalpy, entropy, tangential velocity at the inlet
* Normal velocity inside
*
* We solve a Riemann probleme between the state at the interface thus
* reconstructed and the state at the center
*

*
**** Jacobian with respect to primitive variable
*

 RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ;
 PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ;
 GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ;
 VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 3 'UY' 1.13 'UX' 1.16
   'UZ' 1.11  ;
 GN = RN * VN ;
 RETN = (('INVERSE' (GAMN '-' 1)) '*' PN)  '+' (0.5 '*' ('PSCAL' VN GN
   ('MOTS' 'UX' 'UY' 'UZ') ('MOTS' 'UX' 'UY' 'UZ'))) ;
 
 RHTN = RETN '+' PN ;
 HTN = RHTN '/' RN ;

 SN = PN '/' (RN '**' ('MAXI' GAMN)) ;

 CHPLI = 'MANUEL' 'CHPO' ($ENTREE . 'CENTRE') 2 'HT' (('MAXIMUM' HTN) *
   1.11) 'S' (('MAXIMUM' SN) '*' 1.13) ;


 LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' ;
 LISTP = 'MOTS' 'RN  ' 'UX  ' 'UY  ' 'UZ  ' 'PN  ' ;
 
 RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN VN PN GAMN CHPLI 'INSU'  ;
   
 RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'JACOPRIM' MDOMINT MENTREE
          LISTC LISTP
          RN VN PN GAMN CHPLI 'INSU'  ;

 EPS=1.0D-6 ;

* RN
 
 DRSCAL = EPS '*'  ('EXTRAIRE' RN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 (RN '+' DR) VN PN GAMN CHPLI 'INSU'  ;

 DRESDRN = ( RCHRES1 '-'  RCHRES) '/' DRSCAL ;
 DRESDR  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 1.0
           'UX' 0.0 'UY' 0.0 'UZ' 0.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 

* UX

 DUXSCAL = EPS '*'  ('EXTRAIRE' VN 'UX' PCEN) ;
 DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN (VN '+' DUX) PN GAMN CHPLI 'INSU'  ;

 DRESDUXN = ( RCHRES1 '-'  RCHRES) '/' DUXSCAL ;
 DRESDUX  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 1.0 'UY' 0.0 'UZ' 0.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

* UY

 DUYSCAL = EPS '*'  ('EXTRAIRE' VN 'UY' PCEN) ;
 DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN (VN '+' DUY) PN GAMN CHPLI 'INSU'  ;

 DRESDUYN = ( RCHRES1 '-'  RCHRES) '/' DUYSCAL ;
 DRESDUY  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 0.0 'UY' 1.0 'UZ' 0.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 
* UZ

 DUZSCAL = EPS '*'  ('EXTRAIRE' VN 'UZ' PCEN) ;
 DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN (VN '+' DUZ) PN GAMN CHPLI 'INSU'  ;

 DRESDUZN = ( RCHRES1 '-'  RCHRES) '/' DUZSCAL ;
 DRESDUZ  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 0.0 'UY' 0.0 'UZ' 1.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 
* PN
 
 DPSCAL = EPS '*'  ('EXTRAIRE' PN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DP = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DPSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN  VN (PN '+' DP) GAMN CHPLI 'INSU'  ;

 DRESDPN = ( RCHRES1 '-'  RCHRES) '/' DPSCAL ;
 DRESDP  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 0.0 'UY' 0.0 'UZ' 0.0 'PN' 1.0) ;

 ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

*
**** Jacobian with respect to conservative variables
*

 RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'JACOCONS' MDOMINT MENTREE
          LISTC LISTP
          RN VN PN GAMN CHPLI 'INSU'  ;

 EPS=1.0D-6 ;

* RN
 
 DRSCAL = EPS '*'  ('EXTRAIRE' RN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;

 RN1 = RN '+' DR ;
 GN1 = GN ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'INSU'  ;

 DRESDRN = (RCHRES1 '-'  RCHRES) '/' DRSCAL ;
 DRESDR  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 1.0
           'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

* RUX

 DUXSCAL = EPS '*'  ('EXTRAIRE' GN 'UX' PCEN) ;
 DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;

 RN1 = RN ;
 GN1 = GN '+' DUX ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'INSU'  ;

 DRESDUXN = ( RCHRES1 '-'  RCHRES) '/' DUXSCAL ;
 DRESDUX  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

* RUY

 DUYSCAL = EPS '*'  ('EXTRAIRE' GN 'UY' PCEN) ;
 DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;

 RN1 = RN ;
 GN1 = GN '+' DUY ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'INSU'  ;

 DRESDUYN = (RCHRES1 '-'  RCHRES) '/' DUYSCAL ;
 DRESDUY  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 

* RUZ

 DUZSCAL = EPS '*'  ('EXTRAIRE' GN 'UZ' PCEN) ;
 DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ;

 RN1 = RN ;
 GN1 = GN '+' DUZ ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'INSU'  ;

 DRESDUZN = (RCHRES1 '-'  RCHRES) '/' DUZSCAL ;
 DRESDUZ  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) 'ABS' ;
 
 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 
* RETN
 
 DRSCAL = EPS '*'  ('EXTRAIRE' RETN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;

 RN1 = RN ;
 GN1 = GN ;
 RETN1 = RETN '+' DR ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'INSU'  ;

 DRESDRN = (RCHRES1 '-'  RCHRES) '/' DRSCAL ;
 DRESDR  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 1.0) ;

 ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;


**********************************************************************************
**********************************************************************************
***************************  INJE ************************************************
**********************************************************************************
**********************************************************************************
*
* We impose RT and the normal momontum 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') 3 'UY' 1.11 'UX' -1.3 'UZ'
   1.5 ;

 GN = RN '*' VN ;
 RETN = (('INVERSE' (GAMN '-' 1)) '*' PN)  '+' (0.5 '*' ('PSCAL' VN GN
   ('MOTS' 'UX' 'UY' 'UZ') ('MOTS' 'UX' 'UY' 'UZ'))) ;
   
 MOME = 0.111 ;
 RT   = 4.1 ;

 CHPLI = 'MANUEL' 'CHPO' ($ENTREE . 'CENTRE') 2 'RT' RT
    'MOME' MOME ;

 LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' ;
 LISTP = 'MOTS' 'RN  ' 'UX  ' 'UY  ' 'UZ  ' 'PN  ' ;

 RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN VN PN GAMN CHPLI 'INJE'  ;
                 
*
**** Jacobian with respect to primitive variable
*


 RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN VN PN GAMN CHPLI 'INJE'  ;
   
 RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'JACOPRIM' MDOMINT MENTREE
          LISTC LISTP
          RN VN PN GAMN CHPLI 'INJE'  ;

 EPS=1.0D-6 ;

* RN
 
 DRSCAL = EPS '*'  ('EXTRAIRE' RN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 (RN '+' DR) VN PN GAMN CHPLI 'INJE'  ;

 DRESDRN = ( RCHRES1 '-'  RCHRES) '/' DRSCAL ;
 DRESDR  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 1.0
           'UX' 0.0 'UY' 0.0 'UZ' 0.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 

* UX

 DUXSCAL = EPS '*'  ('EXTRAIRE' VN 'UX' PCEN) ;
 DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN (VN '+' DUX) PN GAMN CHPLI 'INJE'  ;

 DRESDUXN = ( RCHRES1 '-'  RCHRES) '/' DUXSCAL ;
 DRESDUX  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 1.0 'UY' 0.0 'UZ' 0.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

* UY

 DUYSCAL = EPS '*'  ('EXTRAIRE' VN 'UY' PCEN) ;
 DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN (VN '+' DUY) PN GAMN CHPLI 'INJE'  ;

 DRESDUYN = ( RCHRES1 '-'  RCHRES) '/' DUYSCAL ;
 DRESDUY  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 0.0 'UY' 1.0 'UZ' 0.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 
* UZ

 DUZSCAL = EPS '*'  ('EXTRAIRE' VN 'UZ' PCEN) ;
 DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN (VN '+' DUZ) PN GAMN CHPLI 'INJE'  ;

 DRESDUZN = ( RCHRES1 '-'  RCHRES) '/' DUZSCAL ;
 DRESDUZ  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 0.0 'UY' 0.0 'UZ' 1.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 
* PN
 
 DPSCAL = EPS '*'  ('EXTRAIRE' PN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DP = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DPSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN  VN (PN '+' DP) GAMN CHPLI 'INJE'  ;

 DRESDPN = ( RCHRES1 '-'  RCHRES) '/' DPSCAL ;
 DRESDP  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 0.0 'UY' 0.0 'UZ' 0.0 'PN' 1.0) ;

 ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

*
**** Jacobian with respect to conservative variables
*

 RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'JACOCONS' MDOMINT MENTREE
          LISTC LISTP
          RN VN PN GAMN CHPLI 'INJE'  ;

 EPS=1.0D-6 ;

* RN
 
 DRSCAL = EPS '*'  ('EXTRAIRE' RN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;

 RN1 = RN '+' DR ;
 GN1 = GN ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'INJE'  ;

 DRESDRN = (RCHRES1 '-'  RCHRES) '/' DRSCAL ;
 DRESDR  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 1.0
           'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

* RUX

 DUXSCAL = EPS '*'  ('EXTRAIRE' GN 'UX' PCEN) ;
 DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;

 RN1 = RN ;
 GN1 = GN '+' DUX ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'INJE'  ;

 DRESDUXN = ( RCHRES1 '-'  RCHRES) '/' DUXSCAL ;
 DRESDUX  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

* RUY

 DUYSCAL = EPS '*'  ('EXTRAIRE' GN 'UY' PCEN) ;
 DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;

 RN1 = RN ;
 GN1 = GN '+' DUY ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'INJE'  ;

 DRESDUYN = (RCHRES1 '-'  RCHRES) '/' DUYSCAL ;
 DRESDUY  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 

* RUZ

 DUZSCAL = EPS '*'  ('EXTRAIRE' GN 'UZ' PCEN) ;
 DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ;

 RN1 = RN ;
 GN1 = GN '+' DUZ ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'INJE'  ;

 DRESDUZN = (RCHRES1 '-'  RCHRES) '/' DUZSCAL ;
 DRESDUZ  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) 'ABS' ;
 
 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 
* RETN
 
 DRSCAL = EPS '*'  ('EXTRAIRE' RETN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;

 RN1 = RN ;
 GN1 = GN ;
 RETN1 = RETN '+' DR ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'INJE'  ;

 DRESDRN = (RCHRES1 '-'  RCHRES) '/' DRSCAL ;
 DRESDR  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 1.0) ;

 ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 

**********************************************************************************
**********************************************************************************
***************************  INJELM **********************************************
**********************************************************************************
**********************************************************************************
*
* We impose RT and the normal momontum 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') 3 'UY' 1.11 'UX' -1.3 'UZ'
   1.5 ;

 GN = RN '*' VN ;
 RETN = (('INVERSE' (GAMN '-' 1)) '*' PN)  '+' (0.5 '*' ('PSCAL' VN GN
   ('MOTS' 'UX' 'UY' 'UZ') ('MOTS' 'UX' 'UY' 'UZ'))) ;
   
 MOME = 0.111 ;
 RT   = 4.1 ;

 CHPLI = 'MANUEL' 'CHPO' ($ENTREE . 'CENTRE') 2 'RT' RT
    'MOME' MOME ;

 LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' ;
 LISTP = 'MOTS' 'RN  ' 'UX  ' 'UY  ' 'UZ  ' 'PN  ' ;

 RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN VN PN GAMN CHPLI 'INJELM'  ;
                 
*
**** Jacobian with respect to primitive variable
*


 RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN VN PN GAMN CHPLI 'INJELM'  ;
   
 RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'JACOPRIM' MDOMINT MENTREE
          LISTC LISTP
          RN VN PN GAMN CHPLI 'INJELM'  ;

 EPS=1.0D-6 ;

* RN
 
 DRSCAL = EPS '*'  ('EXTRAIRE' RN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 (RN '+' DR) VN PN GAMN CHPLI 'INJELM'  ;

 DRESDRN = ( RCHRES1 '-'  RCHRES) '/' DRSCAL ;
 DRESDR  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 1.0
           'UX' 0.0 'UY' 0.0 'UZ' 0.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 

* UX

 DUXSCAL = EPS '*'  ('EXTRAIRE' VN 'UX' PCEN) ;
 DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN (VN '+' DUX) PN GAMN CHPLI 'INJELM'  ;

 DRESDUXN = ( RCHRES1 '-'  RCHRES) '/' DUXSCAL ;
 DRESDUX  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 1.0 'UY' 0.0 'UZ' 0.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

* UY

 DUYSCAL = EPS '*'  ('EXTRAIRE' VN 'UY' PCEN) ;
 DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN (VN '+' DUY) PN GAMN CHPLI 'INJELM'  ;

 DRESDUYN = ( RCHRES1 '-'  RCHRES) '/' DUYSCAL ;
 DRESDUY  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 0.0 'UY' 1.0 'UZ' 0.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 
* UZ

 DUZSCAL = EPS '*'  ('EXTRAIRE' VN 'UZ' PCEN) ;
 DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN (VN '+' DUZ) PN GAMN CHPLI 'INJELM'  ;

 DRESDUZN = ( RCHRES1 '-'  RCHRES) '/' DUZSCAL ;
 DRESDUZ  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 0.0 'UY' 0.0 'UZ' 1.0 'PN' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 
* PN
 
 DPSCAL = EPS '*'  ('EXTRAIRE' PN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DP = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DPSCAL) ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN  VN (PN '+' DP) GAMN CHPLI 'INJELM'  ;

 DRESDPN = ( RCHRES1 '-'  RCHRES) '/' DPSCAL ;
 DRESDP  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'RN' 0.0
           'UX' 0.0 'UY' 0.0 'UZ' 0.0 'PN' 1.0) ;

 ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

*
**** Jacobian with respect to conservative variables
*

 RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'JACOCONS' MDOMINT MENTREE
          LISTC LISTP
          RN VN PN GAMN CHPLI 'INJELM'  ;

 EPS=1.0D-6 ;

* RN
 
 DRSCAL = EPS '*'  ('EXTRAIRE' RN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;

 RN1 = RN '+' DR ;
 GN1 = GN ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'INJELM'  ;

 DRESDRN = (RCHRES1 '-'  RCHRES) '/' DRSCAL ;
 DRESDR  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 1.0
           'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

* RUX

 DUXSCAL = EPS '*'  ('EXTRAIRE' GN 'UX' PCEN) ;
 DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;

 RN1 = RN ;
 GN1 = GN '+' DUX ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'INJELM'  ;

 DRESDUXN = ( RCHRES1 '-'  RCHRES) '/' DUXSCAL ;
 DRESDUX  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;

* RUY

 DUYSCAL = EPS '*'  ('EXTRAIRE' GN 'UY' PCEN) ;
 DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;

 RN1 = RN ;
 GN1 = GN '+' DUY ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'INJELM'  ;

 DRESDUYN = (RCHRES1 '-'  RCHRES) '/' DUYSCAL ;
 DRESDUY  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 

* RUZ

 DUZSCAL = EPS '*'  ('EXTRAIRE' GN 'UZ' PCEN) ;
 DUZ = ('MANUEL' 'CHPO' ELE1 1 'UZ' DUZSCAL) ;

 RN1 = RN ;
 GN1 = GN '+' DUZ ;
 RETN1 = RETN ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'INJELM'  ;

 DRESDUZN = (RCHRES1 '-'  RCHRES) '/' DUZSCAL ;
 DRESDUZ  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0) ;

 ERRO = 'MAXIMUM' (DRESDUZ '-' DRESDUZN) 'ABS' ;
 
 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 
* RETN
 
 DRSCAL = EPS '*'  ('EXTRAIRE' RETN 'SCAL' PCEN) ;
 ELE1 = 'MANUEL' 'POI1' PCEN ;
 DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;

 RN1 = RN ;
 GN1 = GN ;
 RETN1 = RETN '+' DR ;

 VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;

 RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM'  'RESI' MDOMINT MENTREE
                 LISTC LISTP
                 RN1 VN1 PN1 GAMN CHPLI 'INJELM'  ;

 DRESDRN = (RCHRES1 '-'  RCHRES) '/' DRSCAL ;
 DRESDR  = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 5 'VAR1' 0.0
           'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 1.0) ;

 ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;

 'SI' (ERRO > 1.0D-3) ;
     'ERREUR' 5 ;
 'FINSI' ;
 
 'FIN' ;
 

 

