8.11. Unstable Structures

A structure can become unstable when a load reaches its buckling value or when nonlinear material becomes unstable. It is more common in slender structures than in bulky structures. The instability could be global (such as a snap-through of a plate) or local (such as failure of a stiffener). Instability problems usually pose convergence difficulties and therefore require the application of special nonlinear techniques.

You can apply the following techniques to solve instability problems:

  • Nonlinear stabilization

    A tool for dealing with local instabilities as well as global instability. You can use it together with nearly any other nonlinear solution technique, such as line search and automatic time-stepping (although not with the arc-length method).

  • Arc-length method

    This method can circumvent global instability when forces are applied. More importantly, it can simulate the negative slope portion of a load-vs.-displacement curve.

  • Running a static problem as a "slow dynamic" analysis

    This method is not strictly a different technique; rather, you use a dynamic effect to prevent divergence. This method is not especially easy to use because the analysis type changes, so you must input mass, apply a damping factor if necessary, and use proper time-integration parameters. Ansys, Inc. therefore recommends trying nonlinear stabilization or the arc-length method first.

Alternative methods are available to help achieve convergence. For example, you could apply displacements instead of forces, if applicable. Or, you could apply artificial small stiffness to the unstable degrees of freedom. These stiffnesses could be either permanent or activated/removed at some load step by applying the stiffness using the control element COMBIN37. However, such methods may be unreliable, impractical, or simply not applicable.

8.11.1. Using Nonlinear Stabilization

Convergence difficulty due to an unstable problem is usually the result of a large displacement for smaller load increments. Nonlinear stabilization can be understood as adding an artificial damper or dashpot element at each node of an element that supports this technique.

To better conceptualize the artificial dashpot element, think of it as having two nodes: one is the node of the FE model that you create, the other is fixed on the ground. The program calculates the damping force such that it is proportional to the relative pseudo velocity of the two nodes of the artificial element, which is equal to the velocity of the node belonging to the FE model.

The pseudo velocity is calculated as a displacement increment divided by the time increment of the substep. Therefore, any degree of freedom that tends to be unstable has a large displacement increment causing a large damping (stabilization) force; this force, in turn, reduces the displacements at the degree of freedom so that stabilization is achieved.

For the degrees of freedom that are stable, the dashpot elements have little effect on the results because the displacements and the stabilization forces are small relative to the physical forces.

The coefficient used to calculate the damping (stabilization) force is the damping factor. Although it has the same physical meaning and unit as physical damping, it is purely numerical in nonlinear stabilization. The program calculates a damping factor based on the energy dissipation ratio that you specify, or you can input the damping factor value directly.

8.11.1.1. Input for Stabilization

The only command necessary for using nonlinear stabilization is STABILIZE. The command activates or deactivates stabilization from one load step to another, or after a multiframe restart during a load step.

The program assumes that the first substep of a load step is stable and calculates the basic properties of the artificial dashpot elements based on this substep. Therefore, the program does not apply stabilization for the first substep unless you specify that it should do so (via the command's SubStpOpt option).

8.11.1.1.1. Controlling the Stabilization Force

Two methods are available for controlling the stabilization force:

  • Applying an energy dissipation ratio (STABILIZE,,ENERGY,,,)

  • Applying a damping factor (STABILIZE,,DAMPING,,,)

Energy Dissipation Ratio

The energy dissipation ratio is the ratio of work done by stabilization forces to element potential energy.

The energy dissipation ratio should be between 0 and 1. Because the value is used with predicted energies, the program accommodates an input value greater than 1, but use caution. The greater the value of the energy ratio or damping factor, the greater the stabilization force (assuming that the specified number of substeps and time remain unchanged) so that the system has a stiffer response.

The specified value should be large enough to circumvent the divergence, but small enough to avoid excessive stiffness. The ideal value is fully dependent on the specific problem, the time of the load step, and the number of substeps.

You may need a few tries to determine the best value. Generally, use a smaller value for local instability and a larger value for global instability. The smaller value should be used for solid elements and the larger value should be used for shell, beam, and link elements. Use a smaller value if the specified time for a load step is small and a larger value if the specified time for a load step is large.

With the energy dissipation method, the program calculates the damping factor (based on the input energy dissipation ratio) during the first substep after the command executes. The program uses the calculated damping factor by predicting the element potential energy and stabilization energy at the end of the load step based on the data of the current substep, then setting the energy dissipation ratio equal to or smaller than the specified value. This prediction could be inaccurate when the problem is highly nonlinear. It is a good practice to examine the energies after the solution has completed because the energy dissipation ratio of the solution could be greater than the ratio initially specified via the STABILIZE command.

Damping Factor

The numerical damping factor is the value that the program uses to calculate stabilization forces for all subsequent substeps. The damping factor is highly dependent on the element size, shape, material, and other factors including the size of the load step and time used in the load step. The damping factor therefore varies from element to element.

During a run using the energy dissipation method, the program calculates the damping factor and reports an element volume weighted average value in the .out file. The value reported provides a reference value for you to specify if you want to apply a damping factor as the stabilization control in a subsequent run. When you input a damping factor as the stabilization control, the program uses that value for all applicable elements; therefore, the results can differ from those of a run where you use the energy dissipation method exclusively.

The value used as a damping factor can usually have a much wider range of variance than the value used for the energy dissipation ratio (which can only change from 0 to 1 in most analyses). If it becomes apparent that your analysis is too sensitive to the energy dissipation ratio value, try using the damping factor.

8.11.1.1.2. Applying a Constant or Reduced Stabilization Force

When stabilization is active, the program can apply the stabilization force in two ways: constant (STABILIZE,CONSTANT) or reduced (STABILIZE,REDUCE). The constant option keeps the damping factor (calculated or input) unchanged during each substep of a load step. The reduced option reduces the damping factor linearly to zero at the end of the load step.

Although the constant option works well in most cases, some stabilization forces usually remain at the end of the load step. Unless the stabilization forces are very small, convergence difficulties may occur if stabilization is deactivated in the next load step. It may be difficult to converge for the first substep of the following load step because the stabilization forces suddenly becomes zero. In such a case, use the reduced option for the previous load step.

Example

Convergence difficulties when using the constant option can occur in an analysis of creep phenomena, where the load is usually applied quickly in the first load step, but no new load is applied at the second load step (which usually has a very long time span). The stabilization forces could be large at the end of the first load step because the time is short and pseudo velocity is high at the first load step. In this case, if stabilization is needed for the first load step, the reduced option is best. The second load step is usually stable so that stabilization is unnecessary.

8.11.1.1.3. Using the Options for the First Substep

When stabilization is active, you can activate artificial dashpot elements (STABILIZE) for the first substep of a load step.

In most analyses, stabilization is unnecessary because the structure is initially stable, so the first substep should converge if the substep size is reasonable. When SubStpOpt = NO, the program calculates all necessary data for stabilization more accurately and achieves convergence more easily; therefore, Ansys, Inc. recommends using this option whenever possible.

Convergence Problems at the First Substep

There are some situations where convergence is an issue at the first substep. For such cases, you can specify substep option (STABILIZE,,,,SubStpOpt) MINTIME or ANYTIME.

The MINTIME option activates stabilization only when the time increment reaches the minimum time increment and the analysis still has not converged. Use this option for the first load step only.

The ANYTIME option activates stabilization for any time increment tried for the first substep. Use this option for any load step other than the first load step where constant stabilization is active (STABILIZE,CONSTANT).

The program uses the damping factor calculated at the previous load step to calculate the stabilization forces for the first substep. If no such value is available, the program assumes a deformation mode for the first substep and calculate a damping factor for the first substep. In either case, the program recalculates the damping factor after a successful convergence based on the solution of the first substep and uses the new value for all subsequent substeps.

Use caution with either substep option and check the final result to verify that the stabilization forces and energies are not excessive.

Example

Specify SubStpOpt = ANYTIME for the current load step after you have applied a constant stabilization force (STABILIZE,CONSTANT) in the previous load step and the first substep did not converge, yet the current load step also requires stabilization. This option is especially useful if you do not want to rerun the previous load step using the reduced method (STABILIZE,REDUCE).

8.11.1.1.4. Setting the Limit Coefficient for Checking Stabilization Forces

When the L2-norm of the stabilization force exceeds the product of the L2-norm of the internal force and the stabilization force coefficient, the program issues a message displaying both the stabilization force norm and the internal force norm. The message indicates that the stabilization force may be too large. In such cases, verify the results carefully, and consider adjusting the stabilization force by updating either the energy-dissipation ratio (STABILIZE,,ENERGY) or the damping factor (STABILIZE,,DAMPING).

If you want to change the stabilization force limit coefficient (by default 0.2, or 20 percent), issue a STABILIZE,,,,,FORCELIMIT command. (To omit a stabilization force check, specify a value of 0.)

The program checks the norms (and reports them if necessary) only after a substep has converged. The stabilization force check has no effect on convergence.

8.11.1.2. Checking Results After Applying Stabilization

Stabilization can help with convergence problems, but it can also affect accuracy if the stabilization energy or forces are too large. Although the program automatically reports the stabilization force norms and compares them to internal force norms, it is still very important to check the stabilization energy and forces to determine whether or not they are excessive.

Stabilization energy, the work done by stabilization forces, should be compared to element potential energy. The energies can be output in the .OUT file (via the OUTPR command). You can also access the energies as follows:

If the stabilization energy (which could be larger than that specified via the STABILIZE command) is much less than the potential energy (for example, within a 1.0 percent tolerance), the result should be acceptable and there should be no need to check the stabilization forces further.

When stabilization energy is large, check the stabilization forces at each degree of freedom for all substeps. If the stabilization forces are much smaller than the applied loads and reaction forces (for example, within a 0.5 percent tolerance), the results are still acceptable. Such a case could occur when an elastic system is loaded first, then unloaded significantly. It is possible that the final element potential energy is small and stabilization energy is relatively large, but all stabilization forces are small. Currently, stabilization forces are accessible in the .OUT file (via OUTPR ).

Even when both stabilization energy and forces are too large, the results could still be valid. Such a scenario is possible when a large part of an elastic structure undergoes large rigid body motion (as in a snap-through simulation). In such a case, the stabilization energy could be large as well as the stabilization force for some degrees of freedom at some substeps, but the results could still be acceptably accurate. Nevertheless, consider the results along with other support data and use your own discretion.

8.11.1.3. Tips for Using Stabilization

You can use nonlinear stabilization to achieve convergence in an analysis of unstable nonlinear problems such as post-buckling, snap-through simulation, and analyses where material is unstable. Although you can activate nonlinear stabilization at the beginning of the solution, it is more efficient and accurate in most cases to activate stabilization in a multiframe restart.

If you wish to activate stabilization after a restart, do not restart from the last converged substep. Rather, restart from the next-to-last converged substep or at some other substep prior to the last converged substep. (The program needs one substep to prepare the data for stabilization.)

Because it is usually impossible to know when a system will become unstable during loading before an analysis starts, run the nonlinear analysis as usual while saving restart files for at least the last two converged substeps. If the analysis fails to converge because of instability, restart the analysis with stabilization activated from the next-to-last converged substep or at some other substep prior to the last converged substep. (The program needs one substep to prepare the data for stabilization.)

If the behavior of a problem is well known from a previous analysis and the structure loses stability very soon after you begin to apply loads, you can activate stabilization at the beginning of the analysis.

Be aware that when stabilization is active, the results could vary if the number of substeps changes. The behavior occurs because the pseudo velocity is different, which in turn causes different stabilization forces. The more stable the system, the less significant the difference.

If restarting from a different substep, using a damping factor (STABILIZE,,DAMPING) can yield more consistent results because the energy prediction may be different from substep to substep, which may necessitate quite different damping factors.

Recalculating the Damping Factor for Energy-Based Stabilization

If the energy-based stabilization-control method is used, the damping factor is recalculated automatically at the start of a new load step.

In some cases, it may be advisable to recalculate the damping factor, as the original damping factor may be inadequate. Issue STABILIZE with RECALCDAMP = 1 in the original analysis so that the damping factor is recalculated upon restart.

The RECALCDAMP = 1 option also enables recalculation of the damping factor after remeshing. (See Stabilization in a Nonlinear Mesh Adaptivity Analysis in the Nonlinear Adaptivity Analysis Guide.)

Deactivating Stabilization

Each time that stabilization is deactivated (STABILIZE,OFF), the stabilization forces change suddenly, which may cause convergence problems. Before completely deactivating stabilization in such cases, use the reduced method of stabilization (STABILIZE,REDUCE) and specify the damping factor used for the previous load step.

Example

Assume that load step 1 is unstable but solvable with stabilization. Load step 2 is stable and requires no stabilization, yet does not converge if you deactivate stabilization (STABILIZE,OFF). In this scenario, you can add a pseudo load step (STABILIZE,REDUCE,DAMPING,VALUE). The damping factor should be the value from load step 1. Do not apply any new loads. This technique should help with convergence.

8.11.2. Using the Arc-Length Method

The arc-length method (ARCLEN and ARCTRM) is another way to solve unstable problems. This method is restricted to static analyses with proportional (ramped) loads only.

When choosing the number of substeps (NSUBST), consider that more substeps result in a longer solution time but sometimes help the program to converge. Ideally, you want the minimum number of substeps required to produce an optimally efficient solution. You might have to make an educated guess of the desired number of substeps, and adjust and re-analyze as needed. The modification of the MAXARC argument of the ARCLEN command can also help the program to converge by preventing the reference arc-length radius from increasing too rapidly (MAXARC = 1).

When the arc-length method is active, do not use line search (LNSRCH), the predictor (PRED), adaptive descent (NROPT,,,ON), automatic time-stepping (AUTOTS, DELTIM), or time-integration effects (TIMINT). Likewise, do not try to base convergence on displacement (CNVTOL,U); instead, use the force criteria (CNVTOL,F).

If an arc-length solution fails to converge within the prescribed maximum number of iterations (NEQIT), the program automatically bisects and continues the analysis. Bisection continues until a converged solution is obtained or until the minimum arc-length radius is used. (The minimum radius is defined by NSBSTP (NSUBST) and MINARC (ARCLEN).

In general, you cannot use this method to obtain a solution at a specified load or displacement value because the value changes (along the spherical arc) as equilibrium is achieved. Figure 8.4: Traditional Newton-Raphson Method vs. Arc-Length Method illustrates how the specified load is used only as a starting point. The actual load at convergence is somewhat less. Similarly, it can be difficult to determine a value of limiting load or deflection within some known tolerance when using the arc-length method in a nonlinear buckling analysis. Generally, you must adjust the reference arc-length radius (NSUBST) by trial-and-error to obtain a solution at the limit point.

You can freely switch from the Newton-Raphson iteration method to the arc-length method at the start of any load step. However, to switch from arc-length to Newton-Raphson iterations, you must terminate the analysis and restart, deactivating the arc-length method in the first load step of the restart (ARCLEN,OFF).

An arc-length solution terminates under these conditions:

  • When limits defined by the ARCTRM or NCNV commands are reached

  • When the solution converges at the applied load

  • When you use an abort file (Jobname.abt)

See the Basic Analysis Guide for information about termination and restart procedures.

Use the load-deflection curve as a guide for evaluating and adjusting your analysis to help you achieve the desired results. It is usually good practice to graph your load-deflection curve (using POST26 commands) with every analysis.

The total arc-length load factor (SOLU,,ALLF) can be either positive or negative. Similarly, TIME, which in an arc-length analysis is related to the total arc-length load factor, can also be either positive or negative. Negative values of ALLF or TIME indicate that the arc-length feature is applying load in the reverse direction in order to maintain stability in the structure. Negative ALLF or TIME values are commonly seen in various snap-through analyses.

8.11.2.1. Checking Arc-Length Results

When reading arc-length results into the database for POST1 postprocessing (SET), always reference the desired results data set by its load step and substep number (LSTEP and SBSTEP) or by its data set number (NSET).

Do not reference results by a TIME value, because TIME in an arc-length analysis is not always monotonically increasing. (A single value of TIME might reference more than one solution.) Additionally, the program cannot correctly interpret negative TIME values (which might be encountered in a snap-through analysis).

If TIME becomes negative, define an appropriate variable range (/XRANGE or /YRANGE) before creating any POST26 graphs.

8.11.3. Nonlinear Stabilization vs. the Arc-Length Method

You can use nonlinear stabilization for both local and global instability with few limitations related to compatibility with other algorithms and materials. However, nonlinear stabilization cannot detect the negative-slope portion of a load-vs.-displacement curve problem with global instability (if any).

Although the results obtained before the negative slope portion of the problem are always correct, the results for the substeps after the negative-slope portion are also correct if the materials are not deformation-history-dependent. (Consider the results to be questionable if the materials are deformation-history-dependent.)

The arc-length method can detect the negative-slope portion of a load-vs.-displacement curve, but it cannot solve problems with local instability and material softening. Other limitations exist, related mostly to compatibility with certain algorithms and materials.

To help you understand when to use either method, the following table compares both methods and their applications:

Nonlinear Stabilization vs. Arc-Length
Analysis Problem Nonlinear Stabilization Arc-Length
Local instability or local bucklingYesNo
Global instability or global bucklingYesYes
Negative slope of load-vs.-displacement curveCannot detect this part of the curve, but other parts can be simulated for deformation-history-independent materials, and the preceding part can be simulated for deformation- history-dependent materialsYes
Rate-dependent materials and creepYesYes
Line searchYesNo
Substep predictor (PRED,ON)Yes[a] Different algorithm
Automatic time-stepping YesDifferent algorithm
Displacements as loadYesYes
Activate/deactivate from load step to load step, or within a load stepYesLimited
Linear solver useNo restrictionsSparse solver only
Time at converged substepPositivePositive or negative
Nonlinear contactYesNot recommended

[a] Solid elements only.