Displacement and load tolerances were not reached
This error message can occur during a time simulation. The following error message is displayed.
This message means that for the current time step, the non-linear algorithm used by Ashes to solve the equation of motion of the system did not converge towards a solution, i.e. no solution to the equation of motion was found that satisfies the requested accuracy within a given number of iterations. The accuracy is determined by the
Energy tolerance
parameters (see
Analysis
), which definition is given in the theory manual under the section
Time domain simulation
.
The number of iterations performed in each time step can be found in the
Solver sensor
. The picture below shows a case where the algorithm converged at the beginning of the simulation (with under 20 iteration for each time step) but experienced a sudden increase in the number of iterations until the maximum allowed number was reached, therefore producing the
Non-convergence
error message.
If you get the non-convergence issue, you can try the following options:
1 Adjust your model parameters
This error often comes when the solver encounters unphysical conditions, such as nodes moving at very high speeds or loads from environmental conditions unphysically large. Under these circumstances, the energy within the system changes very rapidly from one time step to the next and the non-linear solver does not converge. It is often possible to solve this error by visualizing the simulation and checking what causes the unphysical conditions. In the example below, too large soil damping creates very large displacements, velocities and accelerations which lead to the non-convergence error.
2 Use stiff blades
For some simulations, the nonconvergence issue can be solved by using stiff instead of flexible blades. This can be changed with the
Rotor model
parameter of the
Analysis
tab in the
Analysis parameters
window. If you are not studying the dynamics of the blades themselves, it is generally a good approximation to use stiff blades.
Using stiff blades instead of flexible baldes does affect your results to a certain degree (for example by removing the response at the blade frequencies). Use with cautiion!
3 Select linear analysis
For models that do not exhibit large deformations, such as wind turbines with a locked main shaft or stiff structures without moving parts, a linear analysis will give results very close to the non-linear one. By definition, the linear model does not require iterations and therefore will not have the non-convergence issue. The
analysis mode
can be changed from non-linear to linear in the
Advanced
section of the
Analysis
tab. More information can be found in the theory manual under the section
Linear analysis
Linear analysis
is not recommended for models with rotating blades or floating wind turbines, as these models exhibit large deformations
4 Decrease the time step
The default time step in Ashes is calculated based on the size of the blades. As explained in section
1
, if the state of the model changes too fast from one time step to the next, the algorithm might not converge. Decreasing the time step can enable a smoother variation in the energy of the system and therefore solve the non-convergence issue. The time step can be changed in the
General
section of the
Analysis
tab.
5 Increase the ramp-up period
In Ashes, it is possible to include a ramp-up period at the beginning of the simulation during which the loads are progressively increased from 0 to their actual value. This is done to avoid the unphysical situation where a model experiences a sudden load, which can lead to very large motion of certain nodes of the model and therefore to the non-convergence issue. By default, the ramp-up period is set to 100 time steps, but this value can be adjusted in the
Ramp-up
section of the
Analysis
tab.
6 Adjust the initial conditions
If the initial conditions do not adjust to the physical reality (for example if the initial rotational speed of the turbine is too high), you might get the non-convergence error. It is always recommended to set the initial conditions to a realistic situation to avoid numerical issues. The
initial conditions
can be adjusted in the
Initial conditions
tab.
7 Adjust the convergence criteria
The convergence criteria is defined in the
Time domain simulation
section of the theory manual and defines the accuracy with which the equation of motion is solved at each time step. This parameter can be modified in the
Convergence
section of the
Analysis
tab in the
Analysis parameters
dialog. If a too high accuracy is required, the alorithm might not converge, but if the accuracy is too low, the results might not be trustworthy.
The figure below shows the bending moment at the lowest element of the tubular tower for the default onshore template in Ashes for a simulation with a uniform wind at 10 m.s
-1
. The legend shows the value of the
Energy tolerance (absolute)
parameter, and the plot to the right is a zoom of the plot to the left. The two cases with the strictest convergence (-6 and -2) exhibit so similar results that they cannot be distinguished in the picture, while the cases with milder convergence criteria produce results that deviate from the strictest cases. The case with a tolerance of 10 produces divergent results.
This figure illustrates the importance of not setting a too mild convergence criteria. If you run into the non-convergence issue and need to reduce the convergence criteria, the following process is recommended:
- Find a situation where the model does converge (for example with lower uniform wind, milder sea state, increased damping, etc)
- With these environmental conditions, run a parametric study on the convergence criteria, so as to obtain a figure similar to the one above
- Select a convergence criteria that produces similar results as the strictest case. In the example above, setting the Energy tolerance (absolute) parameter to -2 produces satisfactory results.
Even if the selected convergence criteria provides accurate results for a given model and environmental conditions, there is no guarantee that this will be the case for other situations. This means that the obtained results should be carefully checked to ensure that they are correct.
8 Allow to continue simulation on non-convergence
It is possible to force the simulation to proceed to the next time step when the current time step has not converged, by modifying the
On non convergence
parameter in the
Convergence
section of the
Analysis
tab in the
Analysis parameters
dialog. This option can be useful for simulations that have been running for a large duration but produce the non-convergence issue for a few time steps. When applyng this solution, it is recommended to plot the
Iteration count
in the
Solver sensor
to ensure that not too many time steps encounter the non-convergence issue.
This solution is generally not recommended, as proceeding with the simulation when the equation of motion is not in equilibrium could yield inaccurate results. If this option is used, the obtained results should be checked to ensure that they are correct.