        SUBROUTINE kvalue(P,T,K)

c***********************************************************************
c       This subroutine calculates equilibrium ratios for methane thru
c          heptanes plus, carbon dioxide, hydrogen sulfide, and nitrogen.

c       Author: Scott K. Laudeman
c       Date: June 20, 1987

c       The equilibrium ratio correlation is one developed in Standing,
c          M.B.:"A Set of Equations for Computing Equilibrium Ratios of a
c          Crude Oil/Natural Gas System at Pressures Below 1,000 psia,"
c          J. Pet. Tech. (September, 1979) 1193-1195.

c       Input Variables

c          P: Pressure, Psia.
c          T: Temperature, Deg. F.

c       Output Variables

c          K: Array containing equilibrium ratios. Components are
c             assigned subscripts as shown below.
c                1: carbon dioxide
c                2: hydrogen sulfide
c                3: nitrogen
c                4: methane
c                5: ethane
c                6: propane
c                7: isobutane
c                8: n-butane
c                9: isopentane
c               10: n-pentane
c               11: n-hexane
c               12: heptanes plus

c       Other Variables

c          a: Correlating parameter a.
c          b: Array containing correlating parameter b, cycle*(deg. R).
c          c: Correlating parameter c.
c          cvRankine: Conversion factor for degrees Rankine, Deg. R.
c          F: Component characterization factor.
c          i: Loop counter.
c          n7Plus: Equivalent carbon number of heptanes plus.
c          NumComp: Number of components represented in correlation.
c          Tb: Array containing boiling point, deg. R.

c***********************************************************************


c***********************************************************************
c       Declarations
c***********************************************************************

c=======================================================================
c       Constants
c=======================================================================

        PARAMETER (cvRankine=459.67,NumComp=12)

c=======================================================================
c       Variables
c=======================================================================

        REAL    b(NumComp),K(NumComp),n7Plus,Tb(NumComp)

c=======================================================================
c        Initialize Arrays
c=======================================================================

        DATA b/652.0,1136.0,470.0,300.0,1145.0,
     1     1799.0,2037.0,2153.0,2368.0,2480.0,2780.0,0.0/
        DATA Tb/194.0,331.0,109.0,94.0,303.0,
     1     416.0,471.0,491.0,542.0,557.0,616.0,0.0/

c***********************************************************************
c       Main Program
c***********************************************************************

c=======================================================================
c       Calculate Correlation Parameters for Heptanes Plus
c=======================================================================

        n7Plus = 7.3  + .0075*T + .0016*P

        b(12)  = 1013.0 + 324.0*n7Plus - 4.256*n7Plus**2
        Tb(12) =  301.0 + 59.85*n7Plus -  .971*n7Plus**2

c=======================================================================
c        Calculate Equilibrium Ratios
c=======================================================================

        a = 1.2 + 4.5E-04*P +  15E-08*P**2
        c = .89 - 1.7E-04*P - 3.5E-08*P**2

        DO 10 i = 1,NumComp
           F    = b(i)*(1.0/Tb(i) - 1.0/(T+cvRankine))
           K(i) = (1.0/P)*10.0**(a + c*F)
10      CONTINUE

        RETURN

        END
