The Darcy friction factor (\(f\)) is
a key parameter for calculating head loss. The hf package
uses a functional programming approach, allowing users to “inject”
different calculation methods into the Darcy-Weisbach functions.
calc_friction_cw)The industry standard for turbulent flow in rough pipes. Being an
implicit equation, hf solves it using numerical
root-finding (uniroot).
\[ \frac{1}{\sqrt{f}} = -2 \log_{10} \left( \frac{\epsilon}{3.7D} + \frac{2.51}{Re\sqrt{f}} \right) \]
calc_friction_sj)A highly accurate explicit approximation of the Colebrook-White equation. Recommended for high-performance calculations where numerical iteration is too slow.
\[f = \frac{0.25}{\left[ \log_{10} \left( \frac{\epsilon}{3.7D} + \frac{5.74}{Re^{0.9}} \right) \right]^2}\]
calc_friction_haaland)The Haaland equation is an excellent explicit alternative to the Colebrook-White equation. It provides highly accurate results for turbulent flows without the need for numerical iteration.
\[\frac{1}{\sqrt{f}} = -1.8 \log_{10} \left[ \left( \frac{\epsilon}{3.7D} \right)^{1.11} + \frac{6.9}{Re} \right]\]
calc_friction_blasius)An empirical formula for smooth pipes and Reynolds numbers up to \(10^5\). It provides a simpler alternative when relative roughness is negligible.
\[ f = \frac{0.3164}{Re^{0.25}} \]