* fichier : primtest1.dgibi
***********************************************************
**** APPROCHE VF "Cell-Centred Formulation" pour la ****
**** solution des ****
**** Equations d'Euler pour un gaz parfait ****
**** OPERATEUR PRIM ****
**** Gaz monoespece "calorically perfect" ****
**** ****
**** A. BECCANTINI DRN/DMT/SEMT/TTMF MARS 1998 ****
***********************************************************
'OPTION' 'DIME' 2 ;
'OPTION' 'ELEM' QUA4 ;
'OPTION' 'ECHO' 0 ;
'OPTION' '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 ************
***********************
*
**** CHPOINTs definis sur la meme rapresentation du maillage
*
GAMMA = 'BRUI' 'BLAN' 'UNIF' 1.4 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)
*
GM1 = GAMMA '-' ('MANUEL' 'CHPO' MAI1 1 'SCAL' 1.0) ;
ETHER = PN '/' GM1;
ECIN = (0.5D0 * ('PSCAL' VN VN ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY')))
'*' RN;
EN = ECIN '+' ETHER ;
VITESSE PRES = 'PRIM' 'PERFMONO' RN GN EN GAMMA;
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);
'SI' (('MAXIMUM' ('PROG' ERRGN ERRV ERRP)) '>'
1.0D-12);
'MESSAGE' ('CHAINE' 'Erreur maximum');
'LISTE' ('MAXIMUM' ('PROG' ERRVX ERRVY ERRP));
'ERREUR' 5;
'FINSI' ;
***********************
**** TEST2 ************
***********************
*
**** CHPOINTs definis sur la meme rapresentation du maillage
*
GAMMA = 'BRUI' 'BLAN' 'UNIF' 1.4 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' 'UX' 'UY') ('MOTS' 'SCAL' 'SCAL')
('MOTS' 'UX' 'UY') ;
GN1 = 'COPIER' GN ;
* Composantes de GN1: 'UX', 'UY' ;
*
*** L'energie totale (ROET)
*
GM1 = GAMMA '-' ('MANUEL' 'CHPO' MAI1 1 'SCAL' 1.0) ;
ETHER = PN '/' GM1;
ECIN = (0.5D0 * ('PSCAL' VN VN ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY')))
'*' RN;
EN = ECIN '+' ETHER ;
VITESSE PRES = 'PRIM' 'PERFMONO' RN GN EN GAMMA;
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);
'SI' (('MAXIMUM' ('PROG' ERRGN ERRV ERRP)) '>'
1.0D-12);
'MESSAGE' ('CHAINE' 'Erreur maximum');
'LISTE' ('MAXIMUM' ('PROG' ERRVX ERRVY ERRP));
'ERREUR' 5;
'FINSI' ;
***********************
**** TEST3 ************
***********************
*
**** CHPOINTs definis sur differents rapresentations du meme maillage
*
GAMMA = 'BRUI' 'BLAN' 'UNIF' 1.4 0.3 MAI1 ;
RN = 'BRUI' 'BLAN' 'UNIF' 1.24 0.5 MAI2 ;
PN = 'BRUI' 'BLAN' 'UNIF' 11.24 5.5 MAI3 ;
VNY = ('NOMC' 'UY'
('BRUI' 'BLAN' 'UNIF' 1.24 7.5 MAI4)
'NATU' 'DISCRET') ;
VNX = ('NOMC' 'UX'
('BRUI' 'BLAN' 'UNIF' 0.24 0.5 MAI3)
'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)
*
GM1 = GAMMA '-' ('MANUEL' 'CHPO' MAI1 1 'SCAL' 1.0) ;
ETHER = PN '/' GM1;
ECIN = (0.5D0 * ('PSCAL' VN VN ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY')))
'*' RN;
EN = ECIN '+' ETHER ;
VITESSE PRES = 'PRIM' 'PERFMONO' RN GN EN GAMMA;
* La representation de GN change, mais il est toujours le meme
* Le maillage n'est pas dans le meme ordre
* L'ordre des composantes aussi
*
ERRGN = 'MAXIMUM' (GN1 '-' GN) 'ABS' ;
*
**** L'erreur (pas d'integral pour semplifier le calcul);
*
ERRV = 'MAXIMUM' (VITESSE '-' VN) 'ABS';
VCELL = ('MAXIMUM' VN 'ABS') ;
'SI' (VCELL > 0);
ERRV = ERRV '/' VCELL;
'FINSI' ;
ERRP = ('MAXIMUM' (PRES '-' PN) 'ABS') '/' ('MAXIMUM' PN);
'SI' (('MAXIMUM' ('PROG' ERRGN ERRV ERRP)) '>'
1.0D-12);
'MESSAGE' ('CHAINE' 'Erreur maximum');
'LISTE' ('MAXIMUM' ('PROG' ERRVX ERRVY ERRP));
'ERREUR' 5;
'FINSI' ;
*
***********************
**** TEST4 ************
***********************
*
**** CHPOINTs definis sur differents rapresentations du meme maillage
*
GAMMA = 'BRUI' 'BLAN' 'UNIF' 1.4 0.3 MAI1 ;
RN = 'BRUI' 'BLAN' 'UNIF' 1.24 0.5 MAI2 ;
PN = 'BRUI' 'BLAN' 'UNIF' 11.24 5.5 MAI3 ;
VNY = ('NOMC' 'UY'
('BRUI' 'BLAN' 'UNIF' 1.24 7.5 MAI4)
'NATU' 'DISCRET') ;
VNX = ('NOMC' 'UX'
('BRUI' 'BLAN' 'UNIF' 0.24 0.5 MAI3)
'NATU' 'DISCRET') ;
VN = VNX 'ET' VNY ;
*
*** La quantité de mouvement
*
GN = VN '*' RN ('MOTS' 'UX' 'UY') ('MOTS' 'SCAL' 'SCAL')
('MOTS' 'UX' 'UY') ;
GN1 = 'COPIER' GN ;
* Composantes de GN1: 'UX', 'UY' ;
*
*** L'energie totale (ROET)
*
GM1 = GAMMA '-' ('MANUEL' 'CHPO' MAI1 1 'SCAL' 1.0) ;
ETHER = PN '/' GM1;
ECIN = (0.5D0 * ('PSCAL' VN VN ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY')))
'*' RN;
EN = ECIN '+' ETHER ;
VITESSE PRES = 'PRIM' 'PERFMONO' RN GN EN GAMMA;
* La representation de GN change, mais il est toujours le meme
* Le maillage n'est pas dans le meme ordre
*
ERRGN = 'MAXIMUM' (GN1 '-' GN) 'ABS' ;
*
**** L'erreur (pas d'integral pour semplifier le calcul);
*
ERRV = 'MAXIMUM' (VITESSE '-' VN) 'ABS';
VCELL = ('MAXIMUM' VN 'ABS') ;
'SI' (VCELL > 0);
ERRV = ERRV '/' VCELL;
'FINSI' ;
ERRP = ('MAXIMUM' (PRES '-' PN) 'ABS') '/' ('MAXIMUM' PN);
'SI' (('MAXIMUM' ('PROG' ERRGN ERRV ERRP)) '>'
1.0D-12);
'MESSAGE' ('CHAINE' 'Erreur maximum');
'LISTE' ('MAXIMUM' ('PROG' ERRVX ERRVY ERRP));
'ERREUR' 5;
'FINSI' ;
*
'FIN' ;
© Cast3M 2003 - All rights reserved.
Disclaimer