Beruflich Dokumente
Kultur Dokumente
Revision 1-2016
Acknowledgements
This training material and tutorials are based upon personal experience, OpenFOAM
source code, OpenFOAM user guide, OpenFOAM programmers guide, and
presentations from previous OpenFOAM training sessions and OpenFOAM
workshops.
We gratefully acknowledge the following OpenFOAM users for sharing online their
material or for giving us their consent to use their material:
Courier new
Indicates Linux commands that should be typed literally by the
user in the terminal
Courier new bold
Indicates directories
Courier new italic
Indicates human readable files or ascii files
Arial bold
Indicates program elements such as variables, function names,
classes, databases, data types, environment variables,
statements and keywords. They also highlight important
information
Arial underline in blue
Indicates URLs and email addresses
On the training material
The following typographical conventions are used in this
training material
Large code listing or ascii files listing can be written in a square box, as
follows:
1 #include <iostream>
2 using namespace std;
3
4 // main() is where program execution begins. It is the main function.
5 // Every program in c++ must have this main function declared
6
7 int main ()
8 {
9 cout << "Hello world"; //prints Hello world
10 return 0; //returns nothing
11 }
You can extract the training material wherever you want. However, we highly recommend you to extract all the
training material in your OpenFOAM user directory. From now on, this directory will become,
$PTOFC
(abbreviation of Path To OpenFOAM Course)
From now on and whenever you read $PTOFC, it is referring to the location where you extracted the training
material.
You can add an alias to $PTOFC in your .bashrc file by adding the following line,
alias PTOFC=cd PATH_TO_TUTORIALS
To uncompress the tutorials go to the directory where you copied the training material and then type in the
terminal,
$> tar zxvf file_name.tar.gz
A word of caution, use the tutorials included in the training material just for recreational, instructional,
or learning purposes and not for validation, benchmarking or as standard practices.
Housekeeping issues
What OpenFOAM version are we going to use?
By the way, if you are using Ubuntu, I will not be able to help
you (I hate it).
Housekeeping issues
What Linux flavor should I use?
For those working on their own computers.
First at all and in order to avoid compatibility issues during the course, we
highly advise you to install our custom made Linux version. You can find it
here:
https://susestudio.com/a/XrxjaO/joel-s-opensuse-leap-42-1-kde-4-desktop
A virtual machine distribution and an ISO distribution are available for
download.
We also remind you that it is a fully working Linux OpenSUSE Leap 43.1
version (with KDE 4), that you can modify or upgrade to fit your needs.
So if you do not like KDE, you can install Gnome or whatever you want to
use.
If for any reason you do not want to use our Linux version, you are free to
install any Linux version you like.
Housekeeping issues
What Linux flavor should I use?
Our custom made Linux version was created with CFD applications in mind
for CFD users. It comes with many CFD, CAD, mesh generation,
visualization, numerical libraries, optimization, plotting applications and
editing utilities pre-installed. It also comes with all the compilers and
libraries necessary to compile most of the applications.
In the version available for download you have all the applications necessary
to follow this course.
By the way, in my personal copy I have many multi-physics, CFD, FEA,
CAD, multibody dynamics, visualization, numerical libraries, meshing,
scientific computing, python and developing applications installed.
The OpenFOAM version installed is 3.0.x, which you can update by using
the Git revision control system.
Housekeeping issues
Installing OpenFOAM - Working on your own
If for any reason you do not want to use our Linux version, you are free to
install any Linux version you like.
Our instructions are exactly the same as the one you will find in
http://www.openfoam.org/, we only added a few tips and comments.
Housekeeping issues
What Linux shell should I use?
During this training we are going to use the BASH shell. If you want to know what
shell you are using, type in the terminal
If your output is something else, you are not using BASH shell. In this case, to start
using BASH shell you can type in the terminal,
$> bash
If you do not know what is the terminal, do not worry we are going to talk about it in a
few minutes.
Housekeeping issues
A few questions before we begin
Totally new.
Beginner.
Intermediate.
Advanced.
Guru.
Housekeeping issues
A few questions before we begin
Not a clue.
Guitar hero.
Housekeeping issues
A few questions before we begin
Also, if you installed our Linux version, we are going to show how to use
it and what applications are installed.
In the following link, you will find an excellent introduction to the Linux
command line (or terminal):
http://linuxcommand.org/
Module 1.
Introduction to OpenFOAM
A few OpenFOAM simulations
Library organization
OpenFOAM 101 My first tutorial
Module 2.
CFD workflow
Geometry generation using open source tools
Getting more productive using a GUI
Training agenda
Module 3.
Meshing preliminaries
Mesh quality assessment
Mesh conversion and manipulation
Meshing in OpenFOAM
Meshing with cfMesh
Meshing with open-source tools
Module 4.
Scientific visualization
Post-processing and plotting
Co-processing
Scripting
Data analytics
Module 5.
Running in parallel
GPU
Training agenda
Module 6.
The finite volume method. A crash introduction
On the CFL number
Boundary conditions and initial conditions
Unsteady and steady simulations
Assessing convergence
Velocity pressure-coupling
Linear solvers
Module 7.
Programming in OpenFOAM - Building blocks
Programming in OpenFOAM - Implementing/modifying applications
Programming in OpenFOAM - Implementing boundary conditions, initial conditions
and utilities
Programming in OpenFOAM - CodeStream
Implementing boundary conditions using swak4foam
Field initialization using swak4foam
Interpolating experimental values using setDiscreteFields
Training agenda
Module 8.
Advanced modeling capabilities:
Turbulence modeling
Multiphase flows
Source terms
Moving reference frames and sliding grids
Moving bodies and rigid body motion
Adaptive mesh refinement
Heat-transfer and conjugate heat transfer
Discrete particle modeling
Module 9.
Tips and tricks
Module 10.
Conclusions and wrap-up session
Afternoon Session Morning Session
(1:30 pm 5:00 pm) (9:00 am 12:30 am)
and LES), moving bodies, sliding grids and Implementing boundary and initial conditions
MRF. using external libraries.
Provisional timetable