r'''Calculates saltation velocity of the gas for pneumatic conveying,
    according to [1]_ as described in [2]_, [3]_, [4]_, and [5]_.

    If Vterminal is under 3 m/s, use equation 1; otherwise, equation 2.

    .. math::
        Fr_s = \left(7 + \frac{8}{3}V_{terminal}\right)\mu^{0.25}
        \left(\frac{d_p}{D}\right)^{0.1}

        Fr_s = 15\mu^{0.25}\left(\frac{d_p}{D}\right)^{0.1}

        Fr_s = \frac{V_{salt}}{\sqrt{gD}}

        \mu = \frac{m_p}{\frac{\pi}{4}D^2V \rho_f}

    Parameters
    ----------
    mp : float
        Solid mass flow rate, [kg/s]
    rhop : float
        Particle density, [kg/m^3]
    dp : float
        Particle diameter, [m]
    rhog : float
        Gas density, [kg/m^3]
    D : float
        Diameter of pipe, [m]
    Vterminal : float
        Terminal velocity of particle settling in gas, [m/s]

    Returns
    -------
        V : float
            Saltation velocity of gas, [m/s]

    Notes
    -----
    Model is rearanged to be explicit in terms of saltation velocity
    internally.

    Examples
    --------
    Examples are only a self-test.

    >>> Weber(mp=1, rhop=1000., dp=1E-3, rhog=1.2, D=0.1, Vterminal=4)
    15.227445436331474

    References
    ----------
    .. [1] Weber, M. 1981. Principles of hydraulic and pneumatic conveying in
       pipes. Bulk Solids Handling 1: 57-63.
    .. [2] Rabinovich, Evgeny, and Haim Kalman. "Threshold Velocities of
       Particle-Fluid Flows in Horizontal Pipes and Ducts: Literature Review."
       Reviews in Chemical Engineering 27, no. 5-6 (January 1, 2011).
       doi:10.1515/REVCE.2011.011.
    .. [3] Setia, G., S. S. Mallick, R. Pan, and P. W. Wypych. "Modeling
       Minimum Transport Boundary for Fluidized Dense-Phase Pneumatic Conveying
       Systems." Powder Technology 277 (June 2015): 244-51.
       doi:10.1016/j.powtec.2015.02.050.
    .. [4] Bansal, A., S. S. Mallick, and P. W. Wypych. "Investigating
       Straight-Pipe Pneumatic Conveying Characteristics for Fluidized
       Dense-Phase Pneumatic Conveying." Particulate Science and Technology
       31, no. 4 (July 4, 2013): 348-56. doi:10.1080/02726351.2012.732677.
    .. [5] Gomes, L. M., and A. L. Amarante Mesquita. "On the Prediction of
       Pickup and Saltation Velocities in Pneumatic Conveying." Brazilian
       Journal of Chemical Engineering 31, no. 1 (March 2014): 35-46.
       doi:10.1590/S0104-66322014000100005

def Weber(mp, rhop, dp, rhog, D, Vterminal=4):
    r'''Calculates saltation velocity of the gas for pneumatic conveying,
    according to [1]_ as described in [2]_, [3]_, [4]_, and [5]_.

    If Vterminal is under 3 m/s, use equation 1; otherwise, equation 2.

    .. math::
        Fr_s = \left(7 + \frac{8}{3}V_{terminal}\right)\mu^{0.25}
        \left(\frac{d_p}{D}\right)^{0.1}

        Fr_s = 15\mu^{0.25}\left(\frac{d_p}{D}\right)^{0.1}

        Fr_s = \frac{V_{salt}}{\sqrt{gD}}

        \mu = \frac{m_p}{\frac{\pi}{4}D^2V \rho_f}

    Parameters
    ----------
    mp : float
        Solid mass flow rate, [kg/s]
    rhop : float
        Particle density, [kg/m^3]
    dp : float
        Particle diameter, [m]
    rhog : float
        Gas density, [kg/m^3]
    D : float
        Diameter of pipe, [m]
    Vterminal : float
        Terminal velocity of particle settling in gas, [m/s]

    Returns
    -------
        V : float
            Saltation velocity of gas, [m/s]

    Notes
    -----
    Model is rearanged to be explicit in terms of saltation velocity
    internally.

    Examples
    --------
    Examples are only a self-test.

    >>> Weber(mp=1, rhop=1000., dp=1E-3, rhog=1.2, D=0.1, Vterminal=4)
    15.227445436331474

    References
    ----------
    .. [1] Weber, M. 1981. Principles of hydraulic and pneumatic conveying in
       pipes. Bulk Solids Handling 1: 57-63.
    .. [2] Rabinovich, Evgeny, and Haim Kalman. "Threshold Velocities of
       Particle-Fluid Flows in Horizontal Pipes and Ducts: Literature Review."
       Reviews in Chemical Engineering 27, no. 5-6 (January 1, 2011).
       doi:10.1515/REVCE.2011.011.
    .. [3] Setia, G., S. S. Mallick, R. Pan, and P. W. Wypych. "Modeling
       Minimum Transport Boundary for Fluidized Dense-Phase Pneumatic Conveying
       Systems." Powder Technology 277 (June 2015): 244-51.
       doi:10.1016/j.powtec.2015.02.050.
    .. [4] Bansal, A., S. S. Mallick, and P. W. Wypych. "Investigating
       Straight-Pipe Pneumatic Conveying Characteristics for Fluidized
       Dense-Phase Pneumatic Conveying." Particulate Science and Technology
       31, no. 4 (July 4, 2013): 348-56. doi:10.1080/02726351.2012.732677.
    .. [5] Gomes, L. M., and A. L. Amarante Mesquita. "On the Prediction of
       Pickup and Saltation Velocities in Pneumatic Conveying." Brazilian
       Journal of Chemical Engineering 31, no. 1 (March 2014): 35-46.
       doi:10.1590/S0104-66322014000100005
    '''
    if Vterminal <= 3:
        term1 = (7 + 8/3.*Vterminal)*(dp/D)**0.1
    else:
        term1 = 15.*(dp/D)**0.1
    term2 = 1./(g*D)**0.5
    term3 = mp/rhog/(pi/4*D**2)
    V = (term1/term2*term3**0.25)**(1/1.25)
    return V