Ultra-Realistic Flight Simulation

Airplanes Flutter and Crash in the Simulator

The tendency for some aircraft to flutter and crash is a known limitation. Just as a car can only go a certain speed with a given horsepower, the X-Plane simulator can only accurately model flight at a certain speed with a given frame rate.

If the frame rate gets too low for the flight model to handle, then the plane is likely to start oscillating quickly back and forth (referred to as “simulator flutter,” often occurring with autopilot on) as the flight model tries unsuccessfully to predict what the plane will do next. At this point, the computer is running too slowly to take small enough steps in the flight model to see what the plane will really do at each moment. Smaller and more maneuverable planes will accelerate more quickly, and greater accelerations require a higher frame rate to simulate.

This occurs due to the way that X-Plane moves aircraft within the simulation. X-Plane calculates the acceleration of the craft for each frame, then adds up the acceleration between frames to move the plane. This works fine if the frame rate is reasonably high and the accelerations are reasonable low. In fact, for any reasonably normal aircraft that has reasonably normal accelerations, a frame rate of 20 fps or more is fine.

Problems occur, though, when you have very light aircraft with very large wings going very fast, or sitting on the ground with landing gear spread very far out from the center of gravity.

All of these things add up to the same result—high acceleration. A light aircraft gives high acceleration because there is little mass, and therefore little inertia. Big wings give high acceleration because they put out lots of force. High speeds give high acceleration because there are high forces under all that air pressure. A widely spaced landing gear gives high acceleration because it has a huge lever arm on the center of gravity.

X-Plane, of course, can handle these high accelerations, but it needs a high frame rate to do it. For the flight model to work, there can only be a certain amount of velocity change per frame of the simulation. If the accelerations are high, then the frame rate better be high so that there is a reasonable velocity change (i.e., acceleration) per frame.

To determine how high a frame rate is enough to handle a given acceleration, just find the frame rate at which there is no flutter.

For example, imagine a Boeing 747 at approach speed. It slowly lumbers along, hardly accelerating at all. One frame per second could track that flight accurately. Now imagine holding a paper airplane out the window of a car at 80 miles per hour and letting go. The plane doesn’t smoothly, gradually, accelerate up to speed, it disintegrates in a thousandth of a second! To simulate that may require a simulator to run at one thousand frames per second!

So, while a simple 20 frames per second works fine for most any aircraft, when small, light, big-winged craft with widely spaced landing gear designs start flying fast, the accelerations come up enough that in extreme cases, 100 fps might be needed to model accurately.

This is more of a problem with planes that:

  • are small because they maneuver much more quickly than big planes,
  • are light because they have less inertia and react faster,
  • have long wings because they have more leverage on the center of gravity, thus reacting faster,
  • have big wings because they get more lift, thus reacting faster, or
  • have widely spaced landing gear because the gear has more leverage on the craft, causing it to torque the plane faster.

When using an airplane that reacts extremely quickly to the environment, the computer needs to react just as quickly to simulate it. This can be achieved by reducing the rendering options and visibility in X-Plane enough to raise the frame rate to a non-fluttering level. More info on this can be found in the section “Setting the Rendering Options for Best Performance” of Chapter 4 in the X-Plane 10 manual.

Tyler Young from the X-Plane team wrote this post

Written by

Last updated at 12:02 pm