Download frusa3.eso

Back to the list

   1 : C FRUSA3    SOURCE    KLOCZKO   05/06/14    21:15:11     5111           
   2 : C FRUSA3    SOURCE    CHAT      05/01/13    00:09:15     5004           
   3 :       SUBROUTINE FRUSA3(NESP,
   4 :      &                  GAMG,ROG,PG,UNG,UTG,UVG,
   5 :      &                  GAMD,ROD,PD,UND,UTD,UVD,
   6 :      &                  YG,YD,FLU,
   7 :      &                  CELLT)
   8 : C
   9 : C
  10 : C PROJET            :  CASTEM 2000
  11 : C
  12 : C NOM               :  FRUSA3
  13 : C
  14 : C DESCRIPTION       :  Formulation Volumes Finis  pour les Equations 
  15 : C                      d'Euler Multi-Especes relatives à un melange 
  16 : C                      de gaz parfaits.
  17 : C
  18 : C                      Calcul du flux aux interfaces avec la methode
  19 : C                      de Rusanov
  20 : C
  21 : C LANGUAGE          :  FORTRAN 77 
  22 : C      
  23 : C AUTEUR            :  T. KLOCZKO DM2S/SFME/LTMF
  24 : C
  25 : C************************************************************************
  26 : C
  27 : C APPELES           :  
  28 : C
  29 : C************************************************************************
  30 : C
  31 : C**** Entrées:
  32 : C
  33 : C     NESP            =  nombre d'especes considérées dans les Equations
  34 : C                        d'Euler
  35 : C
  36 : C     GAMG, GAMD      =  les "gamma" du gaz (gauche et droite)
  37 : C
  38 : C     ROG, ROD        =  les densités 
  39 : C
  40 : C     PG, PD          =  les pressions
  41 : C
  42 : C     UNG, UND        =  vitesses normales
  43 : C
  44 : C     UTG, UTD        =  vitesses tangentielles
  45 : C
  46 : C     UVG, UVD        =  vitesses tangentielles
  47 : C
  48 : C**** Sorties:
  49 : C
  50 : C     FLU             =  table du flux a l'interface dans le repaire
  51 : C                        (n,t), i.e.
  52 : C                        (rho*un, rho*un*un + p, rho*un*ut,  rho*un*uv,
  53 : C                         rho*un*ht, rho*un*y1, ...)
  54 : C
  55 : C     CELLT           =  condition de stabilité, i.e.
  56 : C
  57 : C                        dT/diamax < cellt
  58 : C      
  59 : C************************************************************************
  60 : C
  61 : C HISTORIQUE (Anomalies et modifications éventuelles)
  62 : C
  63 : C HISTORIQUE :  Créé le 02.05.05
  64 : C
  65 : C
  66 : C
  67 : C************************************************************************
  68 : C
  69 : C N.B.: Toutes les variables sont DECLAREES
  70 : C                          
  71 : C
  72 :       IMPLICIT INTEGER(I-N)
  73 :       INTEGER NESP,I1
  74 :       REAL*8  GAMG,ROG,PG,UNG,UTG,UVG,RETG
  75 :      &       ,GAMD,ROD,PD,UND,UTD,UVD,RETD
  76 :      &       ,YG(*),YD(*)
  77 :      &       ,FLU(*),CELLT, FLUM
  78 :      &       ,GAMF,ROF,PF,UNF,CF
  79 :      &       ,VPMAX
  80 :      &       ,XP(5),FC(5)
  81 : C
  82 : C*** Calcul des énergies
  83 : C
  84 :       RETG = PG / (GAMG - 1.0D0)
  85 :      &     + 0.5D0 * ROG * (UNG**2 + UTG**2 + UVG**2)
  86 :       RETD = PD / (GAMD - 1.0D0)
  87 :      &     + 0.5D0 * ROD * (UND**2 + UTD**2 + UVD**2)
  88 : C
  89 : C*** Calcul des états moyens
  90 : C
  91 :       UNF  = 0.5D0 * (UNG  + UND)
  92 :       ROF  = 0.5D0 * (ROG  + ROD)
  93 :       PF   = 0.5D0 * (PG   + PD)
  94 :       GAMF = 0.5D0 * (GAMG + GAMD)
  95 :       CF    = (GAMF * PF / ROF)**0.5D0
  96 : C
  97 : C*** Calcul du rayon spectral et de la condition de stabilité
  98 : C
  99 :       VPMAX = ABS(UNF) + CF
 100 :       CELLT = 1.0D0 / VPMAX
 101 : C
 102 : C*** Calcul des deltas
 103 : C
 104 :       XP(1) = ROG - ROD
 105 :       XP(2) = (ROG * UNG) - (ROD * UND)
 106 :       XP(3) = (ROG * UTG) - (ROD * UTD)
 107 :       XP(4) = (ROG * UVG) - (ROD * UVD)
 108 :       XP(5) = RETG - RETD
 109 : C
 110 : C*** Calcul du flux convectif
 111 : C
 112 :       FC(1) = 0.5D0 * ((ROG * UNG)            + (ROD * UND))
 113 :       FC(2) = 0.5D0 * ((ROG * UNG * UNG + PG) + (ROD * UND * UND + PD))
 114 :       FC(3) = 0.5D0 * ((ROG * UNG * UTG)      + (ROD * UND * UTD))
 115 :       FC(4) = 0.5D0 * ((ROG * UNG * UVG)      + (ROD * UND * UVD))
 116 :       FC(5) = 0.5D0 * ((UNG * (RETG + PG))    + (UND * (RETD + PD)))
 117 : C
 118 : C*** Calcul du flux numérique
 119 : C
 120 :       DO I1 = 1,5
 121 :          FLU(I1) = FC(I1) + 0.5D0 * VPMAX * XP(I1)
 122 :       ENDDO
 123 : C
 124 : C*** Partie multi-espèces
 125 : C
 126 :       FLUM = FLU(1)
 127 :       IF(FLUM .GT. 0)THEN
 128 :          DO I1 = 1, NESP, 1
 129 :             FLU(5+I1) = FLUM * YG(I1)
 130 :          ENDDO
 131 :       ELSE
 132 :          DO I1 = 1, NESP, 1
 133 :             FLU(5+I1) = FLUM * YD(I1)
 134 :          ENDDO
 135 :       ENDIF
 136 : C      
 137 :       RETURN
 138 :       END
 139 : 
 140 : 
 141 :  
 142 :  
 143 :  
 144 :  
 145 :  
 146 :  
 147 :  
 148 :  

© Cast3M 2003 - All rights reserved.
Disclaimer