www.kxcad.net Home > CAE Index > ANSYS Index > Release 11.0 Documentation for ANSYS
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:
Enter POST1 (/POST1) and resume your database.
Establish the size (the number of locations, events, and loadings), define the fatigue material properties, identify stress locations, and define stress concentration factors.
Store stresses at locations of interest for various events and loadings; assign event repetitions and scale factors.
Activate the fatigue calculations.
Review the results.
The following fatigue-evaluation topics describe each step in detail and provide additional information:
In order to perform a fatigue evaluation, you need to follow these steps:
Enter POST1.
| Command(s): | /POST1 |
| GUI: | Main Menu> General Postproc |
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 |
Define the following data:
Maximum number of locations, events, and loadings
Fatigue material properties
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 |
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 ! Allowable Cycles, N
FP,7,100000,1000000 ! "
FP,21,650,390,240,161,109,59 ! Alternating Stress-
FP,27,37,26 ! Intensity Range, S, ksi
! Define the Sm-T table:
FP,41,100,200,300,400,500,600 ! Temperature,°F
FP,47,650,700,750,800 ! "
FP,51,20,20,20,18.7,17.4,16.4 ! "Design Stress-Intensity
FP,57,16.1,15.9.15.5,15.1 ! Value", Sm (=2/3*Sy or
! 1/3 *Su), ksi
! Define the elastic-plastic material parameters:
FP,61,1.7,.3 ! M and NDefine 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.
| Command(s): | FL |
| GUI: | Main Menu> General Postproc> Fatigue> Stress Locations |
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
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
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.
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.
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.
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.
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:
SET,1 ! Define data set for load step 1
FSNODE,123,1,1 ! Stress vector at node 123 assigned to event 1,
! loading 1.
SET,2 ! Define data set for load step 2
FSNODE,123,1,2 ! ...event 1, loading 2
SET,3 ! ...load step 3
FSNODE,123,1,3 ! ...event 1, loading 3This 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".)
PATH,Name,2 ! Define the path using the two surface nodes
PPATH,1,391
PPATH,2,395
SET,1
FSSECT,,1,1 ! Store stresses at nodes 391 and 395Use 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 |
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 ! Erase all parameters and fatigue stresses formerly
! used for event 1.
FE,2,100,1.2 ! Assign 100 occurrences to events 2, 3 and 4,
*REPEAT,3,1 ! and scale by 1.2.
FE,5,500 ! Assign 500 occurrences to event 5.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 belonging to that event will subsequently be ignored. This process continues until all ranges and numbers of occurrences have been considered.
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 the Theory Reference for ANSYS and ANSYS Workbench 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".)
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, |
| 500 repetitions | ||
| Event 2, |
| 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 |
| 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 |
| e | 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.
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 |
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 |
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.
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
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)
FINISHSee the Commands Reference for a discussion of the FTSIZE, FP, FL, FS, FSNODE, PPATH, FSSECT, FE, and FTCALC commands.