Personal tools

Lattice Boltzmann Simulations in the finite Knudsen number range

From Sccswiki

Jump to: navigation, search

Contents

Diploma/ Master thesis: Lattice Boltzmann simulations in the finite Knudsen number range

Status: Finished


Introduction

When simulating gas flows on very small scales, the characteristic length scale of the flow problem L (e.g. the height of a flow channel) can become comparable to the mean free path l of the molecules (the mean free path is defined as the mean distance that molecules can travel without having collisions with other molecules). For engineering purposes, this relation is described by the dimensionless Knudsen number Kn:= L/l. For problems such as the flow around a car, Kn<< 1, whereas Kn ~ 1 for gas glows in nanotechnological devices. Knudsen numbers of the order of 1 lead to several implications on the level of simulation modeling:

  • As we are on very tiny scales, the continuum theory breaks down. State-of-the-art Navier-Stokes solvers which are used in many engineering applications can thus not be applied any longer.
  • Specific fluid parameters such as viscosity are not fixed global parameters any more but depend on local fluid quantities.
  • The influence of the boundaries becomes significant since the ratio volume/surface now becomes rather small.
  • Still, the volume of our simulation domain might still be very big so that we cannot afford a pure molecular description of the whole domain, i.e. we might not be able to simulate our problem by means of molecular dynamics.

In the last years, Lattice Boltzmann methods have turned out to be able to capture many characteristics of those systems that are outlined above.

The present project focuses on the extension of an existing Lattice Boltzmann solver to solve finite Knudsen problems. The solver itself is part of the Peano framework that is developed at our chair.

Summary of project steps

  • Getting familiar with the basic concepts of the Peano framework (adapter concept etc.) and its lattice Boltzmann component
  • Getting familiar with finite Knudsen number flows and effects. Literature research on Lattice Boltzmann approaches for these kinds of flows
  • Implementation phase:
    • Adjustment of the collision step in the Lattice Boltzmann simulation (due to locally changing viscosities)
    • Implementation of suitable boundary conditions
    • Validation of the implementation in a pure channel flow (keywords: velocity profile, Knudsen minimum)
    • Parallelisation of both implementational steps


Due to the size of the project Peano, software-engineering aspects such as modularity, encapsulation of functionality or good documentation of the code are very important. This does not represent any inconvenients for students who are not yet familiar with these topics but it is a chance to learn and directly apply them.

Prerequisites

Good programming skills in C++, interest in (multiscale) physics and flow simulations.

If you already have some knowledge on flow simulations, that's perfect! If not, it's definitely fine, too! :-)

Start

Anytime

Tutors

Philipp Neumann


Diplom-/ Masterarbeit: Lattice Boltzmann Simulationen für Strömungen mit endlichen Knudsenzahlen

Status: Finished

Einführung

Bei der Simulation von Luft- und anderen Gasströmungen auf kleinen Skalen kann es vorkommen, dass sich die characteristische Länge L des Simulations-Setups (bspw. die Höhe des durchströmten Kanals) in derselben Größenordnung bewegt wie die mittlere freie Weglänge l der Moleküle des Gases (mittlere freie Weglänge= durchschnittliche Entfernung, die ein Molekül ohne Kollision mit anderen Molekülen zurücklegt). Die Knudsenzahl Kn:= L/l beschreibt eben diesen Zusammenhang. Für typische Ingenieursanwendungen in der Automobilindustrie wie beispielsweise die Umströmung eines PKW ist Kn << 1. Betrachtet man andererseits die Luftzirkulation in Nanotechnologie-Setups (Computer-Chips etc.), so kann leicht Kn ~ 1 erreicht werden. Für die Modellierung und Simulation der Prozesse hat der letztere Fall massive Auswirkungen:

  • Nachdem wir uns auf sehr kleinen Skalen bewegen, kann uns die Theorie aus der Kontinuumsmechanik nicht mehr weiterhelfen und verliert ihre Gültigkeit. Navier-Stokes Löser, die sonst für viele Ingenieursanwendungen zum Einsatz kommen, können hier nicht mehr verwendet werden.
  • Fluidspezifische Parameter wie beispielsweise die Viskosität sind keine globalen Parameter mehr, sondern hängen von den lokalen Eigenschaften unseres Fluids ab.
  • Das Verhältnis Simulationsvolumen/Oberfläche(Sim.-volumen) ist im Vergleich zu großskaligen Anwendungen relativ klein. Damit bekommen die Ränder des Simulationsgebietes einen größeren Einfluss auf den Simulations-Setup.
  • Obwohl unsere Abmessungen schon relativ klein sind, kann es gut sein, dass wir uns immer noch in einer Größenordnung bewegen, in der eine rein molekular-orientierte Ansicht des Problems noch nicht möglich ist, sprich: Molekulardynamik-Simulationen können immer noch zu teuer sein.

In den letzten Jahren hat sich gezeigt, dass sich die Lattice Boltzmann Methode auch für die Simulation derartiger Strömungen sehr gut eignet.

Das vorliegende Projekt beschäftigt sich mit der Erweiterung eines bestehenden Lattice Boltzmann Lösers auf den Bereich von Strömungen mit endlichen Knudsenzahlen. Der Löser selbst ist Teil des Peano Frameworks, das an unserem Lehrstuhl entwickelt wird.


Zusammenfassung der Arbeitsschritte

  • Einarbeiten in das Peano Framework (adapter etc.) und den entsprechenden Lattice Boltzmann Löser
  • Einarbeiten in physikalische Problemstellung (endliche Knudsenzahlen). Literatur-Recherche zu Lattice Boltzmann Modellen für entsprechende Strömungsprobleme
  • Implementierungsphase:
    • Anpassung des Kollisionsmodells in der Lattice Boltzmann Simulation aufgrund der sich lokal unterscheidenden Viskositäten)
    • Implementierung geeigneter Randbedingungen
    • Validierung der Implementierungen in einfacher Kanalströmung (Stichwörter: Geschwindigkeitsprofil, Knudsen-Minimum)
    • Parallelisierung der vorhergehenden Schritte

Aufgrund der Projektgröße von Peano sind Software-Engineering-Aspekte wie Modularität, Kapselung der Funktionalität oder gute Dokumentation sehr wichtig. Für Studenten, die darin noch wenig Übung haben, ist das kein Nachteil sondern die Chance, die entsprechende Vorgehensweise an einem größeren Projekt kennenzulernen und direkt umzusetzen.

Voraussetzungen

Gute Programmierkenntnisse in C++, Interesse an physikalischen Zusammenhängen und Multiskalen-Betrachtungen.

Wenn du bereits Kenntnisse zu Lattice Boltzmann Verfahren hast, ist das super! Wenn nicht, sollte das aber auch keinerlei Problem darstellen. :-)

Beginn

Jederzeit

Betreuer

Philipp Neumann