Observation
When using the upwind scheme for the solution of advection equations, there is a critical timestep size, , above which the solution becomes unstable.
Problem Statement
Use von-Neumann’s stability analysis to establish the timestep-size
requirements for the upwind scheme to generate stable solutions.
Approach
To solve this problem, we need to do the following:
- Consider a 1-D advection equation with a constant velocity.
- Discretize the 1-D advection equation using forward-Euler in time and upwind in space.
- Given the difference equation, introduce an artificial perturbation as an initial condition.
- Estimate the growth/decay properties of artificial perturbation and derive the stability requirement for this problem.
Show Me the Math
Consider the advection of a quantity at constant speed .
This motion can be described by the advection equation
We assume that for simplicity of the exhibition. Our purpose is to study the stability of a forward-Euler, upwind discretization of this equation. For this purpose, we set
or
Here, I will assume that you are familiar with von-Neumann stability analysis. If not, then see my description \ref{sub:Von-Neumann-Stability}. Without further ado, we substitute
We then have
but, by virtue of linearity, we can safely drop the summation and
investigate the behaviour of a single mode. In other words
then, dividing by , we have
where is the error amplification factor. Using the exponential
trigonometric identities, we have
The method is stable is the amplification factor is less than 1. The
magnitude of the amplification factor is
but
then
Finally, the method is stable if . In other words
or
but, . Therefore,
it is only sufficient to find such that , or .
In other words, the upwind scheme with FE temporal integration is
stable, if, and only if
This is the famous Courant-Frederichs-Lewy (CFL) condition. It essentially
dictates that this numerical scheme is stable as long as the numerics
do not transport information in a single timestep more
than one single cell . Note that when the velocity is negative,
the same condition applies.