* fichier : prim_gfm.gdibi
***********************************************************
**** APPROCHE VF "Cell-Centred Formulation" pour la ****
**** solution des ****
**** Equations d'Euler, GFMP ****
**** OPERATEUR 'PRIM', GFMP ****
**** Stiffened gas ****
**** ****
**** A. BECCANTINI DRN/DMT/SEMT/TTMF MAI 2011 ****
***********************************************************
*
'OPTION' 'DIME' 2
'ELEM' QUA4 'ECHO' 1
'TRAC' 'PS';
*
**** GRAPH
*
GRAPH = FAUX ;
* GRAPH = VRAI ;
***************************
***** 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;
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) ;
***********************
**** TEST1 ************
***********************
TABG = 'TABLE' ;
TABG . 'ESPEULE' = 'MOTS' ;
TABG . 'ESPNEULE' = 'ESP1' ;
GAMMA1 = 1.4 ;
GAMMA2 = 2.8 ;
PINF1 = 1.0 ;
PINF2 = 5.0 ;
TABG . 'MGAM' = 'PROG' GAMMA1 ;
TABG . 'PGAM' = 'PROG' GAMMA2 ;
TABG . 'MPIN' = 'PROG' PINF1 ;
TABG . 'PPIN' = 'PROG' PINF2 ;
*
**** CHPOINTs definis sur la meme rapresentation du maillage
*
PHI = 'BRUI' 'BLAN' 'UNIF' 0.0 0.3 MAI1 ;
RN = 'BRUI' 'BLAN' 'UNIF' 1.24 0.5 MAI1 ;
PN = 'BRUI' 'BLAN' 'UNIF' 11.24 5.5 MAI1 ;
VNY = ('NOMC' 'UY'
('BRUI' 'BLAN' 'UNIF' 1.24 7.5 MAI1)
'NATU' 'DISCRET') ;
VNX = ('NOMC' 'UX'
('BRUI' 'BLAN' 'UNIF' 0.24 0.5 MAI1)
'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 ;
* Composantes de GN1: 'UY', 'UX' ;
*
*** L'energie totale (ROET)
*
GM11 = (gamma1 - 1.) * (MASQ PHI 'EGINFE' 0.0) ;
GP1 = (gamma1 * pinf1) * (MASQ PHI 'EGINFE' 0.0) ;
GM12 = (gamma2 - 1.) * (MASQ PHI 'SUPERIEUR' 0.0) ;
GP2 = (gamma2 * pinf2) * (MASQ PHI 'SUPERIEUR' 0.0) ;
GM1 = GM11 + GM12 ;
GP = GP1 + GP2 ;
ETHER = (PN + GP) '/' GM1;
ECIN = (0.5D0 * ('PSCAL' VN VN ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY')))
'*' RN;
EN = ECIN '+' ETHER ;
VITESSE PRES = 'PRIM' 'GFMP' TABG PHI RN GN EN ;
ERRGN = 'MAXIMUM' (GN1 '-' GN) 'ABS' ;
ERRV = 'MAXIMUM' (VITESSE '-' VN) 'ABS';
VCELL = ('MAXIMUM' VN 'ABS') ;
'SI' (VCELL > 0);
ERRV = ERRV '/' VCELL;
'FINSI' ;
ERRP = ('MAXIMUM' (PRES '-' PN) 'ABS') '/' ('MAXIMUM' PN);
ERRO = 'MAXIMUM' ('PROG' ERRGN ERRV ERRP) ;
'SI' (ERRO '>'
1.0D-12);
'MESSAGE' ('CHAINE' 'Erreur maximum');
'LISTE' ('MAXIMUM' ('PROG' ERRVX ERRVY ERRP));
'ERREUR' 5;
'FINSI' ;
***********************
**** TEST2 ************
***********************
TABG = 'TABLE' ;
TABG . 'ESPEULE' = 'MOTS' 'ESP2' ;
TABG . 'ESPNEULE' = 'ESP1' ;
GAMMA1 = 1.4 ;
GAMMA2 = 2.8 ;
PINF1 = 1.0 ;
PINF2 = 5.0 ;
TABG . 'MGAM' = 'PROG' GAMMA1 GAMMA1 ;
TABG . 'PGAM' = 'PROG' GAMMA2 GAMMA2 ;
TABG . 'MPIN' = 'PROG' PINF1 PINF1 ;
TABG . 'PPIN' = 'PROG' PINF2 PINF2 ;
YN = (RN * 0.0) '+' 0.1 ;
YN = 'NOMC' YN 'ESP2' ;
RYN = RN * YN ;
ALN = YN * 0.3 ;
VITESSE1 PRES1 YN1 = 'PRIM' 'GFMP' TABG PHI RN GN EN
RYN ALN ;
ERRV = 'MAXIMUM' (VITESSE '-' VITESSE1) 'ABS';
VCELL = ('MAXIMUM' VN 'ABS') ;
'SI' (VCELL > 0);
ERRV = ERRV '/' VCELL;
'FINSI' ;
ERRP = ('MAXIMUM' (PRES '-' PRES1) 'ABS') '/' ('MAXIMUM' PN);
ERRY = ('MAXIMUM' (YN '-' YN1) 'ABS') ;
ERRO = 'MAXIMUM' ('PROG' ERRY ERRV ERRP) ;
'SI' (ERRO '>'
1.0D-12);
'MESSAGE' ('CHAINE' 'Erreur maximum');
'LISTE' (('PROG' ERRY ERRV ERRP));
'ERREUR' 5;
'FINSI' ;
'FIN' ;
© Cast3M 2003 - All rights reserved.
Disclaimer