
Discover snappy hex mesh hacks for complex geometries, grasp turbulence approaches for industrial OpenFOAM applications, and master mesh convergence analysis to validate simulations.
Learn how to run OpenFOAM simulations using a bash script, load the solver, apply a minimal, essential workflow, scale the input, and capture outputs in a log file for post-processing.
OpenFOAM intermediate lecture explains using the transport properties file to set constants and dimensions, read dt, and map unit arrays for kg, meters, seconds, and temperature in fluid dynamics.
Explore OpenFOAM intermediate with potentialFoam 01, copying the cylinder case to a run directory, then run potentialFoam to solve velocity and pressure and view streamlines.
Use potentialFoam to rapidly approximate pressure and velocity fields with potential flow, relate lowercase and uppercase p phi fields to mass flow across cell faces, and seed more complex solvers.
Solve the scalar velocity potential (Laplace equation) to obtain the velocity field by its gradient, using a cylinder-domain flow; archive the cylinder case for later use.
Explore OpenFOAM scalar transport in incompressible pipe flow, examining a step change in diameter, velocity behavior, pressure drop, and streamlines visualization.
OpenFOAM intermediate introduces scalarTransportFoam to solve the transient transport equation for a passive scalar, including diffusion and possible source terms, with mesh from blockMesh.
Run scalar transport foam to simulate temperature evolution within a steady velocity field. Observe diffusion and convection of a passive scalar as temperature fronts spread with time.
Examine the constraints of direct numerical simulation for turbulence, illustrating astronomical cell counts and tiny time steps, and note refined meshes in turbulent regions for engines and weather.
Explore how the Spalart–Allmaras model analyzes velocity and pressure around an airfoil, highlighting energy transfer, lift generation, turbulence formation, and boundary layer concepts with wall functions and no slip conditions.
Set up a Reynolds-averaged k-epsilon model, solving k and epsilon to locate turbulent regions and predict pressure and velocity, using surface features, blockMesh, and snappy hex mesh.
Explore k-epsilon turbulence modeling for wind around buildings, detailing boundary conditions and wall functions, initial K and epsilon fields, and how turbulent kinetic energy and epsilon evolve near structures.
Examine k-omega case files for the pits daily dataset, including initial fields and turbulence model setup, and compare predictions across models while noting ignored unused variables.
OpenFOAM intermediate covers k-omega results and initial values, showing how to initialize k, omega, and epsilon from turbulent intensity and velocity, with wall functions and length scales.
Learn how to initialize omega in OpenFOAM by defining it as the ratio of turbulent viscosity to molecular viscosity, and run the simulation to analyze k and epsilon.
OpenFOAM intermediate: learn setting initial conditions for LES, compare alias and arias turbulence models, and configure transport properties and zero directory initial values.
Explore meshing strategies in OpenFOAM, contrasting simple blockMesh setups with complex geometries, and learn when to use snappyHexMesh for geometry-driven mesh control.
Explore how snappyHexMesh creates a castellated mesh around a motorbike with the rider, refining near the region to form a hollow fluid domain and revealing jagged wheel edges.
OpenFOAM intermediate: visualize and position an imported sphere within the mesh, adjust its size, and move it by editing SDL geometry in constant directory using the axes for centering.
Demonstrates using surfaceTransformPoints to translate and scale a sphere, generate sphere1–sphere3, adjust for origin-centered scaling, and prepare meshing with snappy hex mesh and a centered bounding box.
Learn to perform mesh convergence with blockMesh by scaling x and y resolutions using a six times table, ensuring whole numbers for course, middle, and fine meshes.
Explore mesh convergence in OpenFOAM by building three meshes of increasing resolution and comparing their solutions under identical boundary conditions to gauge the error.
Open the csv output in a spreadsheet, extract peak pressure for three meshes, and compare results to illustrate mesh convergence, with the finest mesh showing the highest peak.
Plot residuals from an OpenFOAM case by extracting time-step residuals from the log file of simpleFoam, then graph them and apply a log scale to reveal convergence behavior.
The results are in - OpenFOAM can solve all the major industrial CFD problems that established competitors can. The power to design anything from jet airplanes and engines to pipes and heat exchangers is a simple download away. Unfortunately, as I learned the first time I used it, OpenFOAM has a very steep learning curve. Having learned the basics several years ago I quickly realised just how complicated CFD could get. Even though I knew how to set up a case and use blockMesh with some simple solvers it wasn't always clear how to do realistic problems with knowledge of the basics. The principle difficulties were:
- Turbulence: all the really interesting flows included some aspect of this and it's often more art than science!
- Meshing: simple meshes can't account for fighter jet bodies or turbine blades, I knew there must be a better way.
- Mesh Behaviour and Convergence: without solutions with which to compare I never knew whether I could trust my results.
I made this course with my younger self in mind. It's these things, among other tips and tricks, that gave me the most trouble in practice and which require the most experience/correct techniques to do well. The aim of this course, by its end, is to show you how to do this. There are many specialist topics that we can't cover and to learn CFD to an industry standard (where salaries past $100,000 a year are not unusual) could easily span a PhD and many years experience. Even so, there are a few general skills you will need again and again when you face practical problems in CFD. If you can master these, in my experience, you can pick up a lot of the rest as you go and quickly acquire the skills that are already propelling modern engineering into the future.
Disclaimer:
This course is not a substitute for a degree in aerospace engineering or specialist consultancy, by purchasing this course you agree that the course instructor is in no way liable for any disputes, claims, losses, injuries, or damage of any kind that might arise out of or relate to the content of this course or any supporting communications between instructor and student.