Download flama1.eso

Back to the list

   1 : C FLAMA1    SOURCE    CHAT      05/01/13    00:03:14     5004           
   2 :       SUBROUTINE FLAMA1(NC,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               :  FLAMA1
  11 : C
  12 : C DESCRIPTION       :  voir  FLAMA
  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            TSEUIL(NC) = champ de la temperature de seuil
  35 : C
  36 : C            H0H2, H0O2, HOH2O = enthalpie de formation a 0K (J/kg)
  37 : C
  38 : C            TEMP(NC)  = champ de temperature
  39 : C
  40 : C            RYH2(NC)  = masse volumique d'hydrogene (initial)
  41 : C
  42 : C            RYO2(NC)  = masse volumique d'oxygene
  43 : C
  44 : C            RYH2O(NC) = masse volumique d'eau
  45 : C
  46 : C SORTIES  :
  47 : C
  48 : C            DE(NC) = variation d'energie thermique a suite de la reaction
  49 : C
  50 : C            NRYH2(NC)  = masse volumique d'hydrogene (final)
  51 : C
  52 : C            NRYO2(NC)  = masse volumique d'oxygene
  53 : C
  54 : C            NRYH2O(NC) = masse volumique d'eau
  55 : C
  56 : C************************************************************************
  57 : C
  58 : C HISTORIQUE (Anomalies et modifications éventuelles)
  59 : C
  60 : C HISTORIQUE :  Créée le 1.3.99
  61 : C 
  62 : C************************************************************************
  63 : C
  64 : C
  65 : C**** Les variables
  66 : C
  67 :       IMPLICIT INTEGER(I-N)
  68 :       INTEGER I1, NC
  69 :       REAL*8 MH2,MO2,MH2O, H0H2, H0O2, H0H2O, VALER
  70 :      &       ,TSEUIL(NC),RYH2(NC),RYO2(NC),RYH2O(NC), DE(NC)
  71 :      &       ,NRYH2(NC),NRYO2(NC),NRYH2O(NC), TEMP(NC)
  72 :      &       ,TEMP0, TSEU0, RYH2I, RYO2I, RYH2OI
  73 :      &       ,XH2, XO2, XH2O, XMAX, CELL, DRYH2, DRYO2, DRYH2O, DMOL
  74 :       CHARACTER*(8) MESERR
  75 :       LOGICAL LOGNEG
  76 :       PARAMETER(MH2=2.016D-3,MO2=31.998D-3,MH2O=18.015D-3)
  77 : C     
  78 :       DO I1 = 1, NC
  79 :          TEMP0 = TEMP(I1)
  80 :          TSEU0 = TSEUIL(I1)
  81 :          RYH2I = RYH2(I1)
  82 :          RYO2I = RYO2(I1)
  83 :          RYH2OI = RYH2O(I1)
  84 :          IF(RYH2I .LT. 0.0D0)THEN
  85 :             LOGNEG = .TRUE.
  86 :             VALER = RYH2I
  87 :             MESERR = 'RYH2    '
  88 :             GOTO 9999
  89 :          ENDIF
  90 :          IF(RYO2I .LT. 0.0D0)THEN
  91 :             LOGNEG = .TRUE.
  92 :             VALER = RYO2I
  93 :             MESERR = 'RYO2    '
  94 :             GOTO 9999
  95 :          ENDIF
  96 :          IF(RYH2OI .LT. 0.0D0)THEN
  97 :             LOGNEG = .TRUE.
  98 :             VALER = RYH2OI
  99 :             MESERR = 'RYH2O   '
 100 :             GOTO 9999
 101 :          ENDIF
 102 :          IF(TEMP0 .GE. TSEU0)THEN
 103 : C
 104 : C********** A la recherche de l'espece majortitaire
 105 : C
 106 : C           XH2 = mole / m^3 d'H2
 107 : C
 108 :             XH2 = RYH2I / MH2
 109 :             XO2 = RYO2I / MO2
 110 :             XH2O = RYH2OI / MH2O
 111 :             XMAX = MAX(XH2, XO2, XH2O)
 112 :             IF(XH2 .GE. (2.0D0 * XO2))THEN
 113 : C
 114 : C           H2 majoritaire -> O2 brule completement
 115 : C
 116 :                CELL = MIN(XO2,1.0D-8*XMAX) * MO2
 117 :                DRYO2 = CELL - RYO2I
 118 :                DMOL = DRYO2 / MO2
 119 :                DRYH2 = 2.0D0 * DMOL * MH2
 120 :                DRYH2O = -2.0D0 * DMOL * MH2O
 121 :                NRYO2(I1) = CELL
 122 :                NRYH2(I1) = RYH2I + DRYH2
 123 :                NRYH2O(I1) = RYH2OI + DRYH2O
 124 :             ELSE
 125 : C
 126 : C           O2 majoritaire -> H2 brule completement
 127 : C
 128 :                CELL = MIN(XH2,1.0D-8*XMAX) * MH2
 129 :                DRYH2 = CELL - RYH2I
 130 :                DMOL = DRYH2 / MH2 / 2.0D0
 131 :                DRYO2 = DMOL * MO2 
 132 :                DRYH2O = -2.0D0 * DMOL * MH2O
 133 :                NRYH2(I1) = CELL
 134 :                NRYO2(I1) = RYO2I + DRYO2
 135 :                NRYH2O(I1) = RYH2OI + DRYH2O
 136 :             ENDIF
 137 :             DE(I1) = (DRYH2 * H0H2) + (DRYO2 * H0O2) + (DRYH2O * H0H2O)
 138 :             DE(I1) = -1.0D0 * DE(I1)
 139 :          ENDIF
 140 :       ENDDO
 141 : C
 142 :  9999 CONTINUE
 143 : C      
 144 :       RETURN                                                                    
 145 :       END
 146 : 
 147 : 
 148 : 
 149 :  
 150 :  
 151 :  
 152 :  
 153 :  

© Cast3M 2003 - All rights reserved.
Disclaimer