CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Wiki > Courant–Friedrichs–Lewy condition

Courant–Friedrichs–Lewy condition

From CFD-Wiki

Jump to: navigation, search

It is an important stability criterion for hyperbolic equations.

Heuristic description

The information behind the condition is that, for example, if a wave is moving across a discrete spatial grid and we want to compute its amplitude at discrete time steps of equal length, This situation commonly occurs when a hyperbolic partial differential operator has been approximated by a finite difference equation, which is then solved by numerical linear algebra methods. then this length must be less than the time for the wave to travel to adjacent grid points. As a corollary, when the grid point separation is reduced, the upper limit for the time step also decreases. In essence, the numerical domain of dependence of any point in space and time (which data values in the initial conditions affect the numerical computed value at that point) must include the analytical domain of dependence (where in the initial conditions has an effect on the exact value of the solution at that point) in order to assure that the scheme can access the information required to form the solution.

The one-dimensional case

For one-dimensional case, the CFL has the following form:

 
C=c\frac{\Delta t}{\Delta x} \leq C_{max}
(2)

where C is called the Courant number

where the dimensionless number is called the Courant number,

  • u is the velocity (whose dimension is Length/Time)
  • \Delta t is the time step (whose dimension is Time)
  • \Delta x is the length interval (whose dimension is Length).

The value of C_{max} changes with the method used to solve the discretised equation. If an explicit (time-marching) solver is used then typically C_{max} = 1. Implicit (matrix) solvers are usually less sensitive to numerical instability and so larger values of C_{max} may be tolerated.

The two and general n-dimensional case

In the two-dimensional case, the CFL condition becomes

C = \frac {u_ x\,\Delta t}{\Delta x} + \frac {u_ y\,\Delta t}{\Delta y} \leq C_{max}

with obvious meaning of the symbols involved. By analogy with the two-dimensional case, the general CFL condition for the n-dimensional case is the following one:

C = \Delta t \sum_{i=1}^n\frac{u_{x_i}}{\Delta x_i} \leq C_{max}

Note that the interval length it is not required to be the same for each spatial variable \Delta x_i, i =1, ..., n. This "degree of freedom" can be used in order to somewhat optimize the value of the time step for a particular problem, by varying the values of the different interval in order to keep it not too small.


Courant, R., K. O. Fredrichs, and H. Lewy (1928), "Uber die Differenzengleichungen der Mathematischen Physik", Math. Ann, vol.100, p.32, 1928.

Anderson, Lohn David (1995), "Computational fluid dynamics: the basics with applications", McGraw-Hill, Inc.

My wiki