Télécharger fvlhte.eso

Retour à la liste

Numérotation des lignes :

  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
  131. CALL FSPVLH(NESP,NSCA,GAMG,ROG,MG,AG,UTG,HTG,YG,SCAG,FLU1)
  132. C
  133. C**** Onde de "droite" a "gauche".
  134. C
  135. C AD = vitesse du son
  136. C MD = nombre de Mach normal
  137. C HTD = enthalpie totale
  138. C
  139. PSRO = PD / ROD
  140. ECIN = 0.5D0 * ((UND * UND) + (UTD * UTD))
  141. HTD = ETHERD + PSRO + ECIN
  142. AD2 = GAMD * PSRO
  143. AD = SQRT(AD2)
  144. MD = UND / AD
  145. AMD = ABS(MD)
  146. CELLT0 = (2.0D0*GAMD + (AMD*(3.0D0-GAMD)))/(GAMD+3.0D0)
  147. & /((AMD+1.0D0)*AD)
  148. CELLT = MIN(CELLT,CELLT0)
  149. C
  150. CALL FSMVLH(NESP,NSCA,GAMD,ROD,MD,AD,UTD,HTD,YD,SCAD,FLU2)
  151. C
  152. C
  153. DO I1 = 1, (NSCA+NESP+4)
  154. FLU1(I1) = FLU1(I1) + FLU2(I1)
  155. ENDDO
  156. C
  157. C
  158. RETURN
  159. END
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  

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