Translated from the author's Korean original. Read the original (한국어)
Why Smokestack Plumes Curl Up Instead of Lying Flat — The Jet in Crossflow and Its Counter-Rotating Vortex Pair
Scale the trajectory by rd, not by d. The kidney cross-section is the counter-rotating pair that lifts the center, and it is born at the nozzle.
A power-plant plume on a cold morning looks honest at first. It climbs straight up. Then it tips, and a crosswise cut shows neither a donut nor a circle but a pair of kidneys. That is a jet in crossflow (JICF). The handle on the trajectory is not the Reynolds number. It is the velocity ratio .
Raise r from 2 to 10 and the jet punches far higher before bending.
The natural length scale is r·d, not d alone. Raise r and the plume punches higher before the crossflow bends it; the three pink ghosts are the trajectories for r = 2, 6, 10.
The three pink ghost curves are the trajectories for . Change B and the velocity ratio stays put while only the bend changes. Watch which ghost the white centerline sits on.
Why Smokestack Plumes Curl Up Instead of Lying Flat#
A jet injected into a crosswind is everywhere around us. Smokestack plumes, fuel injection in a gas-turbine combustor, film cooling that shields a turbine blade, a river pouring into the sea, volcanic ash columns, the lift jets of a VTOL aircraft — all the same problem.
The heart of it is a contest between two momenta. Close to the nozzle the jet's momentum wins, so the column rises nearly vertically. As it climbs, the crosswind keeps shoving. Past some point the wind wins. The column tips over and eventually lies along the wind.
But it does not simply lie down. Its cross-section deforms. A round jet curls into a kidney. Hidden inside that curl is a pair of swirls turning in opposite directions.
Four Kinds of Vortices Live at One Nozzle#
A JICF does not produce a single kind of vortex. Fric and Roshko (1994) sorted them into four distinct systems.
- Jet shear-layer vortices: rings formed just above the nozzle as the cylindrical shear layer at the jet's edge rolls up. They appear first. The roll-up is the same place as two layers with a velocity jump.
- Counter-rotating vortex pair (CVP): the star that dominates the cross-section far downstream — the identity behind the kidney/mushroom.
- Horseshoe vortex: a horseshoe wrapped around the base of the jet column where it meets the wall, exactly as the boundary layer wraps around a wall-mounted obstacle.
- Wake vortices: upright vortices running from behind the jet down to the wall. They are easily confused with the street behind a solid cylinder, but Fric and Roshko showed they originate from separation of the wall boundary layer, not from the jet.
That all four live at once is what sets a JICF decisively apart from a plain cylinder wake.
The Real Handle Is Not Reynolds — Velocity Ratio r and Momentum Flux Ratio J#
What sets how deep the jet punches in is not the viscosity ratio, the Reynolds number. The governing variable is the velocity ratio.
Here is the jet exit velocity and is the crosswind speed. When the two fluids differ in density, the better measure is the momentum flux ratio.
Here and are the densities of jet and crosswind. With matched density, . The Reynolds number only fixes the details — when the shear layer trips to turbulence, how finely the vortices crinkle — while the big picture, the trajectory and the penetration depth, is held by (or ).
The Trajectory Measures Itself in rd#
Countless experiments converge on one conclusion. The mean trajectory of the jet centerline follows a power law.
Here is the streamwise distance, the height, and the nozzle diameter. The coefficient clusters at and the exponent at across experiments (Pratte–Baines 1967, Margason 1993). The decisive thing is the ruler. Measure length not by alone but by , and trajectories for different velocity ratios collapse onto one curve. A larger velocity ratio climbs higher at the same .
The code below uses A=1.6, B=0.33, and d=1. At x=10 the ruler rd is just r. For r=2, x/(rd)=5, 5 to the power 0.33 is about 1.701, and 1.6 times 2 times 1.701 equals 5.44, the first printed line. For r=4, x/(rd)=2.5, 2.5 to the power 0.33 is 1.353, and 1.6 times 4 times 1.353 equals 8.66. For r=8, x/(rd)=1.25, 1.25 to the power 0.33 is 1.076, and 1.6 times 8 times 1.076 equals 13.77, which rounds to the printed 13.78.
Doubling r does not double the height. The steps run from 5.44 to 8.66, then from 8.66 to 13.78. Both ratios sit near 1.59. Height z scales as r to the power (1−B). With B=0.33 the exponent is 0.67, and 2 to the power 0.67 is 1.59. At fixed x, doubling the velocity ratio buys only a 59 percent gain in penetration. Taking r from 2 to 8, a factor of four, multiplies height by about 2.53, so 5.44d becomes 13.78d. Over that same span J goes from 4 to 64, a factor of sixteen. The momentum ratio and the plume height do not share a ruler.
The Counter-Rotating Vortex Pair — How the Mushroom Cross-Section Forms#
The CVP is born as the jet's cylindrical shear layer tilts and folds in the crosswind. The shear layers on the two sides of the jet reorganize into two oppositely spinning vortices in the cross-section. Between them fluid rises; on the outside it folds back down. The result is the kidney/mushroom cross-section.
Its strength scales with the jet's circulation, — a faster jet means a stronger pair. And as the source notes, the CVP is generated very close to the nozzle exit and weakens downstream as its vorticity diffuses.
The numbers land in the printout just below. The center rises and the edge sinks. The mushroom itself sits directly under that printout.
A Lazier Beat Than a Cylinder — The Strouhal Number of a JICF#
The frequency at which wake vortices shed is collected into the dimensionless Strouhal number.
Here is the shedding frequency and the nozzle diameter. Behind a solid circular cylinder, holds almost constant over a wide Reynolds range. Yet the JICF wake that Hester and colleagues (1971) measured in a subsonic wind tunnel showed a Strouhal number less than half that of a cylinder of comparable size.
Half of the cylinder value is 0.105. The JICF wake Hester and colleagues measured sits below that. This note does not replace their tunnel data with one invented Strouhal number. Copy 0.21 onto the jet and the frequency comes out at least twice too fast.
Why so lazy? A cylinder separates cleanly off a rigid wall and sheds on a single beat. The "obstacle" of a JICF is not a rigid wall but a wobbling fluid column the crosswind can seep into. On top of that, the roots of the wake vortices lie in the wall boundary layer, not in the jet itself. A soft effective obstacle sheds on a slower beat.
Python — Trajectory and the CVP Induced Field#
import numpy as np
def jet_trajectory(x, r, d=1.0, A=1.6, B=0.33):
"""Mean jet-in-crossflow trajectory: z/(rd) = A (x/(rd))^B, x>=0."""
rd = r * d
x = np.asarray(x, dtype=float)
return np.where(x > 0, A * rd * (x / rd) ** B, 0.0)
def cvp_velocity(y, z, gamma, b, zc=2.0, core=0.15):
"""Velocity (u_y, u_z) induced at (y, z) by the counter-rotating pair.
Left +Γ (CCW), right -Γ (CW) -> flow rises in the middle."""
def one(y0, z0, g):
dy, dz = y - y0, z - z0
r2 = dy**2 + dz**2 + core**2
return -g / (2 * np.pi) * dz / r2, g / (2 * np.pi) * dy / r2
uy1, uz1 = one(-b / 2, zc, +gamma)
uy2, uz2 = one(+b / 2, zc, -gamma)
return uy1 + uy2, uz1 + uz2
if __name__ == "__main__":
# 1) For the same nozzle, a larger velocity ratio r punches higher
for r in (2, 4, 8):
print(f"r={r:>2}: z(x=10d) = {jet_trajectory(10.0, r):.2f} d")
# 2) The centerline between the vortices rises, the edge sinks (mushroom)
_, uz_c = cvp_velocity(0.0, 2.0, gamma=3.0, b=1.5)
_, uz_e = cvp_velocity(1.5, 2.0, gamma=3.0, b=1.5)
print(f"center (y=0): u_z = {uz_c:+.3f} (>0 -> rises)")
print(f"edge (y=b): u_z = {uz_e:+.3f} (<0 -> sinks)")Running it prints:
r= 2: z(x=10d) = 5.44 d
r= 4: z(x=10d) = 8.66 d
r= 8: z(x=10d) = 13.78 d
center (y=0): u_z = +1.224 (>0 -> rises)
edge (y=b): u_z = -0.401 (<0 -> sinks)Left vortex spins counter-clockwise (+Γ), right clockwise (−Γ): between them the dye is pumped upward and folds outward into the kidney-shaped mushroom. Push the downstream slider toward 1 and diffusion saps Γ — the mushroom stalls, just as the real CVP weakens far from the exit.
Double or quadruple the velocity ratio and the jet punches higher at the same downstream distance. And the middle of the pair rises while its edge sinks — the arithmetic of a growing mushroom, in plain numbers.
The left vortex turns counter-clockwise (), the right clockwise (). The dye in the middle rises and folds outward, growing the mushroom. Push the downstream slider toward 1 and diffusion eats away at until the mushroom stalls. That is where the printed centerline rise shrinks. The real CVP fades the same way far from the exit.
The center sample is y=0, z=2, and with spacing b=1.5 the cores sit at y=±0.75. A core radius of 0.15 adds 0.0225 to the squared distance. From the left core, dy=0.75 and dz=0, so the denominator is 0.5625+0.0225=0.585. With Γ=3, Γ/(2π) is about 0.477. One core's vertical speed is 0.477 times 0.75 divided by 0.585, about 0.612. The opposite core adds the same amount in the same direction, and the sum is +1.224. At the edge y=1.5 the nearer right core contributes −0.612 and the farther left core contributes +0.211. The sum is −0.401. The rise is about three times the sink because the two cores add at the center, while at the edge the nearer core beats the farther one. The kernel is the same induced speed as in a free vortex. Only the core of 0.15 in the denominator keeps the speed finite at the center.
Copying the Cylinder's 0.21 as the Jet's Beat#
Fix St at 0.21 and the frequency comes out at least twice as fast as a JICF wake. Even 0.105, half of 0.21, is only an upper fence. Leave out the soft obstacle, a fluid column the crosswind can seep into, and the beat slips by that much.
The trajectory slips the same way. Measure x by d alone and drop r, and 5.44d at r=2 will not lie on 13.78d at r=8. The handle is the velocity ratio (or the momentum flux ratio ). The ruler that collapses the curves is .
Related
Share if you found it helpful.