Download konmsp_impl2D.dgibi

Back to the list

* fichier :  konmsp_impl2D.dgibi
***********************************************************
***********************************************************
**** APPROCHE VF "Cell-Centred Formulation" pour la    ****
**** solution des                                      ****
**** Equations d'Euler pour un gaz parfait multiespes  ****
**** Implicit: calcul du jacobien du residu            ****
****                                                   ****
**** Cas gaz multiespes, "calorically perfect"         ****
****                                                   ****
**** Methodes: AUSM+                                   ****
****                                                   ****
**** S. Kudriakov  DRN/DMT/SEMT/LTMF    DEC  2002      ****
***********************************************************
***********************************************************
 
 'OPTION'  'DIME' 2 ;
 'OPTION'  'ELEM' QUA4 ;
 'OPTION'  'ECHO'  1 ;
 'OPTION'  'TRAC' 'X' ;
 
*
*** GRAPH
*
 
 GRAPH = FAUX ;
* GRAPH = VRAI ;
 
 ERRTOL = 5.0D-4 ;
 DELTA = 0.000001 ;
 METO = 'AUSMPLUS' ;
***************************
***** DOMAINE SPATIAL  ****
***************************
 
 
 A0 = 0.0D0 0.0D0;
 A1 = 1.0D0 0.0D0;
 A2 = 2.0D0 0.0D0;
 A3 = 3.0D0 0.0D0;
************************ 
 A0A1 = A0 'DROIT' 1 A1;
 A1A2 = A1 'DROIT' 1 A2;
 A2A3 = A2 'DROIT'  1 A3;
************************
 DOM1 = 'TRANSLATION' A0A1 1 (0.0 1.0) ;
 DOM2 = DOM1 'PLUS' (0.0 1.0) ;
 DOM3 = DOM2 'PLUS' (0.0 1.0) ;
 DOM4 = 'TRANSLATION' A1A2 1 (0.0 1.0) ;
 DOM5 = DOM4 'PLUS' (0.0 1.0) ;
 DOM6 = DOM5 'PLUS' (0.0 1.0) ;
 DOM7 = 'TRANSLATION' A2A3 1 (0.0 1.0) ;
 DOM8 = DOM7 'PLUS' (0.0 1.0) ;
 DOM9 = DOM8 'PLUS' (0.0 1.0) ;

  
 ANGLE = 30.0D0 ;
 ORIG1 = 0.0D0 0.0D0 ;
 
'MESSAGE';
'MESSAGE' (CHAIN 'ANGLE = ' ANGLE);
'MESSAGE';
 
 DOM1   = DOM1   'TOURNER' ANGLE ORIG1 ;
 DOM2   = DOM2   'TOURNER' ANGLE ORIG1 ;
 DOM3   = DOM3   'TOURNER' ANGLE ORIG1 ;
 DOM4   = DOM4   'TOURNER' ANGLE ORIG1 ;
 DOM5   = DOM5   'TOURNER' ANGLE ORIG1 ;
 DOM6   = DOM6   'TOURNER' ANGLE ORIG1 ;
 DOM7   = DOM7   'TOURNER' ANGLE ORIG1 ;
 DOM8   = DOM8   'TOURNER' ANGLE ORIG1 ;
 DOM9   = DOM9   'TOURNER' ANGLE ORIG1 ;
 
 
 DOMTOT = DOM1 'ET' DOM2 'ET' DOM3 'ET' DOM4 'ET' DOM5 'ET'
          DOM6 'ET' DOM7 'ET' DOM8 'ET' DOM9 'ELIMINATION' 0.0001 ;

***********************************************************
*** These things are necessary in order to work with    ***
***             each square separately                  ***
***********************************************************

 $DOMTOT = 'MODELISER' DOMTOT 'EULER';

 $DOM1 = 'MODELISER'  DOM1 'EULER';
 $DOM2 = 'MODELISER'  DOM2 'EULER';
 $DOM3 = 'MODELISER'  DOM3 'EULER';
 $DOM4 = 'MODELISER'  DOM4 'EULER';
 $DOM5 = 'MODELISER'  DOM5 'EULER';
 $DOM6 = 'MODELISER'  DOM6 'EULER';
 $DOM7 = 'MODELISER'  DOM7 'EULER';
 $DOM8 = 'MODELISER'  DOM8 'EULER';
 $DOM9 = 'MODELISER'  DOM9 'EULER';

 TDOMTOT = 'DOMA'  $DOMTOT 'VF';
 
 TDOM1 = 'DOMA'  $DOM1 'VF';
 TDOM2 = 'DOMA'  $DOM2 'VF';
 TDOM3 = 'DOMA'  $DOM3 'VF';
 TDOM4 = 'DOMA'  $DOM4 'VF';
 TDOM5 = 'DOMA'  $DOM5 'VF';
 TDOM6 = 'DOMA'  $DOM6 'VF';
 TDOM7 = 'DOMA'  $DOM7 'VF';
 TDOM8 = 'DOMA'  $DOM8 'VF';
 TDOM9 = 'DOMA'  $DOM9 'VF';

 MDOM1 = TDOM1 . 'QUAF' ;
 MDOM2 = TDOM2 . 'QUAF' ;
 MDOM3 = TDOM3 . 'QUAF' ;
 MDOM4 = TDOM4 . 'QUAF' ;
 MDOM5 = TDOM5 . 'QUAF' ;
 MDOM6 = TDOM6 . 'QUAF' ;
 MDOM7 = TDOM7 . 'QUAF' ;
 MDOM8 = TDOM8 . 'QUAF' ;
 MDOM9 = TDOM9 . 'QUAF' ;          
 
**** old stuff  $DOMTOT = 'DOMA' DOMTOT ;

 MDOMTOT = TDOMTOT . 'QUAF' ;

 'ELIMINATION'  (MDOMTOT ET MDOM1) 0.0001 ;
 'ELIMINATION'  (MDOMTOT ET MDOM2) 0.0001 ;
 'ELIMINATION'  (MDOMTOT ET MDOM3) 0.0001 ;
 'ELIMINATION'  (MDOMTOT ET MDOM4) 0.0001 ;
 'ELIMINATION'  (MDOMTOT ET MDOM5) 0.0001 ;
 'ELIMINATION'  (MDOMTOT ET MDOM6) 0.0001 ;
 'ELIMINATION'  (MDOMTOT ET MDOM7) 0.0001 ;
 'ELIMINATION'  (MDOMTOT ET MDOM8) 0.0001 ;
 'ELIMINATION'  (MDOMTOT ET MDOM9) 0.0001 ;
 
 
  
 
********************************************************
*******    MODELE DU GAS   ***************************** 
********************************************************

 NESP = 4;
         
*
*** GAS: H_2, O_2, H_2O, N_2
*
*   CP, CV en J/Kg/K @ T = 3000
*

 PGAS = 'TABLE' ;

 PGAS . 'CP' = 'TABLE' ;
 PGAS . 'CP' . 'H2  '  = .18729066D+05 ;
 PGAS . 'CP' . 'O2  '  = .11886820D+04 ;
 PGAS . 'CP' . 'H2O '  = .31209047D+04 ;
 PGAS . 'CP' . 'N2  '  = .12993995D+04 ;



 PGAS . 'CV' = 'TABLE' ;
 PGAS . 'CV' . 'H2  '  = .14571861D+05 ;
 PGAS . 'CV' . 'O2  '  = .92885670D+03 ;
 PGAS . 'CV' . 'H2O '  = .26589930D+04 ;
 PGAS . 'CV' . 'N2  '  =  .10024563D+04;



*
**** Especes qui sont dans les equations d'Euler
*

 PGAS . 'ESPEULE' = 'MOTS' 'H2  ' 'O2  ' 'H2O ' ;

*
**** Espece qui n'y est pas
*


 PGAS . 'ESPNEULE' = 'N2  ';

******************************************************
************  Les CHPOINTs   *************************
******************************************************

 MCEN = 'DOMA' $DOMTOT CENTRE ;

*** density ** 
 RN = 'BRUI' 'BLAN' 'UNIF' 1.11 0.5 MCEN ;
*** pressure **
 PN = 'BRUI' 'BLAN' 'UNIF' 1234.1 800 MCEN ;
***  CP  ****
 CP = ('MANUEL' 'CHPO' MCEN 1 'H2'
       (PGAS . 'CP' . 'H2  ') 'NATU' 'DISCRET') 'ET' 
      ('MANUEL' 'CHPO' MCEN 1 'O2'
      (PGAS . 'CP' . 'O2  ') 'NATU' 'DISCRET') 'ET'
       ('MANUEL' 'CHPO' MCEN  1 'H2O'
       (PGAS . 'CP' . 'H2O ') 'NATU' 'DISCRET') 'ET'
       ('MANUEL' 'CHPO' MCEN  1 'N2'
       (PGAS . 'CP' . 'N2  ') 'NATU' 'DISCRET') ;
***  CV ****
 CV = ('MANUEL' 'CHPO' MCEN 1 'H2'
       (PGAS . 'CV' . 'H2  ') 'NATU' 'DISCRET') 'ET' 
      ('MANUEL' 'CHPO' MCEN 1 'O2'
      (PGAS . 'CV' . 'O2  ') 'NATU' 'DISCRET') 'ET'
       ('MANUEL' 'CHPO' MCEN  1 'H2O'
       (PGAS . 'CV' . 'H2O ') 'NATU' 'DISCRET') 'ET'
       ('MANUEL' 'CHPO' MCEN  1 'N2'
       (PGAS . 'CV' . 'N2  ') 'NATU' 'DISCRET') ;       
*** mass fractions ****
 FF = 'BRUI' 'BLAN' 'UNIF' 0.2 0.05 MCEN  ;
 CHF = 'NOMC' 'H2' FF 'NATU' 'DISCRET' ; 
 
 FS = 'BRUI' 'BLAN' 'UNIF' 0.3 0.04 MCEN ;
 CHS = 'NOMC' 'O2' FS 'NATU' 'DISCRET' ; 
 
 FT = 'BRUI' 'BLAN' 'UNIF' 0.15 0.045 MCEN ;
 CHT = 'NOMC' 'H2O' FT 'NATU' 'DISCRET' ; 
 
 YNB = CHF 'ET' CHS ;
 YN = YNB 'ET' CHT ;

 UNCH =  'MANUEL' 'CHPO' MCEN 1 'SCAL' 1.0 ;

 YNESP = UNCH '-' ('PSCAL' UNCH YN ('MOTS' 'SCAL' 'SCAL' 'SCAL')
         (PGAS . 'ESPEULE')) ;
 YNESP = 'NOMC' 'N2  ' YNESP 'NATU' 'DISCRET' ;

 YNTOT = YN 'ET' YNESP ;

 RYN = YN '*' RN  (PGAS . 'ESPEULE') ('MOTS' 'SCAL' 'SCAL' 'SCAL')
       (PGAS . 'ESPEULE') ;
*** gamma  ***************
 LMOT1 = (PGAS . 'ESPEULE') 'ET' ('MOTS' (PGAS . 'ESPNEULE')) ;
 CVTOT = 'PSCAL' YNTOT CV LMOT1 LMOT1 ;
 CPTOT = 'PSCAL' YNTOT CP LMOT1 LMOT1 ;
 GAMN = CPTOT '/' CVTOT ;
**** velocities ********** 
 CSONN = (GAMN '*' PN) '/' RN ;
 CSONN = 'KOPS' CSONN '**' 0.5 ;
 UXN  = 0.5 *  CSONN ;
 UYN  = -0.2 * CSONN ;

****************************************************************
****************************************************************
****************************************************************

 GN = ('NOMC' (RN '*' UXN) 'UX' 'NATU' 'DISCRET') 'ET'
       ('NOMC' (RN '*' UYN) 'UY' 'NATU' 'DISCRET') ;

       

 ECIN = 0.5D0 '*' RN '*' ((UXN  '*' UXN) '+' (UYN  '*' UYN)) ;
 RETN  = 'NOMC' 'SCAL' ((PN  '/' (GAMN  '-' 1.0)) '+' ECIN)
   'NATU' 'DISCRET' ;

 VIT PRES TTEMP FRAM GAMM  = 'PRIM' 'PERFMULT' PGAS RN GN RETN RYN  ;
****************************************************************
*********  Application of the Operator 'KONV' ******************
****************************************************************
 NOMDEN = 'RN  ' ;
 NOMMOX = 'RUXN' ;
 NOMMOY = 'RUYN' ;
 NOMRET = 'RETN' ;
 NOMYH2 = 'RYH2' ;
 NOMYO2 = 'RYO2' ;
 NOMYHO = 'RYHO' ;

 LINCO = 'MOTS'  NOMDEN  NOMMOX  NOMMOY  NOMRET
             NOMYH2 NOMYO2  NOMYHO ;
******************************************************************
 MRN MUN MPN MYN MGAMN = 'PRET' 'PERFMULT' 1 1 $DOMTOT
                    RN VIT PN YN GAMN ;

 RRESID RFLOT = 'KONV' 'VF' 'PERFMULT' 'RESI' METO LINCO
                $DOMTOT MRN MUN MPN MGAMN MYN PGAS ;                   
                    
******************************************************************
******************************************************************             

  RMAT = 'KONV' 'VF' 'PERFMULT' 'JACOCONS' METO  $DOMTOT PGAS LINCO RN
            VIT PN YN ;
******************************************************************

 PCEN9 = 'POIN' 1 ('DOMA' $DOM9 CENTRE) ;

*****************************************************************
****             Beggining of the procedure            **********
***************************************************************** 

 'DEBPROC' JAEXAC RMAT*'MATRIK' $DOMA*'MMODEL' LISTINCO*'LISTMOTS'
    PPRIM*'POINT' PDUAL*'POINT' MOTPRI*'MOT' MOTDUA*'MOT' ;

   MCEN = 'DOMA' $DOMA CENTRE ; 
   ELT1 = 'MANUEL' 'POI1' PPRIM ;
   NDIM = 'DIME'  LISTINCO ;
   CHPUN = 'MANUEL' 'CHPO' ELT1 1 MOTPRI 1.0 'NATURE' 'DISCRET' ;
********************** 
  'REPETER'  BL1 NDIM ;
    MOTCEL = 'EXTRAIRE' LISTINCO &BL1 ;
    CHPUN = CHPUN 'ET' ('MANUEL' 'CHPO' MCEN 1 MOTCEL
     0.0 'NATURE' 'DISCRET') ; 
  'FIN' BL1 ;
*********************
   CHCH = 'KOPS'  RMAT 'MULT' CHPUN ;
   SCAL = 'EXTRAIRE' CHCH PDUAL MOTDUA ;
 'FINPROC' SCAL ;

****************************************************************
*****    End of the procedure  JAEXAC                   ********
****************************************************************

****************************************************************
****************   Procedure JACNUM     ************************ 
****************************************************************
 'DEBPROC' JACNUM $DOMA*'MMODEL' NOMMET*'MOT' RN*'CHPOINT' 
    GN*'CHPOINT' RETN*'CHPOINT' RYN*'CHPOINT' GAMN*'CHPOINT'
    PGAS*'TABLE ' LISTINCO*'LISTMOTS' 
    PPRIM*'POINT' PDUAL*'POINT' 
    MOTPRI*'MOT' MOTDUA*'MOT' EPSILON*'FLOTTANT';


    RNCEL   = 'COPIER'  RN ;
    GNCEL   = 'COPIER'  GN ;
    RETNCEL = 'COPIER'  RETN ;
    RYNCEL  = 'COPIER'  RYN ;   

    VIT PRES TTEMP FRAM GAMM  = 'PRIM' 'PERFMULT'
                        PGAS RNCEL GNCEL RETNCEL RYNCEL  ;
        
    MRN MUN MPN MYN MGAMN = 'PRET' 'PERFMULT' 1 1 $DOMTOT
                    RNCEL VIT PRES FRAM GAMN ;
    
    CHPRESO RFLOT = 'KONV' 'VF' 'PERFMULT' 'RESI' NOMMET
            LISTINCO $DOMA MRN MUN MPN MGAMN MYN PGAS ;

    VAL0 = 'EXTRAIRE' CHPRESO PDUAL MOTDUA ;
******************************************
    dens0 = 'EXTRAIRE' RN PPRIM 'SCAL' ;
    
    CN2 = GAMN '*' (PRES '/' RN) ;

    cson0 = ('EXTRAIRE' CN2 PPRIM 'SCAL') '**' 0.5 ;

    ret0 = ('EXTRAIRE' RETN PPRIM 'SCAL') '**' 0.5 ;
******************************************    
    NDIM = 'DIME' LISTINCO ;
    'REPETER' BL1 NDIM ;
       MOTCEL = 'EXTRAIRE' LISTINCO &BL1 ;
       'SI' ('EGA' MOTCEL MOTPRI) ;
          ICEL = &BL1 ;
          'QUITTER' BL1 ;
       'FINSI' ;
    'FIN' BL1 ;
    
    'SI' (ICEL > NDIM) ;
       'MESSAGE' 'Procedure JACNUM' ;
       'MESSAGE' 'MOTPRI = ??? ';
       'ERREUR' 21 ;
    'FINSI' ;
    
    ELT1 = 'MANUEL' 'POI1' PPRIM ;
****************************************************    
*   ICEL = 1 -> On perturbe la densité
****************************************************
    'SI' ('EGA' ICEL 1) ;
       DELTATOT = (EPSILON * dens0) ;
       RNCEL = ('MANUEL' 'CHPO' ELT1 1 'SCAL' DELTATOT
          'NATURE' 'DISCRET') 'ET' RN ;
       GNCEL = 'COPIER' GN ;
       RETNCEL = 'COPIER' RETN ;
       RYNCEL = 'COPIER' RYN ;
    'FINSI' ;
****************************************************
*   ICEL = 2 -> On perturbe la q.d.m. long  l'ax x
****************************************************
    'SI' ('EGA' ICEL 2) ;
       DELTATOT = (EPSILON * dens0 * cson0) ;
       GNCEL = ('MANUEL' 'CHPO' ELT1 1 'UX' DELTATOT
          'NATURE' 'DISCRET') 'ET' GN ;
       RNCEL = 'COPIER' RN ;
       RETNCEL = 'COPIER' RETN ;
       RYNCEL = 'COPIER' RYN ;
    'FINSI' ;
****************************************************
*   ICEL = 3 -> On perturbe la q.d.m. long  l'ax y
****************************************************
    'SI' ('EGA' ICEL 3) ;
       DELTATOT = (EPSILON * dens0 * cson0) ;
       GNCEL = ('MANUEL' 'CHPO' ELT1 1 'UY' DELTATOT
          'NATURE' 'DISCRET') 'ET' GN ;
       RNCEL = 'COPIER' RN ;
       RETNCEL = 'COPIER' RETN ;
       RYNCEL = 'COPIER' RYN ; 
    'FINSI' ;
****************************************************
*   ICEL = 4 -> On perturbe l'énergie totale
****************************************************
    'SI' ('EGA' ICEL 4) ;
       DELTATOT = (EPSILON * ret0) ;
       RETNCEL = ('MANUEL' 'CHPO' ELT1 1 'SCAL' DELTATOT
          'NATURE' 'DISCRET') 'ET' RETN ;
       RNCEL = 'COPIER' RN ;
       GNCEL = 'COPIER' GN ;
       RYNCEL = 'COPIER' RYN ;
    'FINSI' ;
****************************************************
*   ICEL = 5 -> On perturbe (\rho Y_{H2})
****************************************************
    'SI' ('EGA' ICEL 5) ;
       DELTATOT = (EPSILON * ret0) ;
       RYNCEL = ('MANUEL' 'CHPO' ELT1 1 'H2' DELTATOT
          'NATURE' 'DISCRET') 'ET' RYN ;
       RNCEL = 'COPIER' RN ;
       GNCEL = 'COPIER' GN ;
       RETNCEL = 'COPIER' RETN ;
    'FINSI' ;
****************************************************
*   ICEL = 6 -> On perturbe (\rho Y_{O2})
****************************************************
    'SI' ('EGA' ICEL 6) ;
       DELTATOT = (EPSILON * ret0) ;
       RYNCEL = ('MANUEL' 'CHPO' ELT1 1 'O2' DELTATOT
          'NATURE' 'DISCRET') 'ET' RYN ;
       RNCEL = 'COPIER' RN ;
       GNCEL = 'COPIER' GN ;
       RETNCEL = 'COPIER' RETN ;
    'FINSI' ;
****************************************************
*   ICEL = 7 -> On perturbe (\rho Y_{HO})
****************************************************
    'SI' ('EGA' ICEL 7) ;
       DELTATOT = (EPSILON * ret0) ;
       RYNCEL = ('MANUEL' 'CHPO' ELT1 1 'H2O' DELTATOT
          'NATURE' 'DISCRET') 'ET' RYN ;
       RNCEL = 'COPIER' RN ;
       GNCEL = 'COPIER' GN ;
       RETNCEL = 'COPIER' RETN ;
    'FINSI' ;            
****************************************************
    VIT PRES TTEMP FRAM GAMM  = 'PRIM' 'PERFMULT'
                        PGAS RNCEL GNCEL RETNCEL RYNCEL  ;

    MRNF MUNF MPNF MYNF MGAMNF = 'PRET' 'PERFMULT' 1 1 $DOMTOT
                    RNCEL VIT PRES FRAM GAMM ;

    CHPRES1 RFLOT = 'KONV' 'VF' 'PERFMULT' 'RESI' NOMMET
            LISTINCO $DOMA MRNF MUNF MPNF MGAMNF MYNF PGAS ;

    VAL1 = 'EXTRAIRE' CHPRES1 PDUAL MOTDUA ;                                  
    
 'FINPROC' ((VAL1 '-' VAL0) '/' DELTATOT) ;
****************************************************************
****************************************************************
  DRR = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMDEN NOMDEN ;
  DGXR = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMDEN NOMMOX ;
  DGYR = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMDEN NOMMOY ;
  DRETR = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMDEN NOMRET ;
  DYH2R = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMDEN NOMYH2 ;
  DYO2R = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMDEN NOMYO2 ;
  DYHOR = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMDEN NOMYHO ;
***************************************
  DRGX = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMMOX NOMDEN ;
  DGXGX = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMMOX NOMMOX ;
  DGYGX = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMMOX NOMMOY ;
  DRETGX = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMMOX NOMRET ;
  DYH2GX = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMMOX NOMYH2 ;
  DYO2GX = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMMOX NOMYO2 ;
  DYHOGX = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMMOX NOMYHO ;
***************************************
  DRGY = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMMOY NOMDEN ;
  DGXGY = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMMOY NOMMOX ;
  DGYGY = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMMOY NOMMOY ;
  DRETGY = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMMOY NOMRET ;
  DYH2GY = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMMOY NOMYH2 ;
  DYO2GY = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMMOY NOMYO2 ;
  DYHOGY = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMMOY NOMYHO ;  
***************************************
  DRRET = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMRET NOMDEN ;
  DGXRET = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMRET NOMMOX ;
  DGYRET = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMRET NOMMOY ;
  DRETRET = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMRET NOMRET ;
  DYH2RET = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMRET NOMYH2 ;
  DYO2RET = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMRET NOMYO2 ;
  DYHORET = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMRET NOMYHO ;
***************************************
  DRYH2 = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMYH2 NOMDEN ;
  DGXYH2 = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMYH2 NOMMOX ;
  DGYYH2 = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMYH2 NOMMOY ;
  DRETYH2 = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMYH2 NOMRET ;
  DYH2YH2 = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMYH2 NOMYH2 ;
  DYO2YH2 = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMYH2 NOMYO2 ;
  DYHOYH2 = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMYH2 NOMYHO ;
***************************************
  DRYO2 = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMYO2 NOMDEN ;
  DGXYO2 = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMYO2 NOMMOX ;
  DGYYO2 = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMYO2 NOMMOY ;
  DRETYO2 = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMYO2 NOMRET ;
  DYH2YO2 = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMYO2 NOMYH2 ;
  DYO2YO2 = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMYO2 NOMYO2 ;
  DYHOYO2 = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMYO2 NOMYHO ;
****************************************
  DRYHO = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMYHO NOMDEN ;
  DGXYHO = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMYHO NOMMOX ;
  DGYYHO = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMYHO NOMMOY ;
  DRETYHO = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMYHO NOMRET ;
  DYH2YHO = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMYHO NOMYH2 ;
  DYO2YHO = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMYHO NOMYO2 ;
  DYHOYHO = JAEXAC RMAT $DOMTOT LINCO PCEN9 PCEN9 NOMYHO NOMYHO ;      
****************************************************************
*****************************************************************  
  DRRN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMDEN NOMDEN DELTA ;  
  DGXRN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMDEN NOMMOX DELTA ;      
  DGYRN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMDEN NOMMOY DELTA ;
  DRETRN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMDEN NOMRET DELTA ;
  DYH2RN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMDEN NOMYH2 DELTA ;
  DYO2RN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMDEN NOMYO2 DELTA ;
  DYHORN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMDEN NOMYHO DELTA ;
**************************************
  DRGXN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMMOX NOMDEN DELTA ;  
  DGXGXN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMMOX NOMMOX DELTA ;      
  DGYGXN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMMOX NOMMOY DELTA ;
  DRETGXN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMMOX NOMRET DELTA ;
  DYH2GXN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMMOX NOMYH2 DELTA ;
  DYO2GXN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMMOX NOMYO2 DELTA ;
  DYHOGXN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMMOX NOMYHO DELTA ;
**************************************
  DRGYN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMMOY NOMDEN DELTA ;  
  DGXGYN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMMOY NOMMOX DELTA ;      
  DGYGYN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMMOY NOMMOY DELTA ;
  DRETGYN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMMOY NOMRET DELTA ;
  DYH2GYN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMMOY NOMYH2 DELTA ;
  DYO2GYN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMMOY NOMYO2 DELTA ;
  DYHOGYN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMMOY NOMYHO DELTA ;
**************************************
  DRRETN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMRET NOMDEN DELTA ;  
  DGXRETN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMRET NOMMOX DELTA ;      
  DGYRETN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMRET NOMMOY DELTA ;
  DRETRETN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMRET NOMRET DELTA ;
  DYH2RETN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMRET NOMYH2 DELTA ;
  DYO2RETN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMRET NOMYO2 DELTA ;
  DYHORETN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMRET NOMYHO DELTA ;
**************************************
  DRYH2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMYH2 NOMDEN DELTA ;  
  DGXYH2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMYH2 NOMMOX DELTA ;      
  DGYYH2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMYH2 NOMMOY DELTA ;
  DRETYH2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMYH2 NOMRET DELTA ;
  DYH2YH2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMYH2 NOMYH2 DELTA ;
  DYO2YH2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMYH2 NOMYO2 DELTA ;
  DYHOYH2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMYH2 NOMYHO DELTA ;
***************************************
  DRYO2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMYO2 NOMDEN DELTA ;  
  DGXYO2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMYO2 NOMMOX DELTA ;      
  DGYYO2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMYO2 NOMMOY DELTA ;
  DRETYO2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMYO2 NOMRET DELTA ;
  DYH2YO2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMYO2 NOMYH2 DELTA ;
  DYO2YO2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMYO2 NOMYO2 DELTA ;
  DYHOYO2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMYO2 NOMYHO DELTA ;
***************************************
  DRYHON = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMYHO NOMDEN DELTA ;  
  DGXYHON = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMYHO NOMMOX DELTA ;      
  DGYYHON = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMYHO NOMMOY DELTA ;
  DRETYHON = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMYHO NOMRET DELTA ;
  DYH2YHON = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMYHO NOMYH2 DELTA ;
  DYO2YHON = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMYHO NOMYO2 DELTA ;
  DYHOYHON = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN9
      PCEN9 NOMYHO NOMYHO DELTA ;      
**************************************************************
* Test des comparaisons jacobien exact-jacobien numerique
**************************************************************
 'SI' (('ABS'(DRR)) < DELTA) ;
    ERR1 = ('ABS' (DRRN '-' DRR)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DRRN '-' DRR)) '/' ('ABS' (DRR)) ;
 'FINSI' ; 
***********************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 1a';
      'ERREUR' 5 ;
 'FINSI' ;
*************************************************************
 'SI' (('ABS'(DGXR)) < DELTA) ;
    ERR1 = ('ABS' (DGXRN '-' DGXR)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DGXRN '-' DGXR)) '/' ('ABS' (DGXR)) ;
 'FINSI' ; 
***********************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 2a';
      'ERREUR' 5 ;
 'FINSI' ;      
**************************************************************
 'SI' (('ABS'(DGYR)) < DELTA) ;
    ERR1 = ('ABS' (DGYRN '-' DGYR)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DGYRN '-' DGYR)) '/' ('ABS' (DGYR)) ;
 'FINSI' ; 
************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 3a';
       'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DRETR)) < DELTA) ;
    ERR1 = ('ABS' (DRETRN '-' DRETR)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DRETRN '-' DRETR)) '/' ('ABS' (DRETR)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 4a';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYH2R)) < DELTA) ;
    ERR1 = ('ABS' (DYH2RN '-' DYH2R)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYH2RN '-' DYH2R)) '/' ('ABS' (DYH2R)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 5a';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYO2R)) < DELTA) ;
    ERR1 = ('ABS' (DYO2RN '-' DYO2R)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYO2RN '-' DYO2R)) '/' ('ABS' (DYO2R)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 6a';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYHOR)) < DELTA) ;
    ERR1 = ('ABS' (DYHORN '-' DYHOR)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYHORN '-' DYHOR)) '/' ('ABS' (DYHOR)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 7a';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
*****    Second line !!!!!!!!!!!!!!!!!!!!!!!    **************
**************************************************************
**************************************************************
 'SI' (('ABS'(DRGX)) < DELTA) ;
    ERR1 = ('ABS' (DRGXN '-' DRGX)) ;
 'SINON' ;   
    ERR1 = ('ABS' (DRGXN '-' DRGX)) '/' ('ABS' (DRGX))  ;
 'FINSI' ;
***************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 8a';
      'ERREUR' 5 ;
 'FINSI' ;
*************************************************************
 'SI' (('ABS'(DGXGX)) < DELTA) ;
   ERR1 = ('ABS' (DGXGXN '-' DGXGX)) ;
 'SINON' ;
   ERR1 = ('ABS' (DGXGXN '-' DGXGX)) '/' ('ABS' (DGXGX)) ;
 'FINSI' ;  
*****************************   
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 9a';
        'ERREUR' 5 ;
 'FINSI' ;
*************************************************************
 'SI' (('ABS'(DGYGX)) < DELTA) ;
    ERR1 = ('ABS' (DGYGXN '-' DGYGX)) ;
 'SINON' ;
    ERR1 = ('ABS' (DGYGXN '-' DGYGX)) '/' ('ABS' (DGYGX)) ;
 'FINSI' ;
******************************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 10a';
        'ERREUR' 5 ;
 'FINSI' ;
*************************************************************
 'SI' (('ABS'(DRETGX)) < DELTA) ;
    ERR1 = ('ABS' (DRETGXN '-' DRETGX)) ;
 'SINON' ;
    ERR1 = ('ABS' (DRETGXN '-' DRETGX)) '/' ('ABS' (DRETGX)) ;
 'FINSI' ;
*******************************    
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 11a';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYH2GX)) < DELTA) ;
    ERR1 = ('ABS' (DYH2GXN '-' DYH2GX)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYH2GXN '-' DYH2GX)) '/' ('ABS' (DYH2GX)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 12a';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYO2GX)) < DELTA) ;
    ERR1 = ('ABS' (DYO2GXN '-' DYO2GX)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYO2GXN '-' DYO2GX)) '/' ('ABS' (DYO2GX)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 13a';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYHOGX)) < DELTA) ;
    ERR1 = ('ABS' (DYHOGXN '-' DYHOGX)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYHOGXN '-' DYHOGX)) '/' ('ABS' (DYHOGX)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 14a';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
*****    Third line !!!!!!!!!!!!!!!!!!!!!!!    **************
**************************************************************
**************************************************************
 'SI' (('ABS'(DRGY)) < DELTA) ;
    ERR1 = ('ABS' (DRGYN '-' DRGY)) ;
 'SINON' ;
    ERR1 = ('ABS' (DRGYN '-' DRGY)) '/' ('ABS' (DRGY)) ;
 'FINSI' ;
*******************************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 15a';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DGXGY)) < DELTA) ;
    ERR1 = ('ABS' (DGXGYN '-' DGXGY)) ;
 'SINON' ;
    ERR1 = ('ABS' (DGXGYN '-' DGXGY))  '/' ('ABS' (DGXGY)) ;
 'FINSI' ;
********************************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 16a';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DGYGY)) < DELTA) ;
    ERR1 = ('ABS' (DGYGYN '-' DGYGY)) ;
 'SINON' ;
    ERR1 = ('ABS' (DGYGYN '-' DGYGY)) '/' ('ABS' (DGYGY)) ;
 'FINSI' ;
***************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 17a';
        'ERREUR' 5 ;
 'FINSI' ;
*************************************************************
 'SI' (('ABS'(DRETGY)) < DELTA) ;
    ERR1 = ('ABS' (DRETGYN '-' DRETGY)) ;
 'SINON' ;
    ERR1 = ('ABS' (DRETGYN '-' DRETGY)) '/' ('ABS' (DRETGY)) ;
 'FINSI' ;
****************     
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 18a';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYH2GY)) < DELTA) ;
    ERR1 = ('ABS' (DYH2GYN '-' DYH2GY)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYH2GYN '-' DYH2GY)) '/' ('ABS' (DYH2GY)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 19a';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYO2GY)) < DELTA) ;
    ERR1 = ('ABS' (DYO2GYN '-' DYO2GY)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYO2GYN '-' DYO2GY)) '/' ('ABS' (DYO2GY)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 20a';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYHOGY)) < DELTA) ;
    ERR1 = ('ABS' (DYHOGYN '-' DYHOGY)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYHOGYN '-' DYHOGY)) '/' ('ABS' (DYHOGY)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 21a';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
*******     Fouth line!!!!!!!!!!!!!!!!!!!   ******************
**************************************************************
**************************************************************
 'SI' (('ABS'(DRRET)) < DELTA) ;
    ERR1 = ('ABS' (DRRETN '-' DRRET)) ;
 'SINON' ;
    ERR1 = ('ABS' (DRRETN '-' DRRET)) '/' ('ABS' (DRRET)) ;
 'FINSI' ;
*****************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 22a';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DGXRET)) < DELTA) ;
    ERR1 = ('ABS' (DGXRETN '-' DGXRET)) ;
 'SINON' ;
    ERR1 = ('ABS' (DGXRETN '-' DGXRET)) '/' ('ABS' (DGXRET)) ;
 'FINSI' ;
*****************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 23a';
        'ERREUR' 5 ;
 'FINSI' ;
*************************************************************
 'SI' (('ABS'(DGYRET)) < DELTA) ;
    ERR1 = ('ABS' (DGYRETN '-' DGYRET)) ; 
 'SINON' ;
    ERR1 = ('ABS' (DGYRETN '-' DGYRET)) '/' ('ABS' (DGYRET)) ;
 'FINSI' ;
*****************    
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 24a';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DRETRET)) < DELTA) ;
    ERR1 = ('ABS' (DRETRETN '-' DRETRET)) ;
 'SINON' ;
    ERR1 = ('ABS' (DRETRETN '-' DRETRET)) '/' ('ABS' (DRETRET)) ;
 'FINSI' ;
*****************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 25a';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYH2RET)) < DELTA) ;
    ERR1 = ('ABS' (DYH2RETN '-' DYH2RET)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYH2RETN '-' DYH2RET)) '/' ('ABS' (DYH2RET)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 26a';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYO2RET)) < DELTA) ;
    ERR1 = ('ABS' (DYO2RETN '-' DYO2RET)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYO2RETN '-' DYO2RET)) '/' ('ABS' (DYO2RET)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 27a';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYHORET)) < DELTA) ;
    ERR1 = ('ABS' (DYHORETN '-' DYHORET)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYHORETN '-' DYHORET)) '/' ('ABS' (DYHORET)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 28a';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
*******     Fith line!!!!!!!!!!!!!!!!!!!   ******************
**************************************************************
 'SI' (('ABS'(DRYH2)) < DELTA) ;
    ERR1 = ('ABS' (DRYH2N '-' DRYH2)) ;
 'SINON' ;
    ERR1 = ('ABS' (DRYH2N '-' DRYH2)) '/' ('ABS' (DRYH2)) ;
 'FINSI' ;
*****************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 29a';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DGXYH2)) < DELTA) ;
    ERR1 = ('ABS' (DGXYH2N '-' DGXYH2)) ;
 'SINON' ;
    ERR1 = ('ABS' (DGXYH2N '-' DGXYH2)) '/' ('ABS' (DGXYH2)) ;
 'FINSI' ;
*****************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 30a';
        'ERREUR' 5 ;
 'FINSI' ;
*************************************************************
 'SI' (('ABS'(DGYYH2)) < DELTA) ;
    ERR1 = ('ABS' (DGYYH2N '-' DGYYH2)) ; 
 'SINON' ;
    ERR1 = ('ABS' (DGYYH2N '-' DGYYH2)) '/' ('ABS' (DGYYH2)) ;
 'FINSI' ;
*****************    
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 31a';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DRETYH2)) < DELTA) ;
    ERR1 = ('ABS' (DRETYH2N '-' DRETYH2)) ;
 'SINON' ;
    ERR1 = ('ABS' (DRETYH2N '-' DRETYH2)) '/' ('ABS' (DRETYH2)) ;
 'FINSI' ;
*****************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 32a';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYH2YH2)) < DELTA) ;
    ERR1 = ('ABS' (DYH2YH2N '-' DYH2YH2)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYH2YH2N '-' DYH2YH2)) '/' ('ABS' (DYH2YH2)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 33a';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYO2YH2)) < DELTA) ;
    ERR1 = ('ABS' (DYO2YH2N '-' DYO2YH2)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYO2YH2N '-' DYO2YH2)) '/' ('ABS' (DYO2YH2)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 34a';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYHOYH2)) < DELTA) ;
    ERR1 = ('ABS' (DYHOYH2N '-' DYHOYH2)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYHOYH2N '-' DYHOYH2)) '/' ('ABS' (DYHOYH2)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 35a';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
*********  Sixth line !!!!!!!!!!!!!!!!!!!!!!   ***************
**************************************************************
 'SI' (('ABS'(DRYO2)) < DELTA) ;
    ERR1 = ('ABS' (DRYO2N '-' DRYO2)) ;
 'SINON' ;
    ERR1 = ('ABS' (DRYO2N '-' DRYO2)) '/' ('ABS' (DRYO2)) ;
 'FINSI' ;
*****************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 36a';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DGXYO2)) < DELTA) ;
    ERR1 = ('ABS' (DGXYO2N '-' DGXYO2)) ;
 'SINON' ;
    ERR1 = ('ABS' (DGXYO2N '-' DGXYO2)) '/' ('ABS' (DGXYO2)) ;
 'FINSI' ;
*****************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 37a';
        'ERREUR' 5 ;
 'FINSI' ;
*************************************************************
 'SI' (('ABS'(DGYYO2)) < DELTA) ;
    ERR1 = ('ABS' (DGYYO2N '-' DGYYO2)) ; 
 'SINON' ;
    ERR1 = ('ABS' (DGYYO2N '-' DGYYO2)) '/' ('ABS' (DGYYO2)) ;
 'FINSI' ;
*****************    
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 38a';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DRETYO2)) < DELTA) ;
    ERR1 = ('ABS' (DRETYO2N '-' DRETYO2)) ;
 'SINON' ;
    ERR1 = ('ABS' (DRETYO2N '-' DRETYO2)) '/' ('ABS' (DRETYO2)) ;
 'FINSI' ;
*****************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 39a';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYH2YO2)) < DELTA) ;
    ERR1 = ('ABS' (DYH2YO2N '-' DYH2YO2)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYH2YO2N '-' DYH2YO2)) '/' ('ABS' (DYH2YO2)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 40a';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYO2YO2)) < DELTA) ;
    ERR1 = ('ABS' (DYO2YO2N '-' DYO2YO2)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYO2YO2N '-' DYO2YO2)) '/' ('ABS' (DYO2YO2)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 41a';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYHOYO2)) < DELTA) ;
    ERR1 = ('ABS' (DYHOYO2N '-' DYHOYO2)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYHOYO2N '-' DYHOYO2)) '/' ('ABS' (DYHOYO2)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 42a';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
*********  Seventh line !!!!!!!!!!!!!!!!!!!!!!   *************
**************************************************************
 'SI' (('ABS'(DRYHO)) < DELTA) ;
    ERR1 = ('ABS' (DRYHON '-' DRYHO)) ;
 'SINON' ;
    ERR1 = ('ABS' (DRYHON '-' DRYHO)) '/' ('ABS' (DRYHO)) ;
 'FINSI' ;
*****************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 43a';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DGXYHO)) < DELTA) ;
    ERR1 = ('ABS' (DGXYHON '-' DGXYHO)) ;
 'SINON' ;
    ERR1 = ('ABS' (DGXYHON '-' DGXYHO)) '/' ('ABS' (DGXYHO)) ;
 'FINSI' ;
*****************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 44a';
        'ERREUR' 5 ;
 'FINSI' ;
*************************************************************
 'SI' (('ABS'(DGYYHO)) < DELTA) ;
    ERR1 = ('ABS' (DGYYHON '-' DGYYHO)) ; 
 'SINON' ;
    ERR1 = ('ABS' (DGYYHON '-' DGYYHO)) '/' ('ABS' (DGYYHO)) ;
 'FINSI' ;
*****************    
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 45a';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DRETYHO)) < DELTA) ;
    ERR1 = ('ABS' (DRETYHON '-' DRETYHO)) ;
 'SINON' ;
    ERR1 = ('ABS' (DRETYHON '-' DRETYHO)) '/' ('ABS' (DRETYHO)) ;
 'FINSI' ;
*****************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 46a';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYH2YHO)) < DELTA) ;
    ERR1 = ('ABS' (DYH2YHON '-' DYH2YHO)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYH2YHON '-' DYH2YHO)) '/' ('ABS' (DYH2YHO)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 47a';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYO2YHO)) < DELTA) ;
    ERR1 = ('ABS' (DYO2YHON '-' DYO2YHO)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYO2YHON '-' DYO2YHO)) '/' ('ABS' (DYO2YHO)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 48a';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYHOYHO)) < DELTA) ;
    ERR1 = ('ABS' (DYHOYHON '-' DYHOYHO)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYHOYHON '-' DYHOYHO)) '/' ('ABS' (DYHOYHO)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 49a';
      'ERREUR' 5 ;
 'FINSI' ;
*****************************************************
*****************************************************
*****************************************************
*****************************************************
******* TEST2 ***************************************
*****************************************************
*****************************************************
*
* On compare le jacobien et la variation du residu
* en $DOM9 . 'CENTRE' par rapport à une variation
* infinitésimal en $DOM6 . 'CENTRE'
*

 PCEN6 = 'POIN' 1 ('DOMA' $DOM6 CENTRE) ;

****************************************************
* Le jacobien exact. 
****************************************************
  DRR = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMDEN NOMDEN ;
  DGXR = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMDEN NOMMOX ;
  DGYR = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMDEN NOMMOY ;
  DRETR = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMDEN NOMRET ;
  DYH2R = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMDEN NOMYH2 ;
  DYO2R = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMDEN NOMYO2 ;
  DYHOR = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMDEN NOMYHO ;
***************************************
  DRGX = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMMOX NOMDEN ;
  DGXGX = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMMOX NOMMOX ;
  DGYGX = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMMOX NOMMOY ;
  DRETGX = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMMOX NOMRET ;
  DYH2GX = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMMOX NOMYH2 ;
  DYO2GX = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMMOX NOMYO2 ;
  DYHOGX = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMMOX NOMYHO ;
***************************************
  DRGY = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMMOY NOMDEN ;
  DGXGY = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMMOY NOMMOX ;
  DGYGY = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMMOY NOMMOY ;
  DRETGY = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMMOY NOMRET ;
  DYH2GY = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMMOY NOMYH2 ;
  DYO2GY = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMMOY NOMYO2 ;
  DYHOGY = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMMOY NOMYHO ;  
***************************************
  DRRET = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMRET NOMDEN ;
  DGXRET = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMRET NOMMOX ;
  DGYRET = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMRET NOMMOY ;
  DRETRET = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMRET NOMRET ;
  DYH2RET = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMRET NOMYH2 ;
  DYO2RET = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMRET NOMYO2 ;
  DYHORET = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMRET NOMYHO ;
***************************************
  DRYH2 = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMYH2 NOMDEN ;
  DGXYH2 = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMYH2 NOMMOX ;
  DGYYH2 = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMYH2 NOMMOY ;
  DRETYH2 = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMYH2 NOMRET ;
  DYH2YH2 = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMYH2 NOMYH2 ;
  DYO2YH2 = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMYH2 NOMYO2 ;
  DYHOYH2 = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMYH2 NOMYHO ;
***************************************
  DRYO2 = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMYO2 NOMDEN ;
  DGXYO2 = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMYO2 NOMMOX ;
  DGYYO2 = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMYO2 NOMMOY ;
  DRETYO2 = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMYO2 NOMRET ;
  DYH2YO2 = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMYO2 NOMYH2 ;
  DYO2YO2 = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMYO2 NOMYO2 ;
  DYHOYO2 = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMYO2 NOMYHO ;
****************************************
  DRYHO = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMYHO NOMDEN ;
  DGXYHO = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMYHO NOMMOX ;
  DGYYHO = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMYHO NOMMOY ;
  DRETYHO = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMYHO NOMRET ;
  DYH2YHO = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMYHO NOMYH2 ;
  DYO2YHO = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMYHO NOMYO2 ;
  DYHOYHO = JAEXAC RMAT $DOMTOT LINCO PCEN6 PCEN9 NOMYHO NOMYHO ;
*****************************************************************  
  DRRN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMDEN NOMDEN DELTA ;  
  DGXRN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMDEN NOMMOX DELTA ;      
  DGYRN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMDEN NOMMOY DELTA ;
  DRETRN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMDEN NOMRET DELTA ;
  DYH2RN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMDEN NOMYH2 DELTA ;
  DYO2RN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMDEN NOMYO2 DELTA ;
  DYHORN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMDEN NOMYHO DELTA ;
**************************************
  DRGXN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMMOX NOMDEN DELTA ;  
  DGXGXN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMMOX NOMMOX DELTA ;      
  DGYGXN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMMOX NOMMOY DELTA ;
  DRETGXN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMMOX NOMRET DELTA ;
  DYH2GXN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMMOX NOMYH2 DELTA ;
  DYO2GXN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMMOX NOMYO2 DELTA ;
  DYHOGXN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMMOX NOMYHO DELTA ;
**************************************
  DRGYN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMMOY NOMDEN DELTA ;  
  DGXGYN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMMOY NOMMOX DELTA ;      
  DGYGYN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMMOY NOMMOY DELTA ;
  DRETGYN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMMOY NOMRET DELTA ;
  DYH2GYN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMMOY NOMYH2 DELTA ;
  DYO2GYN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMMOY NOMYO2 DELTA ;
  DYHOGYN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMMOY NOMYHO DELTA ;
**************************************
  DRRETN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMRET NOMDEN DELTA ;  
  DGXRETN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMRET NOMMOX DELTA ;      
  DGYRETN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMRET NOMMOY DELTA ;
  DRETRETN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMRET NOMRET DELTA ;
  DYH2RETN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMRET NOMYH2 DELTA ;
  DYO2RETN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMRET NOMYO2 DELTA ;
  DYHORETN = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMRET NOMYHO DELTA ;
**************************************
  DRYH2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMYH2 NOMDEN DELTA ;  
  DGXYH2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMYH2 NOMMOX DELTA ;      
  DGYYH2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMYH2 NOMMOY DELTA ;
  DRETYH2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMYH2 NOMRET DELTA ;
  DYH2YH2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMYH2 NOMYH2 DELTA ;
  DYO2YH2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMYH2 NOMYO2 DELTA ;
  DYHOYH2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMYH2 NOMYHO DELTA ;
***************************************
  DRYO2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMYO2 NOMDEN DELTA ;  
  DGXYO2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMYO2 NOMMOX DELTA ;      
  DGYYO2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMYO2 NOMMOY DELTA ;
  DRETYO2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMYO2 NOMRET DELTA ;
  DYH2YO2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMYO2 NOMYH2 DELTA ;
  DYO2YO2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMYO2 NOMYO2 DELTA ;
  DYHOYO2N = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMYO2 NOMYHO DELTA ;
***************************************
  DRYHON = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMYHO NOMDEN DELTA ;  
  DGXYHON = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMYHO NOMMOX DELTA ;      
  DGYYHON = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMYHO NOMMOY DELTA ;
  DRETYHON = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMYHO NOMRET DELTA ;
  DYH2YHON = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMYHO NOMYH2 DELTA ;
  DYO2YHON = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMYHO NOMYO2 DELTA ;
  DYHOYHON = JACNUM $DOMTOT METO RN GN RETN RYN GAMN PGAS LINCO PCEN6
      PCEN9 NOMYHO NOMYHO DELTA ;      
**************************************************************
* Test des comparaisons jacobien exact-jacobien numerique
************************************************************** 
  'SI' (('ABS'(DRR)) < DELTA) ;
    ERR1 = ('ABS' (DRRN '-' DRR)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DRRN '-' DRR)) '/' ('ABS' (DRR)) ;
 'FINSI' ; 
***********************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 1b';
      'ERREUR' 5 ;
 'FINSI' ;
*************************************************************
 'SI' (('ABS'(DGXR)) < DELTA) ;
    ERR1 = ('ABS' (DGXRN '-' DGXR)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DGXRN '-' DGXR)) '/' ('ABS' (DGXR)) ;
 'FINSI' ; 
***********************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 2b';
      'ERREUR' 5 ;
 'FINSI' ;      
**************************************************************
 'SI' (('ABS'(DGYR)) < DELTA) ;
    ERR1 = ('ABS' (DGYRN '-' DGYR)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DGYRN '-' DGYR)) '/' ('ABS' (DGYR)) ;
 'FINSI' ; 
************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 3b';
       'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DRETR)) < DELTA) ;
    ERR1 = ('ABS' (DRETRN '-' DRETR)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DRETRN '-' DRETR)) '/' ('ABS' (DRETR)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 4b';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYH2R)) < DELTA) ;
    ERR1 = ('ABS' (DYH2RN '-' DYH2R)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYH2RN '-' DYH2R)) '/' ('ABS' (DYH2R)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 5b';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYO2R)) < DELTA) ;
    ERR1 = ('ABS' (DYO2RN '-' DYO2R)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYO2RN '-' DYO2R)) '/' ('ABS' (DYO2R)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 6b';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYHOR)) < DELTA) ;
    ERR1 = ('ABS' (DYHORN '-' DYHOR)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYHORN '-' DYHOR)) '/' ('ABS' (DYHOR)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 7b';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
*****    Second line !!!!!!!!!!!!!!!!!!!!!!!    **************
**************************************************************
**************************************************************
 'SI' (('ABS'(DRGX)) < DELTA) ;
    ERR1 = ('ABS' (DRGXN '-' DRGX)) ;
 'SINON' ;   
    ERR1 = ('ABS' (DRGXN '-' DRGX)) '/' ('ABS' (DRGX))  ;
 'FINSI' ;
***************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 8b';
      'ERREUR' 5 ;
 'FINSI' ;
*************************************************************
 'SI' (('ABS'(DGXGX)) < DELTA) ;
   ERR1 = ('ABS' (DGXGXN '-' DGXGX)) ;
 'SINON' ;
   ERR1 = ('ABS' (DGXGXN '-' DGXGX)) '/' ('ABS' (DGXGX)) ;
 'FINSI' ;  
*****************************   
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 9b';
        'ERREUR' 5 ;
 'FINSI' ;
*************************************************************
 'SI' (('ABS'(DGYGX)) < DELTA) ;
    ERR1 = ('ABS' (DGYGXN '-' DGYGX)) ;
 'SINON' ;
    ERR1 = ('ABS' (DGYGXN '-' DGYGX)) '/' ('ABS' (DGYGX)) ;
 'FINSI' ;
******************************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 10b';
        'ERREUR' 5 ;
 'FINSI' ;
*************************************************************
 'SI' (('ABS'(DRETGX)) < DELTA) ;
    ERR1 = ('ABS' (DRETGXN '-' DRETGX)) ;
 'SINON' ;
    ERR1 = ('ABS' (DRETGXN '-' DRETGX)) '/' ('ABS' (DRETGX)) ;
 'FINSI' ;
*******************************    
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 11b';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYH2GX)) < DELTA) ;
    ERR1 = ('ABS' (DYH2GXN '-' DYH2GX)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYH2GXN '-' DYH2GX)) '/' ('ABS' (DYH2GX)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 12b';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYO2GX)) < DELTA) ;
    ERR1 = ('ABS' (DYO2GXN '-' DYO2GX)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYO2GXN '-' DYO2GX)) '/' ('ABS' (DYO2GX)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 13b';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYHOGX)) < DELTA) ;
    ERR1 = ('ABS' (DYHOGXN '-' DYHOGX)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYHOGXN '-' DYHOGX)) '/' ('ABS' (DYHOGX)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 14b';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
*****    Third line !!!!!!!!!!!!!!!!!!!!!!!    **************
**************************************************************
**************************************************************
 'SI' (('ABS'(DRGY)) < DELTA) ;
    ERR1 = ('ABS' (DRGYN '-' DRGY)) ;
 'SINON' ;
    ERR1 = ('ABS' (DRGYN '-' DRGY)) '/' ('ABS' (DRGY)) ;
 'FINSI' ;
*******************************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 15b';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DGXGY)) < DELTA) ;
    ERR1 = ('ABS' (DGXGYN '-' DGXGY)) ;
 'SINON' ;
    ERR1 = ('ABS' (DGXGYN '-' DGXGY))  '/' ('ABS' (DGXGY)) ;
 'FINSI' ;
********************************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 16b';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DGYGY)) < DELTA) ;
    ERR1 = ('ABS' (DGYGYN '-' DGYGY)) ;
 'SINON' ;
    ERR1 = ('ABS' (DGYGYN '-' DGYGY)) '/' ('ABS' (DGYGY)) ;
 'FINSI' ;
***************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 17b';
        'ERREUR' 5 ;
 'FINSI' ;
*************************************************************
 'SI' (('ABS'(DRETGY)) < DELTA) ;
    ERR1 = ('ABS' (DRETGYN '-' DRETGY)) ;
 'SINON' ;
    ERR1 = ('ABS' (DRETGYN '-' DRETGY)) '/' ('ABS' (DRETGY)) ;
 'FINSI' ;
****************     
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 18b';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYH2GY)) < DELTA) ;
    ERR1 = ('ABS' (DYH2GYN '-' DYH2GY)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYH2GYN '-' DYH2GY)) '/' ('ABS' (DYH2GY)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 19b';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYO2GY)) < DELTA) ;
    ERR1 = ('ABS' (DYO2GYN '-' DYO2GY)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYO2GYN '-' DYO2GY)) '/' ('ABS' (DYO2GY)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 20b';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYHOGY)) < DELTA) ;
    ERR1 = ('ABS' (DYHOGYN '-' DYHOGY)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYHOGYN '-' DYHOGY)) '/' ('ABS' (DYHOGY)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 21b';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
*******     Fouth line!!!!!!!!!!!!!!!!!!!   ******************
**************************************************************
**************************************************************
 'SI' (('ABS'(DRRET)) < DELTA) ;
    ERR1 = ('ABS' (DRRETN '-' DRRET)) ;
 'SINON' ;
    ERR1 = ('ABS' (DRRETN '-' DRRET)) '/' ('ABS' (DRRET)) ;
 'FINSI' ;
*****************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 22b';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DGXRET)) < DELTA) ;
    ERR1 = ('ABS' (DGXRETN '-' DGXRET)) ;
 'SINON' ;
    ERR1 = ('ABS' (DGXRETN '-' DGXRET)) '/' ('ABS' (DGXRET)) ;
 'FINSI' ;
*****************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 23b';
        'ERREUR' 5 ;
 'FINSI' ;
*************************************************************
 'SI' (('ABS'(DGYRET)) < DELTA) ;
    ERR1 = ('ABS' (DGYRETN '-' DGYRET)) ; 
 'SINON' ;
    ERR1 = ('ABS' (DGYRETN '-' DGYRET)) '/' ('ABS' (DGYRET)) ;
 'FINSI' ;
*****************    
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 24b';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DRETRET)) < DELTA) ;
    ERR1 = ('ABS' (DRETRETN '-' DRETRET)) ;
 'SINON' ;
    ERR1 = ('ABS' (DRETRETN '-' DRETRET)) '/' ('ABS' (DRETRET)) ;
 'FINSI' ;
*****************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 25b';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYH2RET)) < DELTA) ;
    ERR1 = ('ABS' (DYH2RETN '-' DYH2RET)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYH2RETN '-' DYH2RET)) '/' ('ABS' (DYH2RET)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 26b';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYO2RET)) < DELTA) ;
    ERR1 = ('ABS' (DYO2RETN '-' DYO2RET)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYO2RETN '-' DYO2RET)) '/' ('ABS' (DYO2RET)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 27b';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYHORET)) < DELTA) ;
    ERR1 = ('ABS' (DYHORETN '-' DYHORET)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYHORETN '-' DYHORET)) '/' ('ABS' (DYHORET)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 28b';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
*******     Fith line!!!!!!!!!!!!!!!!!!!   ******************
**************************************************************
 'SI' (('ABS'(DRYH2)) < DELTA) ;
    ERR1 = ('ABS' (DRYH2N '-' DRYH2)) ;
 'SINON' ;
    ERR1 = ('ABS' (DRYH2N '-' DRYH2)) '/' ('ABS' (DRYH2)) ;
 'FINSI' ;
*****************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 29b';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DGXYH2)) < DELTA) ;
    ERR1 = ('ABS' (DGXYH2N '-' DGXYH2)) ;
 'SINON' ;
    ERR1 = ('ABS' (DGXYH2N '-' DGXYH2)) '/' ('ABS' (DGXYH2)) ;
 'FINSI' ;
*****************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 30b';
        'ERREUR' 5 ;
 'FINSI' ;
*************************************************************
 'SI' (('ABS'(DGYYH2)) < DELTA) ;
    ERR1 = ('ABS' (DGYYH2N '-' DGYYH2)) ; 
 'SINON' ;
    ERR1 = ('ABS' (DGYYH2N '-' DGYYH2)) '/' ('ABS' (DGYYH2)) ;
 'FINSI' ;
*****************    
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 31b';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DRETYH2)) < DELTA) ;
    ERR1 = ('ABS' (DRETYH2N '-' DRETYH2)) ;
 'SINON' ;
    ERR1 = ('ABS' (DRETYH2N '-' DRETYH2)) '/' ('ABS' (DRETYH2)) ;
 'FINSI' ;
*****************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 32b';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYH2YH2)) < DELTA) ;
    ERR1 = ('ABS' (DYH2YH2N '-' DYH2YH2)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYH2YH2N '-' DYH2YH2)) '/' ('ABS' (DYH2YH2)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 33b';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYO2YH2)) < DELTA) ;
    ERR1 = ('ABS' (DYO2YH2N '-' DYO2YH2)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYO2YH2N '-' DYO2YH2)) '/' ('ABS' (DYO2YH2)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 34b';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYHOYH2)) < DELTA) ;
    ERR1 = ('ABS' (DYHOYH2N '-' DYHOYH2)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYHOYH2N '-' DYHOYH2)) '/' ('ABS' (DYHOYH2)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 35b';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
*********  Sixth line !!!!!!!!!!!!!!!!!!!!!!   ***************
**************************************************************
 'SI' (('ABS'(DRYO2)) < DELTA) ;
    ERR1 = ('ABS' (DRYO2N '-' DRYO2)) ;
 'SINON' ;
    ERR1 = ('ABS' (DRYO2N '-' DRYO2)) '/' ('ABS' (DRYO2)) ;
 'FINSI' ;
*****************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 36b';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DGXYO2)) < DELTA) ;
    ERR1 = ('ABS' (DGXYO2N '-' DGXYO2)) ;
 'SINON' ;
    ERR1 = ('ABS' (DGXYO2N '-' DGXYO2)) '/' ('ABS' (DGXYO2)) ;
 'FINSI' ;
*****************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 37b';
        'ERREUR' 5 ;
 'FINSI' ;
*************************************************************
 'SI' (('ABS'(DGYYO2)) < DELTA) ;
    ERR1 = ('ABS' (DGYYO2N '-' DGYYO2)) ; 
 'SINON' ;
    ERR1 = ('ABS' (DGYYO2N '-' DGYYO2)) '/' ('ABS' (DGYYO2)) ;
 'FINSI' ;
*****************    
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 38b';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DRETYO2)) < DELTA) ;
    ERR1 = ('ABS' (DRETYO2N '-' DRETYO2)) ;
 'SINON' ;
    ERR1 = ('ABS' (DRETYO2N '-' DRETYO2)) '/' ('ABS' (DRETYO2)) ;
 'FINSI' ;
*****************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 39b';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYH2YO2)) < DELTA) ;
    ERR1 = ('ABS' (DYH2YO2N '-' DYH2YO2)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYH2YO2N '-' DYH2YO2)) '/' ('ABS' (DYH2YO2)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 40b';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYO2YO2)) < DELTA) ;
    ERR1 = ('ABS' (DYO2YO2N '-' DYO2YO2)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYO2YO2N '-' DYO2YO2)) '/' ('ABS' (DYO2YO2)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 41b';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYHOYO2)) < DELTA) ;
    ERR1 = ('ABS' (DYHOYO2N '-' DYHOYO2)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYHOYO2N '-' DYHOYO2)) '/' ('ABS' (DYHOYO2)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 42b';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
*********  Seventh line !!!!!!!!!!!!!!!!!!!!!!   *************
**************************************************************
 'SI' (('ABS'(DRYHO)) < DELTA) ;
    ERR1 = ('ABS' (DRYHON '-' DRYHO)) ;
 'SINON' ;
    ERR1 = ('ABS' (DRYHON '-' DRYHO)) '/' ('ABS' (DRYHO)) ;
 'FINSI' ;
*****************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 43b';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DGXYHO)) < DELTA) ;
    ERR1 = ('ABS' (DGXYHON '-' DGXYHO)) ;
 'SINON' ;
    ERR1 = ('ABS' (DGXYHON '-' DGXYHO)) '/' ('ABS' (DGXYHO)) ;
 'FINSI' ;
*****************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 44b';
        'ERREUR' 5 ;
 'FINSI' ;
*************************************************************
 'SI' (('ABS'(DGYYHO)) < DELTA) ;
    ERR1 = ('ABS' (DGYYHON '-' DGYYHO)) ; 
 'SINON' ;
    ERR1 = ('ABS' (DGYYHON '-' DGYYHO)) '/' ('ABS' (DGYYHO)) ;
 'FINSI' ;
*****************    
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 45b';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DRETYHO)) < DELTA) ;
    ERR1 = ('ABS' (DRETYHON '-' DRETYHO)) ;
 'SINON' ;
    ERR1 = ('ABS' (DRETYHON '-' DRETYHO)) '/' ('ABS' (DRETYHO)) ;
 'FINSI' ;
*****************
 'SI' (ERR1 > ERRTOL) ;
        'MESSAGE' 'Problem 46b';
        'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYH2YHO)) < DELTA) ;
    ERR1 = ('ABS' (DYH2YHON '-' DYH2YHO)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYH2YHON '-' DYH2YHO)) '/' ('ABS' (DYH2YHO)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 47b';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYO2YHO)) < DELTA) ;
    ERR1 = ('ABS' (DYO2YHON '-' DYO2YHO)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYO2YHON '-' DYO2YHO)) '/' ('ABS' (DYO2YHO)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 48b';
      'ERREUR' 5 ;
 'FINSI' ;
**************************************************************
 'SI' (('ABS'(DYHOYHO)) < DELTA) ;
    ERR1 = ('ABS' (DYHOYHON '-' DYHOYHO)) ;
 'SINON' ;  
    ERR1 = ('ABS' (DYHOYHON '-' DYHOYHO)) '/' ('ABS' (DYHOYHO)) ;
 'FINSI' ;
**************************
 'SI' (ERR1 > ERRTOL) ;
      'MESSAGE' 'Problem 49b';
      'ERREUR' 5 ;
 'FINSI' ;
**********************************************************
*****************************************************
*****************************************************
******* TEST3 ***************************************
*****************************************************
*****************************************************
*
* On observe que la variation du residu
* en $DOM9 . 'CENTRE' par rapport à une variation
* infinitésimal en $DOM7 . 'CENTRE' doit etre nulle.
* 

 PCEN7 = 'POIN' 1 ('DOMA' $DOM7 CENTRE) ;

*
* Le jacobien exact. 
*

  DRR = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMDEN NOMDEN ;
  DGXR = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMDEN NOMMOX ;
  DGYR = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMDEN NOMMOY ;
  DRETR = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMDEN NOMRET ;
  DYH2R = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMDEN NOMYH2 ;
  DYO2R = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMDEN NOMYO2 ;
  DYHOR = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMDEN NOMYHO ;
***************************************
  DRGX = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMMOX NOMDEN ;
  DGXGX = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMMOX NOMMOX ;
  DGYGX = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMMOX NOMMOY ;
  DRETGX = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMMOX NOMRET ;
  DYH2GX = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMMOX NOMYH2 ;
  DYO2GX = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMMOX NOMYO2 ;
  DYHOGX = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMMOX NOMYHO ;
***************************************
  DRGY = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMMOY NOMDEN ;
  DGXGY = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMMOY NOMMOX ;
  DGYGY = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMMOY NOMMOY ;
  DRETGY = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMMOY NOMRET ;
  DYH2GY = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMMOY NOMYH2 ;
  DYO2GY = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMMOY NOMYO2 ;
  DYHOGY = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMMOY NOMYHO ;  
***************************************
  DRRET = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMRET NOMDEN ;
  DGXRET = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMRET NOMMOX ;
  DGYRET = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMRET NOMMOY ;
  DRETRET = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMRET NOMRET ;
  DYH2RET = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMRET NOMYH2 ;
  DYO2RET = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMRET NOMYO2 ;
  DYHORET = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMRET NOMYHO ;
***************************************
  DRYH2 = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMYH2 NOMDEN ;
  DGXYH2 = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMYH2 NOMMOX ;
  DGYYH2 = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMYH2 NOMMOY ;
  DRETYH2 = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMYH2 NOMRET ;
  DYH2YH2 = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMYH2 NOMYH2 ;
  DYO2YH2 = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMYH2 NOMYO2 ;
  DYHOYH2 = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMYH2 NOMYHO ;
***************************************
  DRYO2 = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMYO2 NOMDEN ;
  DGXYO2 = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMYO2 NOMMOX ;
  DGYYO2 = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMYO2 NOMMOY ;
  DRETYO2 = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMYO2 NOMRET ;
  DYH2YO2 = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMYO2 NOMYH2 ;
  DYO2YO2 = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMYO2 NOMYO2 ;
  DYHOYO2 = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMYO2 NOMYHO ;
****************************************
  DRYHO = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMYHO NOMDEN ;
  DGXYHO = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMYHO NOMMOX ;
  DGYYHO = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMYHO NOMMOY ;
  DRETYHO = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMYHO NOMRET ;
  DYH2YHO = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMYHO NOMYH2 ;
  DYO2YHO = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMYHO NOMYO2 ;
  DYHOYHO = JAEXAC RMAT $DOMTOT LINCO PCEN7 PCEN9 NOMYHO NOMYHO ;

**********************************************
 'SI' (('MAXIMUM'
    ('PROG'  DRR  DGXR DGYR DRETR
             DYH2R DYO2R DYHOR
             DRGX DGXGX DGYGX DRETGX
             DYH2GX DYO2GX DYHOGX ) 'ABS' )
      > ERRTOL) ;
      'MESSAGE' 'Problem final 1' ;
      'ERREUR' 5 ;
 'FINSI' ;    
*********************************************
 'SI' (('MAXIMUM'
    ('PROG'  DRGY DGXGY DGYGY DRETGY
             DYH2GY DYO2GY DYHOGY
             DRRET DGXRET DGYRET DRETRET
             DYH2RET DYO2RET DYHORET ) 'ABS' )
      > ERRTOL) ;
      'MESSAGE' 'Problem final 2' ;
      'ERREUR' 5 ;
 'FINSI' ;
*********************************************                  
  'SI' (('MAXIMUM'
    ('PROG'  DRYH2 DGXYH2 DGYYH2 DRETYH2
             DYH2YH2 DYO2YH2 DYHOYH2
             DRYO2 DGXYO2 DGYYO2 DRETYO2
             DYH2YO2 DYO2YO2 DYHOYO2 ) 'ABS' )
      > ERRTOL) ;
      'MESSAGE' 'Problem final 3' ;
      'ERREUR' 5 ;
 'FINSI' ;
**********************************************
  'SI' (('MAXIMUM'
    ('PROG'  DRYHO DGXYHO DGYYHO DRETYHO
             DYH2YHO DYO2YHO DYHOYHO ) 'ABS' )
      > ERRTOL) ;
      'MESSAGE' 'Problem final 4' ;
      'ERREUR' 5 ;
 'FINSI' ;
**********************************************

 'FIN' ;

 




 

 

© Cast3M 2003 - All rights reserved.
Disclaimer