Download pret_wall.dgibi

Back to the list

* fichier :  pret_wall.dgibi
*********************************************************************
**** APPROCHE VF "Cell-Centred Formulation" pour la solution des **** 
**** Equations d'Euler pour un gaz parfait                       ****
**** OPERATEURS PRIM et  PRET                                    ****
**** Gaz monoespece  "calorically perfect"                       ****
**** Etat mur                                                    ****
****                                                             ****
**** A. BECCANTINI DRN/DMT/SEMT/TTMF    NOVEMBRE  1998           ****
*********************************************************************

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

GRAPH = FAUX ;
* GRAPH = VRAI ;

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


A1 = 0.0D0 0.0D0;
A2 = 1.0D0 0.0D0;
A3 = 1.0D0 1.0D0;
A4 = 0.0D0 1.0D0;

L12 = A1 'DROIT' 1 A2 ;
L23 = A2 'DROIT' 1 A3 ;
L34 = A3 'DROIT' 1 A4 ;
L41 = A4 'DROIT' 1 A1 ;

DOM10 = 'DALL' L12 L23 L34 L41  'PLANE';

*
*** Point ou on controlle l'etat 
*

P10 = 1.0 0.5 ;

*
*** Etat centre
*

ro     = 1.0D0 ;
un     = 1.0D0 ;
ut     = 10.0D0 ;
p      = 1.0D0 ;
gam    = 1.4D0 ;

roet = (p '/' (gam '-' 1.0)) '+'
      ( 0.5 '*' ro '*' ((un '*' un) '+' (ut '*' ut))) ;
      

****************************************************
****************************************************
******** Boucle sur les angles             *********
****************************************************
****************************************************

DANGLE = 360 '/' 7.15;
ANGLE = 11.3 ;

'REPETER' BLOC 8;

*
*** Rotation
*

ANGLE = ANGLE '+' DANGLE;
ORIG = 0.0D0 0.0D0;

MESSAGE;
MESSAGE (CHAIN 'Angle de rotation= ' ANGLE);
MESSAGE;

DOM1   = DOM10   'TOURNER' ANGLE ORIG;
P1     = P10     'TOURNER' ANGLE ORIG;

   DOMTOT = DOM1;
'ELIMINATION' DOMTOT 1D-6;


 $DOMTOT = 'MODELISER' DOMTOT 'EULER';
 TDOMTOT = 'DOMA'  $DOMTOT 'VF';
 MDOMTOT = TDOMTOT . 'QUAF' ;

'SI' GRAPH ;
   'TRACER' (('DOMA' $DOMTOT 'MAILLAGE') 'ET' ('DOMA' $DOMTOT 'FACEL')
   'ET' P1) 'TITRE' 'Domaine et FACEL';
'FINSI' ;


*
**** Redefinition de P1 dans $DOMTOT 'FACE'
*

P1 = ('DOMA' $DOMTOT 'FACE') 'POIN' 'PROC' P1;

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

ux = (un '*' ('COS' ANGLE)) '-' (ut '*' ('SIN' ANGLE));
uy = (un '*' ('SIN' ANGLE)) '+' (ut '*' ('COS' ANGLE));

GAMMA = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' gam ;

RN    = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' ro ;
GN    = 'KCHT' $DOMTOT 'VECT' 'CENTRE' ((ro '*' ux) (ro '*' uy));
EN    = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' roet ;


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

VITESSE PRES   = 'PRIM' 'PERFMONO'  RN GN EN GAMMA;

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

ORDESP = 1;
ORDTEM = 1;

ROF VITF PF GAMF   =  'PRET' 'PERFMONO'  ORDESP ORDTEM
    $DOMTOT RN VITESSE PRES GAMMA;

*********************************************************
*** Control des etats sur la surface qui contient P1 ****
*********************************************************

GEOP1    = ('DOMA' $DOMTOT 'FACEL') 'ELEM' 'CONTENANT' P1;
GEOP2    = ('DOMA' $DOMTOT 'FACE')  'ELEM' 'CONTENANT' P1;


ROGEOP1  = 'REDU' ROF GEOP1;
VGEOP1   = 'REDU' VITF GEOP1;
PGEOP1   = 'REDU' PF GEOP1;
GAMGEOP1 = 'REDU' GAMF GEOP1;
REFGEOP1 = 'REDU' VITF GEOP2;


rog = 'EXTRAIRE' ROGEOP1 'SCAL' 1 1 1;
rod = 'EXTRAIRE' ROGEOP1 'SCAL' 1 1 3;
ung = 'EXTRAIRE' VGEOP1 'UN  ' 1 1 1;
und = 'EXTRAIRE' VGEOP1 'UN  ' 1 1 3;
utg = 'EXTRAIRE' VGEOP1 'UT  ' 1 1 1;
utd = 'EXTRAIRE' VGEOP1 'UT  ' 1 1 3;
pg = 'EXTRAIRE' PGEOP1 'SCAL' 1 1 1;
pd = 'EXTRAIRE' PGEOP1 'SCAL' 1 1 3;


*
**** Sur le mur: Gauche = etat reel
*                Droit =  etat mirroir
*

LOG1 = ('ABS' (rog '-' ro)) > 1.0D-12 ;
LOG1 = 'OU' LOG1 (('ABS' (rod '-' ro)) > 1.0D-12) ;
LOG1 = 'OU' LOG1 (('ABS' (un '-' ung)) > 1.0D-12) ;
LOG1 = 'OU' LOG1 (('ABS' (un '+' und)) > 1.0D-12) ;
LOG1 = 'OU' LOG1 (('ABS' (ut '-' utg)) > 1.0D-12) ;
LOG1 = 'OU' LOG1 (('ABS' (ut '-' utd)) > 1.0D-12) ;
LOG1 = 'OU' LOG1 (('ABS' (p '-' pg)) > 1.0D-12) ;
LOG1 = 'OU' LOG1 (('ABS' (p '-' pd)) > 1.0D-12) ;

'SI' LOG1 ;
   'MESSAGE' ;
   'MESSAGE' 'Probleme en PRET ou en PRIM ' ;
   'MESSAGE' ;
   'ERREUR' 5;
'FINSI' ;

'FIN' BLOC ;

'FIN' ;
 

 

 

 

© Cast3M 2003 - All rights reserved.
Disclaimer