Did You Know convergence can mean different things to different people?

Did You Know convergence can mean different things to different people?

 

Many times we are asked – why did my simulation not converge?  But what is convergence?  How does one judge convergence?

 

Let’s review the default behavior of AcuSolve for a steady-state run.

When we say steady state, we refer to a solution where the results do not change significantly from one time step to another.

 

By default, Auto Solution Strategy uses convergence_tolerance = 0.001.

What does this mean?

 

AcuSolve is going to track the residual-ratio and the solution-ratio.

Think of the residual-ratio as a global measure of how well the solution matches the equation(s) being solved, and the solution-ratio as a global measure of how much the solution changes from iteration to iteration (or time step to time step for a default steady-state run).

 

At each time step, AcuSolve compares the residual- and solution-ratio to the convergence_tolerance to judge convergence. With the default convergence_tolerance = 0.001, the residual-ratio must fall below 0.001 for pressure, velocity, temperature, species, radiation – and below 0.01 for eddy-viscosity, or other turbulent quantities.  (I may need correction on this for some of the newer turbulence models.)  The solution-ratio must fall below 0.01 for pressure, velocity, temperature, species, radiation – and below 0.1 for eddy-viscosity or other turbulent quantities.  If these criteria are met during the first pass through the equation set for the time step, the run is considered converged – and the steady-state run will stop.

 

If you want to make your solution ‘converge’ further or differently, you can change the behavior using CONVERGENCE_CHECK_PARAMETERS, which is part of the Advanced Solution Strategy settings in AcuConsole.

 

This is not the only way to judge convergence.

 

If you expect a steady-state solution, and your quantities of interest have reached what you consider to be a stable, unchanging value, you can certainly call that converged.  Of course, each user will need to decide how much variation in solution is acceptable for a ‘converged’ solution.

 

You can certainly increase the convergence_tolerance value to get convergence more easily.  Is this advisable?  Maybe not.  This depends on what you want to achieve.

 

Is a converged solution always accurate?  Not necessarily.  This brings up the topic of sensitivity studies.  How sensitive is the solution to some of these items:  mesh resolution, boundary layer resolution, boundary condition values, turbulence settings and/or models, level of convergence (residuals, solution ratio), etc.? This is where we must develop best practices for our desired applications in order to minimize the range of solutions different users may achieve for the same simulation.

 

This has certainly not been an exhaustive discussion, but we hope to have generated some thinking about the topic of convergence…

About Rahul Ponginan

Technical Manager - Academic Program

Have a question or comment?

Post your comment/question on our user forum.