1 : C FRUSA3 SOURCE KLOCZKO 05/06/14 21:15:11 5111 2 : C FRUSA3 SOURCE CHAT 05/01/13 00:09:15 5004 3 : SUBROUTINE FRUSA3(NESP, 4 : & GAMG,ROG,PG,UNG,UTG,UVG, 5 : & GAMD,ROD,PD,UND,UTD,UVD, 6 : & YG,YD,FLU, 7 : & CELLT) 8 : C 9 : C 10 : C PROJET : CASTEM 2000 11 : C 12 : C NOM : FRUSA3 13 : C 14 : C DESCRIPTION : Formulation Volumes Finis pour les Equations 15 : C d'Euler Multi-Especes relatives à un melange 16 : C de gaz parfaits. 17 : C 18 : C Calcul du flux aux interfaces avec la methode 19 : C de Rusanov 20 : C 21 : C LANGUAGE : FORTRAN 77 22 : C 23 : C AUTEUR : T. KLOCZKO DM2S/SFME/LTMF 24 : C 25 : C************************************************************************ 26 : C 27 : C APPELES : 28 : C 29 : C************************************************************************ 30 : C 31 : C**** Entrées: 32 : C 33 : C NESP = nombre d'especes considérées dans les Equations 34 : C d'Euler 35 : C 36 : C GAMG, GAMD = les "gamma" du gaz (gauche et droite) 37 : C 38 : C ROG, ROD = les densités 39 : C 40 : C PG, PD = les pressions 41 : C 42 : C UNG, UND = vitesses normales 43 : C 44 : C UTG, UTD = vitesses tangentielles 45 : C 46 : C UVG, UVD = vitesses tangentielles 47 : C 48 : C**** Sorties: 49 : C 50 : C FLU = table du flux a l'interface dans le repaire 51 : C (n,t), i.e. 52 : C (rho*un, rho*un*un + p, rho*un*ut, rho*un*uv, 53 : C rho*un*ht, rho*un*y1, ...) 54 : C 55 : C CELLT = condition de stabilité, i.e. 56 : C 57 : C dT/diamax < cellt 58 : C 59 : C************************************************************************ 60 : C 61 : C HISTORIQUE (Anomalies et modifications éventuelles) 62 : C 63 : C HISTORIQUE : Créé le 02.05.05 64 : C 65 : C 66 : C 67 : C************************************************************************ 68 : C 69 : C N.B.: Toutes les variables sont DECLAREES 70 : C 71 : C 72 : IMPLICIT INTEGER(I-N) 73 : INTEGER NESP,I1 74 : REAL*8 GAMG,ROG,PG,UNG,UTG,UVG,RETG 75 : & ,GAMD,ROD,PD,UND,UTD,UVD,RETD 76 : & ,YG(*),YD(*) 77 : & ,FLU(*),CELLT, FLUM 78 : & ,GAMF,ROF,PF,UNF,CF 79 : & ,VPMAX 80 : & ,XP(5),FC(5) 81 : C 82 : C*** Calcul des énergies 83 : C 84 : RETG = PG / (GAMG - 1.0D0) 85 : & + 0.5D0 * ROG * (UNG**2 + UTG**2 + UVG**2) 86 : RETD = PD / (GAMD - 1.0D0) 87 : & + 0.5D0 * ROD * (UND**2 + UTD**2 + UVD**2) 88 : C 89 : C*** Calcul des états moyens 90 : C 91 : UNF = 0.5D0 * (UNG + UND) 92 : ROF = 0.5D0 * (ROG + ROD) 93 : PF = 0.5D0 * (PG + PD) 94 : GAMF = 0.5D0 * (GAMG + GAMD) 95 : CF = (GAMF * PF / ROF)**0.5D0 96 : C 97 : C*** Calcul du rayon spectral et de la condition de stabilité 98 : C 99 : VPMAX = ABS(UNF) + CF 100 : CELLT = 1.0D0 / VPMAX 101 : C 102 : C*** Calcul des deltas 103 : C 104 : XP(1) = ROG - ROD 105 : XP(2) = (ROG * UNG) - (ROD * UND) 106 : XP(3) = (ROG * UTG) - (ROD * UTD) 107 : XP(4) = (ROG * UVG) - (ROD * UVD) 108 : XP(5) = RETG - RETD 109 : C 110 : C*** Calcul du flux convectif 111 : C 112 : FC(1) = 0.5D0 * ((ROG * UNG) + (ROD * UND)) 113 : FC(2) = 0.5D0 * ((ROG * UNG * UNG + PG) + (ROD * UND * UND + PD)) 114 : FC(3) = 0.5D0 * ((ROG * UNG * UTG) + (ROD * UND * UTD)) 115 : FC(4) = 0.5D0 * ((ROG * UNG * UVG) + (ROD * UND * UVD)) 116 : FC(5) = 0.5D0 * ((UNG * (RETG + PG)) + (UND * (RETD + PD))) 117 : C 118 : C*** Calcul du flux numérique 119 : C 120 : DO I1 = 1,5 121 : FLU(I1) = FC(I1) + 0.5D0 * VPMAX * XP(I1) 122 : ENDDO 123 : C 124 : C*** Partie multi-espèces 125 : C 126 : FLUM = FLU(1) 127 : IF(FLUM .GT. 0)THEN 128 : DO I1 = 1, NESP, 1 129 : FLU(5+I1) = FLUM * YG(I1) 130 : ENDDO 131 : ELSE 132 : DO I1 = 1, NESP, 1 133 : FLU(5+I1) = FLUM * YD(I1) 134 : ENDDO 135 : ENDIF 136 : C 137 : RETURN 138 : END 139 : 140 : 141 : 142 : 143 : 144 : 145 : 146 : 147 : 148 :
© Cast3M 2003 - All rights reserved.
Disclaimer