next up previous contents
Next: 7.2.4 Parallelization using split Up: 7.2 Euler equations Previous: 7.2.2 Sequential solving   Contents


7.2.3 Parallelization using distributed boxes

The distribution of complete boxes on the processors is related to the non-overlapping node distribution from section 4.3.2.
The remaining crucial point in the parallelization of (7.17) consists in the efficient calculation of the sum $ C_1(w,v)w+C_2(w,v)v$ in (7.18).

One can think of the unknowns $ u_j$ stored in the center of volume elements. The local contributions of the flux  $ \sigma_{jl}$ in algorithm 7.8 are stored inconsistently on the edges (faces), i.e., $ \sigma_{jl} \neq \sigma_{lj}$. For the parallel implementation, an overlapping distribution of $ u$ and $ \sigma$ with one element overlap is necessary. Denoting by  $ \widetilde{\Omega} \makebox[0pt]{}_i$ the extended subdomain of $ \Omega _i$ the extended solution vector can be written as $ \underline{\widetilde{u} \makebox[0pt]{}}_i  =  \Big(
\underbrace{ \left\{ u...
...mega} \makebox[0pt]{}_i\setminus\Omega_i} }_{\mathrm{external \; comp.}}
\Big) $, analogously  $ \widetilde{\sigma} \makebox[0pt]{}$.

Figure 7.3: Distributed boxes
\begin{figure}\begin{center}
\unitlength0.016\textwidth
\begin{picture}(25,28)...
...mega}} \makebox[0pt]{}_{\boldsymbol{j}}$}}
\end{picture}\end{center}\end{figure}


\begin{algorithmus}
% latex2html id marker 33411
[H]
\caption{Time step ($K+1$) ...
...box{\textbf{\sf od}} $ \end{minipage}\end{minipage}\end{center}\end{algorithmus}
Remarks :
  1. Algorithm 7.10 can be used for all 3 formulas (7.19)-(7.21).
  2. By using (7.19) the values $ \widetilde{u} \makebox[0pt]{}_l$ are not needed so that step 1.) can be omitted.
  3. The data exchange in step 3.) by using (7.20) or (7.21) is not necessary if one calculates the value $ \widetilde{\sigma} \makebox[0pt]{}_{lj} := - C_2(u_j,\widetilde{u} \makebox[0pt]{}_l)$ in  $ \widetilde{\Omega} \makebox[0pt]{}_j$ redundantly to $ C_1(u_l,\widetilde{u} \makebox[0pt]{}_j$) in $ \widetilde{\Omega} \makebox[0pt]{}_{l}$.

    Disadvantages:
    • More arithmetic costs (nearly doubling).
    • Performing the redundant calculations only in the boundary elements means additional alternatives in the code.

next up previous contents
Next: 7.2.4 Parallelization using split Up: 7.2 Euler equations Previous: 7.2.2 Sequential solving   Contents
Gundolf Haase 2000-03-20