I am trying to solve the LWH traffic flow equation, which is a nonlinear hyperbolic equation

$$\frac{\partial \rho}{\partial t}+\frac{\partial (v\rho)}{\partial x}=0,$$ where $$v=v_0(1-\frac{\rho}{c}).$$

$v_0$ is a given constant that may or may not vary with position, which represents the optimal velocity for the vehicles, $\rho$ is the density of the cars, and $c$ is a given constant.

With a discontinuous initial condition, simply using Lax-Wendroff will give overshoots. So I am thinking of adding a flux-limiter, say Superbee.

But most of the resources I have read only talk about applying flux-limiters to linear equations. So how should I apply a flux-limiter to Lax-Wendroff with this nonlinear problem?

  • 2
    $\begingroup$ what resources have you consulted? there's lots of good material on this topic just one google search away, like these notes or Randall Leveque's book - chapters 6, 11 and 12. $\endgroup$
    – GoHokies
    Commented Mar 6, 2018 at 11:47
  • $\begingroup$ @GoHokies: Lots of people on StackOverflow initially suggested Google-ing the answers to programming questions. Now SO is the top Google result for almost every programming question. It turns out that asking and answering questions here produces knowledge that is easier to access, and understand. $\endgroup$
    – Richard
    Commented Mar 6, 2018 at 18:33
  • $\begingroup$ @Richard in general, I tend to agree with you. the answer to this particular question, however, would simply repeat material that can already be found in a number of introductory-level references, including those i've linked to. i think a couple of references are sufficient to get the ball rolling. $\endgroup$
    – GoHokies
    Commented Mar 6, 2018 at 18:41
  • $\begingroup$ @Richard The difference is that many programming questions involve libraries that change on a timescale of months. The basic answer to the question here has not changed since it was invented in the 1980's. $\endgroup$ Commented Mar 7, 2018 at 8:40
  • $\begingroup$ distill.pub/2017/research-debt $\endgroup$
    – Richard
    Commented Jul 31, 2018 at 0:47

1 Answer 1


Disclaimer: All that I am going to write in the following is condensed out of the already mentioned lecture notes which give a careful treatment on the topic.

The reason why you do not find the application of flux limiters to general nonlinear fluxes like yours $f(\rho) = \rho v(\rho)$ lies in the fact that you cannot compute the numerical flux $$ F_{i+1/2}^{(n)} = \frac{1}{\Delta t} \int_{t^{(n)}}^{t^{(n+1)}} f\big(\rho(x_{i+1/2}, \tau ) \big) \mathrm d \tau $$ without knowing your solution $\rho$. Thus, you cannot compute the numerical flux you want to limit. The reason why this works for linear fluxes like the transport equation $f(\rho) = a \rho$ is that the analytical solution is known: $\rho(x, t) = \rho_0\big(x - a(t - t_0) \big)$. This allows you to explicitly compute the flux integral. (Although this is somewhat nonsense since you already know the analytical solution).

A remedy to this problem is the REA framework (see e.g. page 64 of the notes) which results in the application of slope instead of flux limiters.


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.