In numerical analysis, von Neumann stability analysis (also known as Fourier stability analysis) is a procedure used to check the stability of finite difference schemes as applied to linear partial differential equations.[1] The analysis is based on the Fourier decomposition of numerical error and was developed at Los Alamos National Laboratory after having been briefly described in a 1947 article by British researchers John Crank and Phyllis Nicolson.This method is an example of explicit time integration where the function that defines governing equation is evaluated at the current time.Later, the method was given a more rigorous treatment in an article co-authored by John von Neumann.
The stability of numerical schemes is closely associated with numerical error. A finite difference scheme is stable if the errors made at one time step of the calculation do not cause the errors to be magnified as the computations are continued. A neutrally stable scheme is one in which errors remain constant as the computations are carried forward. If the errors decay and eventually damp out, the numerical scheme is said to be stable. If, on the contrary, the errors grow with time the numerical scheme is said to be unstable. The stability of numerical schemes can be investigated by performing von Neumann stability analysis. For time-dependent problems, stability guarantees that the numerical method produces a bounded solution whenever the solution of the exact differential equation is bounded. Stability, in general, can be difficult to investigate, especially when the equation under consideration is nonlinear.
In certain cases, von Neumann stability is necessary and sufficient for stability in the sense of Lax–Richtmyer (as used in the Lax equivalence theorem): The PDE and the finite difference scheme models are linear; the PDE is constant-coefficient with periodic boundary conditions and has only two independent variables; and the scheme uses no more than two time levels. Von Neumann stability is necessary in a much wider variety of cases. It is often used in place of a more detailed stability analysis to provide a good guess at the restrictions (if any) on the step sizes used in the scheme because of its relative simplicity.
The von Neumann method is based on the decomposition of the errors into Fourier series. To illustrate the procedure, consider the one-dimensional heat equation defined on the spatial interval
L
xj
tn
We can discretize the heat equation[2] aswhere
Then the solution
n | |
u | |
j |
u(x,t)
n | |
\epsilon | |
j |
n | |
u | |
j |
n | |
N | |
j |
n | |
u | |
j |
n | |
\epsilon | |
j |
n | |
N | |
j |
x
L
km=
\pim | |
L |
m=-M,...,-2,-1,0,1,2,...,M
M=L/\Deltax
Em
If the boundary condition is not periodic, then we may use the finite Fourier integral with respect to
x
Since the difference equation for error is linear (the behavior of each term of the series is the same as series itself), it is enough to consider the growth of error of a typical term:if a Fourier series is used orif a Fourier integral is used.
As the Fourier series can be considered to be a special case of the Fourier integral, we will continue the development using the expressions for the Fourier integral.
The stability characteristics can be studied using just this form for the error with no loss in generality. To find out how error varies in steps of time, substitute equation into equation, after noting thatto yield (after simplification)
Introducing
\theta=km\Deltax\in[-\pi,\pi]
|G|\leq1.
4r\sin2(\theta/2)
m
\sin2(\theta/2)
\Deltax
\Deltat
Similar analysis shows that a FTCS scheme for linear advection is unconditionally unstable.