Rainflow Count Method


Load-time histories acting on structures are often irregular, i.e. it is a so-called variable amplitude spectrum. To perform a fatigue analysis it is required that such a history is translated to cycles: number of occurrences, stress amplitude and mean stress level. For this, cycle counting methods are applied. Such counting methods are algorithms used to reduce a load-time history to a list of stress amplitudes with corresponding mean stress values and number of occurences. This list can then be used in fatigue analyse for the determination of damage accumulation.
The method of counting cycles giving the most realistic results is the Rainflow Counting method since it combines the highest peaks and lowest valleys in a spectrum with each other.

This article describes the Rainflow Counting method, as well as some steps (PVP counting, filtering, binning) that should or can be made prior to the rainflow counting procedure itself.

Peak-Valley-Peak Counting

The ultimate goal of rainflow counting is to get a list of cycles with amplitudes and mean values. To achieve that only the reversals in a load history are required. All intermediate load levels can be skipped. The process to do so is called peak-valley-peak (PVP) counting.

PVP counting is often combined with range filtering to remove noise from the load-time history. Range filtering implies the removal for very small ranges from the load history, see figure below. As long as the range filter size is chosen well below the fatigue limit, range filtering has no effect on the fatigue analysis.


An optional step is binning. If binning is not applied, the load history after PVP counting is rainflow counted as it is. That may result in a very large, impractical, table with stress amplitudes.

To reduce the size of the resulting table, binning can be applied. This implies that the load scale is divided in discrete bins. Each bin is a fixed load range, all load levels within a bin get assigned the mean level of the bin. In the figure below, an example is shown with 5 bins.

With binning, the load levels are somewhat altered, so binning affects the result of the rainflow counting analysis and hence the fatigue analysis. To keep this effect within acceptable bounds, the bin size should be reasonable small. It is common practice to divide the load scale into 32 or 64 bins, but larger number of bins can be applied as well.

When binning, note that the highest peak must always be in the middle, so not on top, of the highest bin. Similarly, the lowest trough must always be in the middle of the lowest bin. Imagine you are rainflow counting a constant amplitude spectrum with a range between 0 and 100 MPa. You are dividing this range in 10 bins, from 0 to 10, 10 to 20, etc., so each with a range of 10 MPa. As shown in the figure below you will end up with cycles between 5 and 95 MPa: an incorrect result.
Obviously, you will not perform rainflow counting on constant amplitude load histories if you are doing a calculation by hand. But what if you have a large number of fatigue analyses which you want to automate?

Binning is also useful to present rainflow counting results. The picture below shows an example.

Rainflow Counting

With all previous steps done, the actual cycle counting can be done. In the Rainflow Counting method, following steps are performed:

  1. Select four consecutive stress levels, Si, Si+1, Si+2 and Si+3.
  2. Check if Si+1 ≥ Si+3 and Si+2 ≤ Si
    or if Si+1 ≥ Si+3 and Si+2 ≤ Si (i.e. a small range is within a large range).
  3. If this requirement is met, count full cycle with range between Si+1 and Si+2. Si+1 and Si+2 are then removed from the sequence.
  4. If the requirement is not met, move to Si+1, Si+2, Si+3 and Si+4 until the requirement is met.

This procedure is repeated until no more cycles can be counted anymore. The result of this method is a list (table) with stress cycles and occurrences. An example of the method is shown in the figure below.

In the first step a cycle between levels 1 and 2 is counted; in the second step a cycle between levels 2 and 3 is counted. At the end, the cycle between levels 0 and 4 remains and is counted as well.

Note that in the Rainflow Counting method, the highest and lowest stress level are always linked together.


It is possible that you will end up with a remaining sequence from which no cycles can be counted, see figure below.

There are two options to process such residues.

  1. Take the upward ranges and consider those (count them) as full cycles.
  2. Use an special algorithm to extract full cycles from the residu. Ref. [3] describes such an algorithm


There are several tools available to perform Rainflow Counting, for example FatigaRFC.


  1. Matsuishi, M. & Endo, T., Fatigue of metals subjected to varying stress, Japan Soc. Mech. Engineering, 1968.
  2. ASTM E 1049-85, Standard practices for cycle counting in fatigue analysis, ASTM International, Reapproved 2005
  3. Amzailag, C., Gerey, J.P., Robert, J.L., Bahuaud, J., Standardization of the Rainflow Count Method, Fatigue, 1994, Vol. 16.



The Fatec Academy is for members only. If you are a member, please log in.

Not a member?

You can definitely become one!