C FLAM1     SOURCE    CHAT      05/01/13    00:03:07     5004
      SUBROUTINE FLAM1(N,RHO,CV,R,YH2,YO2,YN2,YH2O,T,
     &                 ZH2,ZO2,ZN2,ZH2O,Q,Dt,NCVOPT)
C
C LAMINAR COMBUSTION OF HYDROGEN
C
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8 (A-H,O-Z)
C
      DIMENSION RHO(*),YH2(*),YO2(*),YN2(*),YH2O(*)
      DIMENSION CV(*),T(*),Q(*),R(*)
      DIMENSION ZH2(*),ZO2(*),ZN2(*),ZH2O(*)
      REAL*8 MH2,MO2,MN2,MH2O
      DATA Rg,MH2,MO2,MN2,MH2O/8.313D0,2.0D-3,32.0D-3,28.0D-3,18.0D-3/
      DATA Cf,Ta/3.3D5,1.0D4/
      DATA RRH2,RRO2,RRN2,RRH2O/4156.5D0,259.8D0,296.9D0,461.8D0/
      DATA ho_H2O/-1.327D7/
C
        DO I=1,N
C
        YH2(I) = ABS(YH2(I))
        YO2(I) = ABS(YO2(I))
        YH2O(I) = ABS(YH2O(I))
        YN2(I) = 1.D0 - YH2(I) - YO2(I) - YH2O(I)
        CALL XCV(T(I),CVH2,CVN2,CVO2,CVH2O,NCVOPT)
        CV(I) = YH2(I)*CVH2 + YO2(I)*CVO2 + YN2(I)*CVN2 + YH2O(I)*CVH2O
        R(I) = YH2(I)*RRH2 + YO2(I)*RRO2 + YN2(I)*RRN2 + YH2O(I)*RRH2O
        XH2 = YH2(I)/MH2
        XO2 = YO2(I)/MO2
        RH2 = YH2(I)*RHO(I)
        RO2 = YO2(I)*RHO(I)
        RH2O = YH2O(I)*RHO(I)
        IF ( XH2 .GT. 2.0D0*XO2 ) THEN
          ROPREC = RO2
          RO2 = RO2/(1.0D0 + DT*Cf*RH2/MH2*EXP(-Ta/T(I)))
          DRHO = RO2-ROPREC
          RH2 = RH2 + 2.0D0*MH2/MO2*DRHO
          RH2O = RH2O - 2.0D0*MH2O/MO2*DRHO
          Q(I) = 2.0D0*MH2O/MO2*DRHO*ho_H2O/DT
        ELSE
          ROPREC = RH2
          RH2 = RH2/(1.0D0 + 2.0D0*DT*Cf*RO2/MO2*EXP(-Ta/T(I)))
          DRHO = RH2-ROPREC
          RO2 = RO2 + MO2/(2.0D0*MH2)*DRHO
          RH2O = RH2O - MH2O/MH2*DRHO
          Q(I) = MH2O/MH2*DRHO*ho_H2O/DT
        ENDIF
          ZH2(I) = RH2/RHO(I)
          ZO2(I) = RO2/RHO(I)
          ZH2O(I) = RH2O/RHO(I)
          ZN2(I) = 1.D0 - ZH2(I) - ZO2(I) - ZH2O(I)
        ENDDO
C
       RETURN
       END


