# Rainflow-counting algorithm

The rainflow-counting algorithm (also known as the rain-flow counting method) is used in the analysis of fatigue data in order to reduce a spectrum of varying stress into an equivalent set of simple stress reversals. The method successively extracts the smaller interruption cycles from a sequence, which models the material memory effect seen with stress-strain hysterisis cycles. This simplification allows the fatigue life of a component to be determined for each rainflow cycle using either Miner's rule to calculate the fatigue damage, or in a crack growth equation to calculate the crack increment. The algorithm was developed by Tatsuo Endo and M. Matsuishi in 1968.

The rainflow method is compatible with the cycles obtained from examination of the stress-strain hysteresis cycles. When a material is cyclically strained, a plot of stress against strain shows loops forming from the smaller interruption cycles. At the end of the smaller cycle, the material resumes the stress-strain path of the original cycle, as if the interruption had not occurred. The closed loops represent the energy dissipated by the material.

## History

The rainflow algorithm was developed by T. Endo and M. Matsuishi (an M.S. student at the time) in 1968 and presented in a Japanese paper. The first english presentation by the authors was in 1974. They communicated the technique to N. E. Dowling and J. Morrow in the U.S. who verified the technique and further popularised its use.

Downing and Socie created one of the more widely referenced and utilized rainflow cycle-counting algorithms in 1982, which was included as one of many cycle-counting algorithms in ASTM E1049-85.

Igor Rychlik gave a mathematical definition for the rainflow counting method, thus enabling closed-form computations from the statistical properties of the load signal.

## Algorithms

There are a number of different algorithms for identifying the rainflow cycles within a sequence. They all find the closed cycles and may be left with half closed residual cycles at the end. All methods start with the process of eliminating non turning points from the sequence. A completely closed set of rainflow cycles can be obtained for a repeated load sequence such as used in fatigue testing by starting at the largest peak and continue to the end and wrapping around to the beginning. .

### Four point method

This method evaluates each set of 4 adjacent turning points A-B-C-D in turn:

1. Any pair of points B-C that lies within or equal to A-D is a rainflow cycle.
2. Remove the pair B-C and re-evaluate the sequence from the beginning.
3. Continue until no further pairs can be identified.

### Pagoda roof method

This method considers the flow of water down of a series of pagoda roofs. Regions where the water will not flow identify the rainflow cycles which are seen as an interruption to the main cycle.

1. Reduce the time history to a sequence of (tensile) peaks and (compressive) valleys.
2. Imagine that the time history is a template for a rigid sheet (pagoda roof).
3. Turn the sheet clockwise 90° (earliest time to the top).
4. Each "tensile peak" is imagined as a source of water that "drips" down the pagoda.
5. Count the number of half-cycles by looking for terminations in the flow occurring when either:
• It reaches the end of the time history;
• It merges with a flow that started at an earlier tensile peak; or
• It flows when an opposite tensile peak has greater magnitude.
6. Repeat step 5 for compressive valleys.
7. Assign a magnitude to each half-cycle equal to the stress difference between its start and termination.
8. Pair up half-cycles of identical magnitude (but opposite sense) to count the number of complete cycles. Typically, there are some residual half-cycles.

#### Example

• The stress history in Figure 2 is reduced to peaks and valleys in Figure 3.
• Half-cycle (A) starts at tensile peak (1) and terminates opposite a greater tensile stress, peak (2); its magnitude is 16 MPa.
• Half-cycle (B) starts at tensile peak (4) and terminates where it is interrupted by a flow from an earlier peak, (3); its magnitude is 17 MPa.
• Half-cycle (C) starts at tensile peak (5) and terminates at the end of the time history.
• Similar half-cycles are calculated for compressive stresses (Figure 4) and the half-cycles are then matched.
 Stress (MPa) Whole cycles Half cycles 10 2 0 13 0 1 16 0 2 17 0 2 19 1 0 20 0 1 22 0 1 24 0 1 27 0 1