What equation does HAMMER use to compute the Darcy-Weisbach friction factor (f)?


Applies To   
Product(s): HAMMER
Version(s): All
Area:  Modeling

 

Problem

How does HAMMER compute the Darcy-Weisbach friction factor (f) for each pipe in the model, for use during a transient simulation?

Background

HAMMER always uses the Darcy-Weisbach friction method during a transient simulation, regardless of the initial conditions friction method (typically Hazen-Williams). It computes the "f" friction factor based on the initial conditions headloss (total headloss across the pipe including both friction and minor losses). The friction factor 'f' is shown in the "PIPE INFORMATION" section of the Transient Analysis Output Log. See more here: Reporting the Darcy-Weisbach Friction Factor (f)

There are a few different variations of the calculation depending on the situation:

Solution - non-zero initial flow

For non-zero flow pipes (initial conditions flow above "flow tolerance" transient calculation option) it uses this equation:

f = hl / [ (L/D)(V^2/2g) ]

Where:

hl = headloss across the pipe (ft, m)
L = pipe length (ft, m)
D = Diameter (ft, m)
V = Velocity (ft/s, m/s)

Solution - zero initial flow

If the initial flow through the pipe is zero or near zero (less than the "flow tolerance" transient calculation option), the user-entered friction coefficient will be directly converted to a Darcy-Weisbach 'f'.

Hazen-Williams used for initial conditions:

If the initial conditions friction method is set to Hazen-Williams, the C coefficients are used to calculate the Darcy-Weisbach f based on the following table. Interpolation is used for values between the ones mentioned in the table:

Original Hazen-Williams C

Converted Friction Factor f

10

0.2

70

0.05

100

0.025

140

0.015

170 and above

0.01*

*Note that version 2024 and earlier used a friction factor of zero for Hazen-Williams C of 170 and above. Since this can cause friction factor errors, it was changed to 0.01 for version 2026 and above

Darcy-Weisbach used for initial conditions:

If the initial conditions friction method is set to Darcy-Weisbach (with a roughness height 'e' entered), it uses the Von Karman equation to compute the friction factor:

DW f = (1.0 / (2.0 * Log10(Diameter / roughness height) + 1.14)^2

See Also

Unexpected results seen in pipes with zero initial flow

Error computing HAMMER model: "The Darcy-Weisbach friction coefficient xxx is too large.