I am interested, how can we get CFL condition for every type of PDE? It's known that for 1st order linear equation $$\frac{\partial u}{\partial t}+a\frac{\partial u}{\partial x}=0 $$ CFL is get from characteristics method, but how can we get in general? Any your advise will be welcome.

  • $\begingroup$ I don't have permissions to add tags yet. Would someone please add a tag for CFL? I recommend "The CFL condition, named for its originators Courant, Friedrichs, and Lewy, requires that the domain of dependence of the PDE must lie within the domain of dependence of the finite difference scheme for each mesh point of an explicit finite difference scheme for a hyperbolic PDE." from cs.illinois.edu/~heath/iem/pde/wavecfl $\endgroup$ – David J. Mar 7 '14 at 15:28

For a hyperbolic system of equations, you can write your equation as

$$ \frac{\partial \mathbf{u}}{\partial t} + [\mathbf{A}] \frac{\partial \mathbf{u}}{\partial x} = 0$$

and then perform an eigendecomposition $\mathbf{A} = \mathbf{Q} \mathbf{\Lambda} \mathbf{Q}^{-1} $ where $ \mathbf{\Lambda} $ is a diagonal matrix of the eigenvalues, then defining $\mathbf{w} = \mathbf{Q}^{-1} \mathbf{u}$ you get

$$ \frac{\partial \mathbf{w}}{\partial t} + [\mathbf{\Lambda}] \frac{\partial \mathbf{w}}{\partial x} = 0$$

and the diagonal elements (eigenvalues) are analogous to the wave speed $a$ in your 1D equation.

As for general non-hyperbolic PDEs, you take the same approach and determine the eigenvalues of your operator to determine a stability limit. I think Hirsch's CFD book has a pretty lucid elaboration on the subject.

As a matter of semantics, authors often refer to any non-dimensional step size limit as a "CFL number" (e.g. even for an elliptic equation).

  • 1
    $\begingroup$ Actually, Section 1 of the CFL paper is titled "The elliptic case". $\endgroup$ – David Ketcheson Mar 7 '14 at 7:46
  • $\begingroup$ Ah, quite right, redacted. $\endgroup$ – Aurelius Mar 7 '14 at 12:49

Your Answer

