1 : C FVCEN3 SOURCE KLOCZKO 05/06/14 21:15:17 5111 2 : C FVCEN3 SOURCE CHAT 05/01/13 00:13:50 5004 3 : SUBROUTINE FVCEN3(NESP, 4 : & GAMG,ROG,PG,UNG,UTG,UVG, 5 : & GAMD,ROD,PD,UND,UTD,UVD, 6 : & YG,YD,FLUX, 7 : & CELLT) 8 : C 9 : C************************************************************************ 10 : C 11 : C PROJET : CASTEM 2000 12 : C 13 : C NOM : FVCEN3 14 : C 15 : C DESCRIPTION : Formulation Volumes Finis pour les Equations 16 : C d'Euler Multi-Especes relatives à un melange 17 : C de gaz ideals. 18 : C 19 : C Calcul du flux aux interfaces avec la méthode 20 : C centrée 21 : C 22 : C LANGAGE : FORTRAN 77 23 : C 24 : C AUTEUR : T. KLOCZKO DEN/DM2S/SFME/LTMF 25 : C 26 : C************************************************************************ 27 : C 28 : C APPELES 29 : C 30 : C************************************************************************ 31 : C 32 : C**** Entrées: 33 : C 34 : C NESP = nombre d'especes considérées dans les Equations 35 : C d'Euler 36 : C 37 : C GAMG, GAMD = les "gamma" du gaz (gauche et droite) 38 : C 39 : C ROG, ROD = les densités 40 : C 41 : C PG, PD = les pressions 42 : C 43 : C UNG, UND = vitesses normales 44 : C 45 : C UTG, UTD = vitesses tangentielles 46 : 47 : C UVG, UVD = vitesses tangentielles 48 : C 49 : C YG, YD = tables des fractiones massiques 50 : C 51 : C**** Sorties: 52 : C 53 : C FLUX = table du flux a l'interface, i.e. 54 : C (rho*un, rho*un*un + p, rho*un*ut, rho*un*ht, 55 : C rho*un*y1, ...) 56 : C 57 : C CELLT = condition de stabilité, i.e. 58 : C 59 : C dT/diamax < cellt 60 : C 61 : C************************************************************************ 62 : C 63 : C HISTORIQUE (Anomalies et modifications éventuelles) 64 : C 65 : C HISTORIQUE : 66 : C 67 : C************************************************************************ 68 : C 69 : C N.B.: Toutes les variables sont DECLAREES 70 : C 71 : IMPLICIT INTEGER(I-N) 72 : INTEGER NESP,IESP 73 : REAL*8 ROG,ROD,PG,PD,UNG,UND,UTG,UTD,UVD,UVG 74 : & ,GAMG,GAMD 75 : & ,YG(*),YD(*),FLUX(*),CELLT,ROUN,ECIN 76 : C 77 : C**** A gauche 78 : C 79 : ROUN=ROG*UNG 80 : FLUX(1)=ROUN 81 : FLUX(2)=(ROUN*UNG)+PG 82 : FLUX(3)=ROUN*UTG 83 : FLUX(4)=ROUN*UVG 84 : ECIN=0.5D0*((UNG*UNG)+(UTG*UTG)+(UVG*UVG)) 85 : FLUX(5)=(UNG*((GAMG/(GAMG-1.0D0))*PG))+(ROUN*ECIN) 86 : DO IESP=1,NESP,1 87 : FLUX(5+IESP)=ROUN*YG(IESP) 88 : ENDDO 89 : CELLT=(((GAMG*PG/ROG)**0.5D0)+ABS(UNG)) 90 : C 91 : C**** A droite 92 : C 93 : ROUN=ROD*UND 94 : FLUX(1)=0.5D0*(FLUX(1)+ROUN) 95 : FLUX(2)=0.5D0*(FLUX(2)+((ROUN*UND)+PD)) 96 : FLUX(3)=0.5D0*((FLUX(3)+(ROUN*UTD))) 97 : FLUX(4)=0.5D0*((FLUX(4)+(ROUN*UVD))) 98 : ECIN=0.5D0*((UND*UND)+(UTD*UTD)+(UVD*UVD)) 99 : FLUX(5)=0.5D0*(FLUX(4)+((UND*((GAMD/(GAMD-1.0D0))*PD))+(ROUN*ECIN) 100 : $ )) 101 : DO IESP=1,NESP,1 102 : FLUX(5+IESP)=0.5D0*(FLUX(5+IESP)+(ROUN*YD(IESP))) 103 : ENDDO 104 : CELLT=MAX(CELLT,(((GAMD*PD/ROD)**0.5D0)+ABS(UND))) 105 : CELLT=1.0D0/CELLT 106 : C 107 : RETURN 108 : END 109 : 110 : 111 : 112 : 113 : 114 : 115 : 116 :
© Cast3M 2003 - All rights reserved.
Disclaimer