From 1870a1a06e723086db850d38e2ef1b55c9e06c03 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Fri, 22 Feb 2019 19:56:35 +0100 Subject: Done. More or less. --- content.tex | 22 ++++++++++++++++------ img/cylinder2d_high_res_comparsion.tikz | 26 +++++++++++++------------- img/cylinder2d_overview.tikz | 4 ++-- img/poiseuille2d_error_comparison.tikz | 2 +- img/poiseuille2d_velocity_outflow.tikz | 4 ++-- 5 files changed, 34 insertions(+), 24 deletions(-) diff --git a/content.tex b/content.tex index d8f9584..1456f1f 100644 --- a/content.tex +++ b/content.tex @@ -1136,7 +1136,7 @@ Das diesen Resultaten zugrundeliegende Gitter orientiert sich in der Anzahl sein Als weiteren Vergleich betrachten wir deshalb die entscheidenden maximalen Widerstands- und Auftriebskoeffizienten \(\widehat{c_w}\) bzw. \(\widehat{c_a}\) eines uniform mit \(N=40\), d.h. der maximalen lokalen Auflösung unseres problembewusst verfeinerten Gitters entsprechend, aufgelösten Gitters. Auch im Vergleich mit diesem 145314 Knoten umfassenden Gitter bewähren sich die, mit nur etwa einem Zehntel der Knoten gewonnenen, Ergebnisse der verfeinerten Simulation: -\begin{figure}[h] +\begin{table}[h] \centering \sisetup{round-precision=4} \begin{tabular}{l l l l l} @@ -1153,10 +1153,12 @@ Auch im Vergleich mit diesem 145314 Knoten umfassenden Gitter bewähren sich die \(|\Delta P-\num[round-mode=off]{2.48}|\) & \num{0.0993} & \num{0.03715} & [\num[round-mode=off]{0}, \num[round-mode=off]{0.02}] \\ \hline \hline +\(N=\) & \num{40} & \num{5} (max: \num{40}) & \\ Knotenanzahl & \num{145314} & \num{13454} & \\ \end{tabular} \caption{Vergleichswerte zweier maximal \(N=40\) aufgelöster Gitter} -\end{figure} +\label{tab:cylinder2dComparison} +\end{table} \noindent Tatsächlich ist der Fehler des verfeinerten Gitters für Widerstandskoeffizient und Druckdifferenz sogar kleiner als der des uniformen Gitters mit ungleich mehr Knoten. @@ -1165,8 +1167,7 @@ Tatsächlich ist der Fehler des verfeinerten Gitters für Widerstandskoeffizient Wir haben an dieser Stelle also auch im formalen Vergleich bestätigt, dass sich Gitterverfeinerung zur besseren Verteilung beschränkter Rechenressourcen einsetzen lässt. Die bestimmten Vergleichswerte bestehen bei geeigneter Variation der lokalen Gitterweiten auch in Konkurrenz mit uniformen Gittern, die auf der ganzen Simulationsdomäne der feinsten Gitterweite des heterogenen Gitters entsprechend aufgelöst sind. Es stellt sich daher die Frage, ob dieser klare Vorteil auch auf höher aufgelöste Gitter übertragen werden kann und sich die Ergebnisse in vergleichbarem Maße verbessern. - -Dazu sehen wir in Abbildung~\ref{fig:cylinder2dHighResComparison} die gemessenen aerodynamischen Kennzahlen der uniformen \(N=48\) und \(N=80\) Gitter sowie eines problembezogen varierten \(N=20\) Gitters. +Dazu sehen wir in Abbildung~\ref{fig:cylinder2dHighResComparison} und zugehöriger Tabelle~\ref{tab:cylinder2dHighResComparison} die aerodynamischen Kennzahlen der uniformen \(N=48\) und \(N=80\) Gitter sowie eines problembezogen varierten \(N=20\) Gitters entsprechend der Struktur in Abbildung~\ref{fig:CylinderOptimizedGridComparison} ohne Ausflussverfeinerung. \begin{figure}[H] \centering @@ -1175,7 +1176,7 @@ Dazu sehen wir in Abbildung~\ref{fig:cylinder2dHighResComparison} die gemessenen \label{fig:cylinder2dHighResComparison} \end{figure} -\begin{figure}[h] +\begin{table}[h] \centering \sisetup{round-precision=4} \begin{tabular}{l l l l l l} @@ -1192,10 +1193,19 @@ Dazu sehen wir in Abbildung~\ref{fig:cylinder2dHighResComparison} die gemessenen \(|\Delta P-\num[round-mode=off]{2.48}|\) & \num{0.02671} & \num{0.03646} & \num{0.01589} & [\num[round-mode=off]{0}, \num[round-mode=off]{0.02}] \\ \hline \hline +\(N=\) & \num{80} & \num{48} & \num{20} (max: \num{160}) & \\ Knotenanzahl & \num{576758} & \num{207862} & \num{208031} & \\ \end{tabular} \caption{Aerodynamische Kennzahlen höher aufgelöster Zylinderumströmungen} -\end{figure} +\label{tab:cylinder2dHighResComparison} +\end{table} + +Das geeignet verfeinerte Gitter liefert demnach in allen drei Messwerten den kleinsten Fehler und schlägt somit im Vergleich mit dem uniformen \(N=80\) Gitter erneut eine deutlich mehr Knoten verwendende Simulation. Da alle drei getesteten Gitter gute Übereinstimmung zu den Referenzwerten von Schäfer und Turek aufweisen fällt der Vorteil der Gitterverfeinerung jedoch geringer aus, als noch im Vergleich von Tabelle~\ref{tab:cylinder2dComparison}. + +\bigskip +Rückblickend hat die Evaluation unseres Gitterverfeinerungsverfahrens anhand der Zylinderumströmung ihre Vorteil spendende Verwendbarkeit eindrücklich demonstriert. Während bei der Betrachtung der einfachen Poiseuilleströmung Sorgen bezüglich der Ergebnisgenauigkeit verfeinerter Gitter aufgeworfen wurden, konnten diese in der zurückliegenden Betrachtung einer komplexeren und so einen Verfeinerungsbedarf besser begründenden Strömungssituation weitestgehend beigelegt werden. Während die aufgeworfene Frage nach der korrekten Behandlung von Randbedingungen im Übergangsbereich noch offen ist, konnten wir unter Vermeidung dieser unklaren Situation ein sinnvolles, durch ein formales Kriterium informiertes, lokal verfeinertes Gitter beschreiben. + +Verfeinerte Simulationen der Zylinderumströmung konnten auf diese Weise im Vergleich ihrer aerodynamischen Kennzahlen mit belastungsfähigen Referenzwerten \cite{SchaeferTurek96} durchweg gegen ungleich größere Knotengrade aufweisende uniforme Gitter bestehen. \newpage \section{Fazit} diff --git a/img/cylinder2d_high_res_comparsion.tikz b/img/cylinder2d_high_res_comparsion.tikz index d9460d9..ae2b3bd 100644 --- a/img/cylinder2d_high_res_comparsion.tikz +++ b/img/cylinder2d_high_res_comparsion.tikz @@ -1,7 +1,7 @@ \begin{tikzpicture} \pgfplotstableread[col sep=comma]{img/data/cylinder2d_optimized_grid_n20_re100_drag_lift_deltap.csv}\refined -\pgfplotstableread[col sep=comma]{img/data/cylinder2d_unrefined_n48_re100_drag_lift_deltap.csv}\unrefined -\pgfplotstableread[col sep=comma]{img/data/cylinder2d_unrefined_n80_re100_drag_lift_deltap.csv}\uniform +\pgfplotstableread[col sep=comma]{img/data/cylinder2d_unrefined_n48_re100_drag_lift_deltap.csv}\uniformMiddle +\pgfplotstableread[col sep=comma]{img/data/cylinder2d_unrefined_n80_re100_drag_lift_deltap.csv}\uniformHigh \begin{axis}[ scale only axis, @@ -19,9 +19,9 @@ \addplot[color=black]{3.23}; \addlegendentry {Gemittelte Referenzlösung \(c_\text{Dmax} := \num{3.23}\)}; -\addplot[color=green!70!black,thin] table [x expr=8*\thisrow{time}, y=drag] {\refined}; -\addplot[color=red!50!white,thin] table [x expr=\thisrow{time}, y=drag] {\unrefined}; -\addplot[color=blue!50!white,thin] table [x expr=\thisrow{time}, y=drag] {\uniform}; +\addplot[color=blue!50!white,thin,densely dashed] table [x expr=\thisrow{time}, y=drag] {\uniformHigh}; +\addplot[color=blue!50!white,thin] table [x expr=\thisrow{time}, y=drag] {\uniformMiddle}; +\addplot[color=green!70!black,thick] table [x expr=8*\thisrow{time}, y=drag] {\refined}; \end{axis} @@ -42,9 +42,9 @@ \addplot[color=black]{1.0}; \addlegendentry {Gemittelte Referenzlösung \(c_\text{Lmax} := 1\)}; -\addplot[color=green!70!black,thin] table [x expr=8*\thisrow{time}, y=lift] {\refined}; -\addplot[color=red!50!white,thin] table [x expr=\thisrow{time}, y=lift] {\unrefined}; -\addplot[color=blue!50!white,thin] table [x expr=\thisrow{time}, y=lift] {\uniform}; +\addplot[color=blue!50!white,thin,densely dashed] table [x expr=\thisrow{time}, y=lift] {\uniformHigh}; +\addplot[color=blue!50!white,thin] table [x expr=\thisrow{time}, y=lift] {\uniformMiddle}; +\addplot[color=green!70!black,thick] table [x expr=8*\thisrow{time}, y=lift] {\refined}; \end{axis} @@ -68,12 +68,12 @@ \addplot[color=black]{2.48}; \addlegendentry {Gemittelte Referenzlösung \(\Delta P := \num{2.48}\)}; -\addplot[color=green!70!black,thin] table [x expr=8*\thisrow{time}, y=deltap] {\refined}; -\addlegendentry {Verfeinertes \(N=20\) Gitter mit \(\sim 208000\) Knoten}; -\addplot[color=red!50!white,thin] table [x expr=\thisrow{time}, y=deltap] {\unrefined}; -\addlegendentry {Uniformes \(N=48\) Gitter mit \(\sim 208000\) Knoten}; -\addplot[color=blue!50!white,thin] table [x expr=\thisrow{time}, y=deltap] {\uniform}; +\addplot[color=blue!50!white,thin,densely dashed] table [x expr=\thisrow{time}, y=deltap] {\uniformHigh}; \addlegendentry {Uniformes \(N=80\) Gitter mit \(\sim 577000\) Knoten}; +\addplot[color=blue!50!white,thin] table [x expr=\thisrow{time}, y=deltap] {\uniformMiddle}; +\addlegendentry {Uniformes \(N=48\) Gitter mit \(\sim 208000\) Knoten}; +\addplot[color=green!70!black,thick] table [x expr=8*\thisrow{time}, y=deltap] {\refined}; +\addlegendentry {Verfeinertes \(N=20\) Gitter mit \(\sim 208000\) Knoten}; \end{axis} diff --git a/img/cylinder2d_overview.tikz b/img/cylinder2d_overview.tikz index d77c1c1..c81eba3 100644 --- a/img/cylinder2d_overview.tikz +++ b/img/cylinder2d_overview.tikz @@ -10,8 +10,8 @@ \draw[very thick,fill=gray!20!white] (2,2) circle (0.5); \draw[Latex-Latex,thin] (3,1.5) -- (3,2.5) node[pos=0.5,right] {\(D\)}; -\draw[Latex-Latex,thin] (3,0) -- (3,1.5) node[pos=0.5,right] {\(\num{1.5} D\)}; -\draw[Latex-Latex,thin] (3,2.5) -- (3,4.1) node[pos=0.5,right] {\(\num{1.6} D\)}; +\draw[Latex-Latex,thin] (3,0) -- (3,1.5) node[pos=0.5,right] {\(\num[round-mode=off]{1.5} D\)}; +\draw[Latex-Latex,thin] (3,2.5) -- (3,4.1) node[pos=0.5,right] {\(\num[round-mode=off]{1.6} D\)}; \draw[Latex-Latex,thin] (0,-0.5) -- (2,-0.5) node[pos=0.5,below] {\(2 D\)}; \draw[Latex-Latex,thin] (2,-0.5) -- (22,-0.5) node[pos=0.5,below] {\(20 D\)}; diff --git a/img/poiseuille2d_error_comparison.tikz b/img/poiseuille2d_error_comparison.tikz index b28f579..7b122ce 100644 --- a/img/poiseuille2d_error_comparison.tikz +++ b/img/poiseuille2d_error_comparison.tikz @@ -1,7 +1,7 @@ \begin{tikzpicture} \begin{axis}[ scale only axis, - height=8cm, + height=7.5cm, width=0.6*\textwidth, symbolic x coords={\texttt{uN10},\texttt{uN20},\texttt{vN10A},\texttt{vN10B}}, xtick=data, diff --git a/img/poiseuille2d_velocity_outflow.tikz b/img/poiseuille2d_velocity_outflow.tikz index b60c6ff..4ebfc24 100644 --- a/img/poiseuille2d_velocity_outflow.tikz +++ b/img/poiseuille2d_velocity_outflow.tikz @@ -7,7 +7,7 @@ \begin{axis}[ scale only axis, - height=8cm, + height=9.8cm, width=0.4*\textwidth, mark size=3, legend cell align=left, @@ -64,7 +64,7 @@ \begin{axis}[ scale only axis, - height=8cm, + height=9.8cm, width=0.4*\textwidth, mark size=3, grid=both, -- cgit v1.2.3