1 : C FLUXV2 SOURCE CHAT 05/01/13 00:05:19 5004 2 : SUBROUTINE FLUXV2(NESP, 3 : & GAMG,ROG,PG,UNG,UTG,UVG, 4 : & GAMD,ROD,PD,UND,UTD,UVD, 5 : & YG,YD,FLU1,FLU2, 6 : & CELLT) 7 : C************************************************************************ 8 : C 9 : C PROJET : CASTEM 2000 10 : C 11 : C NOM : FLUXVL 12 : C 13 : C DESCRIPTION : Formulation Volumes Finis pour les Equations 14 : C d'Euler Multi-Especes relatives à un melange 14 : C de gaz "calorically perfect". 15 : C 16 : C Calcul du flux aux interfaces avec la methode 17 : C "Flux Vector Splitting" de van Leer. 18 : C 19 : C (voir: 20 : C 1) BECCANTINI, PAILLERE, 21 : C "Upwind Flux Splitting Schemes..." 22 : C RAPPORT DMT 97//268 23 : C 2) B. VAN LEER 24 : C "Flux Vector Splittings for the 1990's" 25 : C 1990. Invited Lecture, NASA Lewis Research 26 : C Center 27 : C 3) B. VAN LEER 28 : C "Flux Vector Splitting for the Euler 29 : C Equations" 30 : C Report ICASE No. 82-30, 1982 ) 31 : C 32 : C LANGAGE : FORTRAN 77 33 : C 34 : C AUTEUR : A. BECCANTINI DRN/DMT/SEMT/TTMF 35 : C 36 : C************************************************************************ 37 : C 38 : C APPELES 39 : C 40 : C FLUXVL ------ FLUPVL 41 : C | 42 : C --------- FLUMVL 43 : C 44 : C 45 : C************************************************************************ 46 : C 47 : C**** Entrées: 48 : C 49 : C NESP = nombre d'especes considérées dans les Equations 50 : C d'Euler 51 : C 52 : C GAMG, GAMD = les "gamma" du gaz (gauche et droite) 53 : C 54 : C ROG, ROD = les densités 55 : C 56 : C PG, PD = les pressions 57 : C 58 : C UNG, UND = vitesses normales 59 : C 60 : C UTG, UTD = vitesses tangentielles 61 : C 62 : C YG, YD = tables des fractiones massiques 63 : C 64 : C**** Sorties: 65 : C 66 : C FLU1 = table du flux a l'interface dans le repaire 67 : C (n,t), i.e. 68 : C (rho*un, rho*un*un + p, rho*un*ut, rho*un*ht, 69 : C rho*un*y1, ...) 70 : C 71 : C FLU2 = table de travail, utilizé ici mais definie 72 : C avant 73 : C 74 : C CELLT = condition de stabilité, i.e. 75 : C 76 : C dT/diamax < cellt 77 : C 78 : C************************************************************************ 79 : C 80 : C HISTORIQUE (Anomalies et modifications éventuelles) 81 : C 82 : C HISTORIQUE : Créé le 6.1.98 83 : C 84 : C************************************************************************ 85 : C 86 : C N.B.: Toutes les variables sont DECLAREES 87 : C 88 : C 89 : IMPLICIT INTEGER(I-N) 90 : INTEGER NESP, I1 91 : REAL*8 GAMG,ROG,PG 92 : & ,GAMD,ROD,PD 93 : & ,GM1G,AG2,AG,UNG,UTG,UVG,MG,HTG 94 : & ,GM1D,AD2,AD,UND,UTD,UVD,MD,HTD 95 : & ,CELLT,CELLT0,AMG,AMD 96 : & ,YG(*),YD(*),FLU1(*),FLU2(*) 97 : C 98 : C 99 : C**** YG, YD, FLU1, FLU2 déjà definis avant 100 : C 101 : C Dans le cas Euler monoespece, on doit 102 : C avoir : 103 : C YG(1) = YD(1) = 0.0D0 104 : C 105 : C 106 : C**** Onde de "gauche" a "droite" 107 : C 108 : C AG = vitesse du son 109 : C MG = nombre de Mach normal 110 : C HTG = enthalpie totale 111 : C 112 : GM1G = GAMG - 1.0D0 113 : AG2 = GAMG * PG/ ROG 114 : AG = SQRT(AG2) 115 : MG = UNG / AG 116 : AMG = ABS(MG) 117 : HTG = AG2 /GM1G + 0.5D0 * (UNG*UNG + UTG*UTG + UVG*UVG) 118 : CELLT = (2.0D0*GAMG + (AMG*(3.0D0-GAMG)))/(GAMG+3.0D0) 119 : & /((AMG+1.0D0)*AG) 120 : C 120 : CALL FLUPV2(NESP,GAMG,ROG,MG,AG,UTG,UVG,HTG,YG,FLU1) 121 : C 122 : C**** Onde de "droite" a "gauche". 123 : C 124 : C AD = vitesse du son 125 : C MD = nombre de Mach normal 126 : C HTD = enthalpie totale 127 : C 128 : C 129 : GM1D = GAMD - 1.0D0 130 : AD2 = GAMD * PD/ ROD 131 : AD = SQRT(AD2) 132 : MD = UND / AD 133 : AMD = ABS(MD) 134 : HTD = AD2 / GM1D + 0.5D0 * (UND*UND + UTD*UTD +UVD*UVD) 135 : CELLT0 = (2.0D0*GAMD + (AMD*(3.0D0-GAMD)))/(GAMD+3.0D0) 136 : & /((AMD+1.0D0)*AD) 137 : CELLT = MIN(CELLT,CELLT0) 138 : C 138 : CALL FLUMV2(NESP,GAMD,ROD,MD,AD,UTD,UVD,HTD,YD,FLU2) 139 : C 140 : C 141 : DO I1 = 1, NESP+5 142 : FLU1(I1) = FLU1(I1) + FLU2(I1) 143 : ENDDO 144 : C 145 : C 146 : RETURN 147 : END 148 : 149 : 150 : 151 :
© Cast3M 2003 - All rights reserved.
Disclaimer