\frame { \frametitle{Grid functions}
 \abspic{pattern-dots-square-grid-03}{-0.15}{0.7}{0.2}
 Cactus provides methods to
 \begin{itemize}
  \item Distribute variables across processes (grid function)
  \item Synchronize processor domain boundaries between processes
  \item Compute reductions across grid functions
  \item Actual implementation in driver thorn
 \end{itemize}
}

\frame { \frametitle{Ghost zones}
 \abspic{pattern-dots-square-grid-03}{0.4}{0.3}{0.2}
 \abspic{pattern-dots-square-grid-03}{0.4}{0.5}{0.2}
 \begin{itemize}
  \item Grid variables: distributed across processes
  \item Assumption: Most work done (quasi-) locally:\\
        True for hyperbolic and parabolic problems
  \item Split of computational domain into blocks
  \item Only communication at the borders (faces)
  \item At least stencil size many ghostzones
 \end{itemize}
}

\frame { \frametitle{Ghost zone example}
 Without Ghostzones:\\
 \begin{centering}\includegraphics[width=9cm]{1dnoghost}\\\end{centering}
 With Ghostzones:\\
 \begin{centering}\includegraphics[width=9cm]{withghost}\\\end{centering}
}

\frame { \frametitle{Domain decomposition}
 \begin{centering}\includegraphics[width=11cm]{domain_decomposition}\\\end{centering}
}

%\frame { \frametitle{Cactus domain variables}
% \begin{centering}\includegraphics[width=8.5cm]{domain_decomposition_vars}\\\end{centering}
%}

\frame { \frametitle{Mesh refinement decomposition}
 \begin{centering}\includegraphics[width=11cm]{domain_decomposition_mr}\\\end{centering}
}

