flamb1
C FLAMB1 SOURCE CHAT 05/01/13 00:03:21 5004 & RYH2, RYO2, RYH2O, & DE, NRYH2, NRYO2, NRYH2O, & LOGNEG, MESERR, VALER) C************************************************************************ C C PROJET : CASTEM 2000 C C NOM : FLAMB1 C C DESCRIPTION : voir FLAMB C C Calculs C C LANGAGE : FORTRAN 77 (avec extensions F90) C C AUTEUR : A. BECCANTINI, DRN/DMT/SEMT/LTMF C C************************************************************************ C C C APPELES (E/S) : / C C APPELES (Calcul) : / C C C************************************************************************ C C ENTREES : C C NC = nombre de points centre C C DT = interval de temps C C A, B, C, TA = constantes de la cinetique chmimique (voir C FLAMB) C C TSEUIL(NC) = champ de la temperature de seuil C C H0H2, H0O2, HOH2O = enthalpie de formation a 0K (J/kg) C C TEMP(NC) = champ de temperature C C RYH2(NC) = masse volumique d'hydrogene (initial) C C RYO2(NC) = masse volumique d'oxygene C C RYH2O(NC) = masse volumique d'eau C C SORTIES : C C DE(NC) = variation d'energie thermique a suite de la reaction C C NRYH2(NC) = masse volumique d'hydrogene (final) C C NRYO2(NC) = masse volumique d'oxygene C C NRYH2O(NC) = masse volumique d'eau C C************************************************************************ C C HISTORIQUE (Anomalies et modifications éventuelles) C C HISTORIQUE : Créée le 25.2.99 C C************************************************************************ C C C**** Les variables C IMPLICIT INTEGER(I-N) INTEGER I1, NC REAL*8 MH2,MO2,MH2O,DT, A, B, C, TA, H0H2, H0O2, H0H2O, VALER & ,TSEUIL(NC),RYH2(NC),RYO2(NC),RYH2O(NC), DE(NC) & ,NRYH2(NC),NRYO2(NC),NRYH2O(NC), TEMP(NC) & ,TEMP0, TSEU0, RYH2I, RYO2I, RYH2OI & ,XH2, XO2, LAMBDA, CELL, DRYH2, DRYO2, DRYH2O, DMOL CHARACTER*(8) MESERR LOGICAL LOGNEG PARAMETER(MH2=2.016D-3,MO2=31.998D-3,MH2O=18.015D-3) C DO I1 = 1, NC TEMP0 = TEMP(I1) TSEU0 = TSEUIL(I1) RYH2I = RYH2(I1) RYO2I = RYO2(I1) RYH2OI = RYH2O(I1) IF(RYH2I .LT. 0.0D0)THEN LOGNEG = .TRUE. VALER = RYH2I MESERR = 'RYH2 ' GOTO 9999 ENDIF IF(RYO2I .LT. 0.0D0)THEN LOGNEG = .TRUE. VALER = RYO2I MESERR = 'RYO2 ' GOTO 9999 ENDIF IF(RYH2OI .LT. 0.0D0)THEN LOGNEG = .TRUE. VALER = RYH2OI MESERR = 'RYH2O ' GOTO 9999 ENDIF IF(TEMP0 .GE. TSEU0)THEN C C********** A la recherche de l'espece majortitaire C C XH2 = mole / m^3 d'H2 C XH2 = RYH2I / MH2 XO2 = RYO2I / MO2 IF(XH2 .GE. (2.0D0 * XO2))THEN C C H2 majoritaire -> on integre O2 C LAMBDA = EXP(-1.0D0*TA/TEMP0) LAMBDA = LAMBDA * (TEMP0 ** (-1.0D0*B)) LAMBDA = LAMBDA * (RYH2I ** C) LAMBDA = LAMBDA * MO2 * A CELL = RYO2I / (1.0D0 + (LAMBDA * DT)) DRYO2 = CELL - RYO2I DMOL = DRYO2 / MO2 DRYH2 = 2.0D0 * DMOL * MH2 DRYH2O = -2.0D0 * DMOL * MH2O NRYO2(I1) = CELL NRYH2(I1) = RYH2I + DRYH2 NRYH2O(I1) = RYH2OI + DRYH2O ELSE C C O2 majoritaire -> On integre H2 C LAMBDA = EXP(-1.0D0*TA/TEMP0) LAMBDA = LAMBDA * (TEMP0 ** (-1.0D0*B)) LAMBDA = LAMBDA * (RYH2I ** (C-1.0D0)) * RYO2I LAMBDA = 2.0D0 * LAMBDA * MH2 * A CELL = RYH2I / (1.0D0 + (LAMBDA * DT)) DRYH2 = CELL - RYH2I DMOL = DRYH2 / MH2 / 2.0D0 DRYO2 = DMOL * MO2 DRYH2O = -2.0D0 * DMOL * MH2O NRYH2(I1) = CELL NRYO2(I1) = RYO2I + DRYO2 NRYH2O(I1) = RYH2OI + DRYH2O ENDIF DE(I1) = (DRYH2 * H0H2) + (DRYO2 * H0O2) + (DRYH2O * H0H2O) DE(I1) = -1.0D0 * DE(I1) ENDIF ENDDO C 9999 CONTINUE C RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales