Download fsmvl2.eso

Back to the list

   1 : C FSMVL2    SOURCE    CHAT      05/01/13    00:10:19     5004           
   2 :       SUBROUTINE FSMVL2(NESP,NSCA,GAMD,ROD,MD,AD,UTD,UVD,HTD,Y,S,FLUX)
   3 : C************************************************************************
   4 : C
   5 : C PROJET            :  CASTEM 2000
   6 : C
   7 : C NOM               :  FSMVL2
   8 : C
   9 : C DESCRIPTION       :  Voir FVLHT2
  10 : C                      
  11 : C                      Onde de Droite à Gauche
  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     NSCA            =  nombre de scalaires passifs a transporter 
  28 : C
  29 : C     GAMD     =  le "gamma" (à droite)
  30 : C
  31 : C     ROD      =  la densité 
  32 : C
  33 : C     MD       =  nombre de Mach (normale) 
  34 : C
  35 : C     AD       =  vitesse du son
  36 : C
  37 : C     UTD      =  vitesse tangentielle
  38 : C
  39 : C     Y        =  table des fractiones massiques
  40 : C
  41 : C     S        =  table des scalaires passifs
  42 : C
  43 : C**** Sorties:
  44 : C
  45 : C     FLUX     =  table du flux "droite -> gauche" à
  46 : C                 l'interface
  47 : C
  48 : C************************************************************************
  49 : C
  50 : C HISTORIQUE (Anomalies et modifications éventuelles)
  51 : C
  52 : C HISTORIQUE :  Créé le 21.02.00 
  53 : C
  54 : C************************************************************************
  55 : C
  56 : C N.B.: Toutes les variables sont declarées explicitement
  57 : C                          
  58 : CC
  59 :       IMPLICIT INTEGER(I-N)
  60 :       INTEGER I1, NESP, NSCA
  61 :       REAL*8 GAMD,ROD,MD,AD,UTD,UVD,HTD
  62 :      &       ,GM1D,MMINUS, CELL, CELLM
  63 :      &       ,Y(*),FLUX(*),S(*)
  64 : C
  65 : C**** N.B. :
  66 : C
  67 : C     FLUX(2) = MMINUS * AD * ROD * UND + PMINUS * PD
  68 : C        
  69 : C     PD = ROD * AD * AD / GAMD
  70 : C
  71 : C     ABS(MD) < 1  ->  PMINUS = - MMINUS * (2 + MD)
  72 : C
  73 : C     ABS(MD) > 1  ->  PMINUS = - MMINUS / MD
  74 : C
  75 :       GM1D = GAMD - 1.0D0
  76 :       IF(ABS(MD) .LE. 1.0D0)THEN
  77 :          MMINUS = 0.5D0 * (MD - 1.0D0)
  78 :          MMINUS = -1.0D0 * MMINUS * MMINUS 
  79 :          CELL = (GM1D * MD - 2.0D0)*AD/GAMD
  80 :       ELSE
  81 :          MMINUS = 0.5D0 * (MD - ABS(MD))
  82 :          CELL = (MD + 1.0D0/GAMD/MD)*AD
  83 :       ENDIF
  84 : C
  85 :       CELLM = MMINUS * AD * ROD
  86 :       FLUX(1) = CELLM
  87 :       FLUX(2) = CELLM * CELL
  88 :       FLUX(3) = CELLM * UTD
  89 :       FLUX(4) = CELLM * UVD
  90 :       FLUX(5) = CELLM * HTD
  91 : C
  92 : C**** N.B. NESP = 0  -> no boucle
  93 : C
  94 :       DO I1 = 1, NESP
  95 :          FLUX(5+I1) = CELLM * Y(I1)
  96 :       ENDDO
  97 : C
  98 : C**** N.B. NSCA = 0  -> no boucle
  99 : C
 100 :       DO I1 = 1, NSCA, 1
 101 :          FLUX(5+I1+NESP) = CELLM * S(I1)
 102 :       ENDDO
 103 : C 
 104 :       RETURN
 105 :       END
 106 : 
 107 :  
 108 :  
 109 :  

© Cast3M 2003 - All rights reserved.
Disclaimer