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