Panel flutter: an interactive numerical demonstration
A thin panel in supersonic flow can start to oscillate on its own, drawing energy from the air that passes over it. This simulation solves the governing equations live in your browser. Change the load, strike the panel, and watch it move between rest, buckling, steady flutter and motion that never repeats. It's an independent educational implementation, separate from my undergraduate research with Prof. Earl H. Dowell.
Motion over time
Panel deflection, with time running upward. Slanted bands are waves traveling along the panel.
Phase portrait
Velocity against deflection at x/L = 0.75. A closed loop is a repeating cycle, a point is rest, and a tangle is irregular motion.
Energy flow
Power from the airflow into the panel, with the averages for energy in and energy out.
Mode shapes
Which of the six sine modes carry the motion right now.
Linear stability
Frequency and growth rate of the flat panel's modes against λ. Flutter starts where two frequencies merge and a growth rate passes zero.
Regime map
Computed long-run behavior across the two sliders. Click or tap to jump there.
What panel flutter is
Aircraft and rocket skins are thin panels held at their edges. In supersonic flow, the air pressing on a panel depends on the panel's local slope. That makes the air act like a spring that couples the panel's bending modes, but unlike a true spring, it isn't conservative: over a cycle, it can do net work on the panel.
Once the flow's dynamic pressure is high enough, that work exceeds what damping can remove, and the flat panel becomes unstable. The motion doesn't grow without limit, because a panel held at both ends has to stretch as it bends, and stretching stiffens it. The result is a steady oscillation called a limit cycle. It's usually a fatigue problem more than an instant failure, which makes it easy to miss until the cracks appear.
Four kinds of behavior
Two sliders are enough to reach all of them. λ sets the aerodynamic load, and Rc sets the in-plane compression, the kind a heated panel feels when its edges can't move.
Low load, low compression. A strike rings and dies away.
Compression bows the panel into a static shape, and it stays there.
The flow feeds in energy until stretching limits the motion to a repeating oscillation.
A buckled panel in the flow moves without ever repeating.
The last regime is the most striking. The equations have no randomness in them, but a buckled panel in the flow can settle into motion that never repeats, where two nearly identical starting states drift apart. Dowell published this as an example of chaos in a deterministic system in 1982. In this model, the map shows it strongest at moderate load with strong compression, roughly λ = 125 to 325 with Rc above 4π², and again in a band near λ = 800. Try it: pick Irregular and watch the phase portrait fill in instead of closing into a loop.
Where the energy comes from
The Energy flow panel is the physics of flutter in one chart. Multiplying the equation of motion by the panel's velocity and integrating along it gives an energy balance with exactly two sources:
dE/dt = Pin + Pout, Pin = −λ ∫01 wt wx dx, Pout = −√(λμ/M) ∫01 wt2 dx
E is the kinetic, bending, stretching and compression energy together. Pout is always negative. Pin changes sign during a cycle, and it only adds up to a net gain when the velocity and slope stay in the right phase. That's what a wave traveling downstream provides, which is why slanted bands appear in the Motion over time panel during flutter. On a settled cycle, the two averages match, and the bars come out equal.
How the instability starts
Holding the panel flat and asking whether small motions grow turns the equations into an eigenvalue problem, shown in the Linear stability panel. As λ rises, the aerodynamic coupling pulls the first two natural frequencies together. When they merge, one of the resulting modes gains energy from the flow, and its growth rate turns positive. With no compression and μ/M = 0.01, that happens at λ ≈ 344.
Compression lowers the panel's frequencies and moves the boundary. Above Rc = π², the flat panel is unstable even without any flow, which is buckling. In that range the linear picture describes the flat state only, and the regime map shows what the panel does in the long run.
Model and assumptions
The motion is computed from the equation below. It isn't a prescribed animation. The model is a two-dimensional, simply supported panel with stretching-type geometric nonlinearity, in-plane compression and an aerodynamic load of the form used in first-order piston theory:
wxxxx + [Rc − 6(1 − ν2) ∫01 wx2 dx] wxx + λ wx + √(λμ/M) wt + wtt = 0
- Variables. x runs from 0 to 1 along the panel, w is deflection in panel thicknesses, and t is nondimensional time.
- Parameters. λ is the nondimensional coefficient on the aerodynamic slope term, and Rc is the nondimensional compression. The Poisson ratio ν is 0.3, and μ/M, the mass ratio over the Mach number, is fixed at 0.01.
- Boundary conditions. Each sine mode has zero deflection and zero curvature at both ends, which is simple support.
- Left out. There is no structural damping or static pressure difference, and the flow acts on one side of the panel only.
What the drawing adds to the equations
The panel, its modes, the arrows and all six charts come directly from the solved equations. The pressure field and streamlines above the panel are drawn using linear supersonic flow theory, in which a disturbance travels unchanged along Mach lines: each strip of color carries the surface pressure at one point along the panel, and each streamline copies the panel's shape from a point upstream. The drawn angle assumes M = 2. It isn't part of the solved model, where the Mach number only appears through μ/M. The panel is drawn with depth for readability, and the model has no variation across its width.
Numerical method
A Galerkin expansion with six modes, w = Σ an(t) sin(nπx), turns the equation into twelve first-order ordinary differential equations. They are integrated with a classical fourth-order Runge-Kutta method at a fixed nondimensional step of 0.002. The model source runs in your browser.
Linear stability comes from the modal stiffness matrix. Because the velocity term is the same for every mode, each eigenvalue m of that 6 × 6 matrix gives s² + √(λμ/M) s + m = 0, so frequency and growth rate can be found directly as you move the compression slider.
The regime map is precomputed offline. Each of its 1,320 points is integrated for 300 time units from the same small disturbance, with a second trajectory running alongside to measure the largest Lyapunov exponent. A point is irregular when that exponent is above 0.05, so the label rests on nearby states actually diverging.
Verification and limitations
These checks run the same code as this page, in checks/verify_flutter.js:
| Check | Result |
|---|---|
| Linear boundary with 4, 6, 8 and 12 modes | λ ≈ 341.7, 344.2, 344.4, 344.5 |
| Buckling at λ = 0 | Growth rate turns positive at Rc = π² |
| Post-buckled shape at Rc = 4π² | Analytical a1 = 1.048 balances the equation to 10−13 |
| Energy balance dE/dt = Pin + Pout | Agrees to within 0.01% at three test points |
| Settled cycle at λ = 500 | Mean power in 294.23, mean power out 294.21 |
| Peak deflection at x = 0.75, λ = 500, six modes | 0.76 thicknesses |
| Same case with half the time step | 0.76 thicknesses |
| Same case with ten modes and half the time step | 0.76 thicknesses |
| Eigenvalues | Each one makes the system singular, with a residual under 10−5 |
These checks show that the result is stable numerically within this model. They don't validate the model against an experiment, so don't use it to predict the behavior of a real panel. Six modes are enough for the limit cycle shown here, but irregular motion is more sensitive, so the map's edges could shift with more modes. Each map point also starts from one disturbance, and a panel can have more than one stable behavior at the same setting.
References
- E. H. Dowell, “Nonlinear oscillations of a fluttering plate,” AIAA Journal 4(7), 1966.
- E. H. Dowell, “Flutter of a buckled plate as an example of chaotic motion of a deterministic autonomous system,” Journal of Sound and Vibration 85(3), 1982.
- H. Ashley and G. Zartarian, “Piston theory: a new aerodynamic tool for the aeroelastician,” Journal of the Aeronautical Sciences 23(12), 1956.