aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Kummerlaender2018-12-26 12:10:44 +0100
committerAdrian Kummerlaender2018-12-26 12:10:44 +0100
commit154b67cab08747c604bdede7f3d21a5a093e7c41 (patch)
treeea153a7e5a74c4e43f65cd5c4c8597aa726979a8
parent8d6d9642c079fa0bef45b43cf5be6772717ce7e7 (diff)
downloadgrid_refinement_bsc_thesis-154b67cab08747c604bdede7f3d21a5a093e7c41.tar
grid_refinement_bsc_thesis-154b67cab08747c604bdede7f3d21a5a093e7c41.tar.gz
grid_refinement_bsc_thesis-154b67cab08747c604bdede7f3d21a5a093e7c41.tar.bz2
grid_refinement_bsc_thesis-154b67cab08747c604bdede7f3d21a5a093e7c41.tar.lz
grid_refinement_bsc_thesis-154b67cab08747c604bdede7f3d21a5a093e7c41.tar.xz
grid_refinement_bsc_thesis-154b67cab08747c604bdede7f3d21a5a093e7c41.tar.zst
grid_refinement_bsc_thesis-154b67cab08747c604bdede7f3d21a5a093e7c41.zip
Add some interpolation illustrations
-rw-r--r--content.tex18
-rw-r--r--img/interpolation_basis.tikz32
-rw-r--r--img/interpolation_detail.tikz28
3 files changed, 77 insertions, 1 deletions
diff --git a/content.tex b/content.tex
index 446bad9..bf007be 100644
--- a/content.tex
+++ b/content.tex
@@ -411,7 +411,23 @@ Insgesamt erhalten wir eine vollständige Definition der gesuchten Verteilungen
Für \(x_{g \to f}^f \in \U_{g \to f}^f\) gilt insbesondere \(x_{g \to f}^f \notin \U_g\). Es existieren in diesen Gitterpunkten also im Gegensatz zur Situation \ref{eq:expandedDirectG2F} keine groben Verteilungsfunktionen. Die fehlenden Werte zur Bestimmung der Momente sowie des Nicht-Equilibriumanteils in (\ref{eq:basicG2F}) müssen hier also aus den umliegenden groben Verteilungsfunktionen interpoliert werden:
\[f_{f,i}(x_{g \to f}^f) = f_i^\text{eq}(\interpol{\rho_g}{x_{g \to f}^f}, \interpol{u_g}{x_{g \to f}^f}) + \alpha \interpol{f_{g,i}^\text{neq}}{x_{g \to g}^f} \numberthis\label{eq:expandedInterpolG2F}\]
-Die unbekannten Werte der Moment- und Nicht-Equilibriumfunktionen werden in diesem Ausdruck durch eine Interpolationsoperation \(\boldsymbol{n}\) genähert. Neben der Restriktionsoperation stellt die Wahl des Interpolationsverfahrens einen weiteren zentralen und flexiblen Bestandteil des, auf diesen Seiten nachvollzogenen, Gitterverfeinerungsverfahren dar.
+Die unbekannten Werte der Moment- und Nicht-Equilibriumfunktionen werden in diesem Ausdruck durch eine Interpolationsoperation \(\boldsymbol{n}\) genähert. Neben der Restriktionsoperation \(\boldsymbol{r}\) stellt die Wahl des Interpolationsverfahrens einen weiteren zentralen und flexiblen Bestandteil des, auf diesen Seiten nachvollzogenen, Gitterverfeinerungsverfahren dar.
+
+Stützstellen für die Interpolation seien hier die parallel zum Gitterübergang liegenden groben Nachbarknoten des gesuchten Punktes \(x_{g \to f}^f\).
+
+\begin{figure}
+\centering
+\input{img/interpolation_basis.tikz}
+\caption{Stützstellen der Interpolation im Übergangsbereich}
+\label{fig:InterpolationBasis}
+\end{figure}
+
+\begin{figure}
+\centering
+\input{img/interpolation_detail.tikz}
+\caption{Stützstellen der Interpolation}
+\label{fig:InterpolationDetail}
+\end{figure}
\newpage
\section{Implementierung in OpenLB}
diff --git a/img/interpolation_basis.tikz b/img/interpolation_basis.tikz
new file mode 100644
index 0000000..1d8d86e
--- /dev/null
+++ b/img/interpolation_basis.tikz
@@ -0,0 +1,32 @@
+\begin{tikzpicture}[
+ scale=1.5,
+ coarse/.style={circle,draw=gray,inner sep=4pt},
+ ibase/.style={coarse,draw=black,very thick},
+ fine/.style={cross out,draw=gray,minimum size=8pt},
+ wantedfine/.style={fine,draw=black,ultra thick},
+ arrow/.style={-{Latex[length=2mm]},thick}
+]
+
+\foreach \x in {-1,...,3}
+ \foreach \y in {-1,...,2}
+ \node[coarse] at (\x,\y){ };
+
+\foreach \x in {0,...,8}
+ \foreach \y in {-2,...,4}
+ \node[fine] at (2+\x*0.5,\y*0.5){ };
+
+\node[wantedfine] at (2,0.5){ };
+\node[ibase] at (2,2){ };
+\node[ibase] at (2,1){ };
+\node[ibase] at (2,0){ };
+\node[ibase] at (2,-1){ };
+
+\draw[dashed,thick] (1.8,-1.2) rectangle (2.2,2.2);
+\draw[dashed,draw=gray] (2.8,-1.2) rectangle (3.2,2.2);
+
+\draw[arrow] (2,3.3) node[right] {Interpolation von grob nach fein, \(\U_{g \to f}\)} -- (2,2.3);
+\draw[arrow] (3,2.8) node[right] {Restriktion von fein nach grob, \(\U_{f \to g}\)} -- (3,2.3);
+
+\draw[decorate,decoration={brace,amplitude=10pt,mirror},line width=1pt]
+(1.8,-1.4) -- (3.2,-1.4) node[midway,below,yshift=-6pt] {Übergangsbereich};
+\end{tikzpicture}
diff --git a/img/interpolation_detail.tikz b/img/interpolation_detail.tikz
new file mode 100644
index 0000000..3f9472b
--- /dev/null
+++ b/img/interpolation_detail.tikz
@@ -0,0 +1,28 @@
+\begin{tikzpicture}[
+ scale=1.5,
+ coarse/.style={circle,draw=gray,inner sep=4pt},
+ ibase/.style={coarse,draw=black,very thick},
+ fine/.style={cross out,draw=gray,minimum size=8pt},
+ wantedfine/.style={fine,draw=black,ultra thick},
+ arrow/.style={-{Latex[length=2mm]},thick}
+]
+
+\foreach \x in {-3.5,...,3.5}
+ \node[coarse] at (\x,0){ };
+
+\foreach \x in {-7,...,7}
+ \node[fine] at (\x*0.5,0){ };
+
+\node[wantedfine] at (0,0){ };
+\node[ibase] at (-1.5,0){ };
+\node[ibase] at (-0.5,0){ };
+\node[ibase] at (0.5,0){ };
+\node[ibase] at (1.5,0){ };
+
+\draw[arrow] (0,0.8) node[right] {Gesuchter Wert \(\interpol{\star}{x_{g \to f}^f}\)} -- (0,0.3);
+\draw[arrow] (-1.5,-0.8) node[below right] {Bekannte Werte \(\interpol{\star}{\U_{g \to f}^g}\)} -- (-1.5,-0.3);
+\draw[arrow] (-0.5,-0.8) -- (-0.5,-0.3);
+\draw[arrow] (0.5,-0.8) -- (0.5,-0.3);
+\draw[arrow] (1.5,-0.8) -- (1.5,-0.3);
+
+\end{tikzpicture}