Fatigue Analysis using History Data

  • Last Post 28 May 2019
Naveed posted this 14 May 2019

Hi there!

I have stress plot over 10 seconds of time and now I want to see the fatigue life. I need to enter a time under "display time" so fatigue life will be calculated based on the stresses at that particular time. However, I want it to take the RMS value of my 10 seconds data. 

Another option is to change the loading type to "History Data" for which it requires .dat file. How can I create the .dat file of my stress data? Or any way to insert RMS value? 

Thanks in advance. 

Order By: Standard | Newest | Votes
Naveed posted this 14 May 2019

My temporary solution is to insert a time where stress is closest to my RMS value. 

Wondering how effecting is the error of 0.001 MPa..?? 🤔

RMS is 6.8622 MPa where as stress at my selected time is 6.8632 MPa. 

peteroznewman posted this 14 May 2019

Where did your 10 seconds of history data come from?  A sensor on a physical structure or from a simulation?

Stress is a result, not a load.  The History Data is a multiplier on the loads applied in the Static Structural model.

For example, if you had a load cell measuring the fluctuating force going into the end of a cantilever, and the units were measured in kN, then in Static Structural, you would apply a 1 kN load at the end of the cantilever, and read in the measured data using History Data.  Those numbers in kN will multiply by the 1 kN load case to obtain the stress at each moment in time.  Rainflow counting will extract the fatigue cycles, binning the number of cycles by amplitude of  stress, then it will sum up the damage using Miner's Rule and present you with a Life plot.

This rainflow counting of fatigue cycles is far more accurate than just taking the RMS value because the damage done by a few peak amplitude cycles can be much more than a larger number of cycles at the RMS value.

  • Liked by
  • jj77
  • Gaddsch
Naveed posted this 14 May 2019

My stress results are from simulation. I then attached the fatigue tool to see the life of the component.

I am using Transient Structural and added equivalent stresses under solution. So that I have Stress vs Time graph. Now I want to check the fatigue life of my component.

Stress is not a load that means it is not the history data that I am looking for? 🤔

peteroznewman posted this 14 May 2019

What was in scope for this stress plot?  A body, a face, an edge or a vertex?

You can imagine that during a transient simulation, the maximum value of stress can jump around to different places on the body.  That is not an appropriate dataset to accumulate fatigue damage. The same is true of a face and an edge.  It is only a vertex (or node) that is a valid scope to plot stress to do fatigue damage accumulation.

Also, was this Equivalent von Mises Stress?  That is always positive so you can miss the true amplitude of the stress cycle.  Something called signed von Mises is better.

Take your Stress-Time history data at a vertex into software that does the rainflow counting into bins, computes the fatigue damage on each bin and does the summation of total damage using Miner's rule.  I have used a matlab script called vibrationdata to do this calculation.

  • Liked by
  • Gaddsch
Naveed posted this 15 May 2019

Thank u Peter for the detailed explanation.

Yes this is scoped on body and this is equivalent von mises stress. I have a body with multiple faces and I do not know which vertex to select for appropriate results. I need to see the stresses on whole body. 

Above stress vs. time graph cannot be inserted as .dat file in fatigue tool loading?


Naveed posted this 15 May 2019

OK I have found out that I can use the my Y-axis values of stress vs time graph and upload the .dat file for fatigue analysis. This procedure will take into account the rainflow counting as suggested by you the better way than using RMS value. 

Naveed posted this 15 May 2019

Now I am just confused with the "Display Time" option. I know that if I select 5 it will pick the stress value at 5s and calculate fatigue on that stress value. But if I am using History Data why is it asking for the time? Isn't it the same thing then? I want this whole block to be used as 1 cycle, not a single value at any given time.

Please advise. 

Gaddsch posted this 15 May 2019

Thank you peter, as always very helpful, i just realized i understood nothing during my further calculations:^^

Did i understand you correctly:

1) Apply force, that has been applied while meassuring in Static Structural
2) Create .dat file out of measured Pressure value[same unit scale] looks like:

Pressure 1
Pressure 2
Pressure 3

3) Apply .dat file in history Data and ANSYS calculates via Rainflow the cyclic loading and calculates valid lifetime plot.

If that is correct, I was wondering:
If i have multiple forces in static structural, can i still go by that approach, or how to solve it? (measured Data is point pressure signal)

How do i solve then in Transient???

Thank you for your help as allways

peteroznewman posted this 16 May 2019

I haven't used the Fatigue Tool on a Transient model. I don't know what the Display Time does.

jj77 posted this 16 May 2019

I think you want to use the transient analysis and do a fatigue analysis on that - now I have never done that, but I would recommend to write it up nicely what you want to do, and send it to ansys support and ask them if this is possible (they should be able to say a yes or no, and briefly tell this can be done), because there does not seem anyone even from ansys that has managed to respond to your questions (I would say it is perhaps possible if one uses advanced fatigue tools like ncode, but ask ansys support).


What the history data does here (this is done in static analysis normally) is to multiply a unit load case (and hence just scales/multiplies the stress results from the unit load case, that is why one can input a scale factor) with the history data (this says how the unit load varies with time) in a static structural and then does rainflow counting and sums the damage, and this is not what you are asking for (now I do not have any experience on this matter except of writing some simple fatigue code for Strand7 which is the software I work with).


  • Liked by
  • Gaddsch
Naveed posted this 17 May 2019

Thanks JJ for your response. Really appreciate it.

I do not know whether to feel proud or stupid as I want to do something that is not even in the scope of ANSYS. Haha, Anyway, what I can try is upload my History Data and pick a "Display Time" where my stress is 1MPa and hit solve. I think that would work. I want my 10 seconds of stresses to be taken as 1 cycle, and it would do that. (Y)

jj77 posted this 17 May 2019

Sounds like a plan, but be aware if you have dynamic effects on then your input and output will not be the same as inertia and dynamic effects come in to play so things are not that simple. If you are turning time integration off (thus do not care about mass and inertia), then it could be more accurate, not sure though since I have never tried this.


  • Liked by
  • Gaddsch
peteroznewman posted this 17 May 2019

I am currently doing transient simulations for seismic analysis, and have a strong interest in fatigue, so it was worthwhile to put the question to my ANSYS support team. Here is the answer I received...

Unfortunately, you cannot use the Fatigue Tool to perform a fatigue analysis on an entire transient structural analysis solution. This is beyond the capability of the Fatigue Tool as it is meant to have only basic functionality. You can only look and evaluate a stress result at a specific point in time. This of course defeats the purpose of the transient analysis.

This type of fatigue analysis would require use of ANSYS nCode DesignLife. It can handle this analysis very easily.

jj77 posted this 17 May 2019

That is great Peter, that is much appreciated. I think the guys asking about this will also be happy to have a final answer!



Many times some design codes e.g., AISC in US, will have some guidelines for fatigue, but I am sure you are not doing steel design. Otherwise if one is lucky one might have access to ncode



  • Liked by
  • Naveed
Gaddsch posted this 17 May 2019

Can just follow jj77 here. Even though it means ican't solve he topic given to me, im happy to have certainty. Thanks for going after it Peter and JJ

  • Liked by
  • jj77
Naveed posted this 18 May 2019

Thanks everyone. (Y) Much appreciated.

Naveed posted this 26 May 2019

Sorry for late question. Coming back to the fatigue part of my project, with reference to the reply Peter got from ANSYS, my question is what is the purpose of rainflow counting and history data if the stresses are evaluated at only a specific point in time? I mean it looks same as if fully reversed cycle is used which has 1 magnitude going up and down.

Even after reading theory about rainflow counting method I could not understand how ANSYS solves it. If there is any document I can refer to, plz suggest.

Gaddsch posted this 28 May 2019

Rainflow is done to your imported history data i think. As you mention, it is not possible for a single loadstep.