5
$\begingroup$

I am used to solve parabolic or elliptic non-linear PDE and the common methods to tackle non-linearity are Picard's iteration and Newton's method. I am a bit confused by the way things are done with hyperbolic equations.

For example, with the classical inviscid Burgers' equation in the non-conservative form:

$\begin{align} \frac{\partial u}{\partial t} + u \frac{\partial u}{\partial x} = 0 \end{align} $

I've seen that it can be solved simply by an upwind scheme if we use the conservative flux form without adding anything concerning the non-linearity:

$\begin{align} F(u) = \frac{u^2}{2} \\ \frac{\partial u}{\partial t} + \frac{\partial F(u)}{\partial x} = 0 \end{align} $

Why is it so? Is it because we commonly use explicit method for hyperbolic methods? Or is it due to some properties from the conservative form? Would we still need a Jacobian if we use an implicit scheme with the Newton's method for example?

Thanks.

$\endgroup$
1
  • 4
    $\begingroup$ Is it because we commonly use explicit method for hyperbolic methods? Yes, and there are good reasons for that. Would we still need a Jacobian if we use an implicit scheme with the Newton's method for example? Yes. $\endgroup$ Jan 26 at 13:25

1 Answer 1

12
$\begingroup$

The good thing about the conservative form is that this comprises multiple models, such as Shallow Water Equations, Euler Equations or traffic models.

An essential feature of hyperbolic equations is the fact that even continuous initial data $u_0(x)$ can lead to discontinuous solutions, a famous example is (inviscid) Burgers equation with sinusoidal initial data. This lack of meaningfulness of point data led to the development of Finite Volume Methods, which formulate your scheme in terms of cell/volume averages instead of point values:

$$u_i(t) := \frac{1}{\Delta x} \int_{x_{i-1/2}}^{x_{i+1/2}} u(x,t) \mathrm d x.$$

Integration of the conservation law in conservative form $u_t + F(u)_x = 0$ over the $i$'th cell gives

\begin{align} \int_{x_{i-1/2}}^{x_{i+1/2}} u_t + F(u)_x \mathrm d x = \frac{\mathrm d}{\mathrm dt} \Delta x \cdot u_i(t) + F(u) \Big \vert^{x_{i+1/2}}_{x_{i-1/2}} = 0 \\ \Leftrightarrow \frac{\mathrm d}{\mathrm dt} u_i(t) + \frac{1}{\Delta x} \Bigg( F\bigg(u \Big(x_{i +1/2}^L, t \Big) \bigg) - F\bigg(u \Big(x_{i -1/2}^R, t \Big) \bigg)\Bigg) = 0,\end{align} irrespective of your particular flux function $F(u)$! Above, $u\Big(x_{i +1/2}^L,t \Big)$ denotes the value on the left of the cell interface $i \rightarrow i+1$ and $u\Big(x_{i -1/2}^R,t\Big)$ the value on the right of the $i -1 \rightarrow i$ interface. These values have to be somehow determined based on the (only available) cell averages $u_i(t)$. The simplest way would be taking simply the cell average $u_i(t)$, more sophisticated methods use also the neighboring values to construct polynomial interpolations (leading first to degree-one polynomials with limiters and more general to WENO, ENO).

Then the choice of your time integration scheme determines whether you have an explicit scheme or an implicit one, where for general $F(u)$ you would also have to run Newton-Raphson iterations. For FVM, Runge-Kutta methods with a particular property are desired. For an introduction, you can take a look at this, this, this or this paper.

It should be said that in many Finite Volume programs you do not use the flux $F$ coming from your model, but instead a particular approximation (termed numerical flux), leading to the famous Lax-Friedrichs, Rusanov or Engquist-Osher schemes. For the Euler equations in particular, the HLLC scheme is the classical approach.

$\endgroup$
3
  • 1
    $\begingroup$ Thanks for the detailled answer! I've heard/read a bit of everything you wrote about before but it is better to have something summarize like this for me with nice references. In the mean time, I understood where my confusion about non-linearity was coming from: I'm used to use implicit schemes, so I didn't understand that with an explicit scheme, you don't need to care about the non-linearity because there is only 1 unknown which is coming from the forward Euler in time for exemple. So my problem was coming from my shallow knowledge of explicit method! $\endgroup$
    – Iddingsite
    Jan 26 at 17:58
  • 1
    $\begingroup$ Happy to help! In case you want to learn more about numerical schemes for conservation laws, I recommend this lecture notes. I also added some more references. $\endgroup$
    – Dan Doe
    Jan 26 at 18:18
  • $\begingroup$ Thanks a lot! Always tough to know the must-read on a new topic! $\endgroup$
    – Iddingsite
    Jan 26 at 18:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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