![Rainflow counting vs stress-strain curve](https://upload.wikimedia.org/wikipedia/commons/3/3a/Rainflow_counting_vs_stress-strain_curve.svg)
The rainflow-counting algorithm is used in calculating the
fatigue
Fatigue describes a state of tiredness that does not resolve with rest or sleep. In general usage, fatigue is synonymous with extreme tiredness or exhaustion that normally follows prolonged physical or mental activity. When it does not resolve ...
life of a component in order to convert a uniaxial loading sequence of varying
stress
Stress may refer to:
Science and medicine
* Stress (biology), an organism's response to a stressor such as an environmental condition
* Stress (linguistics), relative emphasis or prominence given to a syllable in a word, or to a word in a phrase ...
into an equivalent set of constant amplitude stress reversals. The method successively extracts the smaller interruption cycles from a sequence, which models the material memory effect seen with stress-strain
hysteresis
Hysteresis is the dependence of the state of a system on its history. For example, a magnet may have more than one possible magnetic moment in a given magnetic field, depending on how the field changed in the past. Plots of a single component of ...
cycles.
This simplification allows the number of cycles until failure 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
A crack growth equation is used for calculating the size of a fatigue crack growing from cyclic loads. The growth of fatigue cracks can result in catastrophic failure, particularly in the case of aircraft. A crack growth equation can be used to en ...
to calculate the crack increments. Both methods give an estimate of the ''fatigue life'' of a component. In cases of multiaxial loading,
critical plane analysis
Critical plane analysis refers to the analysis of stresses or strains as they are experienced by a particular plane in a material, as well as the identification of which plane is likely to experience the most extreme damage. Critical plane analys ...
can be used together with rainflow counting to identify the uniaxial history associated with the plane that maximizes damage. The
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algorithms are used as specificat ...
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
Fatigue testing is a specialised form of mechanical testing that is performed by applying cyclic loading to a ''coupon'' or structure. These tests are used either to generate fatigue life and crack growth data, identify critical locations or ...
by starting at the largest peak and continue to the end and wrapping around to the beginning.
Four point method
![Rainflow-4point-method](https://upload.wikimedia.org/wikipedia/commons/a/af/Rainflow-4point-method.png)
This method evaluates each set of 4 adjacent turning points A-B-C-D in turn:
[ ]
# Any pair of points B-C that lies within or equal to A-D is a rainflow cycle.
# Remove the pair B-C and re-evaluate the sequence from the beginning.
# 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.
# Reduce the time history to a sequence of (tensile) peaks and (compressive) valleys.
# Imagine that the time history is a template for a rigid sheet (
pagoda
A pagoda is an Asian tiered tower with multiple eaves common to Nepal, India, China, Japan, Korea, Myanmar, Vietnam, and other parts of Asia. Most pagodas were built to have a religious function, most often Buddhist but sometimes Taoist, ...
roof).
# Turn the sheet clockwise 90° (earliest time to the top).
# Each "tensile peak" is imagined as a source of water that "drips" down the pagoda.
# Count the number of half-cycles by looking for terminations in the flow occurring when either:
#* case (a) It reaches the end of the time history;
#* case (b) It merges with a flow that started at an earlier ''tensile peak''; or
#* case (c) An opposite ''tensile peak'' has greater or equal magnitude.
# Repeat step 5 for ''compressive valleys''.
# Assign a magnitude to each half-cycle equal to the stress difference between its start and termination.
# 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
![Rainflow analysis for tensile peaks](https://upload.wikimedia.org/wikipedia/commons/f/f8/Rainflow_analysis_for_tensile_peaks.svg)
The stress history in Figure 2 is reduced to tensile peaks in Figure 3 and compressive valleys in Figure 4. From the tensile peaks in Figure 3:
*The first half-cycle starts at tensile peak 1 and terminates opposite a greater tensile stress, peak 3 (case c); its magnitude is 16 MPa (2 - (-14) = 16).
*The half-cycle starting at peak 9 terminates where it is interrupted by a flow from earlier peak 8 (case b); its magnitude is 16 MPa (8 - (-8) = 16).
*The half-cycle starting at peak 11 terminates at the end of the time history (case a); its magnitude is 19 MPa (15 - (-4) = 19).
Similar half-cycles are calculated for compressive stresses (Figure 4) and the half-cycles are then matched.
References
{{Reflist
External links
StoFlo freeware rainflow cycle counting Excel templateMatlab Central rainflow counting methodWAFO. Wave Analysis for Fatigue and Oceanography (Matlab)Vibrationdata Rainflow Tutorials & Matlab scriptsFatpack. Fatigue analysis in python
Materials science
Elasticity (physics)
Fracture mechanics