Consider the scalar conservation law $\partial_t u+\partial_xf(u)=0$. Riemann problem means the initial data given by
\begin{equation}
u_0=\begin{cases}
u_L, & x<0 \\
u_R, & x\geq 0
\end{cases}
\end{equation}
When $f(x)$ is convex, I know the corresponding theory. What if $f$ is not convex, for example $f(u)=\frac{u^3}{3}$, how to solve it?
Best Answer
The method is very similar to the convex case, e.g. Burgers' equation where $f(u) = \frac{1}{2}u^2$, but there are more possible types of waves. In facts, in addition to shock waves and rarefaction waves, there may be waves with both discontinuous and continuous parts. Moreover, the Lax entropy condition for shocks must be replaced by the more general Oleinik entropy condition.
In the case where the flux $f$ is not convex, these are the possible types of waves:
A rather practical method of solving such problems is convex hull construction: [1]
Between $u_L$ and $u_R$, the intervals where the slope of the hull's edge is constant correspond to admissible discontinuities. The other intervals correspond to admissible rarefactions.
One can also use Osher's expression of general similarity solutions $u(x,t) = v(\xi)$, which writes [1]
To summarize, here are the different entropy solutions and their validity in the case $f(u) = \frac{1}{3}u^3$, where the inflection point of $f$ is located at the origin. The speed of sound is $f'(u) = u^2$, with reciprocal $(f')^{-1}(\xi) = \pm\sqrt{\xi}$. Using the convex hull construction method, one gets:
(1) R.J. LeVeque, Finite Volume Methods for Hyperbolic Problems. Cambridge University Press, 2002.