Where Turbulence Stops Speeding Up a Flame — Damköhler's Wrinkling Hypothesis and Bending
The physics behind the three regimes of the turbulent flame speed curve: linear rise, bending, quenching
A wildfire spreads faster as the wind picks up. At 5 m/s the flame front outruns a sprinting person. But keep raising the wind and past a certain speed the fire blows itself out. Firefighters call it blow-off. Measure a turbulent premixed flame on a laboratory burner and the curve has exactly the same shape.
Raise the turbulence intensity and the turbulent flame speed climbs almost linearly at first. Then it bends over. That flattening is the bending effect. Push further and the flame quenches. This post explains the three regimes of that curve with three different pieces of physics. Damköhler's wrinkling hypothesis covers the linear part, the Karlovitz number covers bending and quenching, and the baroclinic torque covers the force the flame hands back to the turbulence.
Why turbulence speeds a flame up#
For a methane-air premixed flame the laminar flame speed (the speed at which the front propagates on its own into a quiescent mixture) is about 0.40 m/s at room conditions. The flame thickness is around 0.5 mm. No engine runs on those numbers. Crossing a 40 mm bore in 2 ms takes 20 m/s. That is 50 times .
Turbulence fills the gap. That is why we define a turbulent flame speed . The definition comes out of an integral of the reaction rate. Integrate the mean fuel mass fraction transport equation across the flame brush along its normal, cancel the diffusion terms, and this is what is left.
is the fresh gas density, and the fuel mass fractions on the fresh and burnt sides, the mean fuel reaction rate, and the coordinate normal to the mean flame brush.
The point worth holding onto is that this is a direct extension of the relation used for laminar flames — the laminar version carries the instantaneous reaction rate in place of . So is not a quantity defined as a velocity. It is an integrated measure of how much burning happens per unit area. That single fact explains everything that follows.
The wrong intuition — turbulence mixes the fuel better?#
The most common explanation goes like this. Turbulence mixes fuel and air better, so the reaction goes faster. For a premixed flame that is wrong.
Premixed means what it says: fuel and air were already mixed before ignition. The gas ahead of the front is a perfectly uniform mixture. There is nothing left for turbulence to mix. Mixing governs the speed of diffusion flames, where fuel and oxidizer arrive separately, not of premixed flames.
There is a second version. Turbulence raises the effective diffusivity, so the flame goes faster. The laminar flame speed scales as . Swap for a turbulent diffusivity and you get . A square root. But the initial slope the experiments show is linear. The exponent does not match.
There is a deeper problem with both. Each assumes the flame leaves the turbulence alone. The truth runs the other way. Right after ignition the temperature jumps from 300 K to above 2000 K. The kinematic viscosity rises roughly as , so it grows by more than a factor of 20. The local Reynolds number drops by the same factor. A well-developed turbulent flow can relaminarize after ignition. While the turbulence is shaking the flame, the flame is killing the turbulence.
Damköhler's answer: it is area, not speed#
Damköhler proposed a different picture. Turbulence does not make the local combustion faster. It folds the flame sheet.
There is one assumption. Every point on the wrinkled front still propagates locally at . Chemistry is untouched; only geometry changes. Mass conservation then hands over the answer. The fresh gas passing through the true wrinkled area has to equal the fresh gas passing through the projected area of the mean flame brush.
is the wrinkling factor, the flame surface area per unit projected area. The left side is an area ratio, the right side a speed ratio. They are the same number.
Turbulence sets the size of the wrinkles. While an eddy of size pushes the front at speed , the front pushes back at . The ratio of those two displacements sets the slope of the wrinkle, and the slope sets the area gain. Out comes Damköhler's linear law.
is the RMS velocity fluctuation of the fresh gas and the laminar flame speed. At it collapses back to .
For this picture to hold, the front has to be thinner than the eddies. Two dimensionless numbers measure that condition.
is the Damköhler number (turbulent time over chemical time) and the Karlovitz number (chemical time over Kolmogorov time). is the eddy turnover time, the chemical time, the timescale of the smallest eddies. When the flame reacts faster than the eddies turn. When not even the smallest eddy fits inside the flame thickness. Where both hold is the flamelet regime, and Damköhler's linear law is only valid there.
Making the wrinkles by hand#
Build the wrinkles yourself in the simulation below.
What to watch: the drawn front's measured arc length is forced to equal S_T/S_L, so a faster flame is a literally longer line. Raise u'/S_L and the amber linear-law ghost runs away from the real front — that gap is the bending effect. Lower l_t/δ_L to drive Ka past 25 and the sheet thickens, desaturates, then breaks into holes.
Raise from 0 to 6 and the front folds tightly, but the measured stops climbing near 4. The straight Damköhler prediction beside it has reached 7, so the two lines separate visibly. Now drop to 2 and push to 12. passes 29, the badge flips to quenching, and collapses from 3.5 to 2.0.
What the experiments showed — bending and quenching#
The experimental data draws three regimes. Nearly linear at first. Then flat. Then quenching.
Three effects overlap to make it flatten. First, wrinkles are not only created — they are also destroyed. The front propagates along its own normal, so it keeps shaving off convex cusps. When creation and destruction balance, saturates. Second, once exceeds 1 the small eddies get into the preheat zone and thicken the flame. The local itself drops. Third, strong strain locally extinguishes flamelets and punches holes in the flame sheet.
This post compresses all three into one expression.
is the wrinkling saturation ceiling (6.0 here), the quench Karlovitz number (25.0 here), and a quench attenuation factor between 0 and 1. The saturating denominator produces the bending; produces the quenching.
Honesty is required here. This expression is not a derived law. It is a phenomenological form fitted to reproduce the observed shape of the curve. and are tuning values, not physical constants, and they shift with fuel, pressure and burner geometry. The source says the same thing: predicting the bend of the curve is difficult, and predicting the quenching limits is "almost impossible". Only the linear regime came out of physics. The other two are still correlations.
The flame changes the turbulence too — baroclinic torque#
Gas expands as it crosses the front. Mass flux has to be conserved, so
is the burnt gas density and the gas speed leaving the front. The flame front is a device that accelerates the flow sevenfold. That acceleration acts directly on the turbulence.
The four terms of the vorticity transport equation show the route.
is the vorticity vector, the velocity, the density, the pressure. I is vortex stretching, II is dilatation, III is viscous dissipation, and IV is the baroclinic torque (the torque that appears when the density gradient and the pressure gradient are misaligned).
In cold turbulence II and IV are zero. Add a flame and both come alive. At the front , so II removes vorticity. IV, on the other hand, creates new vorticity. The across the front is large and normal to the surface, while the from the acceleration points elsewhere. Their cross product is nonzero. That is the source of what is called flame-generated turbulence.
Throw a single vortex at the front in the simulation below.
What to watch: at the defaults (u_θ/S_L = 2, r/δ_L = 10) the vortex dies on the front and a violet counter-rotating pair is all that is left. Push u_θ/S_L past ~9 and it punches through, dragging a cusp that stays. The arrows get ρ_u/ρ_b times longer on the burnt side — that jump is the dilatation term; set ρ_u/ρ_b = 1 and the baroclinic pair disappears entirely.
Set near 2 and press Release: the vortex is destroyed at the front, and counter-rotating vorticity is born in its place. Raise the same value toward 10 and the vortex crosses almost unaffected, leaving only a deep cusp. Drop to 1 and disappears, switching off the baroclinic production entirely.
This feedback carries an annoying side effect. It makes the "" in an curve ambiguous. Measured in the fresh gas, in the burnt gas, or across the whole flame brush, it is three different numbers. A brush average taken without density weighting counts the intermittent switching between fresh and burnt states as fluctuation and comes out inflated. Models rarely make this distinction. It is one reason RANS codes show non-physical behavior near a flame.
Drawing the bending curve in Python#
Here is the model above transcribed straight into code. It prints the linear and bending predictions side by side at two turbulence scales.
import math
SIGMA_INF = 6.0 # wrinkling saturation ceiling
KA_QUENCH = 25.0 # quench Karlovitz number
def damkohler_number(u_ratio, l_ratio):
"""Da = turbulent time / chemical time."""
return l_ratio / u_ratio
def karlovitz_number(u_ratio, l_ratio):
"""Ka = chemical time / Kolmogorov time."""
return u_ratio**1.5 * l_ratio**-0.5
def quench_factor(ka):
"""Quench attenuation factor, falling to 0 as Ka grows."""
return math.exp(-(ka / KA_QUENCH) ** 2)
def wrinkling_factor(u_ratio, l_ratio):
"""Sigma = S_T / S_L, with saturation and quenching."""
ka = karlovitz_number(u_ratio, l_ratio)
return 1.0 + quench_factor(ka) * u_ratio / (1.0 + u_ratio / SIGMA_INF)
def turbulent_flame_speed(s_laminar, u_ratio, l_ratio):
"""Turbulent flame speed [m/s]."""
return s_laminar * wrinkling_factor(u_ratio, l_ratio)
U_RATIOS = [0.5, 1, 2, 3, 4, 6, 8, 10, 12]
for l_ratio in (10.0, 2.0):
print(f"l_t/delta_L = {l_ratio:.0f}")
print(f"{'u/SL':>6}{'Da':>9}{'Ka':>9}{'linear':>9}{'bending':>9}")
for u_ratio in U_RATIOS:
da = damkohler_number(u_ratio, l_ratio)
ka = karlovitz_number(u_ratio, l_ratio)
lin = 1.0 + u_ratio # Damkohler linear law
ben = wrinkling_factor(u_ratio, l_ratio) # saturation + quenching
print(f"{u_ratio:6.1f}{da:9.2f}{ka:9.2f}{lin:9.2f}{ben:9.2f}")
print()
print("S_T at S_L = 0.40 m/s, u'/S_L = 6, l_t/delta_L = 10 :",
round(turbulent_flame_speed(0.40, 6.0, 10.0), 3), "m/s")The output looks like this.
l_t/delta_L = 10
u/SL Da Ka linear bending
0.5 20.00 0.11 1.50 1.46
1.0 10.00 0.32 2.00 1.86
2.0 5.00 0.89 3.00 2.50
3.0 3.33 1.64 4.00 2.99
4.0 2.50 2.53 5.00 3.38
6.0 1.67 4.65 7.00 3.90
8.0 1.25 7.16 9.00 4.16
10.0 1.00 10.00 11.00 4.20
12.0 0.83 13.15 13.00 4.03
l_t/delta_L = 2
u/SL Da Ka linear bending
0.5 4.00 0.25 1.50 1.46
1.0 2.00 0.71 2.00 1.86
2.0 1.00 2.00 3.00 2.49
3.0 0.67 3.67 4.00 2.96
4.0 0.50 5.66 5.00 3.28
6.0 0.33 10.39 7.00 3.52
8.0 0.25 16.00 9.00 3.28
10.0 0.20 22.36 11.00 2.68
12.0 0.17 29.39 13.00 2.00
S_T at S_L = 0.40 m/s, u'/S_L = 6, l_t/delta_L = 10 : 1.559 m/sCompare the two columns and the parting point shows up. Out to the linear and bending values agree within 15%. By they are already 7.00 against 3.90. And at the large scale () pushing to still leaves near 4. At the small scale (), the same drives past 29 and down to 2.0. Same turbulence intensity, but the smaller scale quenches first.
Next time you meet a turbulent flame#
Reading as an area rather than a speed solves half the problem. Turbulence did not make the chemistry faster. It only spread the same over a wider sheet. When refuses to climb in an experiment, look at why the flame surface area saturated before suspecting the reaction rate.
Not judging by alone solves the other half. At the same , a different changes by a factor of ten. In the table above, gave in one case and 2.00 in the other. What separated them was the turbulence scale, not the intensity. An correlation that does not report alongside is telling half the story.
And do not treat the bending curve a calculator hands you as a law. The linear part came from geometry; the bend and the quench were fitted to data. When a RANS result looks strange near a flame, checking where is being measured is faster than reaching for the turbulence model constants.
Share if you found it helpful.