Download primtest1_3D.dgibi

Back to the list

* fichier :  primtest1_3D.dgibi
***********************************************************
**** APPROCHE VF "Cell-Centred Formulation" pour la    ****
**** solution des                                      **** 
**** Equations d'Euler pour un gaz parfait             ****
**** OPERATEUR  PRIM                                   ****
**** Gaz monoespece "calorically perfect"              ****
**** Cas 3D                                            ****
****                                                   ****
**** A. BECCANTINI DRN/DMT/SEMT/TTMF    JANVIER 1999   ****
***********************************************************


'OPTION'  'DIME' 3 ;
'OPTION'  'ELEM' CUB8 ;
'OPTION'  'ECHO'  0 ;
'OPTION'  'TRAC' 'X';

*
**** GRAPH
*

GRAPH = FAUX ;
* GRAPH = VRAI ;


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

************ 
* MAILLAGE *
************

NX =  10 ;
NY =  2  ;
NZ =  2 ;

L  = 1.0D0  ;
DX = L '/' NX '/' 2.0D0 ;
H  = NY '*' DX  ;
P  = NZ '*' DX ;
xD =  0.5D0 '*' L ;
xG = -1.0D0 '*' xD  ;
yH =  0.5D0 '*' H   ;
yB =  -1.0D0 '*' yH ;
zV = 0.5D0 '*' P    ;
zR = -1.0D0 '*' zV  ;

A1 = xG yB zR ;
A2 = 0.0D0 yB zR ;
A7 = xG yB  zV ;
A8 = 0.0D0 yB  zV ;


BAS1  = A1 'DROI' NX A2 ;
BAS3  = A7 'DROI' NX A8 ;
BAS5  = A1 'DROI' NZ A7 ;
BAS6  = A2 'DROI' NZ A8 ;


S11 = 'DALL' BAS3 BAS6 BAS1 BAS5 ;


DOM1   = S11 'VOLU' NZ 'TRANS' (0.0 H 0.0) ;
DOM2   = S11 'VOLU' NZ 'TRANS' (0.0 (-1.0*H) 0.0) ;


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

$DOMTOT = 'DOMA' DOMTOT ;
$DOM1   = 'DOMA' DOM1    'INCL' $DOMTOT ;
$DOM2   = 'DOMA' DOM2    'INCL' $DOMTOT ;

'SI' GRAPH ;
   'TRACER' ($DOMTOT . 'MAILLAGE' ) 'TITRE' 'Maillage';
'FINSI' ;

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

GAMMA = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' 1.4D0;

RN1   = 'KCHT' $DOM1   'SCAL' 'CENTRE' 1.9D0;
RN2   = 'KCHT' $DOM2   'SCAL' 'CENTRE' 2.9D0;
RN    = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' (RN1 'ET' RN2);

GN1   = 'KCHT' $DOM1   'VECT' 'CENTRE' (4.9D0 7.9D0 11.7);
GN2   = 'KCHT' $DOM2   'VECT' 'CENTRE' (0.9D0 11.7D0 13.2);
GN    = 'KCHT' $DOMTOT 'VECT' 'CENTRE' (GN1 'ET' GN2);

PN1   = 'KCHT' $DOM1   'SCAL' 'CENTRE' 1.19D2;
PN2   = 'KCHT' $DOM2   'SCAL' 'CENTRE' 2.92D3;
PN    = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' (PN1 'ET' PN2);

*
*** La vitesse
*

VITX = ('EXCO' 'UX  ' GN) '/' RN;
VITY = ('EXCO' 'UY  ' GN) '/' RN;
VITZ = ('EXCO' 'UZ  ' GN) '/' RN;

*
*** L'energie totale (ROET)
*


GM1 = GAMMA '-' ('KCHT' $DOMTOT 'SCAL' 'CENTRE' 1.0D0);
ETHER = PN '/' GM1;
ECIN = (0.5D0 * ('KOPS' GN 'PSCA' GN )) '/' RN;
EN = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' (ECIN '+' ETHER);


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

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


*
**** L'erreur (pas d'integral pour semplifier le calcul);
*

VIT1X = 'EXCO' 'UX  ' VITESSE;
VIT1Y = 'EXCO' 'UY  ' VITESSE;
VIT1Z = 'EXCO' 'UZ  ' VITESSE;
ERRVX = 'MAXIMUM' (VIT1X '-' VITX) 'ABS';
ERRVY = 'MAXIMUM' (VIT1Y '-' VITY) 'ABS';
ERRVZ = 'MAXIMUM' (VIT1Z '-' VITZ) 'ABS';
VCELL = ('MAXIMUM' VITX 'ABS') '+'
        ('MAXIMUM' VITY 'ABS' )'+'
        ('MAXIMUM' VITZ 'ABS' );
'SI' (VCELL > 0);
   ERRVX = ERRVX '/' VCELL;
   ERRVY = ERRVY '/' VCELL;
   ERRVZ = ERRVZ '/' VCELL;
'FINSI'  ;        

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



'SI' (('MAXIMUM' ('PROG' ERRVX ERRVY ERRVZ ERRP)) '>'
          1.0D-12);
     'MESSAGE' ('CHAINE' 'Erreur maximum');
     'LISTE' ('MAXIMUM' ('PROG' ERRVX ERRVY ERRVZ ERRP));
    'ERREUR'  5;
'FINSI' ;

'FIN' ;



 

© Cast3M 2003 - All rights reserved.
Disclaimer