Global Iterative Strategy
In SeismoBuild, all analyses are treated as potentially nonlinear, and therefore an incremental iterative solution procedure, whereby loads are applied in pre-defined increments and equilibrated through an iterative procedure, is applied to all cases (with the exception of eigenvalue analyses). The workings and theoretical background of this solution algorithm is described in some detail within the Nonlinear_solution_procedure section, to which users should refer to whenever a deeper understanding of the parameters described herein is sought.
Maximum number of iterations
This parameter defines the maximum number of iterations to be performed within each load increment (analysis step). The default value depends on the selected predefined settings scheme, for the default settings scheme, which should work well for most practical applications, this value is equal to 40. However, whenever structures are subjected to extremely high levels of geometric nonlinearity and/or material inelasticity, it might be necessary for this value to be increased.
Number of stiffness updates
This parameter defines the number of iterations, from the start of the increment, in which the tangent stiffness matrix of the structure is recalculated and updated. It is noteworthy that assigning a value of zero to this parameter effectively means that the modified Newton-Raphson (mNR) procedure is adopted, whilst making it equal to the Number of Iterations transforms the solution procedure into the Newton-Raphson (NR) method.
Usually, the ideal number of stiffness updates lies somewhere in between 50% and 75% of the maximum number of iterations within an increment, providing an optimum balance between the reduction of computation time and stability stemming from the non-updating of the stiffness matrix and the corresponding increase in analysis effort due to the need of further iterations to achieve convergence. The default value of this parameter for the default predefined settings scheme, which should work well for most practical applications, is however slightly more conservative, at a value of 35, leading to the adoption of a hybrid solution procedure between the classic NR and mNR approaches (see also discussion in Incremental Iterative Algorithm).
Divergence iteration
This parameter defines the iteration after which divergence and iteration prediction checks are performed (see divergence and iteration prediction for further details). On all subsequent step iterations, if the solution is found to be diverging or if the predicted number of required iterations for convergence is exceeded, the iterations within the current increment are interrupted, the load increment (or time-step) is reduced and the analysis is restarted from the last point of equilibrium (end of previous increment or analysis step).
Whilst these two checks are usually very useful in avoiding the computation of useless equilibrium iterations in cases where lack of convergence becomes apparent at an early stage within a given loading increment, it is also very difficult, if not impossible, to recommend an ideal value which will work for all types of analysis. Indeed, if the divergence iteration is too low it may not allow highly nonlinear problems to ever converge into a solution, whilst if it is too high it may allow the solution to progress into a numerically spurious mode from which convergence can never be reached. A value around 75% of the maximum number of iterations within an increment usually provides a good starting point. The value for the default predefined settings scheme, which should work well for most practical applications, is set equal to 35.
Maximum Tolerance
As discussed in Numerical instability, the possibility of the solution becoming numerically unstable is checked at every iteration, right from the start of any given loading increment, by comparing the Euclidean norm of out-of-balance loads (go here for details on this norm) with a pre-defined maximum tolerance (for the majority of the predefined settings schemes it is set to 1e20), several orders of magnitude larger than the applied load vector. If the out-of-balance norm exceeds this tolerance, then the solution is assumed as numerically unstable, iterations within the current increment are interrupted, the load increment (or time-step) is reduced and the analysis is restarted from the last point of equilibrium (end of previous increment or analysis step).
Maximum Step Reduction
Whenever lack of convergence, solution divergence or numerical instability occurs, the automatic stepping algorithm of SeismoBuild imposes a reduction to the load increment or time-step, before the analysis is restarted from the last point of equilibrium (end of previous increment or analysis step). However, in order to prevent ill-behaved analysis (which never reach convergence) to continue on running indefinitely, a maximum step reduction factor is imposed and checked upon after each automatic step reduction. In other words, the new automatically reduced analysis step is confronted with the initial load increment or time-step defined by the user at the start of the analysis, and if the ratio of the former over the latter is smaller than the maximum step reduction value then the analysis is terminated. The default value, for the majority of the predefined settings scheme, for this parameter is 0.001, meaning that if convergence difficulties call for the adoption of an analysis step that is 1000 times smaller than the initial load increment or time-step specified by the user, then the problem is deemed as ill-behaved and the analysis is terminated.
Minimum number of iterations
This parameter defines the minimum number of iterations to be performed within each load increment (analysis step). The default value, for the most predefined settings schemes, is 1. Through this parameter it is possible to achieve a better convergence when the displacement-based criterion is loose and the force-based very strict (this happens in small models in the highly inelastic region).
Step Increase/Decrease Multipliers
As described in here, the automatic stepping algorithm in SeismoBuild features the possibility of employing adaptive analysis step reductions, which depend on the level of non-convergence verified. When the obtained non-converged solution is very far from convergence, a large step decrease multiplier is used (default = 0.125, i.e. the current analysis increment will be subdivided into 8 equal increments before the analysis is restarted). If, on the other hand, the non-converged solution was very close to convergence, then a small step decrease multiplier is employed (default = 0.5, i.e. the current analysis increment will be subsequently applied in two steps). For intermediate cases, an average step decrease multiplier is utilised instead (default = 0.25, i.e. the current load increment will be split into four equal loads).
Also as described in automatic stepping, once convergence is reached, the load increment or time-step can be gradually increased, up to a size equal to its initial user-specified value. This is carried out through the use of step increasing factors. When the analysis converges in an efficient manner (details in here), a small step increase multiplier is used (default = 1.0, i.e. the current analysis increment will remain unchanged in subsequent steps). If, on the other hand, the converged solution was obtained in a highly inefficient way (details in here), then a large step increase multiplier is employed (default = 2.0, i.e. the current load increment will be doubled). For intermediate cases, an average step increase multiplier is utilised instead (default = 1.5, i.e. an increase of 50% will be applied to the current analysis step).
Note: Users are alerted to the fact that there is no such thing as a set of incremental/iterative parameters that will work for every single type of analysis. The default values of the predefined settings schemes in SeismoBuild will usually work well for the vast majority of applications, but might need to be tweaked and modified for particularly demanding projects, where strong response irregularities (e.g. large stiffness differentials, buckling of some structural members, etc.) occur. As an example, note that a smaller load increment may lead to higher numerical stability, by preventing a structure from following a less stable and incorrect response path, but, if too small, may also render the possibility of achieving convergence almost impossible. Users facing difficulties are advised to consult the Technical Support Forum, where additional guidance and advice is provided.