Difference between revisions of "Master-Praktikum: Scientific Computing - Computational Fluid Dynamics"

From Sccswiki
Jump to navigation Jump to search
m
 
(14 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{Lecture
 
{{Lecture
 
| term = Summer 13
 
| term = Summer 13
| lecturer =  [http://www5.in.tum.de/wiki/index.php/Christoph_Kowitz,_M.Sc._hons Christoph Kowitz], [[Benjamin Uekermann]], [[Martin Schreiber]]
+
| lecturer =  [[Philipp Neumann]], [[Dipl.-Math. Benjamin Uekermann]]
| timeplace = t.b.a
+
| timeplace = Friday 14:00-17:00 (not every week, t.b.a.) 02.07.023
 
| credits = 6 SWS (6P) / 10 credits
 
| credits = 6 SWS (6P) / 10 credits
 
| audience = Students of Computer Science (Master/Diplom, voluntary course, Module IN2106,IN8904,IN2182)<br>Students of Mathematics (Master, voluntary course)<br>Students of Computational Science and Engineering (Master, voluntary course, Module IN2186,IN2182)  
 
| audience = Students of Computer Science (Master/Diplom, voluntary course, Module IN2106,IN8904,IN2182)<br>Students of Mathematics (Master, voluntary course)<br>Students of Computational Science and Engineering (Master, voluntary course, Module IN2186,IN2182)  
 
| exam = no final exam
 
| exam = no final exam
 
| tutorials = -
 
| tutorials = -
| tumonline = [https://campus.tum.de/tumonline/lv.detail?clvnr=950040714 Praktikum - Scientific Computing: CFD]
+
| tumonline = <!--[https://campus.tum.de/tumonline/lv.detail?clvnr=950090219 Praktikum - Scientific Computing: CFD, Summer 2013]-->
 
}}
 
}}
 
= Moodle =
 
= Moodle =
All further announcements, worksheets and information can be found on the Moodle - Page of this course which is coming soon.
+
All further announcements, worksheets and information can be found on the Moodle-page of this course  
  
 
= Important Dates =  
 
= Important Dates =  
Line 20: Line 20:
 
|
 
|
 
|-
 
|-
|Preliminary Session  
+
| <font color="red" >Preliminary Session</font>
| 30.01.2013 14:30-15:30 
+
| <font color="red" >30.01.2014 17:00-18:00 </font>
| 02.07.023  
+
| <font color="red" >02.07.023</font>
 
|
 
|
 +
|-
 
|}
 
|}
  
Line 30: Line 31:
 
Module IN1503 Introduction to Programming (Module IN1503), Introduction to Scientific Computing (Module IN 2005) or equivalent knowledge.
 
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. <font color="red">There will not be a particular introduction to the language C!</font> For beginners in C-programming, the following tutorials are considered to be a good starting point to get familiar with C:
+
The language used in the Lab-Course for programming is C/C++. <font color="red">There will not be a particular introduction to the language C/C++!</font> For beginners in C/C++-programming, the following tutorials are considered to be a good starting point:
 
* C-programming by Steve Summit. Initially intended for class room introduction. http://www.eskimo.com/~scs/cclass/cclass.html
 
* C-programming by Steve Summit. Initially intended for class room introduction. http://www.eskimo.com/~scs/cclass/cclass.html
 
* 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
 
* 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
 
* C programming: Very modular, with many very small subchapters on (almost) all you need to know about C programming. http://www2.its.strath.ac.uk/courses/c/
 
* C programming: Very modular, with many very small subchapters on (almost) all you need to know about C programming. http://www2.its.strath.ac.uk/courses/c/
 +
* Learn CPP: Nice intro to C++, with basically all relevant features that are required in this course. http://www.learncpp.com/
 +
* C++ Programming Language Tutorials: in-depth information on C++ features, use of design patterns and more. http://www.cs.wustl.edu/~schmidt/C++/
  
 
Depending on the level, further introduction books or tutorials may be required.
 
Depending on the level, further introduction books or tutorials may be required.
Line 45: Line 48:
 
* Lattice Boltzmann Methods (LBM)
 
* 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 first part of the Lab (approx. the first 7-8 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:
+
In the second half (approx. the last 4 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
 
* Domain decomposition and parallelisation of the existing solver using MPI
 
* Algorithmic and code optimisations
 
* Algorithmic and code optimisations

Latest revision as of 10:41, 19 December 2013

Term
Summer 13
Lecturer
Philipp Neumann, Dipl.-Math. Benjamin Uekermann
Time and Place
Friday 14:00-17:00 (not every week, t.b.a.) 02.07.023
Audience
Students of Computer Science (Master/Diplom, voluntary course, Module IN2106,IN8904,IN2182)
Students of Mathematics (Master, voluntary course)
Students of Computational Science and Engineering (Master, voluntary course, Module IN2186,IN2182)
Tutorials
-
Exam
no final exam
Semesterwochenstunden / ECTS Credits
6 SWS (6P) / 10 credits
TUMonline


Moodle

All further announcements, worksheets and information can be found on the Moodle-page of this course

Important Dates

Session Date Room
Preliminary Session 30.01.2014 17:00-18:00 02.07.023

Requirements

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/C++. There will not be a particular introduction to the language C/C++! For beginners in C/C++-programming, the following tutorials are considered to be a good starting point:

Depending on the level, further introduction books or tutorials may be required.

Contents

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 part of the Lab (approx. the first 7-8 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 4 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!


VelMP step0001 2.jpg VelCyliChannel step14000 3.gif


General Literature

  • J.H. Ferzinger, M. Peric: Computational Methods for Fluid Dynamics. Springer, 2nd edition, 1999.
  • 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.
  • M. Sukop, D.T. Thorne: Lattice Boltzmann modeling: An introduction for geoscientists and engineers.Springer, 2010.
  • Dieter A. Wolf-Gladrow: Lattice-Gas Cellular Automata and Lattice Boltzmann Models - An Introduction. Springer, 2005.



The author is not responsible for any contents linked or referred to from his pages - unless he has full knowlegde of illegal contents and would be able to prevent the visitors of his site from viewing those pages. If any damage occurs by the use of information presented there, only the author of the respective pages might be liable, not the one who has linked to these pages. Furthermore the author is not liable for any postings or messages published by users of discussion boards, guestbooks or mailinglists provided on his page.