Download primtest3.dgibi

Back to the list

* fichier :  primtest3.dgibi
***********************************************************
**** APPROCHE VF "Cell-Centred Formulation" pour la    ****
**** solution des                                      **** 
**** Equations d'Euler pour un gaz parfait             ****
**** OPERATEUR  PRIM                                   ****
**** Cas: gaz multiespece "calorically perfect"        ****
****                                                   ****
**** A. BECCANTINI DRN/DMT/SEMT/TTMF    MARS  1998     ****
***********************************************************

 'OPTION'  'DIME' 2 ;
 'OPTION'  'ELEM' QUA4 ;
 'OPTION'  'ECHO'  0;
 'OPTION'  'TRAC' 'PS' ;

*
*** GRAPHIQUES
*

* GRAPH = VRAI ;
 GRAPH = FAUX ;


*************************** 
***** DOMAINE SPATIAL  ****
***************************

 A1 = 0.0D0 0.0D0;
 A2 = 2.0D0 0.0D0;
 A3 = 3.0D0 0.0D0;
 A4 = 4.0D0 1.0D0;
 A5 = 1.0D0 1.0D0;
 A6 = 0.0D0 1.0D0;
 A7 = 7.0D0 8.0D0 ;

 MAI1 = ('MANUEL' 'POI1' A1) 'ET'
        ('MANUEL' 'POI1' A2) 'ET'
        ('MANUEL' 'POI1' A3) 'ET'
        ('MANUEL' 'POI1' A4) 'ET'
        ('MANUEL' 'POI1' A5) 'ET'
        ('MANUEL' 'POI1' A6) ;
*        

 MAI2 = ('MANUEL' 'POI1' A2) 'ET'
        ('MANUEL' 'POI1' A1) 'ET'
        ('MANUEL' 'POI1' A3) 'ET'
        ('MANUEL' 'POI1' A4) 'ET'
        ('MANUEL' 'POI1' A5) 'ET'
        ('MANUEL' 'POI1' A6) ;
*
 MAI3 = ('MANUEL' 'POI1' A3) 'ET'
        ('MANUEL' 'POI1' A2) 'ET'
        ('MANUEL' 'POI1' A1) 'ET'
        ('MANUEL' 'POI1' A4) 'ET'
        ('MANUEL' 'POI1' A5) 'ET'
        ('MANUEL' 'POI1' A6) ;
*
 MAI4 = ('MANUEL' 'POI1' A4) 'ET'
        ('MANUEL' 'POI1' A3) 'ET'
        ('MANUEL' 'POI1' A2) 'ET'
        ('MANUEL' 'POI1' A1) 'ET'
        ('MANUEL' 'POI1' A5) 'ET'
        ('MANUEL' 'POI1' A6) ; 


************************
**** MODELE DU GAZ  ****
************************

 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  ****
***********************

 GAMMA = 'BRUI' 'BLAN' 'UNIF' 1.4 0.3  MAI1 ;

 RN    = 'BRUI' 'BLAN' 'UNIF' 1.24 0.5  MAI1 ;
 PN    = 'BRUI' 'BLAN' 'UNIF' 11.24 5.5  MAI2 ;
 VNY   = ('NOMC' 'UY'
        ('BRUI' 'BLAN' 'UNIF' 1.24 7.5  MAI3)
        'NATU' 'DISCRET') ; 
 VNX   = ('NOMC' 'UX'
        ('BRUI' 'BLAN' 'UNIF' 0.24 0.5  MAI4)
        'NATU' 'DISCRET') ;
 VN    = VNX 'ET' VNY ;

*
*** La quantité de mouvement
*

 GN =  VN '*' RN  ('MOTS' 'UY' 'UX') ('MOTS' 'SCAL' 'SCAL')
      ('MOTS' 'UY' 'UX') ;
 GN1 = 'COPIER' GN ;


*
**** Les fractions massiques YN et les masses RYN
*
*    N.B. YN n'as pas le meme supporte geometrique
*         que RN, PN; en general la numerotation
*         des noeuds est differente, mais ce n'est
*         pas grave!
*

 YN = ('NOMC' 'H2O ' ('BRUI' 'BLAN' 'UNIF' 0.15 0.1  MAI2)
       'NATU' 'DISCRET') 'ET'
      ('NOMC' 'O2  ' ('BRUI' 'BLAN' 'UNIF' 0.17 0.08 MAI1)
       'NATU' 'DISCRET') 'ET'
      ('NOMC' 'H2  ' ('BRUI' 'BLAN' 'UNIF' 0.11 0.08 MAI3)
       'NATU' 'DISCRET') ;

 
 UNCH =  'MANUEL' 'CHPO' MAI1 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') ;
 RYN1 = 'COPIER' RYN ;


 CV = ('MANUEL' 'CHPO' MAI1 1 'H2' (PGAS . 'CV' . 'H2  ')
       'NATU' 'DISCRET') 'ET' 
      ('MANUEL' 'CHPO' MAI1 1 'O2' (PGAS . 'CV' . 'O2  ')
       'NATU' 'DISCRET') 'ET'
       ('MANUEL' 'CHPO' MAI1 1 'H2O' (PGAS . 'CV' . 'H2O ')
       'NATU' 'DISCRET') 'ET'
       ('MANUEL' 'CHPO' MAI1 1 'N2' (PGAS . 'CV' . 'N2  ')
       'NATU' 'DISCRET') ; 
 
 CP = ('MANUEL' 'CHPO' MAI1 1 'H2' (PGAS . 'CP' . 'H2  ')
       'NATU' 'DISCRET') 'ET' 
      ('MANUEL' 'CHPO' MAI1 1 'O2' (PGAS . 'CP' . 'O2  ')
       'NATU' 'DISCRET') 'ET'
       ('MANUEL' 'CHPO' MAI1 1 'H2O' (PGAS . 'CP' . 'H2O ')
       'NATU' 'DISCRET') 'ET'
       ('MANUEL' 'CHPO' MAI1 1 'N2' (PGAS . 'CP' . 'N2  ')
       'NATU' 'DISCRET') ;

 LMOT1 = (PGAS . 'ESPEULE') 'ET' ('MOTS' (PGAS . 'ESPNEULE')) ;
 CVTOT = 'PSCAL' YNTOT CV LMOT1 LMOT1 ;
 CPTOT = 'PSCAL' YNTOT CP LMOT1 LMOT1 ;
 GAMN = CPTOT '/' CVTOT ;


 GM1 = GAMN '-' UNCH ;
 ETHER = PN '/' GM1;
 ECIN = 0.5D0 '*' RN '*' ('PSCAL' VN VN ('MOTS' 'UX' 'UY')
        ('MOTS' 'UX' 'UY')) ;
 EN =  ECIN '+' ETHER ;
 TN = ETHER '/' (CVTOT '*' RN) ;


************************
****  L'operateur  *****
************************

 VITESSE PRES TEMPNEW YNNEW GAMNEW
       = 'PRIM' 'PERFMULT' PGAS RN GN EN RYN ;

 ERRGN = 'MAXIMUM' (GN1 '-' GN) 'ABS' ;
 VCELL = ('MAXIMUM' GN 'ABS') ; 
 'SI' (VCELL > 0);
    ERRGN = ERRGN '/' VCELL;
 'FINSI'  ;        
 
 ERRV = 'MAXIMUM' (VITESSE '-' VN) 'ABS' ;
 VCELL = ('MAXIMUM' VN 'ABS') ; 
 'SI' (VCELL > 0);
    ERRV = ERRV '/' VCELL;
 'FINSI'  ;        

 ERRP  = ('MAXIMUM' (PRES '-' PN) 'ABS') '/' ('MAXIMUM' PN);

 ERRT  = ('MAXIMUM' (TEMPNEW '-' TN) 'ABS') '/'
         ('MAXIMUM' TN) ;
         
 ERRG = ('MAXIMUM' (GAMN '-' GAMNEW) 'ABS') '/'
       ('MAXIMUM' GAMN) ;    

 ERRY = 'MAXIMUM' (YNNEW '-' YN) 'ABS' ;

 'SI' (('MAXIMUM' ('PROG' ERRGN ERRV ERRP ERRT ERRG ERRY ) '>'
          1.0D-12));
     'MESSAGE' ('CHAINE' 'Erreur maximum');
     'LISTE' ('MAXIMUM' ('PROG' ERRVX ERRVY ERRP ERRT ERRG ERRY
     ));
    'ERREUR'  5;
 'FINSI' ;

 'FIN' ;



 

 

© Cast3M 2003 - All rights reserved.
Disclaimer