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     # define variables
    g = 9.81        # accelerationg of gravity, m/s^2

    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