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