Lattice Boltzmann methods (MA5344)
In contrast to traditional computational fluid dynamics (CFD) approaches based on the conservation of macroscopic quantities like mass, momentum, and energy, the Lattice Boltzmann method (LBM) models the fluid by the kinetics of discrete particles that propagate (streaming step) and collide (relaxation step) on a discrete lattice mesh. Due to its particular nature, LBM has several advantages, such as dealing with complex boundaries, incorporating microscopic interactions, and parallelization of the algorithm. Within this lecture we will study the Lattice Boltzmann method, in particular the derivation of the scheme and its mathematical analysis.Lecture | Prof. Dr. B. Wohlmuth Tuesday 14:30-16:00 in MI 02.08.011 |
---|---|
Office hours | by arrangement (eMail) |
Exercises | Dr. Laura Scarabosio & M.Sc. Markus Muhr Tuesday 16:00-18:00 in MI 02.08.011 (directly after the lecture in the same room) The exercises take place biweekly. |
Programming Tutorials |
Dr. Laura Scarabosio & M.Sc. Markus Muhr For interested students, additional training for the implementation of some methods treated in the lecture is offered. For details see the section about Programming tutorial below |
Requirements | Basic knowledge in fluidmechanics might be helpful but is not necessary. A short introduction will be given at the beginning. For some exercises: Basic skills in (MATLAB)-programming (MA8003), as a few exercises will be to write some short code. For the more advanced programming tutorials we will give the necessary assistance. |
TUMOnline | Link to TUMOnline entry |
General Information
Announcements
- The exam dates and timeslots are now fixed. For further information see the section "examination" below. ALL lectures and ALL slides are relevant for the exam!
- The solution for the sixth exercise sheet is now online. Next week, i.e. on the 18th of July we will have our final programming tutorial. For regulations about the grade bonus conditions, time and content, see the respective section below. Also information about the exam are added in the respective category below, have a look at them!
- The sixth (and last) assignment sheet is now available. We will discuss it in the exercise on July 11. The week after, i.e. on July 18 we will have our third (and also final) coding tutorial. For regulations about the grade bonus conditions, time and content, see the respective section below.
- The Script is now updated and contains the whole chapter about the Boltzmann equation.
- Our second programming tutorial will take place on Tuesday 4th of July. It will replace the lecture on that day, i.e. we start at 14:30. Please have a look at the respective section below, especially concerning the attendance regulations for the grade bonus!
- The fifth exercise sheet is now online. Please print it and bring it to our next tutorial (as well as a lot of color pencils) so you can draw into the grid given on the sheet (so you don't have to redraw the grid).
- The fourth exercise sheet is now online. It contains only one exercise. However this is probably the most advanced exercise for this semester. We will discuss the solution via a beamer presentation, otherwise it would be too time consuming to write down every single line.
- Our first programming tutorial will be on May 30th. See the information about the Programming tutorial and the changed schedule for this day below!
- The solution for the second sheet is now online. I also included your annotations from during our tutorium to the solution and corrected the little bug in the code, now everything should work as planned.
- The second exercise sheet is now online. Please also have a look at the regulations concerning our script below!
- The solution to the first exercise sheet is now online. Also the slides about the second topic (Cellular automata and LGCA) are online.
- The first exercise sheet is now online.
- The day and timeslot for the exercises is now fixed to Tuesday 16:00-18:00 in MI 02.08.011 (directly after the lecture in the same room). The exercises take place biweekly starting on Tuesday May 02.
- The exercises start in the second week of the semester. The final day and timeslot for the exercises will be discussed within the first lecture.
- Welcome to the lecture website for the course on Lattice Boltzmann methods in the summer term 2017
Software
- Some of the exercises will require you to write some short code in MATLAB. TUM-students have access to a free but still full version of MATLAB. To receive your copy log into TUMonline, klick ''Software'' in the right column and follow the instructions given there. If you have not yet worked with MATLAB, you may find the Official MATLAB-Documentation ^{} helpful.
Bonus System
- active participation in the exercises and in all three programming tutorials are required to obtain an extra bonus for the final exam
- The bonus improves the final mark by one step, e.g., from 2.3 to 2.0
- The mark 1.0 can not be further improved
- The bonus is only applied, if the exam is passed without! That is, it does not improve the marks 4.3, 4.7 or 5.0
Examination
- ALL lectures and ALL slides are relevant for the exam!
- If you do not yet know your examination timeslot (in todays lecture you have probably seen the list that was passed around) check your e-mail inbox for where to find that list! If you did not get a mail and still don't know when your examination takes place, just e-mail me again!
- In yesterdays lecture we agreed on the following dates for the examination: First exam (Erstversuch): July 31 and August 11, Resit exam (Zweitversuch): October 18
- Those of you who have not yet chosen one of those dates (on the list that was passed around in the lecture) send an e-mail with your preferred date to Markus Muhr until July 25 !
- We distribute the timeslots at the given days in alphabetical order, i.e. on each date, we order the people, who registered for that day, by their family name and then the examination starts with the first person according to that ordering. If you have an important reason why you can not take the exam at a certain time, please also inform Markus Muhr in advance (till July 25)!
Content
Lecture
- Motivation
- Basics of fluid mechanics and kinetic theory
- Cellular Automata
- Lattice-gas cellular automata
- Boltzmann equation
- Lattice Boltzmann models
- Single Relaxation Time (SRT)
- Multiple Relaxation Time (MRT)
- Cumulant based LBM
- Applications
- Slides 0 (Motivation and Basics)
- Slides 1 (Cellular automata)
- Slides 2 (Lattice Gas Cellular automata)
- Slides 3 (LBM (SRT) and boundary conditions)
- Slides 4 (MRT, TRT and Adaptivity)
- Slides 5 (Cumulant based LBM) xx if you want to print the slides and save some paper, use: Slides 5 (print version)
- Slides 6 (Numerical results)
Exercises
An exercise sheets will be posted here every second week. You should work on these sheets at home or at least have a look at them, such that solutions can be presented and discussed in the exercises together. Exercises marked with a star are probably a bit more involved and may take you some time. Exercises with two stars are highly complicated and we do certainly not expect you to solve them on your own! After each exercise solution sheets will also be posted here.- Assignment 1, due May 02, Solution 1
- Assignment 2, due May 16, Solution 2, xx dec_to_bin.m, xx bin_to_dec.m, xx Cellular_Automaton.m
- Assignment 3, due May 30, Solution 3, xx Initial Configuration of the ''Glider Gun'', xx GameOfLife.m, xx Initialize_ForestFire.m, xx ForestFire.m
- Assignment 4, due June 13, Solution 4, xx if you want to print the slides and save some paper, use: Solution 4 (print version)
- Assignment 5, due June 27, Solution 5
- Assignment 6, due July 11, Solution 6, xx Gram_Schmidt.m
Programming tutorials
Over the semester we will give three programming tutorials. In these tutorials we will implement some of the methods treated in the lecture like Lattice Gas Cellular automata and of course a Lattice Boltzmann scheme. Those programming tutorials are not mandatory to pass the exam at the end of the semester, however you can attain a bonus on your final grade by participating in those tutorials (see regulations about the bonus above). Programming Tutorial 1 (LGCA)- On May 30th we will proceed as follows: Instead of the lecture, we will discuss the third exercise sheet (normal exercise lesson) and afterwards (when we usually have the exercise) we will do our first programming tutorial. If you want to participate please bring a laptop (and a charging device as we will work for probably a few hours) with a working copy of MATLAB. If you don't have MATLAB yet, see the information about ''Software'' above where it is explained how to get a free copy of MATLAB as a TUM student.
- I would also recommend you to download and install the (free !) Software ''Paraview'' from HERE ^{} already in advance of the tutorial with a stable/fast internet connection so you can directly start in the tutorial.
- And finally you can also try to download the MATLAB extension ''vtkwrite'' from HERE ^{}. This only works if you know your access data to your Mathworks account, which is probably not the case for the students any more? If it doesn't work, no problem, this extension file is quite small and I can also provide it to you during the tutorial.
- Tutorial 1 xx HPP_start.m xx Solutions: HPP_Solution.m xx FHP_Solution.m
- The second programming tutorial will be on the 4th of July. On this day there will be no lecture and no exercise. Instead of them, we will use the full timeslots of lecture and exercise for the programming tutorial, i.e. we will start at 14:30 in the usual room and (just as last time) see how long it takes to get at least the first exercise done!
- The following regulations concerning the grade bonus are valid: If you want the attendance point for the tutorial, you HAVE TO BE PRESENT DURING THE LECTURE TIME SLOT, I.E. FROM 14:30 - 16:00 . This is the usual lecture time so it is expected that you are available during this time. There is no discussion about this regulation.
- As last time, please bring your laptop and charging device. This time there is no additional software needed. We will again provide a code-scaffold with gaps that you will complete.
- Tutorial 2 xx Carman_Vortex_Street_start.m xx NACA.mat xx Solutions: Carman_Vortex_Street.m xx Lid_driven_cavity.m
- This final programming tutorial will take place on the 18th of July. As last time, we will use both the lecture and exercise timeslots for it, i.e. we will start at 14:30 in the usual room and see how long it takes.
- For the grade bonus the same regulations as last time are valid, i.e. YOU HAVE TO BE PRESENT DURING THE LECTURE TIME SLOT, I.E. FROM 14:30 - 16:00
- As always: Please bring your own laptop and charging device. Beside MATLAB, we won't need any additional software.
- The code scaffold you will have to complete will be based on the Karman-Vortex-Street solution from our last programming tutorial, hence you may probably want to completely reread/review/understand last times solution in advance of this tutorial in order to have a fast start.
- A short motivational video describing, what we are going to do in todays tutorial: The Lollipop Hypothesis - YouTube-Channel of ScienceFriday ^{}
- Tutorial 3 xx Candy_dissolving_start.m xx inner_surface_start.m xx outer_surface_start.m xx update_geometry_start.m
- Solutions: Candy_dissolving.m xx inner_surface.m xx outer_surface.m xx update_geometry.m
Literature
Timm Krüger et al. xxxxxxxxxxxxxx | Dieter A. Wolf-Gladrow xxxxxxxxxx | D. Hänel xxxxxxxxxxxxxxxxxx | Sauro Succi xxxxxxx |
The Lattice Boltzmann Method Principles and Practice |
Lattice-Gas Cellular Automata and Lattice Boltzmann Models |
Molekulare Gasdynamik | The Lattice Boltzmann Equation for Fluid Dynamics and Beyond |
Springer, 2017 | Springer, 2000 | Springer, 2004 | Oxford University Press, 2001 |
(eBook version available) | (eBook version available) |
For questions, suggestions or complaints please write an eMail to Markus Muhr. -- MarkusMuhr - 01 Mar 2017