aboutsummaryrefslogtreecommitdiff
path: root/main.tex
blob: a5c49c36d3d2054ab67f7083cef61e59fcbc99ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
\documentclass[12pt,a4paper]{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage[pdftex]{graphicx}
\usepackage{latexsym}
\usepackage{amsmath,amssymb,amsthm}
\usepackage{enumitem}
\usepackage{abstract}

\usepackage[outputdir=build]{minted}


\usepackage{siunitx}
\sisetup{
	locale=DE,
	round-mode=places,
	round-precision=2
}

\usemintedstyle{borland}
\setminted{
	tabsize=2,
	fontsize=\footnotesize,
	mathescape
}

\usepackage{hyperref}
\hypersetup{
	pdftitle={Gitterverfeinerte Lattice Boltzmann Methoden in OpenLB},
	pdfauthor={Adrian Kummerländer},
	bookmarksnumbered=true,
	pdfpagemode=UseOutlines,
}

\usepackage[
	backend=biber,
	style=numeric,
	maxbibnames=10,
	sorting=nyt
]{biblatex}
\DefineBibliographyStrings{ngerman}{andothers={et\ \addabbrvspace al\adddot}}
\addbibresource{quellen.bib}

\usepackage{tikz}
\usetikzlibrary{positioning}
\usetikzlibrary{matrix}
\usetikzlibrary{patterns}
\usetikzlibrary{3d}
\usetikzlibrary{shapes.misc}
\usetikzlibrary{arrows.meta}
\usetikzlibrary{decorations.pathreplacing}
\usetikzlibrary{decorations.pathmorphing}
\usetikzlibrary{external}

\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepgfplotslibrary{external}
\pgfplotsset{compat=1.16}
\usepgfplotslibrary{colorbrewer}
\usepgfplotslibrary{units}

\usetikzlibrary{pgfplots.units}

\tikzexternalize[prefix=tikzcache/]

\usepackage[export]{adjustbox}

\setlength{\topmargin}{-15mm}

\input{commands.tex}

\begin{document}

\pagestyle{empty}
\begin{titlepage}
\includegraphics[scale=0.45]{img/static/kit-logo.jpg}
\vspace*{2cm}

\begin{center} \large
Bachelorarbeit
\vspace*{2cm}

{\huge Gitterverfeinerte \\ Lattice Boltzmann Methoden \\ in OpenLB \\}
\vspace*{2.5cm}

Adrian Kummerländer
\vspace*{1.5cm}

31. März 2019
\vspace*{3cm}

Betreuung: Dr. Mathias J. Krause \\[1cm]
Fakultät für Mathematik \\[1cm]
Karlsruher Institut für Technologie
\end{center}
\end{titlepage}

\blankpage

\begin{abstract}
Dank moderner paralleler Hochleistungsrechner können immer mehr praktische Strömungsprobleme
in numerischen Simulationen gelöst werden. Die Lattice Boltzmann Methode ist ein Ansatz zur
Simulation inkompressibler Strömungen, welcher u. a. durch seine gute Skalierbarkeit auf eben diesen
parallelen Hochleistungsrechnern zunehmend an Bedeutung gewinnt.

Trotz anhaltendem Wachstum der für numerische Simulationen zur Verfügung stehenden
Rechenleistung können viele praktische Strömungsprobleme weiterhin nur unter Einschränkungen in
akzeptabler Zeit und Genauigkeit gelöst werden. Ein Ansatz, diesem Konflikt zu begegnen, ist die
lokale Verfeinerung der zugrunde liegenden Gitter.

OpenLB ist eine in C++ geschriebene freie Bibliothek zur Implementierung von LBM basierenden
Strömungssimulationen. Aktuell bietet OpenLB noch keine Unterstützung für Gitterverfeinerung.

Ziel dieser Arbeit ist es, diese Einschränkung aufzuheben und OpenLB um eine flexible Schnittstelle zur Implementierung und Nutzung von Gitterverfeinerungsverfahren zu ergänzen. Zu diesen Zweck werden anhand einer zweidimensionalen Lattice Boltzmann Methode verschiedene Ansätze zur Verfeinerung von Gittern diskutiert. Darauf aufbauend wird ein konkretes Verfahren detailliert ausformuliert und im Rahmen der Entwicklung eines generischen Gitterverfeinerungsframeworks umgesetzt. Der übergeordneten Frage nach dem tatsächlichen Nutzen und möglicher Probleme von gitterverfeinerten Lattice Boltzmann Methoden wird durch die Evaluation von Anwendungsbeispielen Rechnung getragen. In diesem Kontext findet weiterhin eine Diskussion der formal begründeten anwendungsbezogenen Wahl von zu verfeinernden Gebieten statt.
\end{abstract}
\newpage

\blankpage

\tableofcontents
\newpage

\pagestyle{headings}

\setcounter{page}{1}
\input{content.tex}

\newpage
\addcontentsline{toc}{section}{Abbildungsverzeichnis}
\listoffigures
\listoftables

\newpage
\addcontentsline{toc}{section}{Literatur}
\printbibliography
\newpage

\blankpage
\thispagestyle{empty}
\vspace*{8cm}
\section*{Erkl\"arung}
Ich versichere wahrheitsgemäß, die Arbeit selbstständig verfasst, alle benutzten Hilfsmittel vollständig und  genau angegeben und alles kenntlich gemacht zu haben, was aus Arbeiten anderer unverändert oder mit Abänderungen entnommen wurde, sowie die Satzung des KIT zur Sicherung guter wissenschaftlicher Praxis in der jeweils gültigen Fassung beachtet zu haben.
\\[2ex]
\noindent
Karlsruhe, den \today\\[5ex]

\end{document}