|
Under relaxation is a constraint
on the change of a dependent or auxiliary variable from one solution
iteration to the next. It is required to maintain the stability
of the
coupled, non-linear system of equations. The Relax tab in the Solver Control panel (see figure 1) allows the user to set under relaxation
factors for
each of the solved variables, as well as for auxiliary variables.
Figure 1. Solver Control - Under Relaxation
The panel contains four
columns: the first defines the variable, the second contains a slider
bar that can be used to adjust the value, the third contains up/down
buttons to adjust the order of magnitude of the value, and the fourth
is a field for specifying the under relaxation value directly.
We have different methods for applying under relaxation for the solved
and auxiliary variables:
Inertial Relaxation
Inertial under
relaxation (I) is applied to variables that are
directly solved
for (dependent variables as determined by the active modules) during the
iterative
procedure, for example, velocities, pressure correction, enthalpy.
- I
usually varies from 0.0 to 2.0 with a default value of 0.2.
- Increasing the value of I adds
constraint. It means increasing I increases
stability.
- Increasing the value of I slows
convergence. It means an
increase in I
will result in more iterations to reach the same order of convergence.
- Values of I greater than
1.5 are allowed but not
recommended.
Linear Relaxation
Linear under relaxation (L) is
applied to the auxiliary variables, which
are
computed from the solved (dependent) variables, for example, density,
pressure, temperature.
- L
usually varies from 0.0 to 1.0 with default value of 1.0.
- Decreasing the value of L adds
constraint. It means
decreasing L
increases stability.
- Decreasing the value of L slows
convergence. It means
a decrease in L
will result in more iterations to reach the same order of convergence.
It all can be summarized in figure 2 and figure 3 below.
Figure 2. Under Relaxation for Faster Convergence
Figure 3. Under Relaxation for More Stability
Note: Relaxation can help in getting faster
convergence or it may help prevent divergence. For a given
problem (identical BC/VC/IC), change in relaxation values may yield more
or fewer of iterations to reach convergence. However, as long as
the simulation is fully converged, you will get the same result, irrespective
of
relaxation values.
Tips
on troubleshooting your problems
The following
tips are just guidelines that can help
in getting a converged solution or faster convergence. The values for relaxation are problem specific, so there are no hard and fast rules as to
which
value should be used.
- Simulation diverges
If you see that your problem is diverging, you can try the following:
- Make sure that you have
applied correct scaling, and that all input values (BC/VC) are correct or at
least within
a reasonable range.
- Check the residuals and look for the variable that diverges or starts diverging first.
- Decrease the linear under
relaxation (from 1.0 to say 0.7) for that variable.
- In order to make it more
stable, you can also increase inertial under relaxation for the
corresponding
solved (dependent) variable.
- For compressible flows,
decreasing linear under relaxation for density helps.
- For problem involving heat
transfer, if you see enthalpy diverging, decreasing the linear
relaxation of
temperature from the default value of 1.0 to a smaller value like 0.7 can
help in
getting a converged solution.
- For Fluid/Structure
Interaction problems, decreasing the linear relaxation for pressure
helps
moderate the pressure fluctuations seen by the stress solver, reducing
the
displacement fluctuations and aiding in convergence.
- If you encounter negative volumes in a Fluid/Structure
Interaction problem, first try
to decrease the
linear relaxation for pressure to a value of 0.3 or 0.2. If the
problem persists, then you can try to decrease the linear relaxation for Grid
Deformation
anywhere from 0.5 to 0.1. This basically restricts the grid
deformation
in the
solid volumes to 50% (if a value of 0.5 is used) of the actual value
due to
sustained pressures every time you solve for stress during the time
step.
Upon
convergence, you still get the correct grid deformation.
- For complex physics, when
small changes in relaxation do not work, change
the inertial relaxation values to 0.5. Also, reduce the linear
factors
to 0.3
and rerun. If this does not work, change
the inertial factors to 0.9 and the linear ones to 0.1.
These factors can be changed up to 1.5 for
inertial and 0.01 for linear. Anything
higher may result in a solution that is frozen to the initial
field.
Another
item that may help is a change to the AMG solver for pressure
correction or
enthalpy. If convergence problems still exist, look at the
residual
information, noting the location of the maximum
residual. Next,
examine the grid closely at this spot in CFD-VIEW and look for
skewness. Sometimes, problem areas can be isolated by
plotting the results every few iterations. The problem area is
generally the location where the flow
field first
becomes unstable.
- Slower convergence
If you see that convergence is very slow, you can try the following:
- Check the residuals
and see what
variable has slow convergence (might also remain flat)
- Decrease the
inertial under
relaxation (from 0.2 to say 0.02) for that variable.
- For conjugate
heat transfer
problems, decreasing the inertial relaxation of enthalpy from the default
value of
0.05 to a smaller number like 1E-05 can help in faster convergence.
- When solving
for the electric module,
decreasing the inertial relaxation of the electric potential from 0.0001 to
a smaller
number like 1E-07 can help in faster convergence.
The next time you set up your simulation, consider these suggestions
for setting your Solver Control parameters.
Regards,
Kartik Shah
ESI CFD Support Team
|