We have the advection equation $u_t+a u_x=0, a>0, 0<t<T_f, x \in \mathbb{R}$ with initial condition $u(0,x)=u_0(x)$.

Suppose that we have the following sheme:

enter image description here

I want to find the CFL condition using the domain of dependence of the finite difference method.

To calculate $U_j^{n+1}$ we need the values $U_{j-1}^n$ and $U_{j+1}^n$.

So we get the following domain of dependence:

enter image description here

Is this correct?

The slope of the left line is $\frac{\tau}{h}$ and the slope of the right line is $-\frac{\tau}{h}$, right?

To find the CFL condition do we require that the left slope is smaller than the right slope?

Or have I understood it wrong?

  • $\begingroup$ What do you mean by domain of dependence? $\endgroup$
    – nluigi
    Commented Dec 13, 2015 at 20:24
  • $\begingroup$ It is described here: pastebin.com/5F1gAR17 at page 74 but I haven't understood it. $\endgroup$
    – Mary Star
    Commented Dec 13, 2015 at 20:31
  • $\begingroup$ @nluigi I edited my post... $\endgroup$
    – Mary Star
    Commented Dec 13, 2015 at 22:11

1 Answer 1


Your image of the numerical domain of dependence is correct. But try to also draw the analytical domain of dependence, maybe this could help you to better understand what is going on.

Note that the analytic solution of $u_t+au_x=0$ is $u(t,x)=u_0(x-at)$. So the slope of the actual dependence is $a$. The CFL condition just says that the numerical dependence must include the actual dependence, which means $-\frac{h}{\tau}\leq a \leq \frac{h}{\tau}$ in your case.

If you compare the analytical solution with the numerical schemes, you will notice that most schemes just interpolate or extrapolate the solution at the previous time step at the required position. The CFL condition then says that you must actually do an interpolation, because an extrapolation would not be stable.

  • $\begingroup$ Nice explanation, i never considered it this way... but what if you don't have an analytical equation? is this domain of dependence then useless? usually we perform discretizations exactly because there is no analytical solution :) $\endgroup$
    – nluigi
    Commented Dec 14, 2015 at 0:07
  • $\begingroup$ @nluigi Hyperbolic equations have characteristics, which are the directions along which discontinuities propagate. The CFL condition then says that the numerical dependence must include the dependence of the characteristic directions. However, the remark about interpolation and extrapolation cannot be generalized in this way, and only applies to this simple model problem with its explicit analytical solution. $\endgroup$ Commented Dec 14, 2015 at 0:12
  • $\begingroup$ @ThomasKlimpel I think $-\frac{h}{\tau}\leq a \leq \frac{h}{\tau}$ this is valid for cfl number less than or equal to one. Since he didn't provide the value of $\nu$, its not possible to find the cfl number, so cfl may not be always equal to one, at that time numerical scheme stability may change and numerical area of influence may change. Am i right? I'm assuming $h$ is space step ans $\tau$ is time step and $cfl =c*\tau/h$ $\endgroup$
    – AGN
    Commented Dec 15, 2015 at 4:06
  • $\begingroup$ @ArunGovindNeelanA Yes, $-\frac{h}{\tau}\leq a\leq\frac{h}{\tau}$ expresses the condition that the cfl number is less than or equal to one. I assumed $\nu=\frac{t}{h}$, but this doesn't enter anywhere, because the scheme is not consistent for $t\to 0$ anyway. The stability will certainly change with the cfl number, but the formula for the numerical area of influence is not affected by this. $\endgroup$ Commented Dec 15, 2015 at 8:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.