Error Message—Solution is Diverging
An analysis runs for some number of iterations, and then unexpectedly stops. The following error message is issued:
Error: Solution is Diverging
This indicates that the calculation diverged numerically, and could not reach a solution.
Every analysis is an iterative numerical process that uses the results from the previous iteration as the starting condition for the next. As the solution progresses, the difference between the starting and ending iterations progressively gets smaller until there is no difference. Such a solution is converged (the value going into the numerical solver is the same as that coming out). If, however, the difference between the starting and ending iterations gets bigger over the course of many iterations, the calculation "diverges," and stops because a solution cannot be found.
There are a number of reasons for solution divergence, and some analysis types have specific troubleshooting techniques that must be applied. The following is an overview of the general techniques often used for troubleshooting:
1. Make sure that Intelligent Solution Control is enabled.
Intelligent Solution Control is enabled by default for most analysis types, and is generally the most effective way for ensuring solution convergence. If your analysis diverges, though, it is a good idea to verify that it is enabled by clicking the Solution control button on the Control tab of the Solve dialog. If it is disabled, enable it and attempt to run the simulation again.
2. Check the analysis set-up:
If the solution diverged and Intelligent Solution Control was enabled, then there is a good chance that there is a problem with the model set up. The following is a general check-list of items to inspect.
- Check the analysis units:
- Ensure that units (and dimensions) are correct--if the length should be 10mm, and it's set to 10m, numerical problems could result.
- Check the boundary conditions:
- Ensure that a pressure boundary condition is specified somewhere in the model.
- Check that pressure conditions aren't applied to close to geometric expansion; flow that recirculates back into the region through a specified pressure condition may lead to divergence.
- Ensure that pressure conditions aren't specified on surfaces that meet at a 90 degree (or smaller) angle.
- If there are fluid regions that are separated from one another, ensure that a pressure condition is applied within all fluid regions.
- If heat transfer is enabled, ensure that a temperature boundary condition is specified.
- Ensure a condition exists to drive the flow--a velocity, flow rate, or pressure drop.
- Ensure that pressure conditions aren't applied to surfaces that meet at an angle, like on a box; this is not a physically realistic condition, and in some extreme cases can lead to numerical difficulties.
- For incompressible analyses--ensure that a velocity and pressure are not specified on the same surface.
- For compressible analyses--verify that an "unknown" condition is applied to an outlet that will have supersonic flow.
- Check materials:
- For fluids, make sure that the correct material is applied, and that it is defined correctly.
- Check any property variations; ensure that a property doesn't vary wildly due to an incorrectly specified variation.
- For solids, check the value of thermal conductivity; adjacent parts with vastly differing conductivities can lead to problems in heat transfer analyses.
- Verify settings for internal fans and blowers; check that the flow rate or flow-curve is set up correctly.
- Ensure that two or more internal fans do not contact one another; they can't touch either axially (end to end) or tangentially (side to side); this applies to centrifugal blowers as well.
- Check the mesh settings:
- Look for areas where the mesh distribution is too coarse for the geometric detail; refine if necessary.
- Use the Geometry Tools (Small Object Removal and/or Edge Merging) to remove tiny features that may be distorting the mesh.
- Use the Edge Diagnostics to identify edges that are below the Minimum Refinement Length; adjust if necessary to focus the mesh in these locations.
- Check the analysis settings:
- Make sure that the correct Compressibility setting is used.
- If Compressible is chosen, verify that this is needed; remember that compressibility is really a function of flow velocity in most cases, and that slow moving air is incompressible.
- Check the Scalar setting--verify that the correct scalar setting is invoked, if needed
- Check the turbulence setting to ensure that the model is run as turbulent, if needed. A turbulent analysis that is set to run laminar will often diverge within the first 15 iterations.
- Check the advection scheme (under Solution Control_Advection on the Solve dialog). If ADV3 is selected, try a different scheme. (ADV 3 can lead to solution instability for certain analysis types.)
- If the analysis is transient, try using a smaller time step size
3. Check the mesh
- Inspect the mesh for areas of highly distorted elements--refine as necessary. The Geometry tools and Mesh Diagnostics can identify areas in the geometry that may lead to meshing problems.
- Enable the check for nodal aspect ratio by turning on Stream Function from the Result Quantities dialog (accessed from the Solve dialog) and running 0 iterations. Plot Nodal Aspect Ratio. This shows areas of the mesh that are extremely distorted and may be causing the problem.
The Nodal Aspect Ratio indicates how skewed each element is. A triangular face with equilateral sides is ideal, and higher aspect ratios indicate more sliver-like triangular faces. In general, nodal aspect ratios less than 2000 provide greater accuracy, stability and solution speed.
High ratio elements are typically found at tangent points, or in small spaces between solid parts. Eliminate or enlarge these spaces in the CAD model for best results. (Note that often these sorts of geometric features will be highlighted by the Surface and/or Edge Diagnostics panels. Use the information they provide to identify problematic features and correct in the CAD model.)
- To identify where the velocity or pressure is much higher than in the rest of the model and where the mesh is too coarse, create an iso surface using either velocity or pressure as the Iso Quantity. Specify a high value (move the slider to the right).