Télécharger fvlht2.eso

Retour à la liste

Numérotation des lignes :

  1. C FVLHT2 SOURCE CHAT 05/01/13 00:13:56 5004
  2. SUBROUTINE FVLHT2(NESP,NSCA,
  3. & GAMG,ROG,PG,UNG,UTG,UVG,ETHERG,
  4. & GAMD,ROD,PD,UND,UTD,UVD,ETHERD,
  5. & YG,YD,SCAG,SCAD,FLU1,FLU2,
  6. & CELLT)
  7. C************************************************************************
  8. C
  9. C PROJET : CASTEM 2000
  10. C
  11. C NOM : FVLHT2
  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 FVLHT2 ------ FSPVL2
  42. C |
  43. C --------- FSMVL2
  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, utilizé 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.  
  93. C
  94. C************************************************************************
  95. C
  96. C N.B.: Toutes les variables sont DECLAREES
  97. C
  98. C
  99. IMPLICIT INTEGER(I-N)
  100. INTEGER NESP, I1, NSCA
  101. REAL*8 GAMG,ROG,PG
  102. & ,GAMD,ROD,PD
  103. & ,AG2,AG,UNG,UTG,UVG,MG,ETHERG,HTG
  104. & ,AD2,AD,UND,UTD,UVD,MD,ETHERD,HTD
  105. & ,CELLT,CELLT0,AMG,AMD,PSRO,ECIN
  106. & ,YG(*),YD(*),FLU1(*),FLU2(*),SCAG(*),SCAD(*)
  107. C
  108. C
  109. C**** YG, YD, FLU1, FLU2 déjà definis avant
  110. C
  111. C Dans le cas Euler monoespece, on doit
  112. C avoir :
  113. C YG(1) = YD(1) = 0.0D0
  114. C
  115. C
  116. C**** Onde de "gauche" a "droite"
  117. C
  118. C AG = vitesse du son
  119. C MG = nombre de Mach normal
  120. C HTG = enthalpie totale
  121. C
  122. PSRO = PG / ROG
  123. ECIN = 0.5D0 * ((UNG * UNG) + (UTG * UTG) + (UVG * UVG))
  124. HTG = ETHERG + PSRO + ECIN
  125. AG2 = GAMG * PSRO
  126. AG = SQRT(AG2)
  127. MG = UNG / AG
  128. AMG = ABS(MG)
  129. CELLT = (2.0D0*GAMG + (AMG*(3.0D0-GAMG)))/(GAMG+3.0D0)
  130. & /((AMG+1.0D0)*AG)
  131. C
  132. CALL FSPVL2(NESP,NSCA,GAMG,ROG,MG,AG,UTG,UVG,HTG,YG,SCAG,FLU1)
  133. C
  134. C**** Onde de "droite" a "gauche".
  135. C
  136. C AD = vitesse du son
  137. C MD = nombre de Mach normal
  138. C HTD = enthalpie totale
  139. C
  140. PSRO = PD / ROD
  141. ECIN = 0.5D0 * ((UND * UND) + (UTD * UTD) + (UVD * UVD))
  142. HTD = ETHERD + PSRO + ECIN
  143. AD2 = GAMD * PSRO
  144. AD = SQRT(AD2)
  145. MD = UND / AD
  146. AMD = ABS(MD)
  147. CELLT0 = (2.0D0*GAMD + (AMD*(3.0D0-GAMD)))/(GAMD+3.0D0)
  148. & /((AMD+1.0D0)*AD)
  149. CELLT = MIN(CELLT,CELLT0)
  150. C
  151. CALL FSMVL2(NESP,NSCA,GAMD,ROD,MD,AD,UTD,UVD,HTD,YD,SCAD,FLU2)
  152. C
  153. C
  154. DO I1 = 1, (NSCA+NESP+5)
  155. FLU1(I1) = FLU1(I1) + FLU2(I1)
  156. ENDDO
  157. C
  158. C
  159. RETURN
  160. END
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales