Friction in straight pipe with walls of nonuniform roughness (commercial pipes) in the region that does not depend on the Reynolds-number
The loss factors are given for mass flow rates from port_a to port_b as:
turbulent flow (Idelchik 1994, diagram 2-5, p. 117) zeta = (L/D)/(2*lg(3.7 / Δ))^2, for Re >= 560/Δ for Re ≥ 560/Δ the loss factor does not depend on the Reynolds number. For Re ≥ 4000, the flow is turbulent, but depends both on Δ and slightly on Re. laminar flow (Idelchik 1994, diagram 2-1, p. 110): zeta = 64*(L/D)/Re
where
Since the LossFactorData record can only describe loss factors that depend on geometry (but, e.g., not on the Reynolds number), only the region with Re ≥ 560/Δ is described by this data. Still, the turbulent region with the above zeta is defined to start at Re=4000, since otherwise the approximation for Re < 560/Δ is too bad.
The absolute roughness δ has usually to be estimated. In [Idelchik 1994, pp. 105-109, Table 2-5; Miller 1990, p. 190, Table 8-1] many examples are given. As a short summary:
Smooth pipes | Drawn brass, copper, aluminium, glass, etc. | δ = 0.0025 mm |
Steel pipes | New smooth pipes | δ = 0.025 mm |
Mortar lined, average finish | δ = 0.1 mm | |
Heavy rust | δ = 1 mm | |
Concrete pipes | Steel forms, first class workmanship | δ = 0.025 mm |
Steel forms, average workmanship | δ = 0.1 mm | |
Block linings | δ = 1 mm |
encapsulated function wallFriction import Modelica.Units.SI; import Modelica.Fluid.Fittings.BaseClasses.QuadraticTurbulent.LossFactorData; import Modelica.Fluid.Types.Roughness; import lg = Modelica.Math.log10; input SI.Length length "Length of pipe" annotation( Dialog); input SI.Diameter diameter "Inner diameter of pipe" annotation( Dialog); input Roughness roughness(min = 1e-10) "Absolute roughness of pipe (> 0 required, details see info layer)" annotation( Dialog); output LossFactorData data "Pressure loss factors for both flow directions"; end wallFriction;