* 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