def adjaye(c, t):
    """
    Calculate concentrations based on Adjaye kinetic scheme for bio-oil
    conversion in fixed bed of zeolite catalyst. Kinetic parameters were
    evaluated at 370C. Reaction pathways adjusted based on available data in
    Adjaye 1995 papers.

    Inputs
    ------
    c = concentration vector, kmol/m^3
        where c[0] = oil, c[1] = nonvol, c[2] = vol
    t = time vector, s

    Returns
    -------
    r = reaction rates vector, kmol/(kg cat. hr)
    """

    # concentrations as kmol/m^3
    Coil = c[0]     # bio-oil
    Cnon = c[1]     # non-volatiles
    Cvol = c[2]     # volatiles

    # rate constants as K, assumed to be m^3/(kg hr)
    # reaction orders as n, (-)
    K1 = 0.4        # bio-oil -> non-volatiles
    n1 = 1.0
    K2 = 1.1        # bio-oil -> volatiles
    n2 = 1
    K3 = 6.8e-5     # non-volatiles -> volatiles
    n3 = 0.9
    K4 = 3.4e-5     # non-volatiles -> coke
    n4 = 0.9
    K5 = 3.3e-7     # non-volatiles -> residue
    n5 = 2.2
    K6 = 8.3e-5     # volatiles -> residue
    n6 = 1
    K7 = 3.4e-6     # volatiles -> aqueous fraction
    n7 = 1.6
    K8 = 8.3e-4     # volatiles -> organic distillates
    n8 = 1
    K9 = 1.1e-4     # volatiles -> gas
    n9 = 0.7
    K10 = 6.4e-5    # volatiles -> coke
    n10 = 1.1
    K11 = 6.0e-4    # volatiles -> hydrocarbons
    n11 = 0.9

    # reaction rates as kmol/(kg cat. hr)
    rOil = -K1*Coil**n1 - K2*Coil**n2
    rNonVol = K1*Coil**n1 - K3*Cnon**n3 - K4*Cnon**n4 - K5*Cnon**n5
    rVol = (K2*Coil**n2 + K3*Cnon**n3 - K6*Cvol**n6 - K7*Cvol**n7 - K8*Cvol**n8
            - K9*Cvol**n9 - K10*Cvol**n10 - K11*Cvol**n11)
    rCoke = K4*Cnon**n4 + K10*Cvol**n10
    rRes = K5*Cnon**n5 + K6*Cvol**n6
    rAq = K7*Cvol**n7
    rOrg = K8*Cvol**n8
    rHydro = K11*Cvol**n11
    rGas = K9*Cvol**n9

    # return list of reaction rates
    dcdt = [rOil, rNonVol, rVol, rCoke, rRes, rAq, rOrg, rHydro, rGas]

    return dcdt