Download flamb1.eso

Back to the list

   1 : C FLAMB1    SOURCE    CHAT      05/01/13    00:03:21     5004           
   2 :       SUBROUTINE FLAMB1(NC,DT,A,B,C,TA,TSEUIL,H0H2,H0O2,H0H2O,TEMP,
   3 :      &                  RYH2, RYO2, RYH2O,
   4 :      &                  DE, NRYH2, NRYO2, NRYH2O,
   5 :      &                  LOGNEG, MESERR, VALER)
   6 : C************************************************************************
   7 : C
   8 : C PROJET            :  CASTEM 2000
   9 : C
  10 : C NOM               :  FLAMB1
  11 : C
  12 : C DESCRIPTION       :  voir  FLAMB
  13 : C  
  14 : C                      Calculs
  15 : C    
  16 : C LANGAGE           :  FORTRAN 77 (avec extensions F90)
  17 : C      
  18 : C AUTEUR            :  A. BECCANTINI, DRN/DMT/SEMT/LTMF                        
  19 : C
  20 : C************************************************************************
  21 : C
  22 : C
  23 : C APPELES (E/S)     :  /
  24 : C     
  25 : C APPELES (Calcul)  :  /
  26 : C
  27 : C
  28 : C************************************************************************
  29 : C      
  30 : C ENTREES  : 
  31 : C
  32 : C            NC = nombre de points centre
  33 : C
  34 : C            DT = interval de temps 
  35 : C              
  36 : C            A, B, C, TA = constantes de la cinetique chmimique (voir
  37 : C                           FLAMB)
  38 : C             
  39 : C            TSEUIL(NC) = champ de la temperature de seuil
  40 : C
  41 : C            H0H2, H0O2, HOH2O = enthalpie de formation a 0K (J/kg)
  42 : C
  43 : C            TEMP(NC)  = champ de temperature
  44 : C
  45 : C            RYH2(NC)  = masse volumique d'hydrogene (initial)
  46 : C
  47 : C            RYO2(NC)  = masse volumique d'oxygene
  48 : C
  49 : C            RYH2O(NC) = masse volumique d'eau
  50 : C
  51 : C SORTIES  :
  52 : C
  53 : C            DE(NC) = variation d'energie thermique a suite de la reaction
  54 : C
  55 : C            NRYH2(NC)  = masse volumique d'hydrogene (final)
  56 : C
  57 : C            NRYO2(NC)  = masse volumique d'oxygene
  58 : C
  59 : C            NRYH2O(NC) = masse volumique d'eau
  60 : C
  61 : C************************************************************************
  62 : C
  63 : C HISTORIQUE (Anomalies et modifications éventuelles)
  64 : C
  65 : C HISTORIQUE :  Créée le 25.2.99
  66 : C 
  67 : C************************************************************************
  68 : C
  69 : C
  70 : C**** Les variables
  71 : C
  72 :       IMPLICIT INTEGER(I-N)
  73 :       INTEGER I1, NC
  74 :       REAL*8 MH2,MO2,MH2O,DT, A, B, C, TA, H0H2, H0O2, H0H2O, VALER
  75 :      &       ,TSEUIL(NC),RYH2(NC),RYO2(NC),RYH2O(NC), DE(NC)
  76 :      &       ,NRYH2(NC),NRYO2(NC),NRYH2O(NC), TEMP(NC)
  77 :      &       ,TEMP0, TSEU0, RYH2I, RYO2I, RYH2OI
  78 :      &       ,XH2, XO2, LAMBDA, CELL, DRYH2, DRYO2, DRYH2O, DMOL
  79 :       CHARACTER*(8) MESERR
  80 :       LOGICAL LOGNEG
  81 :       PARAMETER(MH2=2.016D-3,MO2=31.998D-3,MH2O=18.015D-3)
  82 : C     
  83 :       DO I1 = 1, NC
  84 :          TEMP0 = TEMP(I1)
  85 :          TSEU0 = TSEUIL(I1)
  86 :          RYH2I = RYH2(I1)
  87 :          RYO2I = RYO2(I1)
  88 :          RYH2OI = RYH2O(I1)
  89 :          IF(RYH2I .LT. 0.0D0)THEN
  90 :             LOGNEG = .TRUE.
  91 :             VALER = RYH2I
  92 :             MESERR = 'RYH2    '
  93 :             GOTO 9999
  94 :          ENDIF
  95 :          IF(RYO2I .LT. 0.0D0)THEN
  96 :             LOGNEG = .TRUE.
  97 :             VALER = RYO2I
  98 :             MESERR = 'RYO2    '
  99 :             GOTO 9999
 100 :          ENDIF
 101 :          IF(RYH2OI .LT. 0.0D0)THEN
 102 :             LOGNEG = .TRUE.
 103 :             VALER = RYH2OI
 104 :             MESERR = 'RYH2O   '
 105 :             GOTO 9999
 106 :          ENDIF
 107 :          IF(TEMP0 .GE. TSEU0)THEN
 108 : C
 109 : C********** A la recherche de l'espece majortitaire
 110 : C
 111 : C           XH2 = mole / m^3 d'H2
 112 : C
 113 :             XH2 = RYH2I / MH2
 114 :             XO2 = RYO2I / MO2
 115 :             IF(XH2 .GE. (2.0D0 * XO2))THEN
 116 : C
 117 : C           H2 majoritaire -> on integre O2
 118 : C
 119 :                LAMBDA = EXP(-1.0D0*TA/TEMP0)
 120 :                LAMBDA = LAMBDA * (TEMP0 ** (-1.0D0*B))
 121 :                LAMBDA = LAMBDA * (RYH2I ** C)
 122 :                LAMBDA = LAMBDA * MO2 * A
 123 :                CELL = RYO2I / (1.0D0 + (LAMBDA * DT))
 124 :                DRYO2 = CELL - RYO2I
 125 :                DMOL = DRYO2 / MO2
 126 :                DRYH2 = 2.0D0 * DMOL * MH2
 127 :                DRYH2O = -2.0D0 * DMOL * MH2O
 128 :                NRYO2(I1) = CELL
 129 :                NRYH2(I1) = RYH2I + DRYH2
 130 :                NRYH2O(I1) = RYH2OI + DRYH2O
 131 :                
 132 :             ELSE
 133 : C
 134 : C           O2 majoritaire -> On integre H2
 135 : C
 136 :                LAMBDA = EXP(-1.0D0*TA/TEMP0)
 137 :                LAMBDA = LAMBDA * (TEMP0 ** (-1.0D0*B))
 138 :                LAMBDA = LAMBDA * (RYH2I ** (C-1.0D0)) * RYO2I
 139 :                LAMBDA = 2.0D0 * LAMBDA * MH2 * A
 140 :                CELL = RYH2I / (1.0D0 + (LAMBDA * DT))
 141 :                DRYH2 = CELL - RYH2I
 142 :                DMOL = DRYH2 / MH2 / 2.0D0
 143 :                DRYO2 = DMOL * MO2 
 144 :                DRYH2O = -2.0D0 * DMOL * MH2O
 145 :                NRYH2(I1) = CELL
 146 :                NRYO2(I1) = RYO2I + DRYO2
 147 :                NRYH2O(I1) = RYH2OI + DRYH2O
 148 :             ENDIF
 149 :             DE(I1) = (DRYH2 * H0H2) + (DRYO2 * H0O2) + (DRYH2O * H0H2O)
 150 :             DE(I1) = -1.0D0 * DE(I1)
 151 :          ENDIF
 152 :       ENDDO
 153 : C
 154 :  9999 CONTINUE
 155 : C      
 156 :       RETURN                                                                    
 157 :       END
 158 : 
 159 : 
 160 : 
 161 :  
 162 :  
 163 :  
 164 :  
 165 :  

© Cast3M 2003 - All rights reserved.
Disclaimer