Télécharger flupv2.eso

Retour à la liste

Numérotation des lignes :

  1. C FLUPV2 SOURCE CHAT 05/01/13 00:04:34 5004
  2. SUBROUTINE FLUPV2(NESP,GAMG,ROG,MG,AG,UTG,UVG,HTG,Y,FLUX)
  3. C************************************************************************
  4. C
  5. C PROJET : CASTEM 2000
  6. C
  7. C NOM : FLUPVL
  8. C
  9. C DESCRIPTION : Voir FLUXVL
  10. C
  11. C Onde de Gauche à Droite
  12. C
  13. C LANGUAGE : FORTRAN 77
  14. C
  15. C AUTEUR : A. BECCANTINI DRN/DMT/SEMT/TTMF
  16. C
  17. C************************************************************************
  18. C
  19. C APPELES : aucun
  20. C
  21. C************************************************************************
  22. C
  23. C**** Entrées:
  24. C
  25. C NESP = nombre d'especes in FRAMAS
  26. C
  27. C GAMG = le "gamma" (à gauche)
  28. C
  29. C ROG = la densité
  30. C
  31. C MG = nombre de Mach (normale)
  32. C
  33. C AG = vitesse du son
  34. C
  35. C UTG = vitesse tangentielle
  36. C
  37. C Y = table des fractiones massiques
  38. C
  39. C**** Sorties:
  40. C
  41. C FLUX = table du flux "gauche -> droite" a
  42. C l'interface
  43. C
  44. C************************************************************************
  45. C
  46. C HISTORIQUE (Anomalies et modifications éventuelles)
  47. C
  48. C HISTORIQUE : Créé le 6.1.98
  49. C
  50. C************************************************************************
  51. C
  52. C N.B.: Toutes les variables sont declarées explicitement
  53. C
  54. C
  55. C
  56. IMPLICIT INTEGER(I-N)
  57. INTEGER I1, NESP
  58. REAL*8 GAMG,ROG,MG,AG,UTG,UVG,HTG
  59. & ,GM1G,MPLUS, CELL, CELLM
  60. & ,Y(*),FLUX(*),CELL1,CELLH
  61. C
  62.  
  63. C**** N.B. :
  64. C
  65. C FLUX(2) = MPLUS * AG * ROG * UNG + PPLUS * PG
  66. C
  67. C PG = ROG * AG * AG / GAMG
  68. C
  69. C ABS(MG) < 1 -> PPLUS = MPLUS * (2 - MG)
  70. C
  71. C ABS(MG) > 1 -> PPLUS = MPLUS / MG
  72. C
  73. C CELLH = 0.5D0*
  74. C & (UTG * UTG + UVG * UVG +
  75. C & ((GAMG -1)*UNG + 2 AG)**2/(GAMG**2-1))
  76. C
  77. C
  78. GM1G = GAMG - 1.0D0
  79. IF(ABS(MG) .LE. 1.0D0)THEN
  80. MPLUS = 0.5D0 * (MG + 1.0D0)
  81. MPLUS = MPLUS * MPLUS
  82. CELL = (GM1G * MG + 2.0D0)*AG/GAMG
  83. CELL1 = GM1G*MG+2.0D0
  84. CELLH = AG * AG * CELL1 * CELL1 / (GAMG * GAMG - 1.0D0)
  85. CELLH = 0.5D0 * (UTG * UTG + UVG * UVG + CELLH)
  86. ELSE
  87. MPLUS = 0.5D0 * (MG + ABS(MG))
  88. CELL = (MG + 1.0D0/GAMG/MG)*AG
  89. CELLH = HTG
  90. ENDIF
  91. CELLM = MPLUS * AG * ROG
  92. C
  93. FLUX(1) = CELLM
  94. FLUX(2) = CELLM * CELL
  95. FLUX(3) = CELLM * UTG
  96. FLUX(4) = CELLM * UVG
  97. FLUX(5) = CELLM * CELLH
  98. C
  99. C**** N.B. NESP = 0 -> no boucle
  100. C
  101. DO I1 = 1, NESP
  102. FLUX(5+I1) = CELLM * Y(I1)
  103. ENDDO
  104. C
  105. C
  106. RETURN
  107. END
  108.  
  109.  
  110.  
  111.  
  112.  

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