
In this lecture, you will gain a high-level understanding of the fundamental stages involved in a Computational Fluid Dynamics (CFD) simulation. We will explore why different software tools are used in the CFD workflow and discuss how fluid flow problems are translated into numerical solutions on a computer. This session lays the groundwork for appreciating the role of simulation in fluid mechanics and engineering design.
In this lecture, we will explore the fundamentals of geometry creation and CAD modeling tailored for CFD applications. You'll learn how to install FreeCAD and use its essential features to design geometry specifically for fluid flow simulations. As a hands-on exercise, we will create a simple CAD model for simulating flow past a cube, providing a practical foundation for integrating CAD with CFD workflows.
In this lecture, we will install Gmsh and explore its key features for mesh generation in CFD applications. You will learn how to control mesh size in specific regions and understand the essential requirements for creating a mesh that a solver can interpret correctly. We will also cover how to label boundary surfaces so that appropriate boundary conditions can be applied during simulation.
In this lecture, we will explore the importance of Docker and why it is a valuable tool for running simulations. You will learn how to install Docker step-by-step, and then test your installation by running an example OpenFOAM simulation within the Docker environment to ensure everything is set up correctly.
In this lecture, we will explore the concept and importance of boundary conditions in CFD simulations. You will learn why they are essential and how they influence simulation results. We will then examine the OpenFOAM folder structure to understand how simulation data is organized. Finally, you will learn how to identify and correctly label mesh boundaries, convert meshes to the OpenFOAM format, and set up appropriate boundary conditions for your simulation case.
In this lecture, we will learn how to configure discretization schemes in OpenFOAM, specifying how each term in the fluid flow equations should be numerically treated. We will then explore how these equations are assembled into a linear system and how to choose appropriate solvers for different terms. Additionally, we will discuss the concept of mesh orthogonality, its impact on simulation accuracy, and how it influences solver settings. These concepts will be introduced through visual inspection of the mesh, which will be explored further in the following lecture.
In this lecture, we will assume a target Reynolds number commonly used in CFD simulations and compute the corresponding kinematic viscosity. Using the prescribed free-stream velocity, we will then calculate an appropriate time step to ensure the flow behaves according to the desired Reynolds number. This process is essential for setting up physically realistic and numerically stable simulations in OpenFOAM.
In this lecture, we will demonstrate how to install ParaView independently and use it to visualize OpenFOAM simulation results. You'll be introduced to key features of ParaView for effective post-processing. We will also explore OpenFOAM’s built-in post-processing functions that can be applied after simulations are complete. Finally, we’ll use basic Python scripting to extract and plot drag force results for further analysis.
In this hands-on lecture, we will guide you through creating an AWS account and introduce the various types of compute resources available, including cost expectations. You will learn how to use the terminal to run jobs, securely transfer files using SCP, install Docker on AWS, and run OpenFOAM simulations in the cloud. Finally, we will cover how to transfer your simulation results back to your local machine.
In this lecture, we provide hands-on instructions for installing all the software used in the course on the Windows operating system. The focus of this session is solely on the installation process; all other steps and workflows remain the same as demonstrated in previous lectures. This lecture ensures that Windows users can follow the course seamlessly without any interruptions.
This course provides a practical introduction to a complete open-source simulation workflow designed to empower researchers and engineers in computational modeling and analysis. Participants will learn how to use FreeCAD for creating detailed, parametric 3D models; Gmsh for generating high-quality, customizable meshes essential for accurate simulations; OpenFOAM for setting up and executing computational fluid dynamics (CFD) simulations; and ParaView for visualizing, analyzing, and interpreting results.
Rather than focusing in depth on any single tool, the objective of this course is to present a cohesive, end-to-end CFD workflow, demonstrating how these tools integrate seamlessly from geometry creation to post-processing. As a practical example, we will perform a complete CFD simulation of flow past a cube, starting from CAD modeling in FreeCAD, progressing through mesh generation in Gmsh, solving the flow problem in OpenFOAM, and finally visualizing and analyzing results in ParaView.
** Important note on OpenFOAM usage:
OpenFOAM exists in two actively developed distributions—openfoam dot org and openfoam dot com—which differ in solver implementations, utilities, file formats, and version numbering. In this course, the OpenFOAM section must be followed exactly as demonstrated, as all simulations, solvers, and workflows are based on OpenFOAM v2412 (openfoam dot com release). Using a different OpenFOAM version or distribution may lead to inconsistencies, errors, or different numerical behavior. For this reason, participants are strongly encouraged to use the same version provided in the course environment.
To ensure reproducibility and portability across systems, the course also introduces Docker, enabling consistent installation and execution of OpenFOAM on local machines, remote servers, or cloud-based environments. This approach minimizes dependency issues and ensures that all participants work within an identical simulation environment.
In the final stages, participants will use ParaView to visualize flow fields and perform fundamental engineering analyses such as force coefficient evaluation (lift and drag). Through a combination of conceptual lectures and guided hands-on exercises, students will develop a solid foundation in CFD workflow management, tool interoperability, and reproducible simulation practices.
This course is ideal for graduate students, researchers, and practicing engineers across STEM disciplines who want to build confidence in using open-source CFD tools and establish a robust, modern simulation workflow for real-world engineering and scientific applications.
Software Versions Used in the Course
FreeCAD: 1.0.2
Gmsh: 4.12.1
OpenFOAM: 2412 (openfoam dot com distribution)
ParaView: 5.11.2