diff options
Convert plain list to prettier birds eye view
-rw-r--r-- | commands.tex | 3 | ||||
-rw-r--r-- | content.tex | 17 | ||||
-rw-r--r-- | img/algorithm_birds_eye.tikz | 59 | ||||
-rw-r--r-- | main.tex | 1 |
4 files changed, 67 insertions, 13 deletions
diff --git a/commands.tex b/commands.tex index c155412..283a8a8 100644 --- a/commands.tex +++ b/commands.tex @@ -30,4 +30,5 @@ \newcommand{\V}[2]{\ensuremath{\begin{pmatrix}#1\\#2\end{pmatrix}}}
\newenvironment{rcases}{\left.\begin{aligned}}{\end{aligned}\right\rbrace}
-%\AtBeginEnvironment{matrix}{\everymath{\displaystyle}}
+%\renewcommand{\labelenumii}{\theenumii}
+%\renewcommand{\theenumii}{\theenumi.\arabic{enumii}.}
diff --git a/content.tex b/content.tex index f0b9867..867fd8c 100644 --- a/content.tex +++ b/content.tex @@ -489,17 +489,12 @@ In der zurückliegenden Sektion haben wir, aufbauend auf der Skalierung von Vert \bigskip
Entsprechend (\ref{eq:gridTime}) müssen für jeden groben Zeitschritt \(\delta t_g\) zwei feine Zeitschritte \(\delta t_f\) durchgeführt werden. Die alternierenden Kollisions- und Strömungsschritte der beiden Gitter sind also strikt gekoppelt und werden als eine Schleifeneinheit betrachtet. Als Schleifeninvariante definieren wir dabei die vollständige Bekanntheit aller Verteilungsfunktionen aller Knoten in beiden Gittern.
-\begin{enumerate}
-\item Kollisions- und Strömungsschritt auf Gitter \(\G\)
-\item Kollisions- und Strömungsschritt auf Gitter \(\F\)
-\item Zeitliche Interpolation von \(\rho_g, u_g\) und \(f_{g,i}^\text{neq}\) in \(x_{g \to f}^g \in \G\) zu Zeitpunkt \(t + \delta t_g / 2\)
-\item Setzen von \(f_{f,i}\) in \(x_{g \to f}^g \in \F\) für alle \(i \in \{0,\dots,8\}\) mittels (\ref{eq:expandedDirectG2F}).
-\item Räumliche Interpolation von \(f_{f,i}\) in \(x_{g \to f}^f \in \F\) für alle \(i \in \{0,\dots,8\}\) mittels (\ref{eq:expandedInterpolG2F}).
-\item Kollisions- und Strömungsschritt auf Gitter \(\F\)
-\item Setzen von \(f_{f,i}\) in \(x_{g \to f}^g \in \F\) für alle \(i \in \{0,\dots,8\}\) mittels (\ref{eq:expandedDirectG2F}).
-\item Räumliche Interpolation von \(f_{f,i}\) in \(x_{g \to f}^f \in \F\) für alle \(i \in \{0,\dots,8\}\) mittels (\ref{eq:expandedInterpolG2F}).
-\item Setzen von \(f_{g,i}\) in \(x_{f \to g} \in \G\) mittels (\ref{eq:basicF2G})
-\end{enumerate}
+
+\begin{figure}[h]
+\input{img/algorithm_birds_eye.tikz}
+\caption{Verfeinerungsalgorithmus mit Invariante aus der Vogelperspektive}
+\label{fig:AlgorithmBirdsEye}
+\end{figure}
% ToDo: Einschränkungen der Gitterpositionierung (keine hängenden feinen Knoten) ausarbeiten
% ToDo: Randfälle der Restriktion ausarbeiten, analog zu Interpolation (fehlt im Paper)
diff --git a/img/algorithm_birds_eye.tikz b/img/algorithm_birds_eye.tikz new file mode 100644 index 0000000..53ffc7e --- /dev/null +++ b/img/algorithm_birds_eye.tikz @@ -0,0 +1,59 @@ +\hspace{-12.5mm} +\begin{tikzpicture}[ + scale=1.0, + coarse/.style={left,xshift=-5mm,align=left}, + fine/.style={right,xshift=5mm,align=left} +] + +\draw[yellow,very thick] (0,0) -- (0,-11) {}; +\draw[yellow,very thick] (1,0) -- (1,-11) {}; + +\draw[green!60!black,fill] (0,0) circle [radius=1.5mm]{}; +\node[coarse] at (0,0) {\(f_{g,i}(\G)\) vollständig zu Zeit \(t\)}; + +\draw[green!60!black,fill] (1,0) circle [radius=1mm]{}; +\node[fine] at (1,0) {\(f_{f,i}(\F)\) vollständig zu Zeit \(t\)}; + +\draw[yellow,fill] (0,-1) circle [radius=1.5mm]{}; +\node[coarse] at (0,-1) {Zeitschritt \(t \to t+\delta t_g\) auf \(\G\)}; + +\draw[yellow,fill] (1,-2) circle [radius=1mm]{}; +\node[fine] at (1,-2) {Zeitschritt \(t \to t+\delta t_f\) auf \(\F\)}; + +\draw[yellow,fill] (0,-3) circle [radius=1.5mm]{}; +\node[coarse] at (0,-3) +{Interpolation von \(\rho_g, u_g, f_{g,i}^\text{neq}\) in \(x_{g \to f}^g \in \G\)\\zu Zeitpunkt \(t + \delta t_g / 2\)}; + +\draw[yellow,fill] (1,-4) circle [radius=1mm]{}; +\node[fine] at (1,-4) +{Setzen von \(f_{f,i}\) in \(x_{g \to f}^g \in \F\) mit (\ref{eq:expandedDirectG2F}).}; + +\draw[yellow,fill] (1,-5) circle [radius=1mm]{}; +\node[fine] at (1,-5) +{Interpolation von \(f_{f,i}\) in \(x_{g \to f}^f \in \F\) mit (\ref{eq:expandedInterpolG2F}).}; + +\draw[green!60!black,fill] (1,-6) circle [radius=1mm]{}; +\node[fine] at (1,-6) {\(f_{f,i}(\F)\) vollständig zu Zeit \(t + \delta t_f\)}; + +\draw[yellow,fill] (1,-7) circle [radius=1mm]{}; +\node[fine] at (1,-7) {Zeitschritt \(t+\delta t_f \to t+2\delta t_f\) auf \(\F\)}; + +\draw[yellow,fill] (1,-8) circle [radius=1mm]{}; +\node[fine] at (1,-8) +{Setzen von \(f_{f,i}\) in \(x_{g \to f}^g \in \F\) mit (\ref{eq:expandedDirectG2F}).}; + +\draw[yellow,fill] (1,-9) circle [radius=1mm]{}; +\node[fine] at (1,-9) +{Interpolation von \(f_{f,i}\) in \(x_{g \to f}^f \in \F\) mit (\ref{eq:expandedInterpolG2F}).}; + +\draw[yellow,fill] (0,-10) circle [radius=1.5mm]{}; +\node[coarse] at (0,-10) +{Setzen von \(f_{g,i}\) in \(x_{f \to g} \in \G\) mit (\ref{eq:basicF2G})}; + +\draw[green!60!black,fill] (0,-11) circle [radius=1.5mm]{}; +\node[coarse] at (0,-11) {\(f_{g,i}(\G)\) vollständig zu Zeit \(t+\delta t_g\)}; + +\draw[green!60!black,fill] (1,-11) circle [radius=1mm]{}; +\node[fine] at (1,-11) {\(f_{f,i}(\F)\) vollständig zu Zeit \(t+\delta t_g\)}; + +\end{tikzpicture} @@ -8,7 +8,6 @@ \usepackage{latexsym} \usepackage{amsmath,amssymb,amsthm} %\usepackage[euler-digits,euler-hat-accent]{eulervm} -%\usepackage{etoolbox} \usepackage{hyperref} \hypersetup{ |