Chapter 8: Nonlinear Structural Analysis

Go to the Next Chapter
Go to the Previous Chapter
Go to the Table of Contents for This Manual
Go to the Guides Master Index

Chapter 1 * Chapter 2 * Chapter 3 * Chapter 4 * Chapter 5 * Chapter 6 * Chapter 7 * Chapter 8 * Chapter 9 * Chapter 10 * Chapter 11 * Chapter 12 * Chapter 13 * Chapter 14


8.1 What is Structural Nonlinearity?

You encounter structural nonlinearities on a routine basis. For instance, whenever you staple two pieces of paper together, the metal staples are permanently bent into a different shape. (See Figure 8-1(a).) If you heavily load a wooden shelf, it will sag more and more as time passes. (See Figure 8-1(b).) As weight is added to a car or truck, the contact surfaces between its pneumatic tires and the underlying pavement change in response to the added load. (See Figure 8-1(c).) If you were to plot the load-deflection curve for each of these examples, you would discover that they all exhibit the fundamental characteristic of nonlinear structural behavior-a changing structural stiffness.

Figure 8-1 Common examples of nonlinear structural behavior

8.1.1 Causes of Nonlinear Behavior

Nonlinear structural behavior arises from a number of causes, which can be grouped into three principal categories:

8.1.1.1 Changing Status (Including Contact)

Many common structural features exhibit nonlinear behavior that is status-dependent. For example, a tension-only cable is either slack or taut; a roller support is either in contact or not in contact. Status changes might be directly related to load (as in the case of the cable), or they might be determined by some external cause.

Situations in which contact occurs are common to many different nonlinear applications. Contact forms a distinctive and important subset to the category of changing-status nonlinearities.

See Chapter 9 for detailed information on performing contact analyses using ANSYS.

8.1.1.2 Geometric Nonlinearities

If a structure experiences large deformations, its changing geometric configuration can cause the structure to respond nonlinearly. An example would be the fishing rod shown in Figure 8-2. Geometric nonlinearity is characterized by "large" displacements and/or rotations.

Figure 8-2 A fishing rod demonstrates geometric nonlinearity

8.1.1.3 Material Nonlinearities

Nonlinear stress-strain relationships are a common cause of nonlinear structural behavior. Many factors can influence a material's stress-strain properties, including load history (as in elasto-plastic response), environmental conditions (such as temperature), and the amount of time that a load is applied (as in creep response).

8.1.2 Basic Information About Nonlinear Analyses

ANSYS employs the "Newton-Raphson" approach to solve nonlinear problems. In this approach, the load is subdivided into a series of load increments. The load increments can be applied over several load steps. Figure 8-3 illustrates the use of Newton-Raphson equilibrium iterations in a single DOF nonlinear analysis.

Figure 8-3 Newton-Raphson approach

Before each solution, the Newton-Raphson method evaluates the out-of-balance load vector, which is the difference between the restoring forces (the loads corresponding to the element stresses) and the applied loads. The program then performs a linear solution, using the out-of-balance loads, and checks for convergence. If convergence criteria are not satisfied, the out-of-balance load vector is re-evaluated, the stiffness matrix is updated, and a new solution is obtained. This iterative procedure continues until the problem converges.

A number of convergence-enhancement and recovery features, such as line search, automatic load stepping, and bisection, can be activated to help the problem to converge. If convergence cannot be achieved, then the program attempts to solve with a smaller load increment.

In some nonlinear static analyses, if you use the Newton-Raphson method alone, the tangent stiffness matrix may become singular (or non-unique), causing severe convergence difficulties. Such occurrences include nonlinear buckling analyses in which the structure either collapses completely or "snaps through" to another stable configuration. For such situations, you can activate an alternative iteration scheme, the arc-length method, to help avoid bifurcation points and track unloading.

The arc-length method causes the Newton-Raphson equilibrium iterations to converge along an arc, thereby often preventing divergence, even when the slope of the load vs. deflection curve becomes zero or negative. This iteration method is represented schematically in Figure 8-4.

Figure 8-4 Traditional Newton-Raphson Method vs. Arc-Length Method

To summarize, a nonlinear analysis is organized into three levels of operation:

Figure 8-5 illustrates a typical load history for a nonlinear analysis. Also see the discussion of load steps, substeps, and equilibrium iterations in Chapter 2 of the ANSYS Basic Analysis Procedures Guide.

Figure 8-5 Load steps, substeps, and "time"

The ANSYS program gives you a number of choices when you designate convergence criteria: you can base convergence checking on forces, moments, displacements, or rotations, or on any combination of these items. Additionally, each item can have a different convergence tolerance value. For multiple-degree-of-freedom problems, you also have a choice of convergence norms.

You should almost always employ a force-based (and, when applicable, moment-based) convergence tolerance. Displacement-based (and, when applicable, rotation-based) convergence checking can be added, if desired, but should usually not be used alone.

8.1.2.1 Conservative versus Nonconservative Behavior; Path Dependency

If all energy put into a system by external loads is recovered when the loads are removed, the system is said to be conservative. If energy is dissipated by the system (such as by plastic deformation or sliding friction), the system is said to be nonconservative. An example of a nonconservative system is shown in Figure 8-6.

An analysis of a conservative system is path independent: loads can usually be applied in any order and in any number of increments without affecting the end results. Conversely, an analysis of a nonconservative system is path dependent: the actual load-response history of the system must be followed closely to obtain accurate results. An analysis can also be path dependent if more than one solution could be valid for a given load level (as in a snap-through analysis). Path dependent problems usually require that loads be applied slowly (that is, using many substeps) to the final load value.

Figure 8-6 Nonconservative (path-dependent) behavior

8.1.2.2 Substeps

When using multiple substeps, you need to achieve a balance between accuracy and economy: more substeps (that is, small time step sizes) usually result in better accuracy, but at a cost of increased run times. ANSYS provides automatic time stepping that is designed for this purpose.

Automatic time stepping adjusts the time step size as needed, gaining a better balance between accuracy and economy. Automatic time stepping activates the ANSYS program's bisection feature.

Bisection provides a means of automatically recovering from a convergence failure. This feature will cut a time step size in half whenever equilibrium iterations fail to converge and automatically restart from the last converged substep. If the halved time step again fails to converge, bisection will again cut the time step size and restart, continuing the process until convergence is achieved or until the minimum time step size (specified by you) is reached.

8.1.2.3 Load and Displacement Directions

Consider what happens to loads when your structure experiences large deflections. In many instances, the loads applied to your system maintain constant direction no matter how the structure deflects. In other cases, forces will change direction, "following" the elements as they undergo large rotations.

The ANSYS program can model both situations, depending on the type of load applied. Accelerations and concentrated forces maintain their original orientation, regardless of the element orientation. Surface loads always act normal to the deflected element surface, and can be used to model "following" forces. Figure 8-7 illustrates constant-direction and following forces.

Note-Nodal coordinate system orientations are not updated in a large deflection analysis. Calculated displacements are therefore output in the original directions.

Figure 8-7 Load directions before and after deflection

8.1.2.4 Nonlinear Transient Analyses

The procedure for analyzing nonlinear transient behavior is similar to that used for nonlinear static behavior: you apply the load in incremental steps, and the program performs equilibrium iterations at each step. The main difference between the static and transient procedures is that time-integration effects can be activated in the transient analysis. Thus, "time" always represents actual chronology in a transient analysis. The automatic time stepping and bisection feature is also applicable for transient analyses.

8.2 Using Geometric Nonlinearities

Small deflection and small strain analyses assume that displacements are small enough that the resulting stiffness changes are insignificant.

In contrast, large strain analyses account for the stiffness changes that result from changes in an element's shape and orientation. By issuing NLGEOM,ON (GUI path Main Menu>Solution>Analysis Options), you activate large strain effects in those element types that support this feature. The large strain feature is available in most of the solid elements (including all of the large strain and hyperelastic elements), as well as in most of the shell and beam elements. Large strain effects are not available in the ANSYS/LinearPlus program.

The large strain procedure places no theoretical limit on the total rotation or strain experienced by an element. (Certain ANSYS element types will be subject to practical limitations on total strain-see below.) However, the procedure requires that strain increments must be restricted to maintain accuracy. Thus, the total load should be broken into smaller steps.

Stress-Strain

In large strain solutions, all stress-strain input and results will be in terms of true stress and true (or logarithmic) strain. (In one dimension, true strain would be expressed as = ln (/0). For small-strain regions of response, true strain and engineering strain are essentially identical.) To convert strain from small (engineering) strain to logarithmic strain, use ln = ln (1 + eng). To convert from engineering stress to true stress, use true = eng (1 + eng). (This stress conversion is valid only for incompressible plasticity stress-strain data.)

Large Deflections with Small Strain

This feature is available in all beam and most shell elements, as well as in a number of the nonlinear elements. Issue NLGEOM,ON (Main Menu>Solution> Analysis Options) to activate large deflection effects forin those elements that are designed for small strain analysis. types that support this feature.

8.2.1 Stress Stiffening

The out-of-plane stiffness of a structure can be significantly affected by the state of in-plane stress in that structure. This coupling between in-plane stress and transverse stiffness, known as stress stiffening, is most pronounced in thin, highly stressed structures, such as cables or membranes. A drumhead, which gains lateral stiffness as it is tightened, would be a common example of a stress-stiffened structure.

Even though stress stiffening theory assumes that an element's rotations and strains are small, in some structural systems (such as in Figure 8-8 (a)), the stiffening stress is only obtainable by performing a large deflection analysis. In other systems (such as in Figure 8-8 (b)), the stiffening stress is obtainable using small deflection, or linear, theory.

Figure 8-8 Stress-stiffened beams

To use stress stiffening in the second category of systems, you must issue PSTRES,ON (GUI path Main Menu>Solution>Analysis Options) in your first load step.

Large strain and large deflection procedures include initial stress effects as a subset of their theory. For most elements, initial stiffness effects are automatically included when large deformation effects are activated [NLGEOM,ON] (GUI path Main Menu>Solution>Analysis Options).

8.2.2 Spin Softening

Spin softening adjusts (softens) the stiffness matrix of a rotating body for dynamic mass effects. The adjustment approximates the effects of geometry changes due to large deflection circumferential motion in a small deflection analysis. It is usually used in conjunction with prestressing [PSTRES] (GUI path Main Menu>Solution> Analysis Options), which is caused by centrifugal force in the rotating body. It should not be used with the other deformation nonlinearities, large deflection or large strain. Spin softening is activated by the KSPIN field on the OMEGA command (GUI path Main Menu>Preprocessor>Loads>-Loads- Apply>-Structural- Other>Angular Velocity).

8.3 Modeling Material Nonlinearities

A number of material-related factors can cause your structure's stiffness to change during the course of an analysis. Nonlinear stress-strain relationships of plastic, multilinear elastic, and hyperelastic materials will cause a structure's stiffness to change at different load levels (and, typically, at different temperatures). Creep, viscoplasticity, and viscoelasticity will give rise to nonlinearities that can be time-, rate-, temperature-, and stress-related. Swelling will induce strains that can be a function of temperature, time, neutron flux level (or some analogous quantity), and stress. Any of these kinds of material properties can be incorporated into an ANSYS analysis if you use appropriate element types.

8.3.1 Nonlinear Materials

If a material displays nonlinear or rate-dependent stress-strain behavior, then you must use the TB family of commands [TB, TBTEMP, TBDATA, TBPT, TBCOPY, TBLIST, TBPLOT, TBDELE] (GUI path Main Menu>Solution>-Load Step Opts-Other> Change Mat Props>Data Tables>Define/Activate) to define the nonlinear material property relationships in terms of a data table. The exact form of these commands varies depending on the type of nonlinear material behavior being defined. The different material behavior options are described briefly below. See Section 2.5 of the ANSYS Elements Reference for specific details for each material behavior type.

8.3.1.1 Plasticity

Most common engineering materials exhibit a linear stress-strain relationship up to a stress level known as the proportional limit. Beyond this limit, the stress-strain relationship will become nonlinear, but will not necessarily become inelastic. Plastic behavior, characterized by nonrecoverable strain, begins when stresses exceed the material's yield point. Because there is usually little difference between the yield point and the proportional limit, the ANSYS program assumes that these two points are coincident in plasticity analyses (see Figure 8-9).

Plasticity is a nonconservative, path-dependent phenomenon. In other words, the sequence in which loads are applied and in which plastic responses occur affects the final solution results. If you anticipate plastic response in your analysis, you should apply loads as a series of small incremental load steps or time steps, so that your model will follow the load-response path as closely as possible. The maximum plastic strain is printed with the substep summary information in your output (Jobname.OUT).

Figure 8-9 Elasto-plastic stress-strain curve

The automatic time stepping feature [AUTOTS] (GUI path Main Menu>Solution> Time/Frequenc>Time & Substeps) will respond to plasticity after the fact, by reducing the load step size after a load step in which a large number of equilibrium iterations was performed or in which a plastic strain increment greater than 15% was encountered. If too large a step was taken, the program will bisect and re-solve using a smaller step size.

Other kinds of nonlinear behavior might also occur along with plasticity. In particular, large deflection and large strain geometric nonlinearities will often be associated with plastic material response. If you expect large deformations in your structure, you must activate these effects in your analysis with the NLGEOM command (GUI path Main Menu>Solution>Analysis Options). For large strain analyses, material stress-strain properties must be input in terms of true stress and logarithmic strain.

Plastic Material Options:

Several options are available for describing plasticity behavior. You may incorporate other options into the program by using User Programmable Features (see the Guide to ANSYS User Programmable Features ANSYS Advanced Analysis Techniques Guide).

The Bilinear Kinematic Hardening (BKIN) option assumes the total stress range is equal to twice the yield stress, so that the Bauschinger effect is included (see Figure 8-11). This option is recommended for general small-strain use for materials that obey von Mises yield criteria (which includes most metals). It is not recommended for large-strain applications. Stress-strain-temperature data are demonstrated in the following example. Figure 8-10(a) illustrates a typical display [TBPLOT] of bilinear kinematic hardening properties.

MPTEMP,1,0,500		! Define temperatures for Young's modulus
MP,EX,1,12E6,-8E3		! C0 and C1 terms for Young's modulus
TB,BKIN,1,2		! Activate a data table
TBTEMP,0.0		! Temperature = 0.0
TBDATA,1,44E3,1.2E6		! Yield = 44,000; Tangent modulus = 1.2E6
TBTEMP,500		! Temperature = 500
TBDATA,1,29.33E3,0.8E6	! Yield = 29,330; Tangent modulus = 0.8E6
TBLIST,BKIN,1		! List the data table
/XRANGE,0,0.01		! X-axis of TBPLOT to extend from =0 to 0.01
TBPLOT,BKIN,1		! Display the data table

See the MPTEMP, MP, TB, TBTEMP, TBDATA, TBLIST, /XRANGE, and TBPLOT command descriptions for more information.

Figure 8-10(a) Bilinear kinematic hardening (b) Multilinear kinematic hardening

Figure 8-11 Bauschinger effect

The Multilinear Kinematic Hardening (MKIN) option uses the Besseling model, also called the sublayer or overlay model, so that the Bauschinger effect is included. This option is not recommended for large-strain analyses. Typical stress-strain-temperature data input is demonstrated by this example. Figure 8-10(b) illustrates typical stress-strain curves for this option.

MPTEMP,1,0,500			! Define temperature-dependent EX,
MP,EX,1,12E6,-8E3			! as in above example
TB,MKIN,1,2			! Activate a data table
TBTEMP,,STRAIN			! Next TBDATA values are strains
TBDATA,1,3.67E-3,5E-3,7E-3,10E-3,15E-3	! Strains for all temps
TBTEMP,0.0			! Temperature = 0.0
TBDATA,1,44E3,50E3,55E3,60E3,65E3	! Stresses at temperature = 0.0
TBTEMP,500			! Temperature = 500
TBDATA,1,29.33E3,37E3,40.3E3,43.7E3,47E3	! Stresses at temperature = 500
/XRANGE,0,0.02
TBPLOT,MKIN,1
Please see the MPTEMP, MP, TB, TBTEMP, TBDATA, /XRANGE, and TBPLOT command descriptions for more information.

The Multilinear Isotropic Hardening (MISO) option uses the von Mises yield criteria coupled with an isotropic work hardening assumption. This option is not recommended for cyclic or highly nonproportional load histories in small-strain analyses. It is, however, recommended for large strain analyses. The MISO option can contain up to 20 different temperature curves, with up to 100 different stress-strain points allowed per curve. Strain points can differ from curve to curve. The same stress-strain-temperature curves from the previous example would be input for a multilinear isotropic hardening material as follows:

MPTEMP,1,0,500		! Define temperature-dependent EX,
MP,EX,1,12E6,-8E3		! as in above example
TB,MISO,1,2,5		! Activate a data table
TBTEMP,0.0		! Temperature = 0.0
TBPT,DEFI,3.67E-3,29.33E3	! Strain, stress at temperature = 0
TBPT,DEFI,5E-3,50E3
TBPT,DEFI,7E-3,55E3
TBPT,DEFI,10E-3,60E3
TBPT,DEFI,15E-3,65E3
TBTEMP,500		! Temperature = 500
TBPT,DEFI,3.67E-3,29.33E3	! Strain, stress at temperature = 500
TBPT,DEFI,5E-3,37E3
TBPT,DEFI,7E-3,40.3E3
TBPT,DEFI,10E-3,43.7E3
TBPT,DEFI,15E-3,47E3
/XRANGE,0,0.02
TBPLOT,MISO,1
See the MPTEMP, MP, TB, TBTEMP, TBPT, /XRANGE, and TBPLOT command descriptions for more information.

The Bilinear Isotropic Hardening (BISO) option is like the multilinear isotropic hardening option, except that a bilinear curve is used instead of a multilinear curve. Input is similar to that required for the bilinear kinematic option, except that the TB command now uses the label BISO. This option is often preferred for large strain analyses.

The Anisotropic (ANISO) option allows for different bilinear stress-strain behavior in the material x, y, and z directions as well as different behavior in tension, compression, and shear. This option is applicable to metals that have undergone some previous deformation (such as rolling). It is not recommended for cyclic or highly nonproportional load histories since work hardening is assumed. The yield stresses and slopes are not totally independent (see the ANSYS Theory Reference for details).

To define anisotropic material plasticity, use MP commands (Main Menu> Solution>Other>Change Mat Props) to define the elastic moduli (EX, EY, EZ, NUXY, NUYZ, and NUXZ). Then, issue the TB command [TB,ANISO] followed by TBDATA commands to define the yield points and tangent moduli. (See Section 2.5.1 of the ANSYS Elements Reference for more information.)

The Drucker-Prager (DP) option is applicable to granular (frictional) material such as soils, rock, and concrete, and uses the outer cone approximation to the Mohr-Coulomb law.

MP,EX,1,5000
MP,NUXY,1,0.27
TB,DP,1
TBDATA,1,2.9,32,0		! Cohesion = 2.9 (use consistent units),
			! Angle of internal friction = 32 degrees,
			! Dilatancy angle = 0 degrees
See the MP, TB, and TBDATA command descriptions for more information.

8.3.1.2 Multilinear Elasticity

The Multilinear Elastic (MELAS) material behavior option describes a conservative (path-independent) response in which unloading follows the same stress-strain path as loading. Thus, relatively large load steps might be appropriate for models that incorporate this type of material nonlinearity. Input format is similar to that required for the multilinear isotropic hardening option, except that the TB command now uses the label MELAS.

8.3.1.3 Hyperelasticity

A material is said to be hyperelastic if there exists an elastic potential function (or strain energy density function), which is a scalar function of one of the strain or deformation tensors, whose derivative with respect to a strain component determines the corresponding stress component.

Hyperelasticity can be used to analyze rubber-like materials that undergo large strains and displacements with small volume changes (nearly incompressible materials). Large strain theory is required [NLGEOM,ON]. A representative hyperelastic structure (a balloon seal) is shown in Figure 8-12.

Figure 8-12 Hyperelastic structure

The hyperelastic elements in the ANSYS program use a penalty function extension of the elastic potential function that explicitly includes two pressure variables: the pressure obtained from displacements and a separately interpolated pressure. This reduces the likelihood of displacement locking, which can occur when a nearly incompressible material undergoes large strains.

ANSYS element types HYPER56, HYPER58, HYPER74, HYPER158, and SHELL181 use up to a nine-term Mooney-Rivlin elastic potential function. If you already know values for two-term, five-term, or nine-term Mooney-Rivlin constants, you can enter them directly with the TB family of commands. (See your ANSYS Theory Reference for information on the Mooney-Rivlin function.) For these element types, you can also specify your own material function as a User Programmable Feature (see the Guide to ANSYS User Programmable Features).

An example of direct Mooney-Rivlin constant input follows:

MP,NUXY,1,0.49999		! NUXY should be almost equal to, but less than 0.5
TB,MOONEY,1,1
TBDATA,1,0.163498
TBDATA,2,0.125076
TBDATA,3,-0.0047583
TBDATA,4,0.014719
TBDATA,6,0.0003882
! (Constants 5, 7, 8, and 9 default to 0.0 in this example)
See the MP, TB, and TBDATA command descriptions for more information.

The Mooney-Rivlin constants for any given hyperelastic material are not generally available in the open literature. Consequently, you might have to use the *MOONEY command to determine these constants from a set of known experimental test results. Sometimes the manufacturer of the material will be able to supply some or all of the needed test data, but you might find that you need to obtain more data from a testing laboratory.

Hyperelastic material behavior is much more complicated than typical metallic material behavior. Hyperelastic stress-strain relationships usually differ significantly for tension, compression, and shear modes of deformation. Therefore, using *MOONEY to generate a generally applicable hyperelastic material model will require test data that encompasses all possible modes of deformation: tension, compression and shear. See the ANSYS Theory Reference for a discussion of hyperelastic test methods and equivalent deformation modes.

If an incomplete set of data is provided (for instance, if only uniaxial tension data are available), the program can still determine usable hyperelastic material properties. However, in such cases the deformations experienced in the model should be limited to be of the same nature as those experienced in the tests. In other words, the test data should represent all modes of deformation and ranges of response (strain) that will be experienced in the model.

This advice is simply common sense-if you do not know how the material behaves in a certain mode of deformation or range of strain, you cannot accurately predict the behavior of a part that experiences such deformations or strains. For example, if all you have is uniaxial tension data, don't model a part that experiences significant shear deformations. If your test data extend only from 0% to 100% strain, don't model a part that experiences 150% strain. If, after reviewing your analysis, you discover that the available test data do not adequately characterize the model's response, get more test data!

You can use the *MOONEY command to automatically determine a set of Mooney-Rivlin constants from experimental test data. After the program determines these constants, it stores them in the database and in an array parameter. Additionally, it writes an ASCII file (Jobname.TB) that records the Mooney-Rivlin constants in the form of a series of TB and TBDATA commands. Once such a file exists, you can use it in future analyses to define that same material's Mooney-Rivlin constants-you do not need to use the *MOONEY command every time to regenerate these constants.

8.3.1.4 Determining and Applying Mooney-Rivlin Constants

The procedure for determining and applying Mooney-Rivlin constants consists of five main steps:

1. Dimension all arrays that will be used for data input, Mooney-Rivlin constant storage, and calculated stress-strain evaluation.

2. Fill the input-data arrays with engineering stress and strain test data.

3. Determine the Mooney-Rivlin constants automatically.

4. Evaluate the quality of the automatically determined Mooney-Rivlin constants.

5. Apply the Mooney-Rivlin constants in your analysis.

8.3.1.5 Dimension the Arrays

Command(s):

GUI:

Utility Menu>Parameters>Array Parameters>Define/Edit

You must dimension arrays before using the *MOONEY command (GUI path Main Menu> Preprocessor>Material Props>Mooney-Rivlin>Calc Constants). In most cases, you will need to dimension at least six different arrays. (You can give these arrays any valid parameter names, but for convenience, we will use specific array names, such as STRAIN, STRESS, etc., in our discussion. You can substitute any other valid parameter names that you like.) The six arrays are:

Table 8-1 Suggested Mooney-Rivlin constants

Number of Points in the Stress-strain Curve

Suggested Mooney-Rivlin Function

No inflection points (that is, single curvature)

Two-term

One inflection point (that is, double curvature)

Five-term

Two inflection points

Nine-term

Figure 8-13 Typical hyperelastic stress-strain curves

*DIM,STRAIN,,20,3	! Dim. array (STRAIN) for 20 input strain-data points
*DIM,STRESS,,20,3	! Dim. array (STRESS) for input stress data (20 pts.)
*DIM,CONST,,5,1	! Dim. array (CONST) for 5-term M-R constants
*DIM,CALC,,20,3	! Dim. array (CALC) for sorted calculated stresses
*DIM,SORTSN,,20,3	! Dim. array (SORTSN) for sorted input strain data
*DIM,SORTSS,,20,3	! Dim. array (SORTSS) for sorted input stress data
See the *DIM command description for more information.

8.3.1.6 Fill the Input-Data Arrays

Once you have dimensioned your arrays, you can then fill the STRAIN and STRESS arrays with test data using the *SET command (GUI path Utility Menu> Parameters>Scalar Parameters). (Again, remember that you can give these arrays any valid parameter names; particular array names are used here only for the convenience of this discussion.)

Note-The *MOONEY command interprets all input stress and strain data as engineering stress and engineering strain.

These arrays are of dimension Nx3, with each column of the arrays containing data from one type of test, in this order:

Note that these do not have a 1:1 relationship with the modes of deformation and their equivalencies. The first mode of deformation, uniaxial tension, has equibiaxial compression as its equivalency, but the first column of the array contains data from uniaxial tension and/or uniaxial compression. Likewise, the second mode of deformation, equibiaxial tension, has uniaxial compression as its equivalency, but the second column of the array contains data from equibiaxial tension and/or equibiaxial compression.

Table 8-2 Data locations in stress and strain input arrays

Mode of Deformation

Equivalent Test Types

Array Location for Test Data

Uniaxial tension

Uniaxial tension
Equibiaxial compression

Column one
Column two

Equibiaxial tension

Equibiaxial tension
Uniaxial compression

Column two
Column one

Shear

Planar tension
Planar compression

Column three
Column three

If fewer than three types of tests are used, you must leave the missing columns blank. Schematically, data input might be represented as shown in Figure 8-14.

Figure 8-14 Data locations in stress and strain input arrays

Consider a case in which data from uniaxial tension and shear tests are available. The commands to store the strain and stress data in the input-data arrays could look something like this (of course, the arrays can have any valid array names, and the number of data points represented by N1 and N2 in this example can be any integral numbers):

! Uniaxial Tension Data
*SET,STRAIN(1,1), ...	! First 10 strain data points
*SET,STRAIN(11,1), ...	! Strain data points 11 through N1 (if N1<21)
*SET,STRESS(1,1), ...	! First 10 stress data points
*SET,STRESS(11,1), ...	! Stress data points 11 through N1
! Shear Data
*SET,STRAIN(1,3), ...	! Strain data points 1 through N2 (if N2<11)
*SET,STRESS(1,3), ...	! Stress data points 1 through N2
See the *SET command description for more information.

8.3.1.7 Determine the Mooney-Rivlin Constants

To generate Mooney-Rivlin constants automatically, first use the TB command, with Lab=MOONEY and TBOPT=1. Next, issue the *MOONEY command, inserting the appropriate names of arrays that you have already dimensioned (particular names have been used in this example for convenience of discussion only; you can use any valid parameter names):

TB,MOONEY,MAT,NTEMP,,1
*MOONEY,STRAIN(1,1),STRESS(1,1),,CONST(1),CALC(1),SORTSN(1),
		SORTSS(1),Fname,Ext
The program automatically determines the Mooney-Rivlin constants, stores them in the database and in the CONST array (which can have any valid parameter name), and writes a series of TB and TBDATA commands in the ASCII file Fname.Ext (default file name = Jobname.TB).

Uniaxial equations will be used for the data in column 1, equibiaxial equations for the data in column 2, and planar (pure shear) equations for the data in column 3.

Note-All the laboratory test data entered in the STRAIN and STRESS arrays will be used to determine the Mooney-Rivlin hyperelastic material constants.

8.3.1.8 Evaluate the Quality of the Mooney-Rivlin Constants

In your printout (file Jobname.OUT), examine the "ROOT-MEAN-SQUARE ERROR (PERCENTAGE)" and the "COEFFICIENT OF DETERMINATION." These two values give you a statistical measure of how well your calculated stress-strain curve fits the experimental data points. The root-mean-square error, which is expressed as a percentage (that is, a value of 2.5 means 2.5 %), should be "close" to zero. The coefficient of determination will be less than 1.0, but should be "close" to 1.0 (that is, typically 0.99 or better).

In addition, you should use the *EVAL and *VPLOT commands (GUI paths Main Menu>Preprocessor>Material Props>Mooney-Rivlin>Evaluate Const and Utility Menu>Plot>Array Parameters) to graph the input and calculated stress-strain curves, in order to obtain a visual check on how well the calculated curve matches the experimental data. In comparing these curves, you should compare calculated values against test data that represent the same mode of deformation. That is, you should compare the shape of the calculated uniaxial tension curve (EVPARM=1 in the *EVAL command) against uniaxial tension data only (column 1 of the sorted STRAIN and STRESS arrays). Similarly, you should compare the calculated uniaxial compression curve against the uniaxial compression data only, and the calculated shear curve against the shear data only.

When you graph your calculated stress-strain curves, you can extend the displayed curve into regions that were not defined by the experimental data. Graphing your curves over such an extended range can help you qualitatively understand your model's behavior if its response ever happens to exceed the range of experimental strain. However, realize that if you extend a displayed curve into a region that represents a different mode of deformation, then that portion of the display will be meaningless. For instance, you should graph a uniaxial tension curve only in regions of positive strain, and a uniaxial compression curve only in regions of compressive strain. Remember that good practice usually requires that the test data should represent all modes of deformation and ranges of response (strain) experienced by your model.

The *MOONEY command automatically writes the Mooney-Rivlin constants to the CONST array. Because *EVAL reads these same constants from this CONST array, you can readily do a *EVAL following a *MOONEY operation in the same ANSYS session. If you already have the Mooney-Rivlin constants (and thus will not be doing a *MOONEY calculation), you must first dimension [*DIM] and fill the CONST array with the Mooney-Rivlin constants before you can evaluate the curves [*EVAL]. You can fill this array fairly easily, given that the CONST array is either 1x2, 1x5, or 1x9 at most. You could also add the *DIM and array-filling commands to your archived Jobname.TB file to make this operation more convenient.

To check your curve's shape, you must dimension [*DIM] two more table array vectors (identified as XVAL and ECALC in the *EVAL command description; any valid parameter names may be used). Each of these table array vectors should have dimension P, where P is the number of points you want to use to plot your curve. (Typically, you will want to make P fairly large in order to generate a very smooth curve.) Next, specify the mode of deformation, define an extended range of strain, and fill the arrays with engineering strain and calculated engineering stress data, using the *EVAL command. Finally, graph [*VPLOT] the calculated stress-strain curve. The following example demonstrates how to graph a calculated curve for the uniaxial compression deformation mode:

! Dimension strain and stress arrays for the calculated curve:
! (Any valid parameter names can be used)
*DIM,XVAL,TABLE,1000
*DIM,ECALC,TABLE,1000
! Specify the mode of deformation (EVPARM), define the strain range
! (XMIN,XMAX), and use the M-R constants (CONST) to fill the strain (XVAL)
! and stress (ECALC) arrays with calculated data:
*EVAL,1,2,CONST(1),XMIN,XMAX,XVAL(1),ECALC(1)
! Label the graph axes:
/AXLAB,X,Engineering Strain
/AXLAB,Y,Engineering Stress
! Plot the calculated uniaxial compression curve:
*VPLOT,XVAL(1),ECALC(1)
(See the *DIM, *EVAL, /AXLAB, and *VPLOT command descriptions for more information.)

Figure 8-15 Typical evaluated [*EVAL] hyperelastic stress-strain curve

8.3.1.9 Using the Mooney-Rivlin Constants

If the curve-fit statistics and the overall curve shape are satisfactory, then you can proceed to use the generated Mooney-Rivlin material properties in your analysis. (The *MOONEY command will have stored these constants in the database.) In future analyses using the same material model, you can simply read in [/INPUT] the file Jobname.TB to load the constants into your new database. However, don't forget to define a value for Poisson's ratio [MP,NUXY,...]. Always remember to examine your analysis results carefully, to determine whether or not your model's modes of deformation and values of maximum strain were properly represented by the original test data.

Analyses involving hyperelastic elements are sometimes very sensitive to material property specification and load application. Some values of Mooney-Rivlin constants result in very stable stiffness matrices whereas others do not. Therefore, choose constants with caution and experiment with slightly different values if at first the analysis is unsuccessful. For nearly incompressible materials with Poisson's ratio greater than 0.49, we recommend that you use the hyperelastic elements with mixed U-P formulation (HYPER56, HYPER58, HYPER74, and HYPER158).

Note-The element types HYPER84 and HYPER86 are intended primarily for modeling compressible, foam-like elastomers, using a Blatz-Ko function to describe the material properties. Select the Blatz-Ko option by setting KEYOPT(2)=1 for these elements, then use MP commands to enter appropriate values for EX and NUXY to define the initial material shear modulus. An incompressible hyperelastic material option is also available for HYPER84 and HYPER86, but it is limited to two-term Mooney-Rivlin only. In general, it is recommended that you use HYPER56, HYPER58,HYPER74, or HYPER158 (not HYPER84 or HYPER86) for all incompressible hyperelastic materials.

Problems using hyperelastic elements can be sensitive to the rate of load application. In most instances, load application should be slow so as not to over-distort elements in the converging sequence. Each problem may be unique and require special consideration. Bifurcation of the solution, indicating that two or more different geometric configurations have the same minimum potential energy, may occur at various times during the loading history. Automatic time stepping with bisection [AUTOTS,ON] is often effective in overcoming these difficulties.

8.3.1.10 Creep

Creep is a rate dependent material nonlinearity in which the material continues to deform under a constant load. Conversely, if a displacement is imposed, the reaction force (and stresses) will diminish over time (stress relaxation; see Figure 8-16(a)). The three stages of creep are shown in Figure 8-16(b). The ANSYS program has the capability of modeling the first two stages (primary and secondary). The tertiary stage is usually not analyzed since it implies impending failure.

Figure 8-16 Stress relaxation and creep

Creep is important in high temperature stress analyses, such as for nuclear reactors. For example, suppose you apply a preload to some part in a nuclear reactor to keep adjacent parts from moving. Over a period of time at high temperature, the preload would decrease (stress relaxation) and potentially let the adjacent parts move. Creep can also be significant for some materials such as prestressed concrete. Typically, the creep deformation is permanent.

The creep strain rate may be a function of stress, strain, temperature, and neutron flux level. Libraries of creep strain rate equations are built into the ANSYS program for primary, secondary, and irradiation induced creep. (See Section 2.5.7 of the ANSYS Elements Reference for discussions of, and input procedures for, these various creep equations.) These equations require specific units, as described in Tables 2.5-1 through 2.5-13 of the ANSYS Elements Reference. In particular, temperatures used in the creep equations should be based on an absolute scale. You can incorporate other creep expressions into the program by using User Programmable Features (see the Guide to ANSYS User Programmable Features).

For highly nonlinear creep strain vs. time curves, a small time step must be used. A creep time step optimization procedure is available [AUTOTS, CRPLIM] for automatically adjusting the time step as appropriate.

8.3.1.11 Viscoplasticity

Viscoplasticity is a time-dependent plasticity phenomenon, where the development of the plastic strains are dependent on the rate of loading. The primary applications are high-temperature metal forming processes such as rolling and deep drawing, which involve large plastic strains and displacements with small elastic strains (see Figure 8-17). The plastic strains are typically very large (for example, 50% or greater), requiring large strain theory [NLGEOM,ON].

Viscoplasticity is modeled with element types VISCO106, VISCO107, and VISCO108, using Anand's model for material properties as described in Section 2.5.1 of the ANSYS Elements Reference.

Figure 8-17 Viscoplastic behavior in a rolling operation

Viscoplasticity is defined by unifying plasticity and creep via a set of flow and evolutionary equations. A constraint equation is used to preserve volume in the plastic region.

8.3.1.12 Viscoelasticity

Viscoelasticity is similar to creep, but part of the deformation is removed when the loading is taken off. A common viscoelastic material is glass. Some plastics are also considered to be viscoelastic. One type of viscoelastic response is illustrated in Figure 8-18.

Figure 8-18 Viscoelastic behavior (Maxwell model)

Viscoelasticity is modeled with element types VISCO88 and VISCO89. You must input material properties using the TB family of commands. (See Section 2.5.3 of the ANSYS Elements Reference and Section 4.6 of the ANSYS Theory Reference for details of how to input viscoelastic material properties using the TB family of commands.)

8.3.1.13 Swelling

Certain materials respond to neutron flux by enlarging volumetrically, or swelling. In order to include swelling effects, you must write your own swelling subroutine, USERSW. (See the Guide to ANSYS User Programmable Features for a discussion of User-Programmable Features.) Section 2.5.8 of the ANSYS Elements Reference discusses how to use the TB family of commands to input constants for the swelling equations. Swelling can also be related to other phenomena, such as moisture content. The ANSYS commands for nuclear swelling can be used analogously to define swelling due to other causes.

8.4 Running a Nonlinear Analysis in ANSYS

ANSYS employs an automatic solution control method that, based on the physics of your problem, sets various nonlinear analysis controls to the appropriate values. If you are not satisfied with the results obtained with these values, you can manually override the settings. The following commands are set to optimal defaults:

AUTOTS

PRED

MONITOR

DELTIM

NROPT

NEQIT

NSUBST

TINTP

SSTIF

CNVTOL

CUTCONTROL

KBC

LNSRCH

OPNCONTROL

EQSLV

ARCLEN

CDSWRITE

LSWRITE

These commands and the settings they control are discussed in later sections. You can also refer to the individual command descriptions in the ANSYS Commands Reference.

If you do choose to override the ANSYS-specified settings, or if you wish to use an input list from a previous release of ANSYS, issue SOLCONTROL,OFF in the /SOLUTION phase, or /CONFIG,NLCONTROL,OFF following the /BATCH command. See the SOLCONTROL command description for more details.

ANSYS' automatic solution control is active for the following analyses:

8.4.1 Build the Model

This step is essentially the same for both linear and nonlinear analyses, although a nonlinear analysis might include special elements or nonlinear material properties. See Section 8.11, "Using Nonlinear (Changing-Status) Elements" and Section 8.3,"Modeling Material Nonlinearities" for more details. If your analysis includes large-strain effects, your stress-strain data must be expressed in terms of true stress and true (or logarithmic) strain. For more information on building models in ANSYS, see the ANSYS Modeling and Meshing Guide.

8.4.2 Apply Loads and Obtain the Solution

After you've created a model in ANSYS, you define the analysis type and options, apply loads, specify load step options, and solve. A nonlinear solution will differ from a linear solution in that it often requires multiple load increments, and always requires equilibrium iterations. The general procedure follows. See Section 8.5 for a sample problem that walks you through a specific nonlinear analysis.

1. Specify a new or restart analysis and define the analysis type; in this case, static. The analysis type cannot be changed after the first load step (that is, after you issue your first SOLVE command).

Command(s):

GUI:

Main Menu>Solution>-Analysis Type-New Analysis/Restart>Static

2. Specify if your problem has large deflections or large strain. This option cannot be changed after the first load step (that is, after you issue your first SOLVE command).

Command(s):

GUI:

Main Menu>Solution>Analysis Options

3. Apply loads on the model. See Chapter 2, Table 2-3 of this guide and Chapter 2 of the ANSYS Basic Analysis Procedures Guide for load information. Remember that inertia and point loads will maintain constant direction, but surface loads will "follow" the structure in a large-deformation analysis. You can apply complex boundary conditions by defining a 1-dimensional table (TABLE type array parameter). See Section 2.5.2.3 "Applying Loads Using TABLE Type Array Parameters," for more information.

4. Specify time/frequency load step options: Time, number/size of time steps, and stepped/ramped loading.

Command(s):

GUI:

Main Menu>Solution>-Load Step Opts-Time/Frequenc>Time & Time Step/Time & Substep

5. Specify nonlinear load step options as necessary: Solution termination criteria and arc-length option.

Command(s):

GUI:

Main Menu>Solution>-Load Step Opts-Nonlinear>Arc-Length Opts

6. Specify birth and death options as necessary.

Command(s):

GUI:

Main Menu>Solution>-Load Step Opts-Other>Kill Elements

Main Menu>Solution>-Load Step Opts-Other>Activate Elements

Main Menu>Solution>-Load Step Opts-Other>Change Mat Props>Change Mat num

7. Specify output control options. See Chapter 2 of the ANSYS Basic Analysis Procedures Guide for more information on these options.

Command(s):

GUI:

Main Menu>Solution>-Load Step Opts-Output Ctrls>SoluPrintout

Main Menu>Solution>-Load Step Opts-Output Ctrls>DB/Results File

Main Menu>Solution>-Load Step Opts-Output Ctrls>Integration Pt

8. Save a back-up copy of the database to a named file.

Command(s):

GUI:

Utility Menu>File>Save As

9. Solve.

Command(s):

GUI:

Main Menu>Solution>-Solve-Current LS

10. If you need to define multiple load steps, repeat steps 4-8 for each additional load step. Other methods for multiple load steps-the load step file method and the array parameter method-are described in the ANSYS Basic Analysis Procedures Guide.

11. Leave the SOLUTION processor.

Command(s):

GUI:

Close the Solution menu.

8.4.2.1 Advanced Analysis Options

Stress Stiffness

To account for buckling, bifurcation behavior, ANSYS includes stress stiffness in all geometrically nonlinear analyses. If you are confident of ignoring such effects, you can turn stress stiffening off (SSTIF,OFF). This command has no effect with several ANSYS elements; see the ANSYS Elements Reference for the description of the specific elements you're using.

Newton-Raphson Option

ANSYS' automatic solution control will use the FULL Newton-Raphson option with adaptive descent off if there is a nonlinearity present. However, when node-to-node, node-to-surface contact elements are used for contact analysis with friction, then adaptive descent is automatically turned on (for example, PIPE20, BEAM23, BEAM24, and PIPE60). The underlying contact elements require adaptive descent for convergence.

Use this option only in a nonlinear analysis. This option specifies how often the tangent matrix is updated during solution. If you choose to override the default, you can specify one of these values:

Equation Solver

ANSYS' automatic solution control activates the sparse direct solver (EQSLV, SPARSE) for most cases. Other choices include the frontal, sparse, or PCG solvers. For applications using solid elements (for example, SOLID92 or SOLID45), the PCG solver may be faster, especially when doing 3D modeling.

The sparse direct solver is in sharp contrast to the iterative solvers included in ANSYS, such as the PCG solvers. Although the PCG solver can solve indefinite matrix equations, when the PCG solver encounters an ill-conditioned matrix, the solver will iterate to the specified number of iterations and stop if it fails to converge. When this happens, it triggers bisection. After completing the bisection, the solver continues the solution if the resulting matrix is well-conditioned. Eventually, the entire nonlinear load step can be solved.

Use the following guidelines for selecting either the sparse or PCG solvers for nonlinear structure analysis:

8.4.2.2 Advanced Load Step Options

Automatic Time Stepping

ANSYS' automatic solution control turns automatic time stepping on. An internal auto-time step scheme ensures that the time step variation is neither too aggressive (resulting in many bisection/cutbacks) nor too conservative (time step size is too small). At the end of a time step, the size of the next time step is predicted based on four factors:

Convergence Criteria

The program will continue to do equilibrium iterations until the convergence criteria [CNVTOL] are satisfied (or until the maximum number of equilibrium equations is reached [NEQIT]). You can define custom criteria if the default settings are not suitable.

ANSYS' automatic solution control uses L2-norm of force (and moment) tolerance (TOLER) equal to 0.5%, a setting that is appropriate for most cases. In most cases, an L2-norm check on displacement with TOLER equal to 5% is also used in addition to the force norm check. The check that the displacements are loosely set serves as a double-check on convergence.

By default, the program will check for force (and, when rotational degrees of freedom are active, moment) convergence by comparing the square root sum of the squares (SRSS) of the force imbalances against the product of VALUE*TOLER. The default value of VALUE is the SRSS of the applied loads (or, for applied displacements, of the Newton-Raphson restoring forces), or MINREF (which defaults to 0.001), whichever is greater. The default value of TOLER is 0.005. If SOLCONTROL,OFF, TOLER defaults to 0.001 and MINREF defaults to 1.0 for force convergence.

You should almost always use force convergence checking. You can also add displacement (and, when applicable, rotation) convergence checking. For displacements, the program bases convergence checking on the change in deflections (u) between the current (i) and the previous (i-1) iterations: u=ui-ui-1.

Note-If you explicitly define any custom convergence criteria [CNVTOL], the entire default criteria will be overwritten. Thus, if you define displacement convergence checking, you will have to redefine force convergence checking. (Use multiple CNVTOL commands to define multiple convergence criteria.)

Using tighter convergence criteria will improve the accuracy of your results, but at the cost of more equilibrium iterations. If you want to tighten (or loosen, which is not recommended) your criteria, you should change TOLER by one or two orders of magnitude. In general, you should continue to use the default value of VALUE; that is, change the convergence criteria by adjusting TOLER, not VALUE. You should make certain that the default value of MINREF=0.0011.0 makes sense in the context of your analysis. If your analysis uses certain sets of units or has very low load levels, you might want to specify a smaller value for MINREF.

Also, we do not recommend putting two or more disjointed structures into one model for the nonlinear analysis because the convergence check tries to relate these disjointed structures, often producing some unwanted residual force.

Checking Convergence in a Single and Multi-DOF System

To check convergence in a single degree of freedom (DOF) system, you compute the force (and moment) imbalance for the one DOF, and compare this value against the established convergence criteria (VALUE*TOLER). (You can also perform a similar check for displacement (and rotation) convergence for your single DOF.) However, in a multi-DOF system, you might want to use a different method of comparison.

The ANSYS program provides three different vector norms to use for convergence checking:

Example

For the following example, the substep will be considered to be converged if the out-of-balance force (checked at each DOF separately) is less than or equal to 5000*0.0005 (that is, 2.5), and if the change in displacements (checked as the square root sum of the squares) is less than or equal to 10*0.001 (that is, 0.01).

	CNVTOL,F,5000,0.0005,0
	CNVTOL,U,10,0.001,2

Maximum Number of Equilibrium Iterations [NEQIT]

ANSYS' automatic solution control sets this value to between 15 and 26 iterations, depending upon the physics of the problem. The idea is to employ a small time step with fewer quadratically converging iterations.

This option limits the maximum number of equilibrium iterations to be performed at each substep (default = 25 if solution control is off). If the convergence criteria have not been satisfied within this number of equilibrium iterations, and if auto time stepping is on [AUTOTS], the analysis will attempt to bisect. If bisection is not possible, then the analysis will either terminate or move on to the next load step, according to the instructions you issue in the NCNV command.

Predictor-Corrector Option [PRED]

ANSYS' automatic solution control will set PRED, ON if there are no beam or shell elements present. If the time step size is reduced greatly in the current substep, PRED is turned off. For transient analysis, the predictor is also turned off.

You can activate a predictor on the DOF solution for the first equilibrium iteration of each substep. This feature accelerates convergence and is particularly useful if nonlinear response is relatively smooth. It is not so helpful in analyses that incorporate large rotations or viscoelasticity. Using the predictor for large rotations can cause divergence and thus is not recommended for problems with large rotations.

Line Search Option [LNSRCH]

ANSYS' automatic solution control will toggle line search on and off as needed. For most contact problems, LNSRCH is toggled on. For most non-contact problems, LNSRCH is toggled off.

This convergence-enhancement tool multiplies the calculated displacement increment by a program-calculated scale factor (having a value between 0 and 1), whenever a stiffening response is detected. Because the line search algorithm is intended to be an alternative to the adaptive descent option [NROPT], adaptive descent is not automatically activated if the line search option is on. We do not recommend activating both line search and adaptive descent simultaneously.

When an imposed displacement exists, a run cannot converge until at least one of the iterations has a line search value of 1. ANSYS scales the entire U vector, including the imposed displacement value; otherwise, a "small" displacement would occur everywhere except at the imposed DOF). Until one of the iterations has a line search value of 1, ANSYS does not impose the full value of the displacement.

Creep Criteria [CRPLIM,CRCR]

If your structure exhibits creep behavior, you can specify a creep criterion for automatic time step adjustment. (If automatic time stepping [AUTOTS] is off, this creep criterion will have no effect.) The program will compute the ratio of creep strain increment (cr, the change in creep strain in the last time step) to the elastic strain (el), for all elements. If the maximum ratio is greater than the criterion CRCR, the program will then decrease the next time step size; if it is less, the program might increase the next time step size. (The program will also base automatic time stepping on the number of equilibrium iterations, impending element status change, and plastic strain increment. The time step size will be adjusted to the minimum size calculated for any of these items.) If the ratio cr/el is above the stability limit of 0.25, and if the time increment cannot be decreased, a divergent solution is possible and the analysis will be terminated with an error message. This problem can be avoided by making the minimum time step size sufficiently small [DELTIM, NSUBST].

Note-If you do not want to include the effects of creep in your analysis, set the time steps to be higher than the previous time step, but not more than 1.0e-6 higher.

Cutback Criteria [CUTCONTROL]

This command provides finer control over bisections and cutback in time step size. By default, the "plslimit" (maximum plastic strain increment limit) is set to 15%. This field is set to such a large value for avoiding unnecessary bisections caused by high plastic strain due to a local singularity which is not normally of interest to the user. The "crplimit" (creep increment limit) is set to 10%, as before; this is a reasonable limit for creep analysis. The number of points per cycle for second order dynamic equations is set to NPOINT=13 by default to gain efficiency at little cost to accuracy.

Time Step Open Control [OPNCONTROL]

This command is available for thermal analysis. It's primary use is in unsteady state thermal analysis where the final temperature stage reaches a steady state. In such cases, the time step can be opened quickly. The default is that if the TEMP increment is smaller than 0.1 in three (NUMSTEP=3) contiguous substeps, the time step size can be "opened-up" (value =0.1 by default). The time step size can then be opened continuously for greater solution efficiency.

Solution Monitoring [MONITOR]

This command provides a facility to monitor a solution value at a specified node in a specified DOF. The command also provides the user with a means to quickly review the solution convergence efficiency, rather than attempting to gather this information from a lengthy output file. For instance, if an excessive number of attempts were made for a substep, the information contained in the file provides hints to either reduce the initial time step size or increase the minimum number of substeps allowed through the NSUBST command to avoid an excessive number of bisections.

8.4.3 Review the Results

Results from a nonlinear static analysis consist mainly of displacements, stresses, strains, and reaction forces. You can review these results in POST1, the general postprocessor, or in POST26, the time-history postprocessor.

Remember that in POST1, only one substep can be read in at a time, and that the results from that substep should have been written to Jobname.RST. (The load step option command OUTRES controls which substep results are stored on Jobname.RST.) A typical POST1 postprocessing sequence is described below.

8.4.3.1 Points to Remember

8.4.3.2 Reviewing Results in POST1

1. Verify from your output file (Jobname.OUT) whether or not the analysis converged at all load steps.

2. Enter POST1. If your model is not currently in the database, issue RESUME

Command(s):

GUI:

Main Menu>General Postproc

3. Read in results for the desired load step and substep, which can be identified by load step and substep numbers or by time. (Note, however, that arc-length results should not be identified by time.

Command(s):

GUI:

Main Menu>General Postproc>-Read Results-load step

Caution: If you specify a TIME value for which no results are available, the ANSYS program will perform a linear interpolation to calculate the results at that value of TIME. Realize that this interpolation will usually cause some loss of accuracy in a nonlinear analysis (see Figure 8-19). Thus, for a nonlinear analysis, you should usually postprocess at a TIME that corresponds exactly to the desired substep.

Figure 8-19 Linear interpolation of nonlinear results can introduce some error

4. Display the results using any of the following options:

8.4.3.3 Option: Display Deformed Shape

Command(s):

GUI:

Main Menu>General Postproc>Plot Results>Deformed Shape

8.4.3.4 Option: Contour Displays

Command(s):

GUI:

Main Menu>General Postproc>Plot Results>-Contour Plot-Nodal Solu or Element Solu

Command(s):

GUI:

Main Menu>General Postproc>Element Table>Plot Element Table
Main Menu>General Postproc>Plot Results>-Contour Plot-Line Elem Res

8.4.3.5 Option: Tabular Listings

Command(s):

GUI:

Main Menu>General Postproc>List Results>Nodal Solution
Main Menu>General Postproc>List Results>Element Solution
Main Menu>General Postproc>List Results>Reaction Solution

8.4.3.6 Other Capabilities

Many other postprocessing functions-mapping results onto a path, report quality listings, and so on-are available in POST1. See Chapter 5 of the ANSYS Basic Analysis Procedures Guide for details. Load case combinations usually are not valid for nonlinear analyses.

8.4.3.7 Reviewing Results in POST26

31.You can also review the load-history response of a nonlinear structure using POST26, the time-history postprocessor. Use POST26 to compare one ANSYS variable against another. For instance, you might graph the displacement at a node versus the corresponding level of applied load, or you might list the plastic strain at a node and the corresponding TIME value. A typical POST26 postprocessing sequence might follow these steps:

1. Verify from your output file (Jobname.OUT) whether or not the analysis converged at all desired load steps. You should not base design decisions on unconverged results.

2. If your solution converged, enter POST26. If your model is not currently in the database, issue RESUME.

Command(s):

GUI:

Main Menu>TimeHist Postpro

3. Define the variables to be used in your postprocessing session. The SOLU command will cause various iteration and convergence parameters to be read into the database, where you can incorporate them into your postprocessing.

Command(s):

GUI:

Main Menu>TimeHist Postpro>Define Variables

4. Graph or list the variables.

Command(s):

GUI:

Main Menu>TimeHist Postpro>Graph Variables
Main Menu>TimeHist Postpro>List Variables
Main Menu>TimeHist Postpro>List Extremes

8.4.3.8 Other Capabilities

Many other postprocessing functions are available in POST26. See Chapter 6 of the ANSYS Basic Analysis Procedures Guide for details.

See the NLGEOM, SSTIF, NROPT, TIME, NSUBST, AUTOTS, KBC, CNVTOL, NEQIT, NCNV, PRED, OUTRES, and SOLU command descriptions for more information.

8.4.4 Terminating a Running Job; Restarting

You can stop a nonlinear analysis by creating an "abort" file (Jobname.ABT). See Chapter 3 of the ANSYS Basic Analysis Procedures Guide for details. The program will also stop upon successful completion of the solution, or if a convergence failure occurs.

You can often restart an analysis if it successfully completed one or more iterations before it terminated. Restart procedures are covered in Chapter 3 of the ANSYS Basic Analysis Procedures Guide.

8.5 Sample Nonlinear Analysis (GUI Method)

In this sample analysis, you will run a nonlinear analysis of an elastic-plastic circular plate under the action of a dead load and a cyclic point load. You will define a kinematic hardening plasticity curve, as well as load step options, the maximum and minimum number of substeps for a load step, and the various load steps that describe externally applied loads. You will also learn how to interpret the monitor file that ANSYS writes for a nonlinear analysis.

ANSYS uses an incremental solution procedure to obtain a solution to a nonlinear analyses. In this example, the total external load within a load step is applied in increments over a certain number of substeps. As described earlier in this chapter, ANSYS uses a Newton-Raphson iterative procedure to solve each substep. You must specify the number of substeps for each load step, since this number controls the size of the initial load increment applied in the first substep of the each load step. ANSYS automatically determines the size of the load increment for each subsequent substep in a load step. You can control the size of the load increment for these subsequent substeps by specifying the maximum and minimum number of substeps. If you define the number of substeps, the maximum and minimum number of substeps all to be the same, then ANSYS uses a constant load increment for all substeps within the load step.

8.5.1 Problem Description

In this example, you will use an axisymmetric model for the plate, using four-node PLANE42 elements with the axisymmetric option to mesh the model. You will perform a geometrically nonlinear analysis. Specify the kinematic constraints as follows: The nodes located at the center of the plate are constrained to have zero radial displacement. The nodes located at the outer edge are constrained to have zero radial and axial displacement. You will apply the dead load in load step 1 and the cyclic point load in six subsequent load steps. See the Problem Sketch in Section 8.5.3.

You'll specify 10 substeps for the first load to ensure that the increment of the dead load applied over the first substep is 1/10 of the total load of 0.125N/m2. You'll also specify a maximum of 50 and a minimum of 5 substeps to ensure that if the plate exhibits a severe nonlinear behavior during the solution, then the load increment can be cut back to 1/50 the total load. If the plate exhibits mild nonlinear behavior, then the load increment can be increased up to 1/5 the size of the total load.

For the subsequent six load steps that apply the cyclic point load, you'll specify 4 substeps, with a maximum of 25 and a minimum of 2 substeps.

For this example, you'll monitor the history over the entire solution of the vertical displacement of the node at the location where the point cyclic load is applied and the reaction force at the node located at the bottom of the clamped edge .

8.5.2 Problem Specifications

The circular plate has a radius of 1.0 m and a thickness of 0.1m. The following material properties are used for this problem:

The kinematic hardening plasticity curve for the material is:

Log Strain

True Stress (Pa)

0.001123514

19.0

0.001865643

22.8

0.002562402

25.08

0.004471788

29.07

0.006422389

31.73

The plate has a dead load acting as a uniform pressure of 0.125N/m2. The history of the cyclic point load is shown here:

Figure 8-20 Cyclic Point Load History

8.5.3 Problem Sketch

8.5.3.1 Set the Analysis Title and Jobname

1. Choose menu path Utility Menu>File>Change Title.

2. Type the text "Cyclic loading of a fixed circular plate"

3. Click on OK.

4. Choose menu path Utility Menu>File>Change Jobname. The Change Jobname dialog box appears.

5. Type axplate and click OK.

8.5.3.2 Define the Element Types

1. Choose menu path Main Menu>Preprocessor>Element Type> Add/Edit/Delete.

2. Click on Add. The Library of Element Types dialog box appears.

3. In the list on the left, click once on "Structural Solid."

4. In the list on the right, click once on "Quad 4node 42."

5. Click on OK. The Library of Element Types dialog box closes.

6. Click on Options. The PLANE42 element type options dialog box appears.

7. In the scroll box for element behavior, scroll to "Axisymmetric" and select it.

8. Click on OK.

9. Click on Close in the Element Types dialog box.

8.5.3.3 Define Material Properties

1. Choose menu path Main Menu>Preprocessor>Material Props> -Constant-Isotropic. The Isotropic Material Properties dialog box appears.

2. Click on OK to specify material number 1. Another Isotropic Material Properties dialog box appears.

3. Enter 16911.23 for Young's modulus (EX).

4. Enter .3 for Poisson's ration (NUXY).

5. Click on OK.

8.5.3.4 Define and Fill Kinematic Hardening table (KINH)

1. Choose menu path Main Menu>Preprocessor>Material Props>Data Tables>Define/Activate. The Define/Activate Data Table dialog box appears.

2. In the list of data table types, choose "Kin Harden KINH" for kinematic hardening.

3. Enter or verify that the material reference number is 1.

4. Enter 1 for the number of temperatures.

5. Enter 5 for the number of data points/temperature and click OK.

6. Choose menu path Main Menu>Preprocessor>Material Props>Data Tables>Edit Active. The Data Table KINH at Temp = 0.0 dialog box appears.

7. Enter 0.001123514 for Strain for the first point.

8. Enter 19.00 for Stress for the first point.

9. Enter the following Strain/Stress values for the remaining points:
0.001865643, 22.8
0.002562402, 25.08
0.004471788, 29.07
0.006422389, 31.73

10. Choose File>Apply/Quit.

8.5.3.5 Label Graph Axes and Plot Data Tables

1. Choose menu path Utility Menu>PlotCtrls>Style>Graphs>Modify Axes. The Axes Modifications for Graph Plots dialog appears.

2. Enter "Total Strain" for the X-axis label.

3. Enter "True Stress" for the Y-axis label and click OK.

4. Choose menu path Main Menu>Preprocessor>Material Props>Data Tables>Graph. The Graph Data Tables dialog box appears.

5. Verify that the type of data table is Kin Harden KINH and that the material number is 1. Click OK. A graph of the data table values appears. Verify this information.

8.5.3.6 Create Rectangle

1. Choose menu path Utility Menu>Parameters>Scalar Parameters. The Scalar Parameters dialog box appears.

2. Type "radius=1.0" in the Selection field and click Accept. This value is the radius of the plate.

3. Type "thick=0.1" in the Selection field and click Accept. This value is the thickness of the plate. Click Close.

4. Choose menu path Main Menu>Preprocessor>-Modeling-Create> -Areas- Rectangle>By Dimensions. The Create Rectangle by Dimensions dialog box appears.

5. Enter "0, radius" for X-coordinates.

6. Enter "0, thick" for Y-coordinates and click on OK. A rectangle appears in the ANSYS Graphics window.

7. Choose menu path Utility Menu>Plot>Lines.

8.5.3.7 Set Element Size

1. Choose menu path Main Menu>Preprocessor>MeshTool. The MeshTool dialog box appears.

2. Click Size Controls>Lines>Set. The Element Size on Picked Lines picking menu appears. Click on the two vertical lines (2 and 4). Click OK on the picking menu. The Element Sizes on Picked Lines dialog box appears.

3. Enter 8 for number of element divisions and click on OK.

4. Repeat these steps (1-3), but choose horizontal lines 1 and 3, and specify 40 element divisions.

8.5.3.8 Mesh the Rectangle

1. On the MeshTool, pick Quad and Map, then click Mesh. The Mesh Areas picking menu appears.

2. Click on Pick All.

3. Click on SAVE_DB on the ANSYS Toolbar.

4. Click on Close on the MeshTool.

8.5.3.9 Assign Analysis and Load Step Options

1. Choose menu path Main Menu>Solution>Analysis Options. The Static or Steady-State Analysis dialog box appears.

2. Turn large deformation effects ON and click OK.

3. Choose menu path Main Menu>Solution>-Load Step Opts-Output Ctrls>DB/Results File. The Controls for Database and Results File Writing dialog box appears.

4. Verify that All items are selected, and choose Every substep for the File write frequency. Click OK.

8.5.3.10 Monitor the Displacement

In this step, you monitor the displacement of the node located at the axes of symmetry, as well as the reaction force at the fixed end of the plate.

1. Choose menu path Utility Menu>Parameters>Scalar Parameters. The Scalar Parameters dialog box appears.

2. Type "ntop=node(0,thick,0.0)" in the Selection field and click Accept.

3. Type "nright=node(radius,0.0,0.0)" in the Selection field and click Accept, then Close.

4. Choose menu path Main Menu>Solution>Nonlinear>Monitor. The Monitor picking menu appears.

5. Type "ntop" in the ANSYS input window and press ENTER. Click OK in the picking menu. The Monitor dialog box appears.

6. In the scroll box for Quantity to be monitored, scroll to "UY" and select it. Click OK.

7. Choose menu path Main Menu>Solution>Nonlinear>Monitor. The Monitor picking menu appears.

8. Type "nright" in the ANSYS input window and press ENTER. Click OK in the picking menu. The Monitor dialog box appears.

9. In the scroll box for Variable to redefine, scroll to "Variable 2" and select it. In the scroll box for Quantity to be monitored, scroll to "FY" and select it. Click OK.

8.5.3.11 Apply Constraints

1. Choose menu path Utility Menu>Select>Entities. The Select Entities dialog box appears.

2. Select Nodes and By Location in the first two selection boxes. Verify that X coordinates are selected, and enter "radius" in the Min,Max field. Click OK.

3. Choose menu path Main Menu>Solution>-Loads-Apply>-Structural- Displacement>On Nodes. The Apply U,ROT on Nodes picking menu appears.

4. Click Pick All. The Apply U,ROT on Nodes dialog box appears.

5. Click on "All DOF" for DOFs to be constrained. Click OK.

6. Choose menu path Utility Menu>Select>Entities. The Select Entities dialog box appears. Verify that Nodes, By Location, and X coordinates are selected. Enter "0" the Min, Max field and click OK. This will select the nodes at the X=0 position.

7. Choose menu path Main Menu>Solution>-Loads-Apply>-Structural- Displacement>On Nodes. The Apply U,ROT on Nodes picking menu appears.

8. Click Pick All. The Apply U,ROT on Nodes dialog box appears.

9. Click on "UX" for DOFs to be constrained. Click on All DOF to deselect it.

10. Enter "0.0" as the Displacement value. Click OK.

11. Choose menu path Utility Menu>Select>Entities. The Select Entities dialog box appears. Verify that Nodes and By Location are selected.

12. Click on Y coordinates and enter "thick" in the Min,Max field. Click OK.

13. Choose menu path Main Menu>Solution>-Loads-Apply>Structural- Pressure>On Nodes. The Apply PRES on Nodes picking menu appears.

14. Click on Pick All. The Apply PRES on nodes dialog box appears.

15. Enter "1.25" in the Load PRES value field and click OK.

16. Choose menu path Utility Menu>Select>Everything.

8.5.3.12 Solve the First Load Step

1. Choose menu path Main Menu>Solution>-Load Step Opts-Time/Frequenc>Time and Substps. The Time and Substep Options dialog appears.

2. Enter 10 as the number of substeps, enter 50 as the maximum number of substeps, and enter 5 as the minimum number of substeps. Click OK.

3. Choose menu path Main Menu>Solution>-Solve-Current LS. Review the information in the /STAT window, and click on Close.

4. Click on OK on the Solve Current Load Step dialog box.

5. Click on Close on the Information dialog box when the solution is done.

6. Choose Utility Menu>Plot>Elements.

8.5.3.13 Solve the Next Six Load Steps

1. Choose Utility Menu>Parameters>Scalar Parameters. The Scalar Parameters dialog box appears.

2. Enter "f=0.0425" in the Selection field and click on Accept. Click on Close.

3. Choose menu path Main Menu>Solution>-Load Step Opts- Time/Frequenc>Time and Substps. The Time and Substep Options dialog appears.

4. Enter "4" for the number of substeps, "25" for the maximum number of substeps, and "2" for the minimum number of substeps. Click OK.

5. Choose menu path Main Menu>Solution>-Loads-Apply>-Structural- Force/Moment on Nodes. The Apply F/M on Nodes picking menu appears.

6. Enter "ntop" in the ANSYS Input window and press RETURN. Click OK in the Select Nodes picking menu.

7. Select "FY" in the Direction of force/mom selection box. Enter "-f" in the Force/moment value field. Click OK.

8. Choose menu path Main Menu>Solution>-Solve-Current LS. Review the information in the /STAT window, and click on Close.

9. Click on OK on the Solve Current Load Step dialog box.

10. Click on Close on the Information dialog box when the solution is done.

11. Repeat Steps 5-10, entering "f" in the Force/moment value field at Step 7.

12. Repeat Steps 5-11 two more times, for a total of three cycles (six substeps).

8.5.3.14 Review the Monitor File

1. Choose menu path Utility Menu>List>Files>Other. The List File dialog box appears. Select the axplate.mntr file.

2. Review the time step size, vertical displacement, and reaction force evolution over the entire solution.

3. Click Close.

8.5.3.15 Use the General Postprocessor to Plot Results.

1. Choose menu path Main Menu>General Postproc>-Read Results-Last set.

2. Choose menu path Main Menu>General Postproc>Plot Results> Deformed Shape. The Plot Deformed Shape dialog box appears.

3. Click on Def + undef edge for items to be plotted. Click OK. The deformed mesh appears in the ANSYS Graphics window.

4. Choose menu path Main Menu>General Postproc>Plot Results>-Contour Plot-Element Solu. The Contour Element Solution Data dialog box appears.

5. In the selection box on the left, choose Strain-plastic. In the selection box on the right, choose Eqv plastic EPEQ. Click OK. The contour plot appears in the Graphics window.

6. Choose Utility Menu>Plot>Elements.

8.5.3.16 Define Variables for Time-History Postprocessing

1. Choose menu path Utility Menu>Select>Entities. The Select Entities dialog box appears.

2. Verify that Nodes and By Num/Pick are selected in the first two boxes. Click OK. The Select Nodes picking menu appears.

3. Type "ntop" in the ANSYS Input window and press RETURN. Click OK.

4. Choose menu path Utility Menu>Select>Entities. The Select Entities dialog box appears. Choose Elements in the first drop-down selection box. Choose Attached to in the second drop-down selection box. Verify that Nodes is selected. Click OK.

5. Choose Utility Menu>Select>Everything.

6. Choose Main Menu>TimeHist Postpro>Define Variables. The Defined Time-History Variables dialog box appears. Click on Add... The Add Time-History Variable dialog box appears.

7. Click on Element Results. Click OK. The Define Element Data picking menu appears.

8. Click on the top left element. Click OK on the picking menu. The Define Nodal Data picking menu appears.

9. Click on the top left node of the top left element. Click OK on the picking menu. The Define Element Results Variable dialog box appears.

10. Verify that the reference number of the variable is 2.

11. Choose Stress in the selection list on the left. Choose Y-direction SY in the selection list on the right. Click OK. The Defined Time-History Variables dialog box re-appears, with a second variable, ESOL, listed. Click Close. It should show element number 281, node number 50, item S, component Y, and name SY.

12. Click on Add. Repeat steps 8-10, with variable reference number 3.

13. In the Define Element Results Variable dialog box, choose Strain-elastic in the selection list on the left. Choose Y-dir'n EPEL Y in the selection list on the right. Click OK.

14. Click on Add. Repeat steps 8-10, with variable reference number 4.

15. In the Define Element Results Variable dialog box, choose Strain-plastic in the selection list on the left. Choose Y-dir'n EPPL Y in the selection list on the right. Click OK.

16. Click on Close on the Defined Time-History Variables dialog box.

17. Choose menu path Main Menu>TimeHist Postpro>Math Operations>Add. The Add Time-History Variables dialog box appears.

18. Enter 5 for the reference number for the result, enter 3 as the 1st variable, and enter 4 as the 2nd variable. Click OK. This adds the elastic and plastic strains that you stored as variables 3 and 4 as the total strain, stored as variable 5.

8.5.3.17 Plot Time-History Results

1. Choose menu path Main Menu>TimeHist Postpro>Settings>Graph. The Graph Settings dialog box appears.

2. Click on Single variable for the X-axis variable and enter 5 as the single variable number. Click OK.

3. Choose menu path Utility Menu>PlotCtrls>Style>Graphs>Modify Axes. The Axes Modifications for Graph Plots dialog box appears.

4. Enter Total Y-Strain as the X-axis label.

5. Enter Y-Stress as the Y-axis label. Click OK.

6. Choose menu path Main Menu>TimeHist Postpro>Graph Variables. The Graph Time-History Variables dialog box appears.

7. Enter 2 as the first variable to graph. Click OK.

8.5.3.18 Exit ANSYS

1. Choose QUIT from the ANSYS Toolbar.

2. Click on the save option you want, and click on OK.

8.6 Sample Nonlinear Analysis (Command or Batch Method)

You can perform the example nonlinear static analysis of a copper cylinder impacting a rigid wall using the ANSYS commands shown below instead of GUI choices. Items prefaced by an exclamation point (!) are comments.

/BATCH,list  
/title,Cyclic loading of a fixed circular plate
/filnam,axplate
/prep7  
radius=1.0	! Radius of the plate (m)
thick=0.1	! Thickness of plate (m)

et,1,PLANE42,,,1   ! PLANE42 axisymmetric element
mp,ex,1,16911.23        
mp,nuxy,1,0.3

! Define a Kinematic Hardening Plasticity curve using the KINH material model 

tb,KINH,1,1,5

! Define the true stress vs. total log strain curve for this material model using 5
! points. First point defines the elastic limit

tbpt,,0.001123514,19.00  
tbpt,,0.001865643,22.80  
tbpt,,0.002562402,25.08  
tbpt,,0.004471788,29.07  
tbpt,,0.006422389,31.73  

! Set the axles labels for the stress-strain curve plot

/axlab,X,Log Strain (N/m^2)
/axlab,Y,True Stress (N/m^2)

tbpl,KINH,1  ! Plot and verify the material stress-strain curve 

! Define a rectangle which is the axisymmetric cross section of the plate. 
  The rectangle has a length equal to the radius of the plate and a height equal 
  to the thickness of the plate

rect,,radius,,thick

! Select the left and right bounding lines of the created rectangle and set the line
! division to 8 (8 elements through the thickness of the plate)

FLST,5,2,4,ORDE,2   
FITEM,5,2   
FITEM,5,4   
CM,_Y,LINE  
LSEL, , , ,P51X 
!*  
CM,_Y1,LINE 
CMSEL,,_Y   
LESIZE,_Y1, , ,8,1, 
CMDEL,_Y
CMDEL,_Y1   
!*  

! Select the top and bottom bounding lines of the created rectangle and set the line
! division to 40 (40 elements through the radius of the plate)

FLST,5,2,4,ORDE,2   
FITEM,5,1   
FITEM,5,3   
CM,_Y,LINE  
LSEL, , , ,P51X 
!*  
CM,_Y1,LINE 
CMSEL,,_Y   
LESIZE,_Y1, , ,40,1,
CMDEL,_Y
CMDEL,_Y1   
!*  
CM,_Y,AREA  
ASEL, , , ,       1 
CM,_Y1,AREA 
CHKMSH,'AREA'   
CMSEL,S,_Y  

amesh,all   
CMDEL,_Y
CMDEL,_Y1   
CMDEL,_Y2   
fini
/solve  

nlgeom,on	! Turn on geometric nonlinearity

! Get the node numbers for the nodes located at the top 
! of the axis of symmetry and at bottom right of the model

ntop = node(0,thick,0)
nright = node(radius,0,0)

! Activate the monitoring of the displacement and reaction force histories during the
! analysis. This will be written out to the monitor file ratch.mntr

monitor,1,ntop,uy
monitor,2,nright,fy

outres,all,all	! Output all the results for all sub-steps to the results file for
		! later postprocessing

! Select the nodes located at right end and constrain their radial (x) and axial (y)
! direction displacement to be zero.

nsel,s,loc,x,radius
d,all,all

! Select the nodes located at left end and constrain their radial (x) direction 
! displacement to be zero.

nsel,s,loc,x,0.0
d,all,ux,0.0

! Define the load for Load Step 1. 
! Select the nodes located at top surface of plate and apply a uniform pressure of 
! 1.25 N/m^2 as dead load on the plate.

nsel,s,loc,y,thick
sf,all,pres,1.25   

alls	! Select all nodes

! Define the number of sub-steps (10). Also define maximum number of substeps (50), and
! and the minimum number of substeps (5) for the automatic time stepping algorithm. 

nsub,10,50,5

! A load of:  applied pressure (1.25) / number of sub-steps (10) = 0.125 N/m^2
! will be applied for the first sub-step.

solve 	! Solve load step 1 

f = 0.0425	! Define the parameter, f, used to apply the cyclic point load

! Over six load steps apply a cyclic point load of magnitude f = 0.0425 units applied
! at the center of the plate over three cycles

! Start Cycle 1
----------------
nsel,s,node,,ntop	
f,all,fy,-f	! Define load for load step 2
nsel,all
nsubst,4,25,2	! Set the number of substeps, max and min number of substeps
solve	! Solve load step 2

nsel,s,node,,ntop	
f,all,fy,f	! Define load for load step 3
nsel,all
nsubst,4,25,2	! Set the number of substeps, max and min number of substeps
solve	! Solve load step 3

! Start Cycle 2
----------------

nsel,s,node,,ntop	
f,all,fy,-f	! Define load for load step 4
nsel,all
nsubst,4,25,2	! Set the number of substeps, max and min number of substeps
solve	! Solve load step 4

nsel,s,node,,ntop	
f,all,fy,f	! Define load for load step 5
nsel,all
nsubst,4,25,2	! Set the number of substeps, max and min number of substeps
solve	! Solve load step 5

! Start Cycle 3
----------------

nsel,s,node,,ntop	
f,all,fy,-f	! Define load for load step 6
nsel,all
nsubst,4,25,2	! Set the number of substeps, max and min number of substeps
solve	! Solve load step 6
nsel,s,node,,ntop	
f,all,fy,f	! Define load for load step 7
nsel,all
nsubst,4,25,2	! Set the number of substeps, max and min number of sub-steps.
solve	! Solve load step 7
save
fini

/post1
set,last	! Read in the results from the last sub-step of the last step.
		! (final state)
pldi,2	! Plot the deformed mesh with the undeformed edge only
ples,nl,epeq	! Plot the total accumulated equivalent plastic strains
fini

/post26
eplo	! Plot the mesh
nsel,s,node,,ntop	! Select the node where the point load is attached
esln	! Select the element attached to this node
elem=elnext(0)	! Get the number of this element
alls	! Select back everything in the model

! Define variable 2 to be Y component of stress at the node where the point 
! load is applied

ESOL,2,elem,ntop,S,Y,

! Define variable 3 to be Y component of elastic strain at the node where the 
! point load is applied

ESOL,3,elem,ntop,EPEL,Y,

! Define variable 4 to be Y component of plastic strain at the node where the 
! point load is applied

ESOL,4,elem,ntop,EPPL,Y,

! Add the elastic and plastic strains in variables 3 and 4 and store the total 
! strain in variable 5.

ADD,5,3,4, , , , ,1,1,0,

xvar,5	! Set the axes for subsequent x-y plot to be variable 5

! Define the x and y axes labels for subsequent x-y plot
/axlab,x,Total Y-Strain
/axlab,y,Y-Stress

plvar,2	! Plot the Y-stress stored in variable 2
fini
/eof
/exit,nosav

8.7 Where to Find Other Examples

Several ANSYS publications, particularly the ANSYS Verification Manual, describe additional nonlinear analyses.

The ANSYS Verification Manual consists of test case analyses demonstrating the analysis capabilities of the ANSYS program. While these test cases demonstrate solutions to realistic analysis problems, the ANSYS Verification Manual does not present them as step-by-step examples with lengthy data input instructions and printouts. However, most ANSYS users who have at least limited finite element experience should be able to fill in the missing details by reviewing each test case's finite element model and input data with accompanying comments.

The following list shows you the variety of nonlinear analysis test cases that the ANSYS Verification Manual includes:

8.8 Doing a Nonlinear Transient Analysis

8.8.1 Build the Model

This step is the same as for a nonlinear static analysis. However, if your analysis includes time-integration effects, be sure to include a value for mass density [MP,DENS]. If you desire, you can also define material-dependent structural damping [MP,DAMP].

8.8.2 Apply Loads and Obtain the Solution

1. Specify transient analysis type and define analysis options as you would for a nonlinear static analysis:

2. Apply loads and specify load step options in the same manner as you would for a full linear transient dynamic analysis. A transient load history usually requires multiple load steps, with the first load step typically used to establish initial conditions (see the ANSYS Basic Analysis Procedures Guide). The general, nonlinear, birth and death, and output control options available for a static nonlinear analysis are also available for a transient nonlinear analysis.

Command(s):

GUI:

Main Menu>Solution>-Load Step Opts-Time/Frequency>Damping

Main Menu>Solution>-Load Step Opts-Time/Frequency>Time Integration

3. Write load data for each load step to a load step file.

Command(s):

GUI:

Main Menu>Solution>Write LS File

4. Save a back-up copy of the database to a named file.

Command(s):

GUI:

Utility Menu>File>Save As

5. Start solution calculations. Other methods for multiple load steps are described in Chapter 1 of the ANSYS Basic Analysis Procedures Guide.

Command(s):

GUI:

Main Menu>Solution>-Solve-From LS Files

6. After you have solved all load steps, leave SOLUTION.

Command(s):

GUI:

Close the Solution menu.

8.8.3 Review the Results

As in a nonlinear static analysis, you can use POST1 to postprocess results at a specific moment in time. Procedures are much the same as described previously for nonlinear static analyses. Again, you should verify that your solution has converged before you attempt to postprocess the results.

Time-history postprocessing using POST26 is essentially the same for nonlinear as for linear transient analyses. See the postprocessing procedures outlined in Chapter 5.

More details of postprocessing procedures can be found in the ANSYS Basic Analysis Procedures Guide.

8.9 Sample Input

A sample input listing for a nonlinear transient analysis is shown below:

!  Build the Model:
/PREP7
---                     ! Similar to a linear full transient model, with
---                     ! these possible additions: nonlinear material
---                     ! properties, nonlinear elements
---
FINISH
!
!  Apply Loads and Obtain the Solution:
/SOLU
ANTYPE,TRANS
!  TRNOPT,FULL by default
---                     ! Establish initial conditions as in linear full
---                     ! transient analysis
LSWRITE                 ! Initial-condition load step
NLGEOM,ON               ! Nonlinear geometric effects (large deformations)
SSTIF,ON                ! Stress stiffening effects
!  NROPT=AUTO by default: Program will choose appropriate Newton-Raphson and
                        ! Adaptive Descent options, depending on
                        ! nonlinearities encountered
!  Loads:
F,...
D,...
!  Load Step Options:
TIME,...                ! TIME at end of load step
DELTIM,...              ! Time step controls (starting, min, max)
AUTOTS,ON               ! Automatic time stepping, including bisection
!  KBC=0 by default (ramped loading)
!  Dynamic Options:
ALPHAD,...              ! Mass damping
TIMINT,ON               ! TIMINT,ON by default, unless you turned it OFF for
                        ! initial-condition load step
!  Nonlinear Options:
CNVTOL,...              ! Convergence criteria
!  NEQIT=25 by default
NCNV,,,...              ! Nonconvergence termination controls
PRED,ON                 ! Predictor ON
OUTRES,ALL,ALL          ! Results for every substep written to database
LSWRITE                 ! First "real" transient load step
---                     ! Additional load steps, as needed
---
SAVE
LSSOLVE,1,3             ! Initiate multiple l.s. solution
SAVE                    ! SAVE for possible restart (optional)
FINISH
!
!  Review the Results:
/POST26                 ! Time-History Postprocessor
SOLU,2,CNVG             ! Check convergence
SOLU,3,FOCV
PRVAR,2,3
NSOL,...                ! Store results (displacements, stresses, etc.) as
                        ! variables
PLVAR,...               ! Graph results vs. TIME to evaluate general quality
                        ! of analysis, determine critical time step, etc.
FINISH
!
/POST1                  ! General Postprocessor
SET,...                 ! Read results from desired time step
PLDISP,...              ! Postprocess as desired
PLNSOL,...
NSORT,...
PRNSOL,...
FINISH
See the ANTYPE, TRNOPT, LSWRITE, NLGEOM, SSTIF, NROPT, TIME, DELTIM, AUTOTS, KBC, ALPHAD, TIMINT, CNVTOL, NEQIT, NCNV, PRED, OUTRES, LSSOLVE, and SOLU command descriptions for more information.

8.10 Restarts

Restart procedures for a transient analysis are essentially the same as for a static analysis; see Chapter 3 of the ANSYS Basic Analysis Procedures Guide.

8.11 Using Nonlinear (Changing-Status) Elements

Nonlinear elements display an abrupt change in stiffness when they experience a change in status. For example, when a cable goes slack, its stiffness suddenly drops to zero. When two separate bodies come into contact, their overall stiffness changes drastically. These and other status-dependent stiffness changes can be modeled by using nonlinear elements (described below), by applying birth and death options to applicable elements (see the ANSYS Advanced Analysis Techniques Guide), or by changing material properties [MPCHG]. Some of the nonlinear element features described below are available only in the ANSYS/Multiphysics, ANSYS/Mechanical, and ANSYS/Structural products only. See the ANSYS Elements Reference for details.

8.11.1 Element Birth and Death

Sometimes, an element's status changes between "existent" and "nonexistent." The birth and death options ([EKILL, EALIVE, ESTIF] (Main Menu> Solution>-Load Step Opts-Other) can be used to deactivate or reactivate selected elements in such cases. The birth and death feature is discussed in detail in Chapter 6 of the ANSYS Advanced Analysis Techniques Guide.

8.12 Tips and Guidelines for Nonlinear Analysis

8.12.1 Starting Out with Nonlinear Analysis

By taking your time and proceeding with reasonable caution, you can avoid many difficulties commonly associated with nonlinear analyses. The following suggestions should be useful:

8.12.1.1 Be Aware of How the Program and Your Structure Behave

If you have not used a particular nonlinear feature before, construct a very simple model (that is, containing only a few elements), and make sure you understand how to handle this feature before you use it in a large, complicated model.

8.12.1.2 Keep It Simple

8.12.1.3 Use an Adequate Mesh Density

8.12.1.4 Apply the Load Gradually

8.12.2 Overcoming Convergence Problems

A convergence failure can indicate a physical instability in the structure, or it can merely be the result of some numerical problem in the finite element model.

The ANSYS program furnishes you with several tools that you can use to overcome numerical instabilities in your analysis. If you are modeling a system that is actually physically unstable (that is, having zero or negative stiffness), then you have a much more difficult problem on your hands. You can sometimes apply one or more modeling tricks to obtain a solution in such situations. Let's examine some of the techniques that you can use to attempt to improve the convergence performance of your analysis.

8.12.2.1 Tracking Convergence Graphically

As a nonlinear structural analysis proceeds, ANSYS computes convergence norms with corresponding convergence criteria each equilibrium iteration. Available in both batch and interactive sessions, the Graphical Solution Tracking (GST) feature displays the computed convergence norms and criteria while the solution is in process. By default, GST is ON for interactive sessions and OFF for batch runs. To turn GST on or off, use either of the following:

Command(s):

GUI:

Main Menu>Solution>Output Ctrls>Grph Solu Track

Figure 8-21 below shows a typical GST display:

Figure 8-21 Convergence norms displayed by the Graphical Solution Tracking (GST) feature

8.12.2.2 Using Automatic Time Stepping

8.12.2.3 Using Line Search

Line search [LNSRCH] can be useful for enhancing convergence, but it can be expensive (especially with plasticity). You might consider setting line search on in the following cases:

8.12.2.4 Using the Arc-Length Method

You can use the arc-length method [ARCLEN], [ARCTRM] to obtain numerically stable solutions for many physically unstable structures. When using the arc-length method, please keep in mind the following considerations:

8.12.2.5 Artificially Inhibit Divergence in Your Model's Response

If you do not want to use the arc-length method to analyze a force-loaded structure that starts at, or passes through, a singular (zero stiffness) configuration, you can sometimes use other techniques to artificially inhibit divergence in your model's response:

8.12.2.6 Turn Off Extra Element Shapes

ANSYS provides "incompatible" modes" formulation (also referred to as "extra shapes") for modeling bending applications. If your problem is predominantly bulk deformation, then you may choose to turn extra shapes off to reduce CPU/storage requirements and enhance convergence. However, doing so precludes the ability to model any bending.

8.12.2.7 Using Birth and Death Wisely

Realize that any sudden change in your structure's stiffness matrix is likely to cause convergence problems. When activating or deactivating elements, try to spread the changes out over a number of substeps. (Use a small time step size if necessary to accomplish this.) Also be aware of possible singularities (such as sharp re-entrant corners) that might be created as you activate or deactivate elements. Such singularities can cause convergence problems.

8.12.2.8 Read Your Output

Remember that the ANSYS program performs a nonlinear analysis as a series of linear approximations with corrections. The program printout gives you continuous feedback on the progress of these approximations and corrections. (Printout either appears directly on your screen, is captured on Jobname.OUT, or is written to some other file [/OUTPUT].) You can examine some of this same information in POST1, using the PRITER command, or in POST26, using the SOLU and PRVAR commands. You should make sure that you understand the iteration history of your analysis before you accept the results. In particular, don't dismiss any program error or warning statements without fully understanding their meaning. A typical nonlinear output listing is shown in Figure 8-22.

Figure 8-22 Typical nonlinear output listing

8.12.2.9 Graph the Load and Response History

This verification technique may be considered to be a graphical combination of two other techniques: checking for reasonableness, and reviewing the iteration history. POST26 graphs of load and response histories should agree with your informed expectations about your structure's behavior. The results of interest (displacements, reaction forces, stresses, etc.) should show relatively smooth response histories. Any non-smoothness may indicate that too coarse of a time step was used.


Go to the beginning of this chapter