CFD Online Discussion Forums

CFD Online Discussion Forums (
-   FLUENT (
-   -   Convergence (

Centurion2011 July 6, 2011 07:54

I see all kind of mistakes on these forums when dealing with convergence, so I will give brief review of methods... :cool:

At convergence, the following should be satisfied:
  • All discrete conservation equations (momentum, energy, etc.) are obeyed in all cells to a specified tolerance OR the solution no longer changes with subsequent iterations.
  • Overall mass, momentum, energy, and scalar balances are achieved.
  • Monitoring convergence using residual history:
  • Generally, a decrease in residuals by three orders of magnitude indicates at least qualitative convergence. At this point, the major flow features should be established.
  • Scaled energy residual should decrease to 10-6 (for the pressure-based solver).
  • Scaled species residual may need to decrease to 10-5 to achieve species balance.
  • Monitoring quantitative convergence:
  • Monitor other relevant key variables/physical quantities for a confirmation.
  • Ensure that overall mass/heat/species conservation is satisfied.

In addition to residuals, you can also monitor lift, drag and moment coefficients.

Relevant variables or functions (e.g. surface integrals) at a boundary or any defined surface.

In addition to monitoring residual and variable histories, you should also check for overall heat and mass balances.

The net flux imbalance (shown in the GUI as Net Results) should be less than 1% of the smallest flux through the domain boundary

If solution monitors indicate that the solution is converged, but the solution is still changing or has a large mass/heat imbalance, this clearly indicates the solution is not yet converged.

In this case, you need to:
  • Reduce values of Convergence Criterion or disable Check Convergence in the Residual Monitors panel.
  • Continue iterations until the solution converges.

Selecting None under Convergence Criterion disables convergence checking for all equations.

Numerical instabilities can arise with an ill-posed problem, poor-quality mesh and/or inappropriate solver settings.
  • Exhibited as increasing (diverging) or “stuck” residuals.
  • Diverging residuals imply increasing imbalance in conservation equations.
  • Unconverged results are very misleading!

  • Ensure that the problem is well-posed.
  • Compute an initial solution using a first-order discretization scheme.
  • For the pressure-based solver, decrease underrelaxation factors for equations having convergence problems.
  • For the density-based solver, reduce the Courant number.
  • Remesh or refine cells which have large aspect ratio or large skewness.
  • Remember that you cannot improve cell skewness by using mesh adaption!

Under-relaxation factor, α, is included to stabilize the iterative process for the pressure-based solver
  • Use default under-relaxation factors to start a calculation.

Decreasing under-relaxation for momentum often aids convergence.
Default settings are suitable for a wide range of problems, you can reduce the values when necessary.
Appropriate settings are best learned from experience!

For the density-based solver, under-relaxation factors for equations outside the coupled set are modified as in the pressure-based solver.

A transient term is included in the density-based solver even for steady state problems.
The Courant number defines the time step size.
For density-based explicit solver:
  • Stability constraints impose a maximum limit on the Courant number.
  • Cannot be greater than 2(default value is 1).

Reduce the Courant number when having difficulty converging.
For density-based implicit solver:
  • The Courant number is not limited by stability constraints.
  • Default value is 5.

Convergence can be accelerated by:
  • Supplying better initial conditions
  • Starting from a previous solution (using file/interpolation when necessary)
  • Gradually increasing under-relaxation factors or Courant number
  • Excessively high values can lead to solution instability convergence problems
  • You should always save case and data files before continuing iterations
  • Controlling MultiGrid solver settings (not generally recommended)
  • Default settings provide a robust Multigrid setup and typically do not need to be changed.

A converged solution is not necessarily a correct one!
  • Always inspect and evaluate the solution by using available data, physical principles and so on.
  • Use the second-order upwind discretization scheme for final results.
  • Ensure that solution is grid-independent:
  • Use adaption to modify the grid or create additional meshes for the grid-independence study

If flow features do not seem reasonable:
  • Reconsider physical models and boundary conditions
  • Examine mesh quality and possibly remesh the problem
  • Reconsider the choice of the boundaries’ location (or the domain): inadequate choice of domain (especially the outlet boundary) can significantly impact solution accuracy

Numerical errors are associated with calculation of cell gradients and cell face interpolations.

Ways to contain the numerical errors:
  • Use higher-order discretization schemes (second-order upwind, MUSCL)
  • Attempt to align grid with the flow to minimize the “false diffusion”
  • Refine the mesh
  • Sufficient mesh density is necessary to resolve salient features of flow
  • Interpolation errors decrease with decreasing cell size
  • Minimize variations in cell size in non-uniform meshes
  • Truncation error is minimized in a uniform mesh
  • FLUENT provides capability to adapt mesh based on cell size variation
  • Minimize cell skewness and aspect ratio
  • In general, avoid aspect ratios higher than 5:1 (but higher ratios are allowed in boundary layers)
  • Optimal quad/hex cells have bounded angles of 90 degrees
  • Optimal tri/tet cells are equilateral

A grid-independent solution exists when the solution does not change when the mesh is refined.
Below is a systematic procedure for obtaining a grid-independent solution:
  • Generate a new, finer mesh.
  • Return to the meshing application and manually adjust the mesh.
  • OR Use the solution-based adaption capability in FLUENT.
  • VERY IMPORTANT: Save the case and data files first.
  • Create adaption register(s) and adapt the mesh. Data from the original mesh is interpolated onto the finer mesh. FLUENT offers dynamic mesh adaption which automatically changes the mesh according to user-defined criteria.
  • Continue calculations until convergence.
  • Compare the results obtained on the different meshes.
  • Repeat the procedure if necessary.

To use a different mesh on a single problem, use the TUI commands file/write-bc and file/read-bc to facilitate the setup of a new problem.
Better initialization can be obtained via interpolation from existing case/data by using solution data interpolation
A web-based training module is available to train users in replication of case setup and solution data interpolation.


Solution procedure for both the pressure-based and density-based solvers is identical.
  • Calculate until you get a converged solution
  • Obtain a second-order solution (recommended)
  • Refine the mesh and recalculate until a grid-independent solution is obtained.

All solvers provide tools for judging and improving convergence and ensuring stability.

All solvers provide tools for checking and improving accuracy.

Solution accuracy will depend on the appropriateness of the physical models that you choose and the boundary conditions that you specify.

sorry for lengthy post... sometimes people are lazy when theory is involved...:D

Chipsgrottel January 13, 2012 12:18


Originally Posted by Centurion2011 (Post 314914)
A web-based training module is available to train users in replication of case setup and solution data interpolation.

Hello, and thanks for this long post actually.
But what is this web-based training module you are talking about please?
Thank you in advance.

Centurion2011 January 18, 2012 03:31

There are training modules for Ansys, very useful. You can find them all over.

for example:

Chipsgrottel January 19, 2012 12:53

Thank you very much!
I will spend some time on this.

Far January 19, 2012 12:58

Good post
Make it blog and also ask Jola to add this in Fluent Section.

sheikh nasir February 14, 2012 10:16

train moving in tunnel help
i am working on train moving in tunnel. i am getting floating error:invalid number. can any one help me. my email is
plz help me


chngyian October 23, 2013 22:33

Hey centurion, any idea why for energy residual it only decreases to 10e-6 but not less than that even though i used double precision?

Centurion2011 October 24, 2013 03:21

10e-6 is enough precsion for residuals, there is no need to get lower...

chngyian October 24, 2013 03:56


Originally Posted by Centurion2011 (Post 458680)
10e-6 is enough precsion for residuals, there is no need to get lower...

actually I'm doing a very precise and micro scale calculation, and the double precision calculation is giving me slightly different results compared to single precision. This is why I'm trying to reduce the energy residual beyond 10e-6 during a double precision calculation.

Centurion2011 October 24, 2013 04:09

How do you mean: "micro scale calculation". What are you doing exactly?

chngyian October 24, 2013 04:13


Originally Posted by Centurion2011 (Post 458696)
How do you mean: "micro scale calculation". What are you doing exactly?

I am doing a study on heat transfer characteristics in a micro-channel (fluid channels in the order of 10e-3 meters). The delta T for single precision calculation is ~13C. By using double precision instead, I get a delta T of ~14C. As the delta T is only 13C, a difference of 1C is pretty big to be ignored. This is why I am trying to reduce the energy residual. Hope it helps you understand my situation better. =)

Centurion2011 October 24, 2013 04:25

double precision is always better, but did you try to make smaller mesh, or different types of meshes. It seems to me that mesh is the issue here

chngyian October 24, 2013 04:34


Originally Posted by Centurion2011 (Post 458704)
double precision is always better, but did you try to make smaller mesh, or different types of meshes. It seems to me that mesh is the issue here

that is possible, I am still amidst doing the grid independency study so I can't know for sure. thanks for your help, I will look at the results again once a have generated a series of meshes. :)

Centurion2011 October 24, 2013 04:58

try to do mesh with as many structured elements possible

RPereira November 30, 2013 12:50

Hello Centurion2011,

Your post is so important/informative that you've made me come online just only to say that you've made a good work on compiling all those informations tips regarding the structured way for achieving a successful converged solution.

That information should be accessible and visible to everyone before creating a new post in the forum regarding this topic.

If someone as enough time (sorry...), I would suggest to include the following information and quick recommendations that I think to be also important:

- Mesh Strategy, Quality and Topology tips/recommendations and their impact (some already mentioned);
- Domain reordering (Accelerating Convergence);
- Information regarding Initialization Methods : Standard, Hybrid, FMG, Interpolation (already mentioned);
- Tips for the Near Wall Resolution: Wall functions, Enhanced Wall Treatment and related Yplus, Cell Topology;
- Tips/recommendations for Turbulence Models (with examples)
- Boundary Conditions recommendations (location, geometry,...)
- Transient time step recommendations

Some of the above available tips are also acquirable in other thread from Centurion2011.

I would like to recommend to the moderators to include all this as a:

'QUICK CFD Best Practices Guide Information'

just side by side with the Best Practices at the CFD Online WIKI.

What do you think about Centurio2011?

Best Regards

Centurion2011 November 30, 2013 13:18

I don't mind :) If anyone has any questions regarding Fluent I'm here :)

researchstud January 29, 2014 02:36

the post was really helpful..
i would like to know one thing..What did you mean by '- “stuck” residuals.--?
is it when the residuals are stuck at a particular value and not changing from it for a number of iterations..?
and when my lift shows a straight line.. is my solution converged..?..:)

adnanghreeb January 29, 2014 12:17

Dear friends, I have question in fluent please.
I used ICEM for simulate heat transfer in kiln, then export to fluent, actually in this time i run my program without combustion.
can get converge at residual e-2 but with not good report about mass net, as same time reasonable result.

so take more for residual until e-4 , also get converge but not reasonable result and in this case report mass excepted?

any suggest, thanks in advance

A CFD free user January 29, 2014 15:32

Hi friend,
Obtaining a value of e-2 or even e-4 for residuals doesn't necessarily mean that your simulation is converged. However, a value of e-3 is acceptable for continuity, for other equations, it depends on your problem. For instance, in my recently work, a value of residual about e-8 is not enough to get convergence for a user_defined scalar! So, my suggestion is first, keep doing iteration until you don't observe any big change or oscillation in residuals. Secondly, in some cases, you need to monitor some effective parameters in your model beside the usual residuals monitoring. For example, depending on your work, you can monitor some surface or volume characteristics of flow. Only one more thing, in some cases you may not receive a very low residuals but the values will not change any more longer. In that case, your simulation is converged too. So, don't worry and be patient when you grip into a CFD problem.
Hope it helps.

adnanghreeb February 3, 2014 13:07

Thank you very much Mr.Azarafza,
but could also consider mass flux reports( mass flue rate) explained, how the project near from reasonable solution.
because some time good result but minus (-) mass flux reports (example -3.112*e-5)
thank you again Mr.Azarafza

All times are GMT -4. The time now is 04:53.