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
Figure 8-1 Common examples of nonlinear structural behavior
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.
Figure 8-2 A fishing rod demonstrates geometric nonlinearity
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 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.
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
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.
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
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.
= 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.)
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).
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.
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 fromSee the MPTEMP, MP, TB, TBTEMP, TBDATA, TBLIST, /XRANGE, and TBPLOT command descriptions for more information.=0 to 0.01 TBPLOT,BKIN,1 ! Display the data table
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,1Please 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,1See 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 degreesSee the MP, TB, and TBDATA command descriptions for more information.
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.
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.
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:
| 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
|
*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 dataSee the *DIM command description for more information.
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:
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
|
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 N2See the *SET command description for more information.
TB,MOONEY,MAT,NTEMP,,1 *MOONEY,STRAIN(1,1),STRESS(1,1),,CONST(1),CALC(1),SORTSN(1), SORTSS(1),Fname,ExtThe 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.
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
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.
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.
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.
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.)
| AUTOTS
|
PRED
|
MONITOR
|
| DELTIM
|
NROPT
|
NEQIT
|
| NSUBST
|
TINTP
|
SSTIF
|
| CNVTOL
|
CUTCONTROL
|
KBC
|
| LNSRCH
|
OPNCONTROL
|
EQSLV
|
| ARCLEN
|
CDSWRITE
|
LSWRITE
|
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:
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):
Main Menu>Solution>-Analysis Type-New Analysis/Restart>Static
Command(s):
Main Menu>Solution>Analysis Options
4. Specify time/frequency load step options: Time, number/size of time steps, and stepped/ramped loading.
Command(s):
Main Menu>Solution>-Load Step Opts-Time/Frequenc>Time & Time Step/Time & Substep
Command(s):
Main Menu>Solution>-Load Step Opts-Nonlinear>Arc-Length Opts
Command(s):
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
Command(s):
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
Command(s):
Utility Menu>File>Save As
9. Solve.
Command(s):
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):
Close the Solution menu.
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:
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:
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:
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
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.
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.
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.

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.
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.
Command(s):
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):
Main Menu>General Postproc>-Read Results-load step
Figure 8-19 Linear interpolation of nonlinear results can introduce some error
4. Display the results using any of the following options:
Main Menu>General Postproc>Plot Results>Deformed Shape
Main Menu>General Postproc>Plot Results>-Contour Plot-Nodal Solu or Element Solu
Main Menu>General Postproc>Element Table>Plot Element Table
Main Menu>General Postproc>Plot Results>-Contour Plot-Line Elem
Res
Main Menu>General Postproc>List Results>Nodal Solution
Main Menu>General Postproc>List Results>Element Solution
Main Menu>General Postproc>List Results>Reaction Solution
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):
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):
Main Menu>TimeHist Postpro>Define Variables
4. Graph or list the variables.
Command(s):
Main Menu>TimeHist Postpro>Graph Variables
Main Menu>TimeHist Postpro>List Variables
Main Menu>TimeHist Postpro>List Extremes
See the NLGEOM, SSTIF, NROPT, TIME, NSUBST, AUTOTS, KBC, CNVTOL, NEQIT, NCNV, PRED, OUTRES, and SOLU command descriptions for more information.
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.
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.
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 .
| 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
|
Figure 8-20 Cyclic Point Load History
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.
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.
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.
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.
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.
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.
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.
2. Click on Pick All.
3. Click on SAVE_DB on the ANSYS Toolbar.
4. Click on Close on the MeshTool.
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.
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.
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.
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.
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).
2. Review the time step size, vertical displacement, and reaction force evolution over the entire solution.
3. Click Close.
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.
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.
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.
2. Click on the save option you want, and click on OK.
/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
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:
Main Menu>Solution>-Load Step Opts-Time/Frequency>Damping
Main Menu>Solution>-Load Step Opts-Time/Frequency>Time Integration
= 1.0 (set by
SOLCONTROL, ON); this is
the backward Euler scheme. It is unconditionally stable and more robust
for highly nonlinear thermal problems such as phase changes. The
oscillation limit tolerance defaults to 0.0, so that the response first order
eigenvalues can be used to more precisely determine a new time step
value.Command(s):
Main Menu>Solution>Write LS File
4. Save a back-up copy of the database to a named file.
Command(s):
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):
Main Menu>Solution>-Solve-From LS Files
6. After you have solved all load steps, leave SOLUTION.
Command(s):
Close the Solution menu.
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.
! 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.
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.
Command(s):
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
<0.1 on the TINTP command) into the solution to
filter out the high frequency noise, especially if a coarse time step is
used. Do not use
-damping (mass matrix multiplier, ALPHAD command) in a dynamic
kinematic analysis, as it will dampen the rigid body motion (zero
frequency mode) of the system.

is only used as a starting point. The actual load at convergence is
somewhat less.
Figure 8-22 Typical nonlinear output listing