3.5.3: Analyze Nonlinear WIP
Linear structural behaviour means that if one changes the external loads by a factor
$f$
also the physical response quantities (displacements, cross section forces, stresses, …) change by that factor. This has the pleasant effect, that the impact of different loads can be superimposed. Thus it is not necessary to recalculate the model for each possible combination of external loads. For real structures the assumption of linear behaviour is an approximation – a good one in many cases. There are two mayor sources of nonlinearity: Physical nonlinearity: Comes into play when materials leave the linear elastic range (e.g. concrete that cracks, steel that yields, …)
 Geometric nonlinearity: Takes effect when
 lateral displacements get so large, that their effect on the axial (in case of e.g. beams) or inplane (think of shells) deformation can not be neglected any more,
 a nodal rotation$\alpha$reaches such a value, that the difference between$\alpha$and$\tan(\alpha)$gains importance.
The “Analyze Nonlinear WIP”component lets one deal with geometric nonlinearity. It is workinprogress. This means that especially for shells the algorithms may not converge within acceptable time for some structures. If however a result is returned, then it is sound.
With the “Analyze Nonlinear WIP”component one can chose from three variants of iterative solution algorithms. Each of these has different benefits and liabilities which will be explained below. The algorithms are based on the assumption of small strains, but allow arbitrarily large displacements.
The target of all three algorithms is to find a displacement state, where the external loads and the internal forces are in equilibrium. Starting from a known initial displacement state, one has to guess how the structure deforms under the given loads. This guess leads to a second displacement state where the internal and external forces usually do not match. The remaining imbalance forms the basis of a next prediction regarding the change of displacements and so on. Equilibrium is reached when the residualforce or change of displacements falls below a given threshold. The three algorithms offered by the “Analyze Nonlinear WIP”component differ in how they predict the displacement increments.
Fig. 3.5.3.1: Dynamic relaxation method option of the “Analyze Nonlinear WIP”component.
Fig. 3.5.3.1 shows a cantilever beam with a bending moment load about the local yaxis at its tip. It consists of 20 beam elements. For calculating its response the “DynamicRelaxation”option is used. This algorithm predicts the next move of a structure based on the direction of the residual forces acting on each node. It is a robust procedure which converges to equilibrium quite reliably but sometimes needs a large number of iterations to do so. This component offers the following inputplugs:
 
"Model"  Structure to be analyzed. 
"nLoadSteps"  Number of loadcases which shall act as loadsteps. The default is 1. When setting it to e.g. 2 it means that the algorithm starts with finding equilibrium for loadcase 0. After that, the loads of loadcase 0 remain in place and the loads of loadcase 1 are added in order to arrive at the final stage. This allows to model a loading history. The remaining loadcases get added to the final stage separately and under the assumption of small displacements. In the case of an active bending structure the first loadcases serve as those which cause the deformed structure, whereas the rest of the loadcases constitute additional actions on the deformed configuration like wind or liveload. The scaling factor for displacements in the “Display Scales” submenu of the “ModelView”component acts only on the loadingsteps for which small displacements are assumed. The large deformation share of the total displacements does not get scaled and is displayed in real size. 
"nLoadIncs"  Number of increments per loadcase (the default is 5). External loads get applied in several steps. In case of structures with nearly linear behaviour, the number of increments can be set to a small number. For highly nonlinear problems a larger value can be advantageous. The smaller the loadincrements, the easier it is for the algorithm to find equilibrium. The number of iterations usually decreases with increasing number of loadsteps (and thus decreasing step size). The overall performance can however suffer if the number of loadsteps is set to a number which is too high for the given type of structural behaviour. 
"maxEquiIter"  Sets the maximum number of equilibrium iterations per loadincrement and thus sets a limit on computation time. It defaults to 200. 
"EquiTol"  Tolerance for the iterative change of residual forces and displacements relative to their incremental change in the current loadstep. The default value is $1E7$ . 
"maxLimitIter"  The range of problems which can be tackled using the dynamic relaxation (DR) algorithm as implemented in Karamba3D is limited to stable structures. In case of phenomena like buckling or snapthrough, equilibrium states may exist beyond the point of initial instability. They are however hard to reach due to their often large distance from the last known stable configuration. In such a case the DRalgorithm does not converge to an equilibrium state within the maximum number of equilibrium iterations. It then tries to close in on the point of assumed instability by halving the loadincrement which led to divergence. By proceeding in this manner, the so called limit load can be determined with arbitrary precision. “maxLimitIter” sets an upper limit on the number of limitloaditerations which is equal to 200 by default. Sadly, divergence can also be caused by numerical problems in the algorithm. Thus the limitloadfactor as determined by the “Analyze Nonlinear WIP”component constitutes only a lower limit estimation. 
"LimitTol"  Sets the minimum loadincrement threshold for calculating the limitload. 
"StepSizeFac"  A factor for scaling the predicted displacement increments of the DRalgorithm. 
During a nonlinear calculation lots of things can happen. In order to get an idea about why and where something went wrong, the DR variant of the “DynamicRelaxation”option produces the following output:
 
"Model"  Structure with calculated displacements, stresses and internal forces. 
"Disp"  Maximum displacement reached in centimeter. 
"Energy"  Deformation energy stored in the structure in $kN m$ . 
"Info"  Details regarding the solution process. It outputs five columns of text:

"Lambdas"  Informs about the loadfactors for which equilibrium could be reached. 
In practice, dynamic relaxation(DR) procedures are used for highly nonlinear problems like numerical crashtests of cars, bolts being shot into a wall, …. The reason is, that implementing nonlinear effects as DR code is relatively easy. This ease of implementation comes at the cost of high computational effort: Many iterations are necessary to reach equilibrium with acceptable accuracy. The way out of this is to invest more effort in a better prediction of the displacement increments. In DRmethods the residual forces at the nodes form the basis of predicting the next position of a node. Methods like the NewtonRaphson or ArcLengthmethod use a stiffness matrix for producing displacement predictions. There the computational cost per iteration is higher, but the number of iterations can be made much smaller as compared to DRmethods. With a consistent stiffness matrix quadratic convergence can be achieved under optimal conditions. This means that for the iterative displacement and forceerrors the number of zeros after the decimal separator doubles in each iteration. For the “Analyze Nonlinear WIP”component this is not yet the case and one reason for the “work in progress”label. Details on the NewtonRaphson or ArcLength methods can be found in [6] on page 102 ff. and 214 ff..
Fig. 3.5.3.2: NewtonRaphson method option of the “Analyze Nonlinear WIP”component
Fig. 3.5.3.2 shows the same cantilever beam as before, this time analyzed with the “NewtonRaphson”option. The NewtonRaphson variant of the “Analyze Nonlinear WIP”component comes with nearly the same input and outputplugs as the DRversion. The only difference is the missing “StepSizeFac”input. Since NewtonRaphson procedures have the same limitation with respect to unstable structures as DRmethods, an interval halving strategy for closing in on limitpoints is applied as before.
Fig. 3.5.3.3: ArcLength method option of the “Analyze Nonlinear WIP”component
For many structures reaching a first point of instability is not yet the end of the story. Especially thin plate and shell structures show large load bearing reserves when considering their postbuckling behavior. The ArcLengthmethod can be used for these kinds of situations. Fig. 3.5.3.3 shows the calculation of a truss structure which snaps through from an unstable state to a stable postbuckling configuration.
The first two inputs of the “Arclength”component have the same meaning as before. Here a description of how the rest of the inputplugs controls the solution process:
 
"IniLoadFac"  The displacement of the structure under the external load multiplied by “IniLoadFac” serves as a first estimate for the target deformation increments. 
"MaxEquiIter"  The maximum number of iterations per load increment. 
"TargetEquiIter"  Sets the number of increments to be used in each increment. Is used to scale the loadincrements accordingly. 
"EquiTol"  The tolerance for out of balance forces and displacement changes from one iteration to the next. 
"MaxLoadInc"  Maximum number of load iterations. 
Last modified 2yr ago