next up previous contents
Next: 7.2.3 Parallelization using distributed Up: 7.2 Euler equations Previous: 7.2.1 Differential equations   Contents


7.2.2 Sequential solving

Flux vector splitting in the calculation of $ g_{jl}$

We follow exactly the notation in Kröner [Krö97], p.374f.
In (7.13), we assume now

$\displaystyle f_1(\vec{u}) \;=\; f'_1(\vec{u})\cdot\vec{u}$   and$\displaystyle \qquad f_2(\vec{u}) \;=\; f'_2(\vec{u})\cdot\vec{u} \enspace.
$

The definition

$\displaystyle C_{jl}(\vec{u}) \;:=\; \vec{n}_{jl} f'(\vec{u})
$

can be expressed as $ Q^{-1}C_{jl}Q = D =
\mathrm{diag}\left\{\lambda_1,\ldots,\lambda_m \right\}$ , with a non-singular matrix   $ Q(\vec{u})$. Splitting the eigenvalues $ \lambda_i$ into a positive and a negative set $ \lambda_i^{+} := \max\left\{ \lambda_i, 0 \right\} $, $ \lambda_i^{-} := \min\left\{ \lambda_i, 0 \right\} $, $ i=\overline{1,m} \makebox[0pt]{}\;$ we can distinguish between inflow and outflow on that edge/face :

$\displaystyle C_{jl}^{+}(\vec{u})  =  Q D^{+} Q^{-1}$   und$\displaystyle \qquad C_{jl}^{-}(\vec{u})  =  Q D^{-} Q^{-1} \enspace.
$

Because of $ \vec{n}_{jl} = - \vec{n}_{lj}$ the relation $ C_{jl}(\vec{u}) = - C_{lj}(\vec{u})$ is also valid. Especially, $ C_{jl}^{-}(\vec{u}) = - C_{lj}^{+}(\vec{u})$ holds.

Figure 7.2: Flux between volume elements $ T_j$ and $ T_l$ (Steger and Warming).
\begin{figure}\begin{center}
\unitlength0.03\textwidth
\begin{picture}(18,13)
...
... \put(9,12.2){\makebox(0,0)[b]{$S_{jl}$}}
\end{picture} \end{center}\end{figure}


Now, we can calculate the numerical flux $ g_{jl} := \int_{S_{jl}} \widetilde{g} \makebox[0pt]{}_{jl}(s)ds$ by the formula

$\displaystyle g_{jl}(w,v) \;:=\; \vert S_{jl}\vert \left( C_1(w,v) w + C_2(w,v) v \right) \enspace.$ (7.15)

There exist several approaches for the calculation of the values $ C_1$ and $ C_2$ :
  1. Scheme by Steger and Warming [SW81]

    \begin{displaymath}\begin{split}C_1(w,v) &\;:=\; C_{jl}^{+}(w) \  C_2(w,v) &\;:...
...stackrel{\mathrm{!}}{=}\; - C_{lj}^{+}(v) \;\right] \end{split}\end{displaymath} (7.16)

  2. Scheme by Vijayasundaram [Vij86]

    \begin{displaymath}\begin{split}C_1(w,v) &\;:=\; C_{jl}^{+}(\frac{w+v}{2}) \  C...
...thrm{!}}{=}\; - C_{lj}^{+}(\frac{w+v}{2}) \;\right] \end{split}\end{displaymath} (7.17)

  3. Scheme by van Leer [Lee92]

    \begin{displaymath}\begin{split}C_1(w,v) &\;:=\; C_{jl}(w) + \left\vert C_{jl}^{...
...vert C_{lj}^{+}(\frac{w+v}{2})\right\vert \;\right] \end{split}\end{displaymath} (7.18)

Remark :
Matrices $ C_{jl}^{+}(w)$, $ C_{jl}^{-}(w)$ and $ C_{jl}(w)$ can be calculated locally in $ T_j$. Similarly, $ C_{lj}^{+}(v)$, $ C_{lj}^{-}(v)$ and $ C_{lj}(v)$ can be calculated locally in $ T_l$. If one applies the argument $ \frac{w+v}{2}$ then the average value $ \left(\sum\right)$] $ \left(\sum\right)$ has to be determined previously.
Those formulas in (7.19)-(7.21) marked in brackets $ [\quad]$ can calculate $ C_2$ locally in $ T_l$. In general, the relation $ \underbrace{C_2(w,v)}_{T_j} = -\underbrace{C_1(v,w)}_{T_l}$ is valid.
\begin{algorithmus}
% latex2html id marker 33318
[H]
\caption{Efficient sequenti...
...displaystyle \mbox{\textbf{\sf od}} $\end{minipage}\end{center}\end{algorithmus}


next up previous contents
Next: 7.2.3 Parallelization using distributed Up: 7.2 Euler equations Previous: 7.2.1 Differential equations   Contents
Gundolf Haase 2000-03-20