You are on page 1of 12

Chapter 14: Fatigue

Fatigue is the phenomenon in which a repetitively loaded structure fractures at a load level less than its ultimate static strength. For instance, a steel bar might successfully resist a single static application of a 300
kN tensile load, but might fail after 1,000,000 repetitions of a 200 kN load.
The primary factors that contribute to fatigue failures include:

Number of load cycles experienced

Range of stress experienced in each load cycle

Mean stress experienced in each load cycle

Presence of local stress concentrations

A formal fatigue evaluation accounts for each of these factors as it calculates how "used up" a certain component will become during its anticipated life cycle.
The following fatigue-related topics are available:
14.1. How ANSYS Calculates Fatigue
14.2. Fatigue Terminology
14.3. Evaluating Fatigue

14.1. How ANSYS Calculates Fatigue


The ANSYS fatigue calculations rely on the ASME Boiler and Pressure Vessel Code, Section III (and Section
VIII, Division 2) for guidelines on range counting, simplified elastic-plastic adaptations, and cumulative fatigue
summation by Miner's rule.
For fatigue evaluations based on criteria other than those of the ASME Code, you can either write your own
macro, or else interface your ANSYS results with an appropriate third-party program (see the ANSYS Parametric
Design Language Guide for more information on these two features).
The ANSYS program features the following fatigue-calculation capabilities:

You can postprocess existing stress results to determine the fatigue usage factors for any solid-element
or shell-element model. (You can also manually input stresses for fatigue evaluation of line-element
models.)

You can store stresses at a preselected number of locations for a preselected number of events and
loadings within the event.

You can define stress concentration factors for each location and scale factors for each event.

14.2. Fatigue Terminology


A location is a node in your model for which fatigue stresses are to be stored. You would typically choose
locations that represent points on the structure that would be susceptible to fatigue damage.

Release 12.1 - 2009 SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

377

Chapter 14: Fatigue


An event is a set of stress conditions that occur at different times during a unique stress cycle. See Guidelines
for Obtaining Accurate Usage Factors (p. 383) later in this chapter for more information.
A loading is one of the stress conditions that is part of an event.
The alternating stress intensity is a measure of the difference in stress state between any two loadings. The
program does not adjust the alternating stress intensity for mean-stress effects.

14.3. Evaluating Fatigue


You perform a fatigue evaluation in POST1, the general postprocessor, after you have completed a stress
solution. The procedure normally consists of five general steps:
1.

Enter POST1 (/POST1) and resume your database.

2.

Establish the size (the number of locations, events, and loadings), define the fatigue material properties,
identify stress locations, and define stress concentration factors.

3.

Store stresses at locations of interest for various events and loadings; assign event repetitions and
scale factors.

4.

Activate the fatigue calculations.

5.

Review the results.

The following fatigue-evaluation topics describe each step in detail and provide additional information:
14.3.1. Enter POST1 and Resume Your Database
14.3.2. Establish the Size, Fatigue Material Properties, and Locations
14.3.3. Store Stresses and Assign Event Repetitions and Scale Factors
14.3.4. Activate the Fatigue Calculations
14.3.5. Review the Results
14.3.6. Other Approaches to Range Counting
14.3.7. Sample Input

14.3.1. Enter POST1 and Resume Your Database


In order to perform a fatigue evaluation, you need to follow these steps:
1.

Enter POST1.
Command(s): /POST1
GUI: Main Menu> General Postproc

2.

Read your database file (Jobname.DB) into active memory. (If your intended fatigue evaluation is a
continuation of an ongoing ANSYS session, then Jobname.DB will already be in memory.) A results
file (Jobname.RST) with nodal stress results should also be available; you will read results data into
memory later.
Command(s): RESUME
GUI: Utility Menu> File> Resume from

14.3.2. Establish the Size, Fatigue Material Properties, and Locations


Define the following data:

Maximum number of locations, events, and loadings

Fatigue material properties

378

Release 12.1 - 2009 SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

14.3.2. Establish the Size, Fatigue Material Properties, and Locations

1.

Stress locations and stress concentration factors (SCFs)


Define the maximum number of stress locations, events, and loadings.
By default, your fatigue evaluation can consider up to five nodal locations, ten events, and three
loadings within an event. You can use the following option to establish larger dimensions (that is, allow
more locations, events, or loadings), if necessary.
Command(s): FTSIZE
GUI: Main Menu> General Postproc> Fatigue> Size Settings

2.

Define material fatigue properties.


In order to calculate usage factors, and to include the effect of simplified elastic-plastic computations,
you must define material fatigue properties. The material properties of interest in a fatigue evaluation
are:

The S-N curve, a curve of alternating stress intensity ((Smax - Smin)/2) versus allowable number of
cycles. The ASME S-N curves already account for maximum mean stress effects. You should adjust
your S-N curve to account for mean-stress effects, if necessary. If you do not input an S-N curve,
alternating stress intensities will be listed in decreasing order for all possible combinations of stress
conditions, but no usage factors will be calculated.
Command(s): FP
GUI: Main Menu> General Postproc> Fatigue> Property Table> S-N Table

The Sm-T curve, a curve of design stress-intensity value versus temperature. This curve is needed
if you want the program to detect whether or not the nominal stress range has gone plastic.
Command(s): FP
GUI: Main Menu> General Postproc> Fatigue> Property Table> Sm_T Table

Elastic-plastic material parameters M and N (strain hardening exponents). These parameters are
required only if you desire simplified elastic-plastic code calculations. These parameters' values can
be obtained from the ASME Code.
Command(s): FP
GUI: Main Menu> General Postproc> Fatigue> Property Table> Elas-plas Par
The following example illustrates the use of the FP command to input material fatigue properties:
! Define the S-N table:
FP,1,10,30,100,300,1000,10000
FP,7,100000,1000000
FP,21,650,390,240,161,109,59
FP,27,37,26
! Define the Sm-T table:
FP,41,100,200,300,400,500,600
FP,47,650,700,750,800
FP,51,20,20,20,18.7,17.4,16.4
FP,57,16.1,15.9,15.5,15.1

! Allowable Cycles, N
!
"
! Alternating Stress! Intensity Range, S, ksi

! Temperature,F
!
"
! "Design Stress-Intensity
! Value", Sm (=2/3*Sy or
! 1/3 *Su), ksi
! Define the elastic-plastic material parameters:
FP,61,1.7,.3
!
M and N

3.

Define stress locations and stress concentration factors.


The following option allows you to explicitly define a nodal location of interest to your fatigue evaluation, define stress concentration factors (SCFs) for that location, and assign a short (20 character) title
to that location.
Release 12.1 - 2009 SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

379

Chapter 14: Fatigue


Command(s): FL
GUI: Main Menu> General Postproc> Fatigue> Stress Locations

Note
Not all fatigue analyses will require the FL command. Locations are automatically defined for
nodes when FS, FSNODE, or FSSECT are issued (see below). If your model contains sufficient grid
detail, your stresses could be accurate enough that you would not need to apply calculated SCFs.
(Supplemental SCFs for surface, size, or corrosion effects might still be required, however.) Where
only one location is being examined, you could omit a title. If explicit definition of locations, SCFs,
or titles are not required, you could forgo the FL command entirely.
Here is an example of some FL commands for a cylinder with a global Y axis, having two wall thicknesses
of interest, where SCFs are to be applied (to the axial linearized stresses) at the outside wall.
FL,1,281,,,,Line 1 at inside
FL,2,285,,1.85,,Line 1 at outside
FL,3,311,,,,Line 2 at inside
FL,4,315,,2.11,,Line 2 at outside

Figure 14.1: Cylinder Wall with Stress Concentration Factors (SCFs)


SCF = 1.85
281

285
SCF = 2.11

Y
311

315

14.3.3. Store Stresses and Assign Event Repetitions and Scale Factors
14.3.3.1. Storing Stresses
In order to perform a fatigue evaluation, the program must know the stresses at different events and loadings
for each location, as well as the number of repetitions of each event. You can store stresses for each combination of location, event, and loading, using the following options:

Manually stored stresses

Nodal stresses from Jobname.RST

Stresses at a cross-section

Caution
The program never assumes that a "zero" stress condition exists. If zero stress is one of the conditions
to be considered, it must be explicitly input for each event in which it may occur.

380

Release 12.1 - 2009 SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

14.3.3. Store Stresses and Assign Event Repetitions and Scale Factors
The following command sequences schematically illustrate how to store stresses. In some situations, you
might prefer to use LCASE instead of SET.
Manually stored stresses:

FS

Nodal stresses retrieved from Jobname.RST:

SET, FSNODE

Stresses at a cross-section:

PATH, PPATH, SET, FSSECT

(Cross-section calculations also require data from Jobname.RST.)


You can use more than one method of storing stresses in an event. Each of these methods is explained in
detail below.

14.3.3.1.1. Manually Stored Stresses


You can use this option to store stresses and the temperature "manually" (without direct access to the results
file Jobname.RST). In such cases, you are not using the fatigue module in POST1 as a postprocessor, but
simply as a fatigue calculator. Line elements, such as beams, must be handled in this way since the fatigue
module is not able to access data from a results file other than for solid elements or shell elements.
Command(s): FS
GUI: Main Menu> General Postproc> Fatigue> Store Stresses> Specified Val
Command input for this option is demonstrated by the following example:
FS,201,1,2,1,-2.0,21.6,15.2,4.5,0.0,0.0
FS,201,1,2,7,450.3

In this example, only the total stresses (items 1-6) and the temperature (item 7) are input. If the linearized
stresses were also to be input, they would follow the temperatures as items 8 through 13.

Note
In the special case of a beam element having only axial stress, you would input only one stress
component (SX), leaving the rest of the stress fields blank.

14.3.3.1.2. Nodal Stresses from Jobname.RST


When you use this option, you cause a nodal stress vector containing six stress components to be stored
directly from the results database. Stress components stored with this option can be modified with a subsequent FS command.

Note
You must issue a SET command, and possibly a SHELL command, before executing FSNODE.
SET will read results for a particular load substep from the results file (Jobname.RST) into the
database. SHELL allows you to select results from the top, middle, or bottom surfaces for shell
elements (default is the top surface).
Command(s): FSNODE
GUI: Main Menu> General Postproc> Fatigue> Store Stresses> From rst File
Input by means of FSNODE is demonstrated by the following example for an event at one nodal location:
Release 12.1 - 2009 SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

381

Chapter 14: Fatigue


SET,1
FSNODE,123,1,1
SET,2
FSNODE,123,1,2
SET,3
FSNODE,123,1,3

!
!
!
!
!
!
!

Define data set for load step 1


Stress vector at node 123 assigned to event 1,
loading 1.
Define data set for load step 2
...event 1, loading 2
...load step 3
...event 1, loading 3

stress

Figure 14.2: Three Loadings in One Event

L.S.2
L.S.3

L.S.1

time

14.3.3.1.3. Stresses at a Cross-Section


This option calculates and stores total linearized stresses at the ends of a section path (as defined by a preceding PATH and PPATH command). Because you will normally want the linearization to take place over a
thickness representing the shortest distance between the two surfaces, use only the two surface nodes to
describe the path in the PPATH command. This option retrieves stress information from the results database;
therefore FSSECT must also be preceded by a SET command. Stress components stored with an FSSECT
command can be modified with a subsequent FS command.
Command(s): FSSECT
GUI: Main Menu> General Postproc> Fatigue> Store Stresses> At Cross Sect
Input by means of FSSECT is demonstrated in the following example. If node locations are not assigned
with an FL command, the FSSECT commands in this example will automatically assign location numbers to
the two path nodes, 391 and 395. (See Figure 14.3: Surface Nodes are Identified by PPATH Prior to Executing
FSSECT (p. 382).)
PATH,Name,2
PPATH,1,391
PPATH,2,395
SET,1
FSSECT,,1,1

! Define the path using the two surface nodes

! Store stresses at nodes 391 and 395

Figure 14.3: Surface Nodes are Identified by PPATH Prior to Executing FSSECT

382

Release 12.1 - 2009 SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

14.3.3. Store Stresses and Assign Event Repetitions and Scale Factors

14.3.3.2. Listing, Plotting, or Deleting Stored Stresses


Use the following options to list, plot, or delete stored stresses.

List the stored stresses per location, per event, per loading, or per stress condition:
Command(s): FSLIST
GUI: Main Menu> General Postproc> Fatigue> Store Stresses> List Stresses

Display a stress item as a function of loading number for a particular location and event:
Command(s): FSPLOT
GUI: Main Menu> General Postproc> Fatigue> Store Stresses> Plot Stresses

Delete a stress condition stored for a particular location, event, and loading:
Command(s): FSDELE
GUI: Main Menu> General Postproc> Fatigue> Store Stresses> Dele Stresses

Delete all stresses at a particular location:


Command(s): FL
GUI: Main Menu> General Postproc> Fatigue> Stress Locations

Delete all stresses for all loadings in a particular event:


Command(s): FE
GUI: Main Menu> General Postproc> Fatigue> Erase Event Data

14.3.3.3. Assigning Event Repetitions and Scale Factors


This option assigns the number of occurrences to the event numbers (for all loadings at all locations of the
event). It can also be used to apply scale factors to all of the stresses that make up its loadings.
Command(s): FE
GUI: Main Menu> General Postproc> Fatigue> Assign Events
An example of this command usage is given below:
FE,1,-1
FE,2,100,1.2
*REPEAT,3,1
FE,5,500

! Erase all parameters and fatigue stresses formerly


! used for event 1.
! Assign 100 occurrences to events 2, 3 and 4,
! and scale by 1.2.
! Assign 500 occurrences to event 5.

14.3.3.4. Guidelines for Obtaining Accurate Usage Factors


Structures are usually subjected to a variety of maximum and minimum stresses, which occur in unknown
(or even random) order. Therefore, you must take care to achieve an accurate count of the number of repetitions of all possible stress ranges, in order to obtain a valid fatigue usage factor.
The ANSYS program automatically calculates all possible stress ranges and keeps track of their number of
occurrences, using a technique commonly known as the "rain flow" range-counting method. At a selected
nodal location, a search is made throughout all of the events for the pair of loadings (stress vectors) that
produces the most severe stress-intensity range. The number of repetitions possible for this range is recorded,
and the remaining number of repetitions for the events containing these loadings is decreased accordingly.
At least one of the source events will be "used up" at this point; remaining occurrences of stress conditions

Release 12.1 - 2009 SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

383

Chapter 14: Fatigue


belonging to that event will subsequently be ignored. This process continues until all ranges and numbers
of occurrences have been considered.

Caution
It can be surprisingly easy to misuse the range-counting feature of the fatigue module. You must take
pains to assemble events carefully if you want your fatigue evaluation to yield accurate usage factors.
Consider the following guidelines when assembling events:

Understand the internal logic of the ANSYS range-counting algorithm. See POST1 - Fatigue Module in
the Theory Reference for the Mechanical APDL and Mechanical Applications for more details on how the
ANSYS program performs range counting.

Because it can be difficult to predict the exact load step at which a maximum (or minimum) 3-D stress
state occurs, good practice often requires that you include several clustered loadings in each event, in
order to successfully capture the extreme stress state. (See Figure 14.2: Three Loadings in One Event (p. 382).)

You will obtain consistently conservative results if you include only one extreme stress condition (either
a local maximum or a local minimum) in any given event. If you group more than one extreme condition
in a single event, you will sometimes generate unconservative results, as illustrated by the following
example:

Consider a load history made up of two slightly different cycles:


Load Cycle 1: 500 repetitions of Sx = +50.0 to -50.1 ksi
Load Cycle 2: 1000 repetitions of Sx = +50.1 to -50.0 ksi
These load cycles will obviously sum to 1500 repetitions having an alternating stress intensity of about 50
ksi. However, carelessly grouping these loadings into only two events will result in an inaccurate range count.
Let's see how this would happen:
Event 1,

loading 1: Sx = 50.0
loading 2: Sx = -50.1

500 repetitions

Event 2,

loading 1: Sx = 50.1
loading 2: Sx = -50.0

1000 repetitions

The possible alternating stress intensities are:


a.

From E1,L1 to E1,L2:

50.05 ksi

b.

From E1,L1 to E2,L1:

0.05 ksi

c.

From E1,L1 to E2,L2:

50.00 ksi

d.

From E1,L2 to E2,L1:

50.10 ksi

e.

From E1,L2 to E2,L2:

0.05 ksi

f.

From E2,L1 to E2,L2:

50.05 ksi

Sorting these combinations by decreasing alternating stress intensity gives:


d.

From E1,L2 to E2,L1:

50.10 ksi

a.

From E1,L1 to E1,L2:

50.05 ksi

f.

From E2,L1 to E2,L2:

50.05 ksi

384

Release 12.1 - 2009 SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

14.3.3. Store Stresses and Assign Event Repetitions and Scale Factors
c.

From E1,L1 to E2,L2:

50.00 ksi

b.

From E1,L1 to E2,L1:

0.05 ksi

e.

From E1,L2 to E2,L2:

0.05 ksi

The range counting then proceeds as follows:


d.

500 cycles of E1,L2 to E2,L1

- this uses up 500 cycles of E1 and E2

a.

0 cycles of E1,L1 to E1,L2

- E1 is all used up

f.

500 cycles of E2,L1 to E2,L2

- this uses up 500 more cycles of E2

c.

0 cycles of E1,L1 to E2,L2

- both events are all used up

b.

0 cycles of E1,L1 to E2,L1

- both events are all used up

0 cycles of E1,L2 to E2,L2

- both events are all used up

Thus, only 1000 repetitions of about 50 ksi range would be counted, instead of the known 1500 cycles. This
error results solely from improper assembly of events.
If the loadings had each been described as separate events (such that E1,L1 E1; E1,L2 E2; E2,L1 E3;
and E2,L2 E4), then the following range counts would be obtained:
d.

500 cycles of E2 to E3

- this uses up 500 cycles of E2 and E3

a.

0 cycles of E1 to E2

- E2 is all used up

f.

500 cycles of E3 to E4

- uses up 500 more cycles of E3, and 500 of


E4

c.

500 cycles of E1 to E4

- uses up 500 more cycles of E4

b.

0 cycles of E1 to E3

- E3 is all used up

e.

0 cycles of E2 to E4

- E2 and E4 are both all used up

Cumulative fatigue damage in this case would properly be calculated for 1500 repetitions of about 50 ksi
range.

Conversely, using separate events for each maximum and each minimum stress condition could sometimes become too conservative. In such cases, carefully choose those loadings that should be counted
together, and group them into the same events. The following example illustrates how some events
can appropriately contain multiple extreme stress conditions:

Consider a load history made up of these two load cycles:

Load Cycle 1: 500 repetitions of Sx = +100.1 to +100.0 ksi

Load Cycle 2: 1000 repetitions of Sx = +50.1 to +50.0 ksi

It is readily apparent that the worst possible combination of these cycles would yield 500 repetitions having
alternating stress intensity of about 25 ksi range.
Proceeding as in the above example, grouping these loadings into two events would produce an accurate
count of 500 repetitions of about 25 ksi range. Treating each loading as a separate event would yield an
over-conservative count of 1000 repetitions of about 25 ksi range.

Release 12.1 - 2009 SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

385

Chapter 14: Fatigue

14.3.4. Activate the Fatigue Calculations


Now that you have locations, stresses, events, and material parameters all specified, you can execute the
fatigue calculations at a specified location. The location is specified by either the location number or the
node itself.
Command(s): FTCALC
GUI: Main Menu> General Postproc> Fatigue> Calculate Fatig

14.3.5. Review the Results


Fatigue calculation results are printed in the output. If you have routed your output [/OUTPUT] to a file (for
example Jobname.OUT), then you can review the results by listing that file.
Command(s): *LIST
GUI: Utility Menu> List> Files> Other> Jobname.OUT
If you have input an S-N curve, output is in the form of a table of alternating stress intensities (listed in decreasing order) with corresponding pairs of event/loadings, as well as cycles used, cycles allowed, temperature,
and partial usage factor. Following that, the cumulative usage factor is shown for that particular location.
This information is repeated for all locations.
As has been just mentioned, FTCALC output shows the contributing pairs of events and loadings for any
given alternating stress-intensity range. This information can help you isolate the transients (events/loadings)
causing the most fatigue damage.
A convenient way to modify your events would be to write all stored fatigue data on Jobname.FATG. (This
option could be executed either before or after FTCALC.) Data are written to Jobname.FATG in terms of
equivalent fatigue module commands. You can modify your events by editing Jobname.FATG; then use
the /INPUT command to reread the modified fatigue commands.
Command(s): FTWRITE
GUI: Main Menu> General Postproc> Fatigue> Write Fatig Data

14.3.6. Other Approaches to Range Counting


Earlier, we discussed the "rain flow" range-counting method. This technique is useful whenever the exact
time-history of various loadings is not known. However, if in your fatigue analysis the time-history is known,
you can avoid the undue conservatism of this procedure simply by running a separate fatigue analysis [FTCALC]
for each sequential event and then adding the usage factors manually.

14.3.7. Sample Input


A sample input listing for a fatigue evaluation is shown below:
! Enter POST1 and Resume the Database:
/POST1
RESUME,...
! Number of Locations, Events, and Loadings
FTSIZE,...
! Material Fatigue Properties:
FP,1,....
! N values
FP,21,...
! S values
FP,41,...
! T values
FP,51,...
! Sm values
FP,61,...
! Elastic-plastic material parameters
! Locations, Stress Concentration Factors, and Location Titles

386

Release 12.1 - 2009 SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

14.3.7. Sample Input


FL,...
! Store Stresses (3 Different Methods)
! Store Stresses Manually:
FS,...
! Retrieve Stresses from the Results File:
SET,...
FSNODE,...
! Store Stresses at a Cross-Section:
PPATH,...
SET,...
FSSECT,...
! Event Repetitions and Scale Factors
FE,...
! Activate the Fatigue Calculations
FTCALC,...
! Review the Results (List the output file)
FINISH

See the Command Reference for a discussion of the FTSIZE, FP, FL, FS, FSNODE, PPATH, FSSECT, FE, and
FTCALC commands.

Release 12.1 - 2009 SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

387

388

Release 12.1 - 2009 SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

You might also like