Riemann solution and upwind method for linear hyperbolic system

hyperbolic-equationslinear-pdenumerical methods

Suppose we have the system

$$ \begin{cases} u_t + av_x = 0 \\ v_t + b u_x =0 \end{cases} $$

where $a,b \in \mathbb{R}$.

If we write this in the form ${\bf u}_t + A {\bf u}_x = 0$ where ${\bf u} = (u,v)^T$, then we observe that

$$ A = \begin{bmatrix} a & 0 \\ 0 & b \end{bmatrix}$$

implying that the system is ${\bf hyperbolic}$ when $ab \neq 0$ because otherwise $A$ is not diagonalizable. I want to derive an upwind scheme to solve such system. I am thinking of this scheme

$$ {\bf u}_{k}^{n+1}= {\bf u}_k^{n} – \frac{\Delta t }{\Delta x } A ({\bf u}_{k}^{n} – {\bf u}_{k-1}^{n})$$

Isnt the stability condition just the same as if we were doing for $q_t + c q_x = 0$?

Now, here where I dont understand how to solve the problem. What if we impose the initial conditions

$$ \begin{cases} u(x,0) \\ v(x,0) \end{cases} = \begin{cases} \{ u_L, v_L \} & x<0 \\ \{ u_R, v_R\} & x>0\end{cases}$$

how do we the find the Riemman solutions of the system?

Best Answer

Let us diagonalize the matrix $A$ such that ${\bf u}_t + A {\bf u}_x = {\bf 0}$ as follows: \begin{aligned} A &= \begin{pmatrix}0 & a\\ b & 0\end{pmatrix} \\ &= \begin{pmatrix}-\sqrt{a/b} & \sqrt{a/b}\\ 1 & 1\end{pmatrix} \begin{pmatrix}-\sqrt{a/b} & 0\\ 0 & \sqrt{a/b}\end{pmatrix} \frac12 \begin{pmatrix}-\sqrt{b/a} & 1\\ \sqrt{b/a} & 1\end{pmatrix}\\ &= R\Lambda R^{-1}\\ \end{aligned} if $a$ and $b$ have the same nonzero sign. Introducing ${\bf v} = R^{-1} {\bf u}$, we have ${\bf v}_t + \Lambda {\bf v}_x = {\bf 0}$, for which an upwind method can be derived componentwise (be careful that correct upwinding is used: here the eigenvalues $\pm \sqrt{a/b}$ have opposite sign). Introducing the matrices $A^\pm = \tfrac12 (A\pm |A|)$ with $|A| = R |\Lambda| R^{-1}$, and going back to the original variables, the upwind method may be written \begin{aligned} {\bf u}_i^{n+1} &= {\bf u}_i^{n} - \frac{\Delta t}{\Delta x} A^+ ({\bf u}_i^{n} - {\bf u}_{i-1}^{n}) - \frac{\Delta t}{\Delta x} A^- ({\bf u}_{i+1}^{n} - {\bf u}_{i}^{n}) \\ &= {\bf u}_i^{n} - \frac{\Delta t}{2\Delta x} A ({\bf u}_{i+1}^{n} - {\bf u}_{i-1}^{n}) + \frac{\Delta t}{2\Delta x} |A| ({\bf u}_{i+1}^{n} - 2{\bf u}_{i}^{n} + {\bf u}_{i-1}^{n}) . \end{aligned} It is stable under the CFL condition $\sqrt{a/b}\; \Delta t/\Delta x \leq 1$. The Riemann solution can also be obtained from the diagonalized form.