\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} }