Download flupvl.eso

Back to the list

   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 :  

© Cast3M 2003 - All rights reserved.
Disclaimer