def test_reynolds_args2(): re = cm.reynolds(0.25, 0.102, nu=1.4e-6) assert re == approx(18214.2857, rel=1e-2)
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
def test_reynolds_args1(): re = cm.reynolds(2.6, 0.025, rho=910, mu=0.38) assert re == approx(155.65789, rel=1e-2)
""" 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}')