I am new to Open Source CFD;
Where to start the Journey!

04/03/2020
In this article, we will try to help you with the most known Open Source CFD Codes, also we will share our best practices to get you Up and Running As soon as possible.
1- CFD simulations Using OpenFOAM
Why OpenFOaM
OpenFOAM is considered to be the most used CFD open Source simulation software. OpenFOAM as software is very powerful, but also very hard to CFD novice users. Many users consider OpenFOAM as hardcore CFD software due to the absence of a nice GUI interface similar to ANSYS Fluent or CFX.
Nevertheless, many companies are trying to use OpenFOAM as the base solver and develop a nice interface for the CFD users. It is important to mention that OpenFOAM was initially made as an open source for the CFD Nerds, because it gives the power of changing and creating your own solver using C++ coding language.
So, if you are after creating your own solver, boundary condition, or coupling number of solvers, OpenFOAM must be your friend.
Learn OpenFOAM Using Online Courses
As a starting point, I usually advise users to start with online courses in order to get used to the OpenFOAM environment. You need to make sure you have a Linux Operating system in order to make your life easier. OpenFOAM can also work on Windows 10, but I will not advise you to do so.
Below, you will find a list of online courses, some of them are free and some others are not. Start with the free onces if you are not sure about using OpenFOAM in General.
- OpenFOAM course for beginners by Jibran Haider
The self-taught course on learning OpenFOAM by J Haider
you can download the PDF directly from the link below:
This course material is intended for beginners with no previous experience of using OpenFOAM. Existing users can also benefit by broadening their knowledge. In this course, we use OpenFOAM Foundation release (version 6) and cover various topics including:
Introduction
-
Basics of OpenFOAM.
-
Various OpenFOAM forks available.
-
Advantages of using OpenFOAM.
-
Plenty of reference material available on the internet.
OpenFOAM code
-
Understanding the OpenFOAM code structure.
-
Use of environment variables and aliases in OpenFOAM.
-
Getting familiarised with OpenFOAM applications and utilities.
OpenFOAM simulations
-
Understanding the tutorial directory structure.
-
Meshing support in OpenFOAM.
-
Problem setup including initial and boundary conditions.
-
Understanding OpenFOAM solver input and time control files.
-
Post-processing with ParaView.
Programming with OpenFOAM
-
Basics of OpenFOAM programming.
-
Introduction to OpenFOAM classes.
-
Concepts of dimensional compatibility and equation mimicking.
-
Overview of various mathematical operations available.
-
Obtaining mesh related information in OpenFOAM.
-
Compilation of an OpenFOAM code.
Hands-on tutorials
-
Meshing with blockMesh and snappyHexMesh.
-
Understanding OpenFOAM error messages.
-
Effective use of linux commands including the search of relevant information.
-
Use of various useful OpenFOAM utilities.
-
Understanding the basics of parallel computing in OpenFOAM.
-
Effective utilisation of computational resources for parallel computing.
-
Selection of an OpenFOAM solver for a given problem.I hope that this material would be useful for people starting to learn OpenFOAM. Feel free to drop me a message if you find any bugs, I will try to incorporate them in an updated version.
Or you can refer directly to the ink below:
(https://www.researchgate.net/publication/327594760_OpenFOAM_course_for_beginners_Hands-on_training).