The course homepage is http://www.tfd.chalmers.se/~hani/kurser/OS_CFD
The course is open to
master students at the two master programmes at
Applied Mechanics (Solid and Fluid dynamics, and Vehicle Engineering), and PhD
students enrolled anywhere. Anyone who doesn’t belong to any of those groups
must pay a fee of SEK 10000 to cover the faculty financing we don’t get in that
case.
Some notes for students at
the master programmes Solid and Fluid dynamics, and
Vehicle Engineering: You will take this course under course code TME205, which
means that you will be graded U/3/4/5. It also means that you can not use that
course code for any other course, or if you have already used that course code
you can not take this course. Further, make sure that you will not register for
more credits than the total credits of your programme
(plan your coming courses and master thesis project!!!). We are not allowed to
examine more credits than that, which would mean that you are not allowed to
take the course. Slightly complicated, but those are rules set up by Chalmers,
in accordance with decisions taken by the Swedish government. Talk to the
student administration for more info. Please
see the formal syllabus of TME205.
If you are interested in
taking the course you should contact me at hani@chalmers.se so that I can maintain an e-mail
list that will be used for further information until the course starts. Getting
closer to the start of the course I will ask for a verification (registration)
that you will take the course for sure.
·
Time: You should make sure that you have
time to take the course. It is very intense the first three weeks, with two
full days per week, and assignments for the next week. After that you have
about four weeks to do a complete project, and then you should review the work
by another student. You should spend at least 20h per week in average from
start to end of the course. Don’t underestimate the work required!
·
Fluid Dynamics and CFD: You should have a background in
Fluid Dynamics, and ideally some CFD experience and/or a course in CFD.
·
Project: You should be able to identify a suitable project
that fulfils the requirements of this course, and that you are able to complete
in the available time. It is beneficial if it is related to a project you are
anyway doing, or planning to do (PhD project/Master project etc.), since it
will be more useful to you and you will put more effort into it. We will of
course discuss the project before you start doing it.
·
Linux: The course requires you to have a basic knowledge in
Linux. In order to be able to follow the lectures, you should make sure that
you understand and can use the basic Linux commands presented at the link
below. You need to have that knowledge in order to follow already the first
lecture.
·
Software: It is HIGHLY recommended that you
make sure that you can run Linux and OpenFOAM from
your own laptop. See instructions at the link below. We should have access to a
computer lab with OpenFOAM installed, during the
lectures and presentations, and you can try to find a seat there whenever it is
not booked (or work from your FoDat computer if you
have access to that, or remotely on one of our servers). On the other hand, you
will gain more knowledge and freedom if you learn to install Linux and OpenFOAM yourself. We will not go through the installation
procedures during the course, so you must do it before arriving.
Install Ubuntu 10.04 LTS, OpenFOAM-2.0.x,
OpenFOAM-1.6-ext etc. on your own laptop
How to run OpenFOAM at Chalmers, physically or remotely
How to run OpenFOAM from a USB-stick
Miscellaneous tips and
tricks (advanced raw information, mainly for myself)
You can also use VirtualBox to install Linux and OpenFOAM
in your current OS. It has been recommended to use the official version
downloadable from the Sun web page, https://www.virtualbox.org/wiki/Downloads,
and not the pre-packed open source version, because it supports all options in
an easy way (e.g. the USB controllers).
The course gives an introduction to the use of OpenSource software for CFD applications. It has a strong
focus on how to efficiently use the Linux operating system and different softwares that are useful for CFD (to the largest extent OpenFOAM, see the short description below), rather than
having a focus on teaching the basics of CFD or fluid dynamics. A major project
work in OpenFOAM forms a large part of the course.
The project may be defined according to the student's special interests. The
result of the project should be a detailed tutorial for a specific application
or library of OpenFOAM. The tutorials will be
peer-reviewed by the students, and the tutorials thus form a part of the
course. The tutorials will be made available, as a contribution to the OpenFOAM community. To pass the course the student must do
the project and peer-review a tutorial from another project. There will also be
some compulsory minor tasks.
The students will learn on
the following subjects:
Other software that may be of interest, but are not covered: salome, freecad, blender, engrid, cubit, visit
OpenFOAM (Open Field Operation and
Manipulation, www.openfoam.com) is developed and
distributed by OpenCFD (http://www.opencfd.co.uk). OpenFOAM
is an object oriented C++ toolbox for solving various systems of partial
differential equations using the finite volume method on arbitrary control
volume shapes and configurations. It includes preprocessing (grid generator,
converters, manipulators, case setup), postprocessing
(using OpenSource Paraview),
and many specialized CFD solvers are implemented. The features in OpenFOAM are comparable to what is available in the major
commercial CFD codes. Some of the more specialized features that are included
in OpenFOAM are: sliding grid, moving meshes,
two-phase flow (Langrange, VOF, Euler-Euler) and
fluid-structure interaction. The strength of OpenFOAM
is however the object-oriented approach to generating specialized solvers,
utilities and libraries, using a flexible set of C++ modules. OpenFOAM runs in parallel using automatic/manual domain decomposition,
and the parallelism is integrated at a low level so that solvers can generally
be developed without the need for any parallel-specific coding. Due to the
distribution as an OpenSource code it is possible to
gain control over the exact implementations of different features, which is
essential in research work. It also makes development and tailoring of the code
for the specific application possible. In addition to the source code, OpenFOAM gives access to an international community of OpenFOAM researchers through the discussion board at the OpenFOAM home page.
§ Syllabus
§ Access to computers and OpenFOAM
§ paraFoam tutorial, Optional: Slides from OFW6 training, accompanying files
§ More solver, utility and library tutorials,
and how to learn yourself
§ Case-study:
The ERCOFTAC Conical Diffuser Case-Study
§ Compulsory assignment to be handed in by
September 4
A short Latex slides tutorial (see the tex file for how to code in LaTeX)
Some commands for the Latex slides tutorial (this should work on the student
computers):
tar xzf slides_template.tgz
cd slides_template
latex slides_template #This will compile tex to dvi. Repeat when tex file has been changed.
xdvi -paper a4r slides_template
& #This visualizes the dvi files. Updates when dvi changes.
dvipdf slides_template
#This converts dvi to pdf
acroread slides_template.pdf #or use evince or xpdf
Note that
it is not required that you use LaTeX, but it is a
nice experience. The LaTeX template on the course
homepage should work on the Chalmers computers. If you try on your own Ubuntu installation, there are probably some missing sty
files. You can find those in the Chalmers computer system using:
locate
<fileName>.sty
and copy
to the same directory as the tex file, using:
scp
<CID>@remote1.student.chalmers.se:<fullPathToStyFile>
.
Student contributions:
§
Selected by quality:
Christoffer Jarpner
Hamidreza Abedi
Martin Gramlich
§
The rest:
Ayyoob Zarmehri
Martin Andersen
Olof
Penttinen
Qingming
Liu
Rolf-Erik Keck
Sam Fredriksson
Student1
Sajjad
Haider
§ High level programming in OpenFOAM
§ Implementation of an electromagnetic solver
(By Margarita Sass-Tisovskaya)
The rodFoam solver
The rodFoamCase case
§ Add a scalar transport equation to icoFoam
§ Basics of C++, and how it is used in OpenFOAM
§ Basics of C++ continued
§ Copy and compile a turbulence
model, and a deeper look at kOmegaSST (and kOmegaSSTF)
Code for kOmegaSSTF
Movie
Link to
Pirooz’ licentiate thesis, and a description of
turbulence models in OpenFOAM
§ Copy and compile a boundary
condition, and a deeper look at parabolicInlet
§ A look at oscillatingFixedValue, to prepare for
homework
§ Compulsory assignment to be handed in by 11/9!
Sparse guidelines for rampedFixedValue
Additional material:
§
Some
lecture notes from the Fourth OpenFOAM Workshop
(find the part about implementing the rampedFixedValue
BC. Please note that this description is for another version of OpenFOAM, so you should not modify the definitions of the
constructors etc. Just see it as a general guidance on how to do it. Don’t
copy/paste – it will not work!)
§ Setting up a case from scratch with pyFoam
§ 10:30-17:00: LPT and VOF with OpenFOAM, by
Aurelia Vallier, slides,
files, final
code and case
§ 8:00-14:30: Advanced mesh generation and OpenFOAM
usage, by Olivier Petit, turbomachinery,
mesh generation, files
§ Compulsory project work to be handed in by October 16!
Hand in intermediate version, including project description, September 28!!!
Example of project description
LaTeX report
template (originated from Per Carlsson, 2008.
Compile the tex file with latex or pdflatex. NOTE: output directly to pdf!)
Report front page
§
§ ### NO PRESENTATION FROM THE FOLLOWING ###
§
§ Lixia Qu:
Describe how divSchemes are implemented, how to do a
modification to them, and compare results of laminar flow around a cylinder in
cross-flow with some of them.
§ Rolf-Erik Keck: How to introduce proper turbulent fluctuations using
source terms in a cross-section, for use with LES-type of modeling.
§ Sajjad Haider: A
description of the Discrete Ordinates Radiation Model, and application to a 2D
head lamp.
Here the final, peer-reviewed, student
reports/tutorials are listed.
An additional tutorial, not peer-reviewed:
Project suggestions may be listed here (or see the
2010 course), but you are encouraged to work in your own PhD/Master project,
with a twist to make it appropriate in the current course.
There is no requirement to buy any book. You have to
find the information you need to solve your project and the tasks.
The C++ part of the course
is based on C++ Direkt, by Jan Skansholm,
Studentlitteratur, which is in Swedish. Any
introductory C++ book should be fine. Anyone who is doing CFD is recommended to
have the introductory book on CFD by Versteeg and Malalasekera. Another useful book is J.H. Ferziger and M. Peric
Computational Methods for Fluid Dynamics 3rd ed. Springer 2002. Some useful
references:
1. C++ how to Program by Paul and Harvey Deitel, Current version is 8 but older versions will also
work fine.
2. Object Oriented Programming in C++ by Robert Lafore , 4th Edition
3. C++ from the Beginning by Jan Skansholm
(should be a very good book for a complete basic programming newbie.)
4. Free on-line
book on C-programming in Linux (I haven't checked it)
5. C++ tutorial
6. Free
on-line text book in CFD (I haven't checked it) Accompanying
exercise book
7. Documents related to OpenFOAM, collected by Professor Hrvoje Jasak.
1. Some small mesh generation tools
See the homepages of the course given 2007, 2008, 2009 and 2010 for
more information. The course for 2011 will develop from the one given in 2010.
You can also contact me at hani@chalmers.se.
Fluid-structure interaction in
stent-grafts after repair of abdominal aortic aneurysms
Modeling of Biomechanical
Fluid-Solid Interaction: A pilot study applied on a cervical spinal ganglion
Free
convection in power transformers, at ABB
Master Theses at Volvo Technology.
For those of you travelling to Chalmers, here are some
suggested hotels:
SGS Veckobostäder
- This is a student-apartment-like alternative (~10min walking)
Quality Hotel
Panorama – This is located closest to Chalmers (~5min walking). Ask for
special price since you are visiting Chalmers.
List of hotels close to Chalmers (ask for special price,
for those in 1-3, since you are visiting Chalmers):
1.Normal standard:
City Hotel
Hotel
Royal
Hotel Vasa AB
Hotel
Flora AB
2. High standard:
Quality Hotel
Panorama
Hotel
Opalen
Hotell Liseberg Heden
Hotel Novotel
Grand
Hotel Opera AB
Hotel Riverton AB
3. Very high standard:
Hotel
Avalon
Elite Plaza Hotel
4. Cheap alternatives:
Youth Hostel Stigbergsliden
Hotel Nice B&B
5. Other:
Info from go:teborg&company
More hotels