6. Optimizing performance#
In most cases it is recommended to perform the calculation in a semi-static manner when the nonlinearities are moderate, then, as soon as the number of convergence iterations for equilibrium increases significantly, to switch to dynamics (implicit, then explicit if necessary). More precisely, it is recommended to switch before the appearance of strong non-linearities, so that the dynamic calculation is initiated on an evolution that is still quite « regular ».
In quasistatics, it is not uncommon to have to perform more than 10 iterations to have convergence in the sense of the residue in equilibrium. In implicit dynamics, this value of 10 iterations is, in general, a good starting value for the parameter ITER_GLOB_MAXI of CONVERGENCE. If it is not possible to converge in less than 10 to 20 iterations, it is then preferable to reduce the time step rather than to increase the maximum number of iterations allowed.
Explicitly, there are no iterations for balance, the cost of calculating each time step will therefore be constant, regardless of the level of non-linearity (except, possibly, the local verification of the behavior). In the case of a quasi-static calculation where the non-linearity increases with time, we can therefore find a crossing point, at the time level CPU, for which the efficiency of explicit methods (or even implicit depending on the case) becomes greater than continuing in a quasi-static way. The gain brought by a greater time step in a semi-static state is cancelled out by the need to do more and more iterations at each step. Likewise, since the cost of explicit calculation remains constant, it is also possible to evaluate fairly accurately the total calculation time necessary to solve the complete case, whereas in a semi-static state, the number of iterations at each step being very variable and can also cause an unknown number of subdivisions of the step, the total calculation time is sometimes very difficult to predict.
The use, even routine, of explicit methods therefore seems very attractive in view of the CPU time which remains under control. However, this optimism must be tempered by bearing in mind that we are depriving ourselves of the safeguard that is the precise verification of the balance and that, therefore, the quality of the explicit solution obtained must be analyzed more carefully. The explicit algorithm will not diverge (if the Current condition is met), but the solution obtained is not guaranteed by a balance verification criterion. In particular, a parametric study on the time step is essential because the shape of the solution can vary greatly when this step becomes too big.
This obligation to control the explicit solution is all the greater as one also seeks to verify the fundamental hypothesis of slow evolution.