Télécharger flpvlh.eso

Retour à la liste

Numérotation des lignes :

  1. C FLPVLH SOURCE CHAT 05/01/13 00:04:04 5004
  2. SUBROUTINE FLPVLH(NESP,GAMG,ROG,MG,AG,UTG,HTG,Y,FLUX)
  3. C************************************************************************
  4. C
  5. C PROJET : CASTEM 2000
  6. C
  7. C NOM : FLPVLH
  8. C
  9. C DESCRIPTION : Voir FLUVLH
  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(*)
  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.  
  74. C
  75. GM1G = GAMG - 1.0D0
  76. IF(ABS(MG) .LE. 1.0D0)THEN
  77. MPLUS = 0.5D0 * (MG + 1.0D0)
  78. MPLUS = MPLUS * MPLUS
  79. CELL = (GM1G * MG+2.0D0)*AG/GAMG
  80. ELSE
  81. MPLUS = 0.5D0 * (MG + ABS(MG))
  82. CELL = (MG + 1.0D0/GAMG/MG)*AG
  83. ENDIF
  84. CELLM = MPLUS * AG * ROG
  85. C
  86. FLUX(1) = CELLM
  87. FLUX(2) = CELLM * CELL
  88. FLUX(3) = CELLM * UTG
  89. FLUX(4) = CELLM * HTG
  90. C
  91. C**** N.B. NESP = 0 -> no boucle
  92. C
  93. DO I1 = 1, NESP
  94. FLUX(4+I1) = CELLM * Y(I1)
  95. ENDDO
  96. C
  97. C
  98. RETURN
  99. END
  100.  
  101.  
  102.  
  103.  

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