Skip to content
cfd-lab:~/en/posts/2026-09-17-kinetic-energ…● online

Translated from the author's Korean original. Read the original (한국어)

NOTE #157DAY THU 유체역학DATE 2026.09.17UPDATED 2026.10.19READ 7 min read#Kinetic-Energy-Coefficient#Bernoulli#Turbulence#Poiseuille#Fluid-Mechanics

2.0000 in laminar flow, 1.0322 in turbulent — the coefficient in front of the velocity head

Kinetic energy rides on the cube of velocity. That is why a velocity head built from the square of the mean counts exactly half of it in laminar pipe flow.

Take only the mean velocity to Bernoulli and half the energy disappears#

The same pipe carries the same flow rate. Divide the flow rate by the area and you get a mean velocity VV. Build V2/2gV^2/2g from it and drop that into the energy equation. Everyone does this.

In laminar pipe flow that number is exactly half of the real kinetic energy. The flow rate is right, the area is right, and the energy is off by 100%. Today I track down where the gap comes from, and why it shrinks to 3% in turbulent flow, by doing the integrals directly.

What actually got integrated when the velocity head was defined#

The kinetic energy flux through a section is the local kinetic energy multiplied by the local mass flux, integrated over the area.

E˙k=∫A12u2⋅ρu dA=ρ2∫Au3 dA\dot{E}_k = \int_A \frac{1}{2} u^2 \cdot \rho u \, dA = \frac{\rho}{2} \int_A u^3 \, dA

Here uu is the local axial velocity, ρ\rho the density and AA the cross-sectional area. The integrand carries uu three times: twice from the energy and once from carrying the mass.

The textbook energy equation, by contrast, writes m˙V2/2\dot{m} V^2/2. Since m˙=ρVA\dot{m} = \rho V A, that is ρV3A/2\rho V^3 A / 2. The ratio of the two is the kinetic energy coefficient α\alpha. The momentum equation has the same problem, and there uu appears twice, giving β\beta.

α=∫Au3 dAV3A,β=∫Au2 dAV2A\alpha = \frac{\int_A u^3 \, dA}{V^3 A}, \qquad \beta = \frac{\int_A u^2 \, dA}{V^2 A}

Both coefficients approach 1 as the profile flattens. Flip the profile switch from laminar to defect law and the gap between the two ledger bars collapses from 2 toward about 1.03.

Tracers move at the local velocity, so the parabola stretches far more than the blunt turbulent profile. The yellow bar is the kinetic energy the flow actually carries; the grey bar is what V²/2g alone would claim.

Switch the profile between laminar, power law and defect law, and watch the height gap between the two ledger bars on the right. The tracers move at the local velocity, so in the parabola only the central dots run away, while the turbulent profile travels almost as a single block. That "travelling as a block" is exactly what α\alpha measures.

Why the coefficient comes out at exactly 2 in laminar pipe flow#

The Hagen–Poiseuille solution is a parabola: u=Uc[1−(r/R)2]u = U_c \left[1 - (r/R)^2\right] with V=Uc/2V = U_c/2. Substituting s=r/Rs = r/R makes both the numerator and the denominator close in closed form.

∫Au3 dA=2πR2Uc3∫01(1−s2)3s ds=πR2Uc34\int_A u^3 \, dA = 2\pi R^2 U_c^3 \int_0^1 (1-s^2)^3 s \, ds = \frac{\pi R^2 U_c^3}{4}

Since V3A=(Uc/2)3πR2=πR2Uc3/8V^3 A = (U_c/2)^3 \pi R^2 = \pi R^2 U_c^3 / 8, we get α=2\alpha = 2. The same route gives β=4/3\beta = 4/3. Neither is an approximation or a fit — they are ratios of integers.

Open the numerator and the 2 stops looking like a fit. (1−s2)3s=s−3s3+3s5−s7(1-s^2)^3 s = s - 3s^3 + 3s^5 - s^7, and the integral from 0 to 1 is 1/2−3/4+1/2−1/8=1/81/2 - 3/4 + 1/2 - 1/8 = 1/8. Times 2πR2Uc32\pi R^2 U_c^3 that is πR2Uc3/4\pi R^2 U_c^3/4. The denominator is πR2Uc3/8\pi R^2 U_c^3/8. A quarter over an eighth is 2. β\beta is one power lower and stops at 4/34/3, which the table prints as 1.3333. For n=7n=7, 2n2/((n+1)(2n+1))=98/120=0.81666…2n^2/((n+1)(2n+1)) = 98/120 = 0.81666\ldots, the printed 0.8167.

An α\alpha of 2 does not mean "half the energy went missing". It means a single number called the mean velocity cannot stand in for a cube integral. To follow that same parabola from the closed form of the velocity, start with the Poiseuille analytical solution. There the integral is the velocity. Here it is the cube of that velocity.

Writing a turbulent profile with a single exponent#

Turbulent pipe flow changes steeply only near the wall and is nearly flat through the core. The power law approximates that shape with one exponent.

uˉUc=(yR)1/n,y=R−r\frac{\bar{u}}{U_c} = \left(\frac{y}{R}\right)^{1/n}, \qquad y = R - r

Here yy is the distance from the wall and nn is an exponent that grows with the Reynolds number. The usual choice is n=7n=7. The mean velocity of this profile integrates in closed form.

VUc=2n2(n+1)(2n+1)\frac{V}{U_c} = \frac{2n^2}{(n+1)(2n+1)}

For n=7n=7 that is 0.81670.8167. Set it against the laminar 0.50.5 and you can see immediately how much blunter the profile has become. Since α\alpha is the same kind of integral, knowing nn fixes it.

Four profiles, one ledger, written out in Python#

The three families — laminar, power law and defect law — go through the same trapezoid integrator. No external packages, standard library only. With 40,000 radial divisions the laminar result matches the analytic value to four decimal places.

import math
 
R, M = 1.0, 40000                      # radius, number of radial divisions
dr = R / M
rs = [i * dr for i in range(M + 1)]
A = math.pi * R * R
 
def ring_integral(vals):
    """integrate f(r) over the section: ∫ f · 2πr dr (trapezoid)"""
    s = 0.0
    for i in range(M):
        a = vals[i] * 2.0 * math.pi * rs[i]
        b = vals[i + 1] * 2.0 * math.pi * rs[i + 1]
        s += 0.5 * (a + b) * dr
    return s
 
def ledger(u):
    """mean velocity, kinetic energy coefficient alpha, momentum coefficient beta"""
    vbar = ring_integral(u) / A
    al = ring_integral([x ** 3 for x in u]) / (vbar ** 3 * A)
    be = ring_integral([x ** 2 for x in u]) / (vbar ** 2 * A)
    return vbar, al, be
 
def poiseuille():
    return [1.0 - (r / R) ** 2 for r in rs]
 
def power_law(n):
    return [max(1.0 - r / R, 0.0) ** (1.0 / n) for r in rs]
 
def defect_law(ustar):
    """u/Vbar = 1 + (u*/Vbar)(3.75 - 2.5 ln(R/y)),  y = R - r"""
    out = []
    for r in rs:
        y = max(R - r, 1e-9)
        out.append(1.0 + ustar * (3.75 - 2.5 * math.log(R / y)))
    return out
 
print(f"{'profile':<20}{'Vbar/Uc':>9}{'alpha':>9}{'beta':>8}")
vb, al_lam, be = ledger(poiseuille())
print(f"{'Poiseuille (laminar)':<20}{vb:9.4f}{al_lam:9.4f}{be:8.4f}")
for n in (6, 7, 8, 10):
    vb, al, be = ledger(power_law(n))
    exact = 2.0 * n * n / ((n + 1.0) * (2.0 * n + 1.0))
    print(f"{'power law n=' + str(n):<20}{vb:9.4f}{al:9.4f}{be:8.4f}   Vbar exact {exact:.4f}")
 
print()
cases = [("laminar", al_lam)]
print(f"{'Re':>8}{'f':>8}{'u*/Vbar':>9}{'Uc/Vbar':>9}{'alpha':>8}{'beta':>8}")
for Re in (1e4, 1e5, 1e6, 1e7):
    f = (0.790 * math.log(Re) - 1.64) ** -2.0        # Petukhov friction factor
    us = math.sqrt(f / 8.0)                          # u*/Vbar
    u = defect_law(us)
    vb, al, be = ledger(u)
    print(f"{Re:8.0e}{f:8.4f}{us:9.4f}{max(u) / vb:9.4f}{al:8.4f}{be:8.4f}")
    cases.append((f"turbulent Re={Re:.0e}", al))
 
print()
V, g = 3.0, 9.81                                     # 3 m/s pipe flow, velocity head
base = V * V / (2 * g)
for name, al in (cases[0], cases[1], cases[3]):
    print(f"{name:<21}alpha={al:6.4f}  alpha·V²/2g = {al * base:6.4f} m  "
          f"alpha=1 missing {al * base - base:6.4f} m ({(al - 1) * 100:6.2f}%)")
profile               Vbar/Uc    alpha    beta
Poiseuille (laminar)   0.5000   2.0000  1.3333
power law n=6          0.7912   1.0768  1.0269   Vbar exact 0.7912
power law n=7          0.8167   1.0584  1.0204   Vbar exact 0.8167
power law n=8          0.8366   1.0460  1.0160   Vbar exact 0.8366
power law n=10         0.8658   1.0307  1.0106   Vbar exact 0.8658
 
      Re       f  u*/Vbar  Uc/Vbar   alpha    beta
   1e+04  0.0315   0.0627   1.2353  1.0835  1.0309
   1e+05  0.0180   0.0474   1.1779  1.0490  1.0177
   1e+06  0.0116   0.0381   1.1430  1.0322  1.0114
   1e+07  0.0081   0.0319   1.1195  1.0227  1.0080
 
laminar              alpha=2.0000  alpha·V²/2g = 0.9174 m  alpha=1 missing 0.4587 m (100.00%)
turbulent Re=1e+04   alpha=1.0835  alpha·V²/2g = 0.4970 m  alpha=1 missing 0.0383 m (  8.35%)
turbulent Re=1e+06   alpha=1.0322  alpha·V²/2g = 0.4735 m  alpha=1 missing 0.0148 m (  3.22%)

Drag the defect-law slider from 0 to 100% and the curves that sat apart, one per Reynolds number, fold onto a single line in u∗u^*.

Drag collapse from 0 to 100%. On the left the Reynolds curves are clearly separated; dividing by u* and measuring from the centreline folds them onto one dashed line that has no Reynolds number in it at all.

The printed α=1.0835\alpha=1.0835 at Re=104Re=10^4 and α=1.0322\alpha=1.0322 at Re=106Re=10^6 are that same line re-integrated after only ff changes. Adding more Reynolds curves does not thicken it.

The numerical integration reproduced 2.00002.0000 and 1.33331.3333 in the laminar case. The power-law mean velocity matches the closed form to four digits too. That tells us the integrator is sound.

The coordinates where the Reynolds number vanishes — the defect law#

The second block of the table came from the velocity-defect law, not the power law. Write the log law once at the centreline and once at an arbitrary point, subtract, and the viscosity drops out entirely.

Uc−uˉu∗=2.5ln⁡Ry\frac{U_c - \bar{u}}{u^*} = 2.5 \ln \frac{R}{y}

Here u∗=τw/ρu^* = \sqrt{\tau_w/\rho} is the friction velocity. The right-hand side has no ν\nu and no ReRe in it. Only the distance from the wall survives. Averaging over the section drops out the constant Uc/u∗−V/u∗=3.75U_c/u^* - V/u^* = 3.75, and u∗/V=f/8u^*/V = \sqrt{f/8} ties it to the friction factor. Viscosity drops out of the subtraction. Only distance from the wall remains. The line folded above is this constant 3.75.

Putting α\alpha and β\beta in one table#

profileV/UcV/U_cα\alphaβ\betanote
laminar parabola0.50002.00001.3333exact rationals
power law n=7n=70.81671.05841.0204textbook default
power law n=10n=100.86581.03071.0106high Reynolds
defect law Re=104Re=10^4—1.08351.0309f=0.0315f = 0.0315
defect law Re=107Re=10^7—1.02271.0080f=0.0081f = 0.0081

Divide the four turbulent rows by ff and a pattern appears. α−1\alpha - 1 is 2.7 to 2.8 times ff, and β−1\beta - 1 is 0.98 times ff. The two coefficients are pinned not to the profile shape but to the friction factor alone. A rougher pipe has a larger ff, and α\alpha grows with it. Run a smooth pipe at high Reynolds and α\alpha falls to 1.02.

Split the Re=106Re=10^6 row. α−1=0.0322\alpha-1 = 0.0322 over f=0.0116f = 0.0116 is 0.0322/0.0116≈2.780.0322/0.0116 \approx 2.78. At Re=104Re=10^4, 0.0835/0.0315≈2.650.0835/0.0315 \approx 2.65. That is the 2.7 to 2.8 band. β\beta is tighter: 0.0114/0.0116≈0.980.0114/0.0116 \approx 0.98 at Re=106Re=10^6, and 0.0309/0.0315≈0.980.0309/0.0315 \approx 0.98 at Re=104Re=10^4.

At 3 m/s and g=9.81g=9.81, the bare head is V2/2g=9/19.62=0.4587V^2/2g = 9/19.62 = 0.4587 m. Times 2 that is 0.9174 m, and the miss is the other 0.4587 m. Times 1.0322 it is 0.4735 m, a miss of 0.0148 m. At Re=104Re=10^4 the miss is 0.0383 m, 8.35 percent. Several metres of pipe loss hide 0.0148 m. They do not hide 0.4587 m.

The table also shows the power law and the defect law disagreeing slightly at the same Reynolds number. The power law has an infinite slope at the wall and a kink at the centreline. Two approximations differ by as much as they are approximations.

Where this coefficient actually moves a number#

The last block is the velocity head of a 3 m/s pipe flow. Setting α\alpha to 1 in turbulent flow misses 0.0148 m at Re=106Re=10^6. If the head loss of that pipe run is several metres, ignore it. In laminar flow it misses 0.4587 m. In the same calculation, that is 100%.

The number moves in a few specific places. Viscous fluids and narrow tubes are laminar, so α=2\alpha=2. In the entrance region the profile is still growing, and α\alpha sits somewhere between 1 and 2. Outlet total pressure is the same choice: area average or mass-flux weight, which is ∫u2\int u^2 versus ∫u3\int u^3. When the two disagree, the solver is not wrong. The definition of the average is.

α\alpha is written like a constant, but the profile decides it. Pin it to 1 by hand and the laminar ledger is off by half.

The condition under which textbooks write α=1\alpha=1 and move on#

α=1\alpha=1 holds only for a perfectly flat profile. The approximation works in turbulent flow not because turbulence is flat but because ff is small. With ff around 0.01, α\alpha is 1.03, and 3% disappears into the other uncertainties of a piping calculation.

So the test is not "is it turbulent" but "how large is ff". How transition stacks those layers inside a pipe is in the critical Reynolds number and pipe transition. A rough pipe, a low Reynolds number, laminar flow — any one of those and α\alpha gets integrated again. The computation is one integral, as in the code above.

Share if you found it helpful.