This tool illustrates the concepts surrounding the eigenvalue analysis of the stability of various difference schemes.

Select a difference scheme using the dropdown menu at lower left. The equation relating the "gain" \(g\) of each step in the numerical iteration to the "discrete eigenvalue" \(z\) is revealed using the [Formula] key. Options: Forward Euler (RK1), Midpoint, Backwards Euler, Trapezoidal, RK2, RK4.

The upper right window displays in cyan the unit circle in the \(g\) plane, and the unit disk in dark blue.

The left hand window displays in dark blue the stable range of values of \(z\): \(z\) such that all corresponding \(g\)'s have absolute value less than \(1\). The \(z\)'s with absolute value equal to \(1\) are shown in cyan.

\(z\) is the product of the eigenvalue \(\lambda\) and the stepsize \(\Delta t\).

The lower right window displays the absolute value of \(z\) as a product of \(\Delta t\) and \(|\lambda|\), both represented in \(\log\) scale.

The \([\theta]\) slider to the right of the \(g\) plane controls the argument of a point on the unit circle. It and the corresponding values of \(z\) are plotted in yellow.

The relationship between \(z\) and \(g\) can be further explored by dragging the cursor over the \(g\) plane or over the \(z\) plane.

The applet demonstrates the relationship between \(\Delta t\) and \(|\lambda|\) required for stability, and how that relationship depends upon \(\text{Arg}(\lambda)\).

The values of \(\Delta t\) and \(|\lambda|\) can be adjusted using sliders adjacent to the lower right window or by dragging the cursor inside that window. If the values of \(\lambda\); and \(\Delta t\) have been chosen, the product \(|\lambda| \Delta t\) is recorded under this window. If no value of \(\phi\); has been selected, the corresponding circle of values of \(z\) is shown in the upper left window.

A value of \(\phi\) may be selected by grabbing the \([\phi]\) slider. A green ray at the chosen polar angle is shown in the \(z\) plane. If a value of \(|z|\)has been selected, the corresonding value of \(z\) is marked with an orange point in the \(g\) plane, and the corresponding values of \(g\) are marked in the \(g\) plane and connected to the origin by struts.

If a value of \(\phi\) has been chosen, the range of values of \(\Delta t\) and \(|\lambda|\) leading to stable \(z\) are shown in dark blue in the lower right window, and the values leading to \(|g| = 1\) are shown in cyan.

If a value of \(|z|\) has also been chosen, the locus of values of \(\Delta t\) and \(|\lambda|\) which lead to it are displayed in orange in the lower right window.

© 2010 C. Lieberman, H. Miller, J.-M. Claus