Télécharger primtest3_3D.dgibi
* fichier : primtest3_3D.dgibi *********************************************************** **** APPROCHE VF "Cell-Centred Formulation" pour la **** **** solution des **** **** Equations d'Euler pour un gaz parfait **** **** OPERATEUR PRIM **** **** Cas: gaz multiespece "calorically perfect" **** **** Cas 3D **** **** **** **** A. BECCANTINI DRN/DMT/SEMT/TTMF MARS 1998 **** *********************************************************** 'OPTION' 'ELEM' CUB8 ; 'OPTION' 'ECHO' 0; 'OPTION' 'TRAC' 'X' ; * *** GRAPHIQUES * * GRAPH = VRAI ; GRAPH = FAUX ; ************ * 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 ; DOMTOT = DOM1 ET DOM2; 'ELIMINATION' DOMTOT 1D-6; 'SI' GRAPH; 'TRACER' ($DOMTOT . 'MAILLAGE' ) 'TITRE' 'Maillage'; 'FINSI' ; ************************ **** MODELE DU GAZ **** ************************ NESP = 4; * *** GAS: H_2, O_2, H_2O, N_2 * * CP, CV en J/Kg/K @ T = 3000 * PGAS = 'TABLE' ; PGAS . 'CP' = 'TABLE' ; PGAS . 'CP' . 'H2 ' = .18729066D+05 ; PGAS . 'CP' . 'O2 ' = .11886820D+04 ; PGAS . 'CP' . 'H2O ' = .31209047D+04 ; PGAS . 'CP' . 'N2 ' = .12993995D+04 ; PGAS . 'CV' = 'TABLE' ; PGAS . 'CV' . 'H2 ' = .14571861D+05 ; PGAS . 'CV' . 'O2 ' = .92885670D+03 ; PGAS . 'CV' . 'H2O ' = .26589930D+04 ; PGAS . 'CV' . 'N2 ' = .10024563D+04; * **** Especes qui sont dans les equations d'Euler * * **** Espece qui n'y est pas * PGAS . 'ESPNEULE' = 'N2 '; * *********************** **** Les CHPOINTs **** *********************** * **** Les fractions massiques YN 'ET' les masses RYN * * N.B. YN n'as pas le meme supporte geometrique * que RN, PN; en general la numerotation * des noeuds est diferente, mais ce n'est * pas grave: 'PRIM' change les masse des * especes RYN dans la subroutine QUEPOI!!! * YTOT = Y1 '+' Y2 '+' Y3 ; YND1 = YH2 'ET' YO2 'ET' YH2O 'ET' YN2; RYND1 = RY2 'ET' RY3 'ET' RY1; YTOT = Y1 '+' Y2 '+' Y3 ; YND2 = YH2 'ET' YO2 'ET' YH2O 'ET' YN2; RYND2 = RY3 'ET' RY2 'ET' RY1; YN = YND1 'ET' YND2; RYN = RYND1 'ET' RYND2 ; * **** Control de la Table PGAS * * **** La vitesse * * **** Les GAMMAs * NOMCEL = 'EXTRAIRE' NOMCOM &BL1; CPCEL = (PGAS . 'CP' . NOMCEL); CVCEL = (PGAS . 'CV' . NOMCEL); CPTOT = CPTOT '+' (YCEL * CPCEL); CVTOT = CVTOT '+' (YCEL * CVCEL); 'FIN' BL1; GAMMA = CPTOT '/' CVTOT; RGAS = (CPTOT '-' CVTOT); * *** L'energie totale (ROET) et la temperature * ETHER = PN '/' GM1; TEMPE = (PN '/' RN) '/' RGAS; ************************ **** L'operateur ***** ************************ VITESSE PRES TEMPNEW YNNEW GAMNEW * **** L'erreur (pas d'integral pour semplifier le calcul); * 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' ; ERRT = ('MAXIMUM' (TEMPNEW '-' TEMPE) 'ABS') '/' ('MAXIMUM' TEMPE) ; ERRG = ('MAXIMUM' (GAMMA '-' GAMNEW) 'ABS') '/' ('MAXIMUM' GAMMA); ERRY = 0.0D0 ; 'REPETER' BL1 NCOMP ; NOMCEL = 'EXTRAIRE' LCOMP &BL1 ; ERRY = ERRY '+' ('MAXIMUM' (YN1 '-' YN2) 'ABS') ; 'FINSI' ; ERRY = ERRY '/' NCOMP; 1.0D-12)); 'MESSAGE' ('CHAINE' 'Erreur maximum'); )); 'ERREUR' 5; 'FINSI' ; 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales