Lab Course Scientific-Computing: Computational Fluid Dynamics - Summer 12
- Summer 12
- Philipp Neumann, Atanas Atanasov, Christoph Kowitz
- Time and Place
- Students of Computer Science (Master/Diplom, voluntary course, Module IN2106/IN8904)
Students of Mathematics (Master, voluntary course)
Students of Computational Science and Engineering (Master, voluntary course, Module IN2186)
- no final exam
- Semesterwochenstunden / ECTS Credits
- 6 SWS (6P) / 10 credits
Module IN1503 Introduction to Programming (Module IN1503), Introduction to Scientific Computing (Module IN 2005) or equivalent knowledge.
The language used in the Lab-Course for programming is C. There will not be a particular introduction to the language C! For beginners in C-programming, the following tutorials are considered to be a good starting point to get familiar with C:
- Essential C: Provides a good overview (basic operators, control structures (if-statements,loops), functions, advanced pointers and arrays); http://cslibrary.stanford.edu/101/EssentialC.pdf
Depending on the level, further introduction books or tutorials may be required.
The timeline for the Lab Course will be given below. Please check the timeline regularly as minor changes might still occur!
|Jan 12, 16:30||02.07.023||Preliminary session||Introduction to the Lab Course|
The lab course gives an application oriented introduction to the following topics in computational fluid dynamics (lecturers may select certain deepening aspects):
- Modelling of macroscopic fluid flow via the Navier-Stokes equations
- Finite-Difference methods for spatial discretisation of the partial differential equations
- Semi-implicit time-stepping methods for incompressible flow
- Lattice Boltzmann Methods (LBM)
In the first half of the Lab (approx. the first 6-7 weeks of the lecture period), the theory behind the different methods (Navier-Stokes, LBM) is introduced and test scenarios for each of these methods are simulated. Group work of at most three students is highly recommended! The programming language used for these exercises will be C.
In the second half (approx. the last 6-7 weeks of the lecture period), each student group focuses on an individual project evolving from a specialisation or extension of one of the presented methods. Possible topics comprise:
- Domain decomposition and parallelisation of the existing solver using MPI
- Algorithmic and code optimisations
- Free surface flows
- Multicomponent flows
- Integration of transport equations for heat or chemical species in the flow
- Three-dimensional flow scenarios
During the project phase, the groups work independently on their project. However, in the midterm of the project phase, the students of each group present their results to their colleagues and the lecturers.
The lectures accompanying this lab course will be conducted in English. The assignments will also be given in English. Completed assignments in the first part of the term as well as the final project results will be presented by the students in English or German during a review session that is to be announced approx. one-two weeks in advance. Each review session is compulsory for all students!
- M. Griebel, T. Dornseifer und T. Neunhoeffer: Numerical Simulation in Fluid Dynamics: A Practical Introduction. Siam Monographs on Mathematical Modeling and Computation. SIAM, Philadelphia, 1997.
- M. Griebel, T. Dornseifer und T. Neunhoeffer: Numerische Simulation in der Strömungsmechanik. Vieweg, Braunschweig/Wiesbaden, 1995.
- ParaView User’s Guide (Version 1.6). http://www.paraview.org/files/v1.6/ParaViewUsersGuide.PDF
- ParaView Online Documentation. http://paraview.org/OnlineHelpCurrent/
- S. Succi: The Lattice Boltzmann Equation for Fluid Dynamics and Beyond. Oxford University Press, 2001.
- Dieter A. Wolf-Gladrow: Lattice-Gas Cellular Automata and Lattice Boltzmann Models - An Introduction. Springer, 2005.