A group lab in MECH 489, an undergraduate experimental thermofluids course. We built a two-mirror schlieren system from a flashlight, a drilled aluminum block, two 8-foot mirrors and a razor blade. We used it to watch hot air rise off a heated plate at two temperatures and two angles. The result is mainly qualitative: it shows how the flow changes.
Air that rises off a hot surface is invisible, but it is not uniform. Hotter air is less dense and bends light slightly differently. Schlieren imaging turns that small bending into brightness. As a result, plumes, laminar sheets and turbulent eddies show on camera without any seeding [2, 3].
The lab asked two questions: how does the flow change as the plate gets hotter, and what happens when the plate is tilted?
Buoyancy drives the flow. Air near the plate heats, expands, becomes lighter than the air around it and rises. The Rayleigh number compares the buoyant forcing with the viscous and thermal damping. It indicates whether the air rises smoothly or breaks into eddies:
The Boussinesq density relation with the thermal expansion coefficient \(\beta\), and the Rayleigh number for a plate of length \(L\) at surface temperature \(T_s\). At low \(\mathrm{Ra}_L\) the flow stays laminar. At higher \(\mathrm{Ra}_L\) it becomes turbulent.
This picture is only qualitative here. The Boussinesq form assumes small density changes, \(\beta\,(T_s-T_\infty)\ll1\). For air, \(\beta\approx1/T_\infty\). With room air near 20 °C, the plate at 360 °C or 570 °C is about two to three times the room temperature in kelvin. The density near the plate changes by a large factor, so the Rayleigh number is an order-of-magnitude guide only.
A 7000-lumen LED flashlight shines through a 3 mm hole drilled in an aluminum block. This makes a near point source. The source is one focal length (8 ft) from the first concave mirror. That mirror sends a collimated beam across the test section to the second mirror. The second mirror focuses the beam onto a razor blade that covers half the image of the source. A DSLR is directly behind the blade.
A density gradient in the test section bends a ray, so the ray lands slightly off the focus. The razor blade then blocks more or less of that ray, and the gradient shows as a light or dark band on the camera:
The Gladstone–Dale relation links refractive index to density. The ray deflection \(\varepsilon_y\) integrates the index gradient along the beam. The knife edge turns this deflection into a contrast change. The contrast change increases with the mirror focal length \(f_2\) and decreases with the unobstructed source height \(a\).
Getting it to work was mostly patience. The knife-edge position, the focal distances, the mirror heights and even drafts in the room all changed the image. Our check was simple: if the heat off a hand shows, the system is sensitive enough to see the plate.
The lab was mainly qualitative. Steve Rogak suggested that we also try to get velocity information from the videos. I wrote MATLAB scripts that clean each video and track the moving structures:
I made five processing variants (six for one case), with different filtering, smoothing and blending choices [1, 4, 5]. A group member also made three manual estimates per case. These used a ruler on screen, with the plate diameter as the scale.
Feature displacement in pixels, scaled by the image scale \(s\) (from the known plate diameter), over the frame interval \(\Delta t\). The second term is the mean of the \(n\) pooled estimates, with a t-based 95% interval.

What a tracked feature measures is the apparent speed of a refractive-index pattern in the image. It is not a validated fluid velocity. The pattern speed depends on the processing, the feature detection and the image scale.
| Case | Pooled mean | t-based 95% interval | SDOM |
|---|---|---|---|
| Horizontal, low | 32.7 mm/s | 14.0–51.3 | 7.9 mm/s |
| Horizontal, high | 109.9 mm/s | 62.3–157.6 | 20.7 mm/s |
| Angled 25.5°, low | 99.7 mm/s | 44.9–154.5 | 23.2 mm/s |
| Angled 25.5°, high | 165.7 mm/s | 98.0–233.3 | 28.6 mm/s |

Read the intervals with care. Each interval comes from 8 or 9 estimates of the same video. The estimates come from alternative processing methods and manual readings of the same recordings. The interval therefore describes the spread between methods.
The methods also disagree in a systematic way. In the horizontal low case, every script estimate is below 21 mm/s and every manual estimate is above 40 mm/s. In the angled low case, one script variant recorded no features and enters the pool as zero.
Within those limits, one ordering is clear. For the horizontal plate, the high setting gives faster apparent features than the low setting, and the intervals do not overlap. The other comparisons have overlapping intervals, so this data cannot resolve them.
The results deck from this project also states that Monte Carlo simulations validated turbulence-intensity measurements. I do not repeat that claim here, because the lab report contains no analysis that supports it.
Looking back, the fixes are clear:
The same idea, measuring flow from how a background appears to move, is what I later took to a phone camera in BOScope.