Télécharger flupvl.eso

Retour à la liste

Numérotation des lignes :

  1. C FLUPVL SOURCE CHAT 05/01/13 00:04:37 5004
  2. SUBROUTINE FLUPVL(NESP,GAMG,ROG,MG,AG,UTG,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,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 +
  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 + 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 * CELLH
  97. C
  98. C**** N.B. NESP = 0 -> no boucle
  99. C
  100. DO I1 = 1, NESP
  101. FLUX(4+I1) = CELLM * Y(I1)
  102. ENDDO
  103. C
  104. C
  105. RETURN
  106. END
  107.  
  108.  
  109.  
  110.  

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