Télécharger fluxv2.eso

Retour à la liste

Numérotation des lignes :

  1. C FLUXV2 SOURCE CHAT 05/01/13 00:05:19 5004
  2. SUBROUTINE FLUXV2(NESP,
  3. & GAMG,ROG,PG,UNG,UTG,UVG,
  4. & GAMD,ROD,PD,UND,UTD,UVD,
  5. & YG,YD,FLU1,FLU2,
  6. & CELLT)
  7. C************************************************************************
  8. C
  9. C PROJET : CASTEM 2000
  10. C
  11. C NOM : FLUXVL
  12. C
  13. C DESCRIPTION : Formulation Volumes Finis pour les Equations
  14. C d'Euler Multi-Especes relatives à un melange
  15. C de gaz "calorically perfect".
  16. C
  17. C Calcul du flux aux interfaces avec la methode
  18. C "Flux Vector Splitting" de van Leer.
  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 LANGAGE : 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 FLUXVL ------ FLUPVL
  42. C |
  43. C --------- FLUMVL
  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 GAMG, GAMD = les "gamma" du gaz (gauche et droite)
  54. C
  55. C ROG, ROD = les densités
  56. C
  57. C PG, PD = les pressions
  58. C
  59. C UNG, UND = vitesses normales
  60. C
  61. C UTG, UTD = vitesses tangentielles
  62. C
  63. C YG, YD = tables des fractiones massiques
  64. C
  65. C**** Sorties:
  66. C
  67. C FLU1 = table du flux a l'interface dans le repaire
  68. C (n,t), i.e.
  69. C (rho*un, rho*un*un + p, rho*un*ut, rho*un*ht,
  70. C rho*un*y1, ...)
  71. C
  72. C FLU2 = table de travail, utilizé ici mais definie
  73. C avant
  74. C
  75. C CELLT = condition de stabilité, i.e.
  76. C
  77. C dT/diamax < cellt
  78. C
  79. C************************************************************************
  80. C
  81. C HISTORIQUE (Anomalies et modifications éventuelles)
  82. C
  83. C HISTORIQUE : Créé le 6.1.98
  84. C
  85. C************************************************************************
  86. C
  87. C N.B.: Toutes les variables sont DECLAREES
  88. C
  89. C
  90. IMPLICIT INTEGER(I-N)
  91. INTEGER NESP, I1
  92. REAL*8 GAMG,ROG,PG
  93. & ,GAMD,ROD,PD
  94. & ,GM1G,AG2,AG,UNG,UTG,UVG,MG,HTG
  95. & ,GM1D,AD2,AD,UND,UTD,UVD,MD,HTD
  96. & ,CELLT,CELLT0,AMG,AMD
  97. & ,YG(*),YD(*),FLU1(*),FLU2(*)
  98. C
  99. C
  100. C**** YG, YD, FLU1, FLU2 déjà definis avant
  101. C
  102. C Dans le cas Euler monoespece, on doit
  103. C avoir :
  104. C YG(1) = YD(1) = 0.0D0
  105. C
  106. C
  107. C**** Onde de "gauche" a "droite"
  108. C
  109. C AG = vitesse du son
  110. C MG = nombre de Mach normal
  111. C HTG = enthalpie totale
  112. C
  113. GM1G = GAMG - 1.0D0
  114. AG2 = GAMG * PG/ ROG
  115. AG = SQRT(AG2)
  116. MG = UNG / AG
  117. AMG = ABS(MG)
  118. HTG = AG2 /GM1G + 0.5D0 * (UNG*UNG + UTG*UTG + UVG*UVG)
  119. CELLT = (2.0D0*GAMG + (AMG*(3.0D0-GAMG)))/(GAMG+3.0D0)
  120. & /((AMG+1.0D0)*AG)
  121. C
  122. CALL FLUPV2(NESP,GAMG,ROG,MG,AG,UTG,UVG,HTG,YG,FLU1)
  123. C
  124. C**** Onde de "droite" a "gauche".
  125. C
  126. C AD = vitesse du son
  127. C MD = nombre de Mach normal
  128. C HTD = enthalpie totale
  129. C
  130. C
  131. GM1D = GAMD - 1.0D0
  132. AD2 = GAMD * PD/ ROD
  133. AD = SQRT(AD2)
  134. MD = UND / AD
  135. AMD = ABS(MD)
  136. HTD = AD2 / GM1D + 0.5D0 * (UND*UND + UTD*UTD +UVD*UVD)
  137. CELLT0 = (2.0D0*GAMD + (AMD*(3.0D0-GAMD)))/(GAMD+3.0D0)
  138. & /((AMD+1.0D0)*AD)
  139. CELLT = MIN(CELLT,CELLT0)
  140. C
  141. CALL FLUMV2(NESP,GAMD,ROD,MD,AD,UTD,UVD,HTD,YD,FLU2)
  142. C
  143. C
  144. DO I1 = 1, NESP+5
  145. FLU1(I1) = FLU1(I1) + FLU2(I1)
  146. ENDDO
  147. C
  148. C
  149. RETURN
  150. END
  151.  
  152.  
  153.  
  154.  
  155.  

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