Download pentaxi.dgibi

Back to the list

* fichier :  pentaxi.dgibi
************************************************************************
************************************************************************
**** Finite Volume, "Cell-Centred Formulation".                     ****
**** 'MODE' 'AXIS'                                                  ****
**** We check that 3D axis-symmetrical = 2D 'MODE' 'AXIS'           ****
**** Operateur  'PENTE'                                             ****
****                                                                ****
**** A. BECCANTINI, LTMF   FEBRUARY 2004                            ****
************************************************************************
************************************************************************
*
**** Compatibility check
*
 GRAPH = FAUX ;
*
**** Nothing from here
*
 'SI' FAUX ;
* 
**** Till here
*
 'FINSI' ;

*****************************
**** TRI3 *******************
*****************************
*
* Axi
*
 'OPTION' 'DIME' 2 'ELEM' 'TRI3' 'MODE' 'AXIS' ;
*
 P1 = 1.0  2.0  ;
 P2 = 3.11 4.15 ;
 P3 = 2.0  6.0  ;
*
 DX = 0.1 ;
*
 MAIL = 'SURFACE' ((P1 'DROIT' P2 'DINI' DX 'DFIN' DX)
   'ET' (P2 'DROIT' P3 'DINI' DX 'DFIN' DX)  'ET'
   (P3 'DROIT' P1 'DINI' DX 'DFIN' DX)) 'PLAN' ;
 MAILLIM = 'CHANGER' 'POI1' ('CONTOUR' MAIL) ;
 MAILEXT = MAIL 'ELEM' 'APPUY' 'LARGEMENT' MAILLIM ;
 MAILINT = 'DIFF' MAIL MAILEXT ;
*
 MODM  = 'MODELISER' MAIL 'EULER' ;
 TABM  = 'DOMA' MODM 'VF' ;
 QMAIL = TABM . 'QUAF' ;
 MODMI = 'MODELISER' MAILINT 'EULER' ;
 TABMI = 'DOMA' MODMI 'VF' ;
 QMAILI = TABMI . 'QUAF' ;
 'ELIMINATION' QMAILI (DX '/' 10.) QMAIL ;
 'SI' GRAPH ;
    'TRACER' ((QMAILI 'COULEUR' 'VERT') 'ET' QMAIL)
       'TITR' 'Internal mesh' ;
 'FINSI' ;
 MOD2 = 'MODELISER'  (TABM . 'MAILLAGE') 'THERMIQUE' ;  
*
 XX = 'COORDONNEE' 1 (TABM . 'CENTRE') ;
 YY = 'COORDONNEE' 2 (TABM . 'CENTRE') ;
 CHPQUA = (1.11 '*' (XX '*' XX)) '+' (1.13 '*' (XX '*' YY)) '+'
     (0.75 '*' (YY '*' YY)) '+' (0.77 '*' XX) '+' (0.25 '*' YY) '+'
     3.11 ;
 GRAD LIM COEFSCA2 = 'PENT' MODM 'CENTRE' 'EULESCAL' 'NOLIMITE'
     ('MOTS' 'SCAL') CHPQUA  ;
 GRADI = 'REDU' GRAD (TABMI . 'CENTRE') ;
*
 'OPTION' 'DIME' 3 'ELEM' CUB8 ;

* ANGLE in degrees
 LISTTH = 'PROG' 10. 5. 2.5 1.25 ;
 LISTER = 'PROG' ;
 'REPETER' BL1 ('DIME' LISTTH) ;
    TH = 'EXTRAIRE' LISTTH &BL1 ;
    MAI1 = MAIL 'TOURNER' (-0.5 * TH)
       (0.0 0.0 0.0) (0.0 1.0 0.0) ;
    MAI2 = MAIL 'TOURNER' (0.5 * TH)
       (0.0 0.0 0.0) (0.0 1.0 0.0) ;
    MAIL2 = 'VOLU' MAI1 1 MAI2 ;
    MODM2  = 'MODELISER' MAIL2 'EULER' ;
    TABM2  = 'DOMA' MODM2 'VF' ;
    QMAIL2 = 'DOMA' MODM2 'QUAF' ;
    'ELIMINATION' (TABM2 . 'CENTRE')  (DX '/' 5) (TABM . 'CENTRE') ;
    'SI' GRAPH ;
       'TRACER' (0.0 0.0 1.0)
          (MAIL2 'ET' MAIL 'ET' ((TABM . 'CENTRE') 'COUL' 'ROUG')
            'ET' ((TABM2 . 'CENTRE') 'COUL' 'VERT'))
          'TITR' '3D vs 2Daxi' ;
       'FINSI' ;
    GRAD2 LIM2 COEFSCA3 = 'PENT' MODM2 'CENTRE' 'EULESCAL' 'NOLIMITE'
       ('MOTS' 'SCAL') CHPQUA  ;
    GRAD2I = 'REDU' GRAD2 (TABMI . 'CENTRE') ;
    ERRO = 'MAXIMUM' (GRAD2I '-' GRADI) 'ABS' ;
*    ERRO = 'MAXIMUM' (GRAD2 '-' GRAD) 'ABS' ;
    LISTER = LISTER 'ET' ('PROG' ERRO) ;
 'FIN' BL1 ;
*
 'SI' (ERRO > 1.0D-4) ;
    'ERREUR' 'Probleme axi' ;
 'FINSI' ;

 'SI' GRAPH ;
    EVERR = 'EVOL' 'MANU' 'theta °' LISTTH 'Log10(err)'
      (('LOG' LISTER) '/' ('LOG' 10.)) ;
      'DESSIN' EVERR 'TITR' 'Error on gradient' ;
 'FINSI' ;

*****************************
*** BOUNDARY CONDITIONS *****
*****************************
*
* Axi
*
 'OPTION' 'DIME' 2 'ELEM' 'QUA4' 'MODE' 'AXIS' ;
*
 P1 = 1.1  0.2  ;
 P2 = 2.0  0.1  ;
 P3 = 2.9  0.0  ;
 P4 = 3.0  0.8  ;
 P5 = 1.9  0.9  ;
 P6 = 0.8  1.0  ;
*
*
 MAIL = 'SURFACE' (P1 'DROIT' 2 P2 'DROIT' 1 P3 'DROIT' 2 P4 'DROIT' 3
    P5 'DROIT' 2 P6 'DROIT' 1 P1) 'PLAN' ;
 
*
 MODM  = 'MODELISER' MAIL 'EULER' ;
 TABM  = 'DOMA' MODM 'VF' ;
 QMAIL = TABM . 'QUAF' ;
 'SI' GRAPH ;
    'TRACER' QMAIL
       'TITR' 'Boundary conditions' ;
 'FINSI' ;
*
 XX = 'COORDONNEE' 1 (TABM . 'CENTRE') ;
 YY = 'COORDONNEE' 2 (TABM . 'CENTRE') ;
 CHPQUA = (1.11 '*' (XX '*' XX)) '+' (1.13 '*' (XX '*' YY)) '+'
     (0.75 '*' (YY '*' YY)) '+' (0.77 '*' XX) '+' (0.25 '*' YY) '+'
     3.11 ;
 GRAD LIM COEFSCA2 = 'PENT' MODM 'CENTRE' 'EULESCAL' 'NOLIMITE'
     ('MOTS' 'SCAL') CHPQUA  ;
*
 'OPTION' 'DIME' 3 'ELEM' CUB8 ;

* ANGLE in degrees
 LISTTH = 'PROG' 10. 5. 2.5 1.25 ;
 LISTER = 'PROG' ;
 'REPETER' BL1 ('DIME' LISTTH) ;
    TH = 'EXTRAIRE' LISTTH &BL1 ;
    MAI1 = MAIL 'TOURNER' (-0.5 * TH)
       (0.0 0.0 0.0) (0.0 1.0 0.0) ;
    MAI2 = MAIL 'TOURNER' (0.5 * TH)
       (0.0 0.0 0.0) (0.0 1.0 0.0) ;
    MAIL2 = 'VOLU' MAI1 1 MAI2 ;
    MODM2  = 'MODELISER' MAIL2 'EULER' ;
    TABM2  = 'DOMA' MODM2 'VF' ;
    QMAIL2 = 'DOMA' MODM2 'QUAF' ;
    'ELIMINATION' (TABM2 . 'CENTRE')  0.05 (TABM . 'CENTRE') ;
    'SI' GRAPH ;
       'TRACER' (0.0 0.0 1.0)
          (MAIL2 'ET' MAIL 'ET' ((TABM . 'CENTRE') 'COUL' 'ROUG')
            'ET' ((TABM2 . 'CENTRE') 'COUL' 'VERT'))
          'TITR' '3D vs 2Daxi' ;
    'FINSI' ;
    GRAD2 LIM2 COEFSCA3 = 'PENT' MODM2 'CENTRE' 'EULESCAL' 'NOLIMITE'
       ('MOTS' 'SCAL') CHPQUA  ;
    ERRO = 'MAXIMUM' (GRAD2 '-' GRAD) 'ABS' ;
    LISTER = LISTER 'ET' ('PROG' ERRO) ;
 'FIN' BL1 ;
*
 'SI' (ERRO > 1.0D-2) ;
    'ERREUR' 'Probleme axi' ;
 'FINSI' ;

 'SI' GRAPH ;
    EVERR = 'EVOL' 'MANU' 'theta °' LISTTH 'Log10(err)'
      (('LOG' LISTER) '/' ('LOG' 10.)) ;
      'DESSIN' EVERR 'Error on gradient' ;
 'FINSI' ;

*
  
 'FIN' ;
 

© Cast3M 2003 - All rights reserved.
Disclaimer