示例#1
0
def test_reynolds_args2():
    re = cm.reynolds(0.25, 0.102, nu=1.4e-6)
    assert re == approx(18214.2857, rel=1e-2)
示例#2
0
def flow_regime(Re=None, u=None, d=None, rho=None, mu=None, nu=None):
    """
    Determine flow regime (laminar, transitional or turbulent) considering the
    Reynolds number boundaries for the case of a straight, non-smooth pipe.
    
    Laminar regime: Re < 2100
    
    Transitional regime: 2100 <= Re <= 4000
    
    Laminar regime: Re > 4000

    Parameters
    ----------
    Re : float, optional
        Reynolds number [-]
    u : float, optional
        Flow speed [m/s]
    d : float, optional
        Characteristic length or dimension [m]
    rho : float, optional
        Density of the fluid or gas [kg/m^3]
    mu : float, optional
        Dynamic viscosity of the fluid or gas [kg/(m s)]
    nu : float, optional
        Kinematic viscosity of the fluid or gas [m^2/s]

    Returns
    -------
    regime : string
        Flow regime. One of laminar, transitional or turbulent.

    Examples
    --------
    >>> flow_regime(u=2.6, d=0.025, rho=910, mu=0.38)
    'laminar'

    >>> flow_regime(Re=3250)
    'transitional'

    >>> flow_regime(u=0.25, d=0.102, nu=1.4e-6)
    'turbulent'

    Raises
    ------
    ValueError
        Must provide Re or (u, d, rho, mu) or (u, d, nu)

    References
    ----------
    R.H. Perry, D.W. Green. Perry's Chemical Engineers' Handbook.
    McGraw-Hill, 8th edition, 2008.
    """
    if not Re:
        if (rho and mu and not nu) or (nu and not rho and not mu):
            Re = cm.reynolds(u, d, rho=rho, mu=mu, nu=nu)
        else:
            raise ValueError(
                'Must provide Re or (u, d, rho, mu) or (u, d, nu)')
    if Re < 2100:
        regime = 'laminar'
    elif 2100 <= Re <= 4000:
        regime = 'transitional'
    elif Re > 4000:
        regime = 'turbulent'

    return regime
示例#3
0
def test_reynolds_args1():
    re = cm.reynolds(2.6, 0.025, rho=910, mu=0.38)
    assert re == approx(155.65789, rel=1e-2)
示例#4
0
"""
Examples of using the Reynolds number function.
"""

import chemics as cm

# Example 1
# ---------------------------------------------------------------------------

u = 2.6  # flow speed in m/s
d = 0.025  # characteristic length or dimension in meters
ρ = 910  # density of the fluid or gas in kg/m³
μ = 0.38  # dynamic viscosity of the fluid or gas in kg/(m⋅s)

re = cm.reynolds(u, d, rho=ρ, mu=μ)
print(f're = {re:.4f}')

# Example 2
# ---------------------------------------------------------------------------

u = 0.25  # flow speed in m/s
d = 0.102  # characteristic length or dimension in meters
𝒗 = 1.4e-6  # kinematic viscosity of the fluid or gas in m²/s

re = cm.reynolds(u, d, nu=𝒗)
print(f're = {re:.4f}')