Residuals fell three orders and the answer is still moving. Learn three checks that show a CFD solution has converged, with a worked example and a checklist.

DEEB-FLOW illustration of a monitored quantity plotted against time in a mixing study
Concept illustration from the DEEB-FLOW case library. It is not a result from this article.

The plot that fooled you

You have seen this plot. The residuals slope down, cross 10⁻³, and the solver prints that the solution is converged. You export the contours and go home. The next morning someone asks for the outlet temperature, you check the mass balance out of habit, and inlet and outlet disagree by 4%.

Nothing crashed. The solver did what it was told, and the criterion it was given was wrong. A converged CFD solution is one where further iterations no longer change the answer you care about and the conservation laws close. Residuals are a hint about that and nothing more.

What does a residual measure?

For each equation, the solver adds up how far every cell is from satisfying the discretised balance, then divides by a reference value so the number is readable. That is the scaled residual on your screen.

It is a global sum. A million well-behaved cells can hide a hundred bad ones near a sharp corner, and those hundred may be exactly where your result is taken.

It is also relative to a reference that usually depends on the first few iterations. Start from a good initial guess and the residuals have little room to fall, so a correct solution can look unconverged. Start from a poor one and they fall four orders while the flow field is still rearranging itself. A residual of 10⁻³ has no physical meaning on its own.

The three checks

I use three, and I want all of them.

  • Residuals have fallen and flattened. Look at the shape of the curve more than at any threshold. It should drop by several orders and then stop moving.
  • The quantities you care about have stopped changing. Put monitors on them before you start: outlet temperature, pressure drop, a force, the heat duty. Flat to the precision you need is the test.
  • The balances close. Mass in equals mass out. Energy in equals energy out plus what the walls took. For most engineering work I want the net imbalance to be a small fraction of a percent of the throughput.

Each check can pass while another fails. That is the reason to have three.

What it looks like when they disagree

An illustrative run: a heated duct, steady state, with monitors on outlet temperature and on the mass balance. The numbers are invented for the example.

IterationContinuity residualOutlet temperature (K)Mass imbalance
5001 × 10⁻³341.22.1%
10001 × 10⁻⁴338.60.6%
20003 × 10⁻⁵337.90.05%
30002.8 × 10⁻⁵337.90.04%

At iteration 500 the default criterion is met and the solver would stop. The outlet temperature is 3.3 K away from where it ends up. If the temperature rise across the duct is 40 K, that is an 8% error in heat duty, from a run that reported convergence.

Between iterations 2,000 and 3,000 all three agree: the residual is flat, the temperature has not moved in the first decimal, and the imbalance is negligible. That is convergence.

When residuals will not go down

  • They stall at a plateau. Usually a few poor cells. Find where the largest residuals are and look at the mesh there. If the monitors are flat and the balances close, the plateau may be acceptable. Say so in the report.
  • They oscillate with a regular period. The flow may be unsteady. A wake behind a bluff body or a separated diffuser sheds vortices, and a steady solver will chase them for ever. The fix is a transient run. More iterations will not help.
  • They fall, then rise. Something is going wrong slowly. Look at it before it diverges.
  • They converge at first order and not at second. First-order schemes smear gradients, which makes everything calm and the answer too diffusive. The mesh is probably too coarse for the real gradients.

Transient runs have two convergences

In an unsteady simulation, each time step has to converge within itself, and then the whole run has to reach its statistically steady state. People check one and forget the other.

Inside a time step, the residuals should fall by a couple of orders before the solver moves on. If they do not, reduce the time step or allow more inner iterations. Across the run, the monitored quantity should settle into a repeating pattern or a stable mean. Average only after it has.

A checklist before you trust a steady result

  1. Residuals fell by several orders and are flat.
  2. Every quantity in the report has a monitor, and each is flat to the precision reported.
  3. Mass imbalance is a small fraction of a percent of the throughput.
  4. Energy imbalance is likewise small, where heat transfer matters.
  5. The discretisation is second order for the final iterations.
  6. Maximum and minimum values in the field are physically plausible: no temperature below the coldest inlet, no velocity ten times the inlet.
  7. If anything oscillates, you have decided whether the flow is unsteady.

It takes five minutes. Convergence is only the first question, though. A fully converged solution on a coarse mesh is still the wrong answer, reached carefully. The next step is to find out how much the result depends on the mesh.

Sources & further reading

Related service

Model review & custom studies

Know what the model supports, where uncertainty remains and what needs checking.

Explore services
All articles