From 742568b658dae0361e8bd182cec7fd101c48a101 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Fri, 25 Jan 2019 16:13:42 +0100 Subject: Add poiseuille2d error plot --- content.tex | 23 ++++----------- img/poiseuille2d_error_comparison.tikz | 52 ++++++++++++++++++++++++++++++++++ img/poiseuille2d_velocity_outflow.tikz | 14 +++++---- 3 files changed, 65 insertions(+), 24 deletions(-) create mode 100644 img/poiseuille2d_error_comparison.tikz diff --git a/content.tex b/content.tex index f619023..a61bbd5 100644 --- a/content.tex +++ b/content.tex @@ -859,23 +859,11 @@ Bei erster Betrachtung lässt sich erkennen, dass die Strömung den Gitterüberg Zur formalen Qualitätsbewertung ziehen wir im Folgenden die analytische Lösung~\ref{def:analyticPoiseuille} von Geschwindigkeit und Druck des Poiseuille-Flusses heran. Wir können diese in \mbox{OpenLB} einfach mit Hilfe des \class{SuperRelativeErrorL2Norm2D} Funktors auf beiden Gittern mit der simulierten Lösung vergleichen: -\begin{table}[h] +\begin{figure}[h] \centering -\begin{tabular}{l l l l} -Gitterstruktur & Geschwindigkeitsfehler & Druckfehler \\ -\hline -\(11 \times 41\) & 1.88337e-3 & 3.11534e-3 \\ -\hline -\(21 \times 81\) & 1.16253e-3 & 2.27404e-3 \\ -\hline -\(11 \times 21\) & 1.00761e-2 & 2.71447e-2 \\ -\hphantom{\(11 \times 21\)} \(21 \times 43\) & 1.02424e-2 & 2.07924e-2 \\ -\hline -\(11 \times 41\) & 1.77561e-3 & 3.11244e-3 \\ -\hphantom{\(11 \times 41\)} \(17 \times 41\) & 2.04335e-3 & 3.39432e-3 \\ -\end{tabular} -\caption{L2 Normen der Geschwindigkeits- und Druckfehler in verschiedenen Gittern} -\end{table} +\input{img/poiseuille2d_error_comparison.tikz} +\caption{Geschwindigkeits- und Druckfehler in verschiedenen Gittern} +\end{figure} \noindent Die halbseitig verfeinerte Lösung aus Abbildung~\ref{fig:PoiseuilleGridSetup} ist zunächst also um eine Größenordnung schlechter als eine gleichmäßig mit \(n=20\) aufgelöste Berechnung. Etwas überraschend ist ihr Fehler auch deutlich größer als der Fehler einer uniform mit \(n=10\) aufgelösten Simulation -- zumindest in diesem speziellen Beispiel hat Gitterverfeinerung also einen messbar negativen Einfluss auf die Genauigkeit der Simulation. @@ -887,10 +875,9 @@ Eine Besonderheit ist in diesem Kontext auch die Existenz von Randbedingungen im Abschließend erscheint es beispielübergreifend intuitiv erwartbar, dass eine nicht aus dem konkreten Strömungsproblem informierte Anwendung von Gitterverfeinerung -- und damit eine unbegründete Erhöhung der Simulationskomplexität gegenüber einem uniformen Gitter -- einer Verbesserung der Präzision nicht zuträglich ist. -\newpage \subsubsection{Vergleich der Interpolationsverfahren} -Den Poiseuille Simulationsaufbau können wir an dieser Stelle auch zur Nachvollziehung des, von Lagrava et al. für die Verwendung eines Verfahrens vierter Ordnung in der räumlichen Interpolation feiner Übergangsknoten ohne koinzidierende grobe Stützpunkte hervorgebrachten, Arguments verwenden. +Den halbseitig verfeinerten Poiseuille Simulationsaufbau können wir an dieser Stelle auch zur Nachvollziehung des, von Lagrava et al. für die Verwendung eines Verfahrens vierter Ordnung in der räumlichen Interpolation feiner Übergangsknoten ohne koinzidierende grobe Stützpunkte hervorgebrachten, Arguments verwenden. \begin{figure}[h] \begin{adjustbox}{center} diff --git a/img/poiseuille2d_error_comparison.tikz b/img/poiseuille2d_error_comparison.tikz new file mode 100644 index 0000000..54e4ac8 --- /dev/null +++ b/img/poiseuille2d_error_comparison.tikz @@ -0,0 +1,52 @@ +\begin{tikzpicture} +\begin{axis}[ + scale only axis, + height=8cm, + width=0.7*\textwidth, + symbolic x coords={\texttt{uN10},\texttt{uN20},\texttt{vN10A},\texttt{vN20A},\texttt{vN10B},\texttt{vN20B}}, + xtick=data, + ylabel=L2-genormter Fehler, + ymode=log, + log origin=infty, + y tick label style={/pgf/number format/sci}, + ybar=5pt, + bar width=9pt, + legend cell align={left} +] + +\addplot coordinates { +(\texttt{uN10},1.88337e-3) +(\texttt{uN20},1.16253e-3) +(\texttt{vN10A},1.00761e-2) +(\texttt{vN20A},1.02424e-2) +(\texttt{vN10B},1.77561e-3) +(\texttt{vN20B},2.04335e-3) +}; + +\addplot coordinates { +(\texttt{uN10},3.11534e-3) +(\texttt{uN20},2.27404e-3) +(\texttt{vN10A},2.71447e-2) +(\texttt{vN20A},2.07924e-2) +(\texttt{vN10B},3.11244e-3) +(\texttt{vN20B},3.39432e-3) +}; + +\legend{Geschwindigkeit,Druck} +\end{axis} +\end{tikzpicture} + +\bigskip +\begin{tabular}{l l l l} +& Gitterstruktur & Geschwindigkeitsfehler & Druckfehler \\ +\hline +\texttt{uN10} & \(11 \times 41\) & 1.88337e-3 & 3.11534e-3 \\ +\hline +\texttt{uN20} & \(21 \times 81\) & 1.16253e-3 & 2.27404e-3 \\ +\hline +\texttt{vN10A} & \(11 \times 21\) & 1.00761e-2 & 2.71447e-2 \\ +\texttt{vN20A} & \hphantom{\(11 \times 21\)} \(21 \times 43\) & 1.02424e-2 & 2.07924e-2 \\ +\hline +\texttt{vN10B} & \(11 \times 41\) & 1.77561e-3 & 3.11244e-3 \\ +\texttt{vN20B} & \hphantom{\(11 \times 41\)} \(17 \times 41\) & 2.04335e-3 & 3.39432e-3 \\ +\end{tabular} diff --git a/img/poiseuille2d_velocity_outflow.tikz b/img/poiseuille2d_velocity_outflow.tikz index e6897e8..96eec84 100644 --- a/img/poiseuille2d_velocity_outflow.tikz +++ b/img/poiseuille2d_velocity_outflow.tikz @@ -11,9 +11,10 @@ width=0.4*\textwidth, mark size=3, legend cell align=left, - legend style={at={(0.9,-0.1)},anchor=north}, + legend style={at={(1.05,-0.2)},anchor=north}, grid=both, ylabel=\(x\)-Geschwindigkeit, + xlabel=\(y\)-Position, xtick={0,0.25,0.5,0.75,1}, title=Geschwindigkeitsprofil, every axis plot/.append style={thick} @@ -26,7 +27,7 @@ ] table [ x=y, y=ux ] {\refinedCubicIpol}; -\addlegendentry{Halbseitig verfeinertes Gitter mit kubischer Interpolation}; +\addlegendentry{Halbseitig verfeinertes \(n=10\) Gitter mit kubischer Interpolation}; \addplot[ only marks, @@ -35,7 +36,7 @@ ] table [ x=y, y=ux ] {\refinedLinearIpol}; -\addlegendentry{Halbseitig verfeinertes Gitter mit linearer Interpolation}; +\addlegendentry{Halbseitig verfeinertes \(n=10\) Gitter mit linearer Interpolation}; \addplot[ only marks, @@ -44,7 +45,7 @@ ] table [ x=y, y=ux ] {\borderlessRefine}; -\addlegendentry{Halbseitig randlos verfeinertes Gitter mit kubischer Interpolation}; +\addlegendentry{Halbseitig randlos verfeinertes \(n=10\) Gitter mit kubischer Interpolation}; \addplot[ only marks, @@ -53,7 +54,7 @@ ] table[ x=y, y=ux ] {\unrefinedFine}; -\addlegendentry{Uniform fein aufgelöstes Gitter}; +\addlegendentry{Uniform fein mit \(n=20\) aufgelöstes Gitter}; \addplot [domain=0:1, samples=100]{-4*x*(x-1)}; \addlegendentry{Analytische Lösung} @@ -68,9 +69,10 @@ xtick={0,0.25,0.5,0.75,1}, xshift=7cm, scaled y ticks=false, + y tick label style={/pgf/number format/sci}, ylabel=Fehler, + xlabel=\(y\)-Position, yticklabel pos=right, - y tick label style={/pgf/number format/sci}, title=Fehler zur analytischen Lösung, every axis plot/.append style={thick} ] -- cgit v1.2.3