While increment function controls the step size of the load increments in the critical phase of the calculation, iteration control influences the size of the displacement increment during one iteration step. There are 2 types of it.
“Automatic constraint for strain increments” #
One of the iteration control methods is the “Automatic constraint for strain increments”. It watches the evolution of strain of elements having critical nonlinear characteristics. If the strain state goes through the critical segment of the force-deformation curve, the displacement increment in the current iteration is decreased.
An example for this case is an element with limit force. Let us assume that the deformation of the element became higher than the limit during the preceding iteration. It is shown by the light blue circle. It causes higher internal force than necessary to the force equilibrium at lambda*P.
Therefore, the solver computes a displacement of delta-U with the current tangent stiffness to decrease the internal force. It is such long that the state point goes to the other limiting segment of the characteristics.
In the next iteration the solver tries to find the force equilibrium again and the state point goes back to the other limiting segment. An infinite loop has been formed causing a non-converging increment with alternating iteration process.
If the option of “Automatic constraint for strain increments” is turned on, the solver recognises the case when the state point goes through several segments with non-monotonically changing tangent.
In this case the displacement increment is decreased to a constrained value denoted by delta-Uc.
This relocation of the state point helps to find the force equilibrium and to break the infinite loop.
This functionality is under construction. We are going to extend it to recognise more complex cases that also can cause the alternation of the iteration process.
“Constraint for displacement increments” #
The other type of iteration control is “Constraint for displacement increments”. This is simply a limit for the largest displacement component. The displacement vector delta-U is decreased to delta-Uc such a way that its largest component to be equal with the limit value. This constraint can break an infinite, alternating series of iterations. However, the calculation can take a long time, because of the small steps in displacement. It can provide a slow but sure convergence.
A practical example for the application of this manual constraint is a simple model with imperfection and only tension trusses. In the first iteration both trusses become compressed due to the vertical load. In the real world an equilibrium state would come into existence with a skew deformation of the structure. But in the solver excessive deformations occur and the numerical model fall apart, because of the loss of stiffness. Turning on the manual constraint the displacements remain small and the numerical model can also reach the equilibrated state.
We often use this functionality for the trial-and-error procedure applied for support issues. But finding situations when it resolves the convergence problem, the observations will also help to develop the capabilities of the automatic constraint.