Von Neumann stability analysis: Difference between revisions
Mark viking (talk | contribs) Added wl |
mNo edit summary |
||
Line 15: | Line 15: | ||
| journal = Tellus | volume = 2 | year = 1950 | pages = 237–254 |
| journal = Tellus | volume = 2 | year = 1950 | pages = 237–254 |
||
| doi=10.1111/j.2153-3490.1950.tb00336.x |
| doi=10.1111/j.2153-3490.1950.tb00336.x |
||
}}</ref> co-authored by [[John von Neumann|von Neumann]]. |
}}</ref> co-authored by [[John von Neumann|John von Neumann]]. |
||
==Numerical stability== |
==Numerical stability== |
||
The [[Numerical stability|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 increase 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 [[List of nonlinear partial differential equations|nonlinear]]. |
The [[Numerical stability|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 increase 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 [[List of nonlinear partial differential equations|nonlinear]]. |
||
In certain cases, |
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 have only two independent variables; and the scheme uses no more than two time levels.<ref> |
||
{{Citation |
{{Citation |
||
| last = Smith | first = G. D. |
| last = Smith | first = G. D. |
||
Line 28: | Line 28: | ||
}}</ref> 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. |
}}</ref> 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. |
||
==Illustration of the |
==Illustration of the method== |
||
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]] |
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]] |
||
:<math> |
:<math> |
Revision as of 20:53, 2 November 2013
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 Crank and Nicolson.[2] Later, the method was given a more rigorous treatment in an article[3] co-authored by John von Neumann.
Numerical stability
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 increase 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 have only two independent variables; and the scheme uses no more than two time levels.[4] 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.
Illustration of the method
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 , which can be discretized[5] as
where
and the solution of the discrete equation approximates the analytical solution of the PDE on the grid.
Define the round-off error as
where is the solution of the discretized equation (1) that would be computed in the absence of round-off error, and is the numerical solution obtained in finite precision arithmetic. Since the exact solution must satisfy the discretized equation exactly, the error must also satisfy the discretized equation.[6] Thus
is a recurrence relation for the error. Equations (1) and (2) show that both the error and the numerical solution have the same growth or decay behavior with respect to time. For linear differential equations with periodic boundary condition, the spatial variation of error may be expanded in a finite Fourier series, in the interval , as
where the wavenumber with and . The time dependence of the error is included by assuming that the amplitude of error is a function of time. Since the error tends to grow or decay exponentially with time, it is reasonable to assume that the amplitude varies exponentially with time; hence
where is a constant.
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:
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 (5) into equation (2), after noting that
to yield (after simplification)
Using the identities
equation (6) may be written as
Define the amplification factor
The necessary and sufficient condition for the error to remain bounded is that, However,
Thus, from equations (7) and (8), the condition for stability is given by
For the above condition to hold at all , we have
Equation (10) gives the stability requirement for the FTCS scheme as applied to one-dimensional heat equation. It says that for a given , the allowed value of must be small enough to satisfy equation (10).
References
- ^ Analysis of Numerical Methods by E. Isaacson, H. B. Keller
- ^ Crank, J.; Nicolson, P. (1947), "A Practical Method for Numerical Evaluation of Solutions of Partial Differential Equations of Heat Conduction Type", Proc. Camb. Phil. Soc., 43: 50–67, doi:10.1007/BF02127704
- ^ Charney, J. G.; Fjørtoft, R.; von Neumann, J. (1950), "Numerical Integration of the Barotropic Vorticity Equation" (PDF), Tellus, 2: 237–254, doi:10.1111/j.2153-3490.1950.tb00336.x
- ^ Smith, G. D. (1985), Numerical Solution of Partial Differential Equations: Finite Difference Methods, 3rd ed., pp. 67–68
- ^ in this case, using the FTCS discretization scheme
- ^ Anderson, J. D., Jr. (1994). Computational Fluid Dynamics: The Basics with Applications. McGraw Hill.
{{cite book}}
: CS1 maint: multiple names: authors list (link)