*Tip: Start typing in the input box for immediate search results.Can't find what you're looking for? Submit a support request here.*

# General Nonlinear Overview

## Introduction

The general nonlinear analysis implementation in StressCheck includes nonlinear strains and large deformations with the material description being linear-elastic or elastic-plastic. Additionally, the general nonlinear analysis capability makes it possible to satisfy equilibrium in the deformed configuration. This is very important when the deformed configuration differs substantially from the undeformed one.

For elastic-plastic materials, the von Mises yield criterion is used together with the deformation theory of plasticity (DTP). To solve a general nonlinear problem, a linear problem must be solved first.

For more details on StressCheck’s general nonlinear implementation, refer to Notes on Deformation Theory of Plasticity and Geometric Nonlinear Algorithms.

## Geometric vs. General Nonlinear Analysis

- If the material is specified as linear-elastic then the general nonlinear analysis will account only for changes in geometry (geometrically nonlinear problems). For an example of a geometric nonlinear analysis, refer to StressCheck Demo: 3D Geometric Nonlinear Analysis.
- If the material is specified as elastic-plastic, then the analysis will account for changes in geometry and material during the iteration process. For an example of a general nonlinear analysis, refer to StressCheck Demo: 2D General Nonlinear Analysis.

## Important Considerations

The input data preparation to run a general nonlinear problem is identical to that for linear analyses. However, there are some important considerations which must be kept in mind when preparing the data for a general nonlinear analysis.

### Loads

- If a traction is specified in the normal/tangent reference frame, it becomes a “follower load”, that is, will remain normal/tangent throughout the deformation.
- If a traction is specified in a global or local system, the direction of the load will remain fixed.
- Bearing or formula loads can also be specified for general nonlinear analysis.

For an example of directional vs follower loads in general nonlinear analysis, refer to StressCheck Tutorial: Directional vs Follower Loads in Geometric Nonlinear Analysis.

### Constraints

- Rigid body constraints are not meaningful for general nonlinear problems. The reason is that a body originally in equilibrium under the applied tractions is likely to become non-equilibrated due to the deformation. This is because the loaded boundaries may shrink, stretch, or simply move, causing the resultants of the applied tractions to change.
- Also symmetry and antisymmetry should be used carefully, because under large deformations symmetric or antisymmetric conditions may not be preserved.
- In the case of axisymmetric analysis, the Ur displacement component for all element edges along the Z-axis (R=0) must be constrained. In theory there is no need to constrain the Ur displacement component along the Z-axis. However, due to issues related to numerical precision, it is necessary to constrain the Ur displacement along R=0.

### Springs

- When distributed springs are specified over element edges (Planar and Axisymmetric) or faces (3D), and the spring coefficients are defined in the global or in a local coordinate system, they are treated in the same way as in the linear analysis, namely they remain “attached” to the boundaries whether under tension or compression.
- If the spring coefficients are specified in the normal direction however, they will remain attached to the boundaries only if they are in compression and will be set to zero if in tension. If U
_{n}represents the normal component of the displacement along a boundary (edge or face) of an element (e), D_{n}is the imposed normal displacement on the spring and K_{n}is the spring constant, then in the course of the nonlinear analysis the spring constant at each integration point along the boundary (s) is evaluated as follows:

- By definition, a normal displacement is positive in the direction of the positive (outward) normal to the boundary.

For tips on modeling compression-only normal spring constraints to simulate contact at single bodies, refer to Helpful Hints and Tips: Simulating Contact with Normal Springs + Nonlinear Analysis.

## General Nonlinear Analysis Setup

Having entered the input data, execute a linear analysis. It is recommended that you obtain a sequence of at least three (3) solutions of increasing p-level in order to estimate the relative error in energy norm. At least one of the solutions in the sequence should have a small relative error. In general, you should expect the accuracy of the nonlinear solution to be somewhat lower than the accuracy of the linear solution.

Then, select the Nonlinear tab in the Solve dialog and proceed as follows:

- Click on the linear solution which is to be the starting solution for the nonlinear iterations (Linear Sol:). The solution name, run number, type, and associated degrees of freedom (DOF) appear in the scrolling list of the Nonlinear tab. The corresponding discretization will remain fixed in the course of the nonlinear solution process.
- Enter a name for the nonlinear solution which is different from the name of the linear solution. For example, you can modify the name of the linear solution by adding the letters NL (for nonlinear).
- Select the analysis Type:
**General (NL Gen)**. - Select Convergence and Technique, and specify the allowable Tolerance. For general nonlinear analysis, the convergence option and the effect of the specified tolerance depends on the type of material.
- For
**linear-elastic materials (geometric nonlinear)**, the iterations will continue until the difference between two consecutive solutions is less than the tolerance, regardless of the convergence option selected. Denoting by*X*the solution vector at the i^{i}^{th}iteration, and the tolerance by τ, this criterion is satisfied when:The significance of the above equation is that the iteration will proceed until the difference in the deformed configuration between the current and previous cycle is less than the prescribed tolerance. - For
**elastic-plastic materials (general nonlinear)**, the convergence option “Stress” means that the iteration will proceed until the convergence criteria given by the above equation (3) and the following equation (1) are both satisfied:For the convergence option “Energy”, the convergence criterion of equation (3) is the only one considered.

- For
- Two Techniques are available for general nonlinear problems: Direct integration and Newton-Raphson.
- Direct integration (
**Direct Int.**), which is the default should be used for most problems because is faster and can handle the vast majority of applications. - Newton-Raphson (
**Newton-Raph.**) algorithm is applicable for those cases in which there is a strong coupling between membrane and bending effects when analyzing thin domains.

- Direct integration (
- Select the number of iteration cycles you wish StressCheck to perform automatically and enter this number into the field next to Iteration Limit. StressCheck will stop when the Iteration Limit is reached unless the specified error tolerance is reached first. When StressCheck stops at the Iteration Limit you can examine the results and decide whether to continue or not. If you wish to continue, enter a higher value for the Iteration Limit, and click on the Solve button.
- Optionally, select the Load Steps button. This option is used for applying the load in increments from the minimum to the maximum specified load in equal increments. The load step factor is applied to the selected load parameter (Load Param.). The Load Steps are the number of steps from the minimum to the maximum load that are applied to any selected load parameter defined in the model. If the load is to remain constant, turn off the Load Steps. In most problems involving large deformations, the load has to be applied in steps to achieve convergence. Therefore, the selection of the initial value of the load and the number of load steps are essential to perform a general nonlinear analysis. The current implementation does not support an automatic load step selection, so some guidelines are provided in the following:
- Select the initial load in such a way that the overall elastic deformation of the object under analysis is of the order of 10% of the characteristic dimension of the object. For example, considering the case of a cantilever beam-like structure under transverse loading, the magnitude of the initial load should be selected such that the maximum deflection computed from the linear solution is not larger than 10% of the length of the beam.
- Select the number of load steps based on the ratio between the maximum load and the initial load. The larger the ratio, the larger the number of load steps. If the error displayed in the status region of the nonlinear execution box increases two or more times in a row with respect to the previous solution then the number of load steps is not large enough. Increase the number of load steps and repeat the procedure.
- When the Load Steps option is turned on, you will be able to select the load parameter and enter the maximum value for the load. The minimum load value is displayed but cannot be changed. You also will have the option of selecting the Save Load Steps toggle. This option will save all converged intermediate load steps for further post-processing. Each saved step will be identified with the name given in (2) above, an underscore ‘_’ followed by the run number of the starting linear solution. For example, NSOL_8 means that the solution NSOL was initiated from the linear solution #8. The run number associated with each nonlinear solution will correspond to each load step. For an example of load stepping in nonlinear analysis, refer to StressCheck Tutorial: Limit Load Analysis via Nonlinear Load Stepping.

## General Nonlinear Analysis Execution

After setting up the general nonlinear analysis in the Nonlinear tab, complete the solution options as follows:

- Select the mode of execution (Execute:). The options are Initialize and Restart. Select Initialize when you begin a general nonlinear analysis, and select Restart when you wish to continue from an existing nonlinear solution.
- Select Run Mode. The options are Automatic and Stepwise. If you select Automatic then the iterations will continue until you reach the specified iteration limit or satisfy the specified error tolerance. If you select Stepwise then the iteration process stops after each cycle, and you need to click on the Solve button to go to the next iteration cycle.
- Select Method. StressCheck uses a Direct solver for the solution of linear system of equations.
- Click on the Solve button to start the general nonlinear analysis. When prompted to run the solution again, click “Yes”. Note: to abort the nonlinear solution, press the Esc key or click the Cancel button in the StressCheck Solution Progress dialog.

After the analysis is completed, the nonlinear solution just obtained will be inserted in the scrolling list of the Results dialog box with the name you entered in step 2, the same run number and DOF as the linear solution selected, and with a type NLGen.

Selecting a different run number of the same linear solution to start a nonlinear iteration will result in a new nonlinear solution record with different degrees of freedom and run number than the previous one. Both nonlinear solutions will be available for extraction. You can obtain as many nonlinear solutions as there are linear solutions. In this way you can check the convergence characteristics of the nonlinear solutions with respect to increasing number of degrees of freedom.

For an example of setting up and executing a general nonlinear analysis for a single lap joint in 2D, refer to StressCheck Tutorial: Linear vs Nonlinear Results for a Single Lap Joint.