def uch_punwani(xy, d_pipe, gs, rhog, rhos, ut):
    """
    Provide functions to solve for voidage and choking velocity based on
    equations from Punwani 1976. Requires SciPy fsolve function.

    Parameters
    ----------
    xy
        Solves for ep and uch using SciPy fsolve where
        ep = voidage [-] and uch = choking velocity [m/s]
    d_pipe : float
        Internal pipe diameter [m]
    gs : float
        Solids flux [kg/(s m^2)]
    rhog : float
        Density of gas, must be in units of lb/ft^3
    rhos : float
        Density of particle [kg/m^3]
    ut : float
        Terminal velocity [m/s]

    Returns
    -------
    f1, f2 : functions
        Functions to solve for ep and uch

    References
    ----------
    Punwani, Modi, Tarman, 1976. A Generalized Correlation for Estimating
    Choking Velocity in Vertical Solids Transport. Institute of Gas Technology,
    Chicago, IL, 1-14.
    """
    ep, uc = xy
    g = 9.81
    f1 = 2 * g * d_pipe * (ep ** -4.7 - 1) - 0.074 * rhog ** 0.77 * (uc /
        ep - ut) ** 2
    f2 = gs / rhos / (1 - ep) - uc / ep + ut
    return f1, f2
