#30: Convergence demystified using OpenFOAM
Do this to trust your simulation results...
I’m on a mission to make traditionally complex topics like CFD, simulation and digital engineering clearer for Engineers and Researchers like you.
❤️ Found value in this post?
Donate to support more content from me
🎁 Want to access exclusive content that helps you get there quicker as it's posted?
Ah, “convergence”…
I had absolutely NO idea what it meant when I first heard the word!
I was simply presented with a graph of wiggly, squiggly coloured lines...
Something like this:
That was back in 2006 from a CFD tool called PHOENICS.
Over the years, during academic and eventually industrial projects, I got to know convergence a little better.
Today, I’ll take it apart and put it together for you so it all makes sense.
Let’s get into it!
What is convergence anyway?
Ultimately CFD tools like OpenFOAM use numerical formulations in their code to calculate solutions to a given problem, taking one time-step forward at a time.
Take a look at this post I wrote earlier to understand this:
Convergence is the process of getting your equations to settle down to a point where the error in the solution is low enough.
When you start a simulation, the solver is juggling a lot of unknowns.
The residuals jump around like a desperate chicken trying to escape at first.
As the solution stabilises those numbers should drop, indicating better answers as simulation time progresses.
Beware a simulation can run without converging.
If the residuals don’t drop to a stable, low level (below an error threshold), you might be staring at results that look pretty!
“Colourful Fluid Dynamics” is real.
But for the professional CFD user, convergence is a trust check.
Without it, design decisions are effectively based on sand.
We don’t want that!
Practical convergence in OpenFOAM
OpenFOAM gives you residual plots right out of the box.
At first, they’ll look chaotic - lots of squiggly lines dropping erratically.
Relax, this is expected, at least early on.
Key things to watch here for are:
Residual reduction: Are they consistently dropping by at least 3-4 orders of magnitude?
Levelling out: Do the lines flatten or do they keep bouncing?
Physical quantities: Are forces, pressures or temperatures settling to steady values?
Only when all three line up can you say your simulation is (potentially) trustworthy.
Potentially because well-behaving residuals are not the complete indicator of convergence!
Additional validation is necessary…
Error levels indicate the solutions per time step are settling down - they don’t guarantee the solution is physically-realistic.
This is an important point to note.
Here’s a few steps to take next:
1. Monitor integral quantities (forces, moments, heat flux, pressure drop etc)
Use
forcesorforceCoeffsfunction objects incontrolDictto track drag, lift, or moments.Use
surfaceFieldValueto monitor integrated pressure drop across surfaces or planes.Watch these values over iterations or time - if they level out and stop drifting, you’re in good shape.
2. Check field stability
Use
sampleorprobesfunction objects to record pressure, velocity, or temperature at specific points.If these probes oscillate indefinitely, your case isn’t converged.
If they stabilise, it’s a stronger sign of convergence.
3. Compare with mesh/time step refinement
Run the same case with a finer mesh (or smaller time step in transient runs).
If your results (forces, velocities, pressures) don’t change significantly, you’ve achieved grid/time independence.
More convincing than residuals alone.
4. Visualisation tools
ParaView: load intermediate time steps, look at velocity/pressure fields.
If the solution is still “changing shape” between steps, it’s not converged.foamLog: extracts residuals and function object outputs into files so you can plot them easily.
Bottom line
Convergence is a trust indicator.
But confirming the residual levels alone aren’t enough.
In OpenFOAM, users confirm convergence by monitoring physical quantities (forces, probes, integrated values) alongside residuals and validating with mesh / time step refinement.
👉 Thank you for reading, share it with your colleagues and help me spread simulation clarity further!
Until next week.
Nasser
When you're ready, I can help you in other ways…
🎓 Learn about CFD, simulation and digital engineering from me daily.
Follow me on LinkedIn: https://www.linkedin.com/in/nassermushtaq/
📢 Advertise your engineering educational product or open-source tools to my fast-growing audience. I write here to 500+ subscribers and also more frequently on LinkedIn to 4500+ followers. Email me directly at: hi@nasserm.com
Disclaimer:
All content in this post and newsletter is my own production and do not reflect the opinions or positions of my employers, partners or associates.






