Rainflow-counting algorithm


The rainflow-counting algorithm 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 hysteresis 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 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 peaks and valleys.
  2. Imagine that the time history is a template for a rigid sheet.
  3. Turn the sheet clockwise 90°.
  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:
  6. * case It reaches the end of the time history;
  7. * case It merges with a flow that started at an earlier tensile peak; or
  8. * case It flows when an opposite tensile peak has greater magnitude.
  9. Repeat step 5 for compressive valleys.
  10. Assign a magnitude to each half-cycle equal to the stress difference between its start and termination.
  11. Pair up half-cycles of identical magnitude to count the number of complete cycles. Typically, there are some residual half-cycles.

    Example

Stress Whole cyclesHalf cycles
1020
1301
1611
1701
1901
2010
2210
2901