# Rainflow Cycle Counting

Use cycle counting to extract discrete simple "equivalent" constant amplitude cycles from a random loading sequence.

One way to understand “cycle counting” is as a changing stress-strain versus time signal. Cycle counting counts the number of stress-strain hysteresis loops and keeps track of their range/mean or maximum/minimum values.

Rainflow cycle counting is the most widely used cycle counting method. It requires that the stress time history be converted to just peaks and valleys and rearranged so it starts either with the highest peak or the lowest valley (whichever is greater in absolute magnitude). Then, three consecutive stress points (1, 2, and 3) will define two consecutive ranges as $\Delta {S}_{12}=\left|{S}_{1}-{S}_{2}\right|$ and $\Delta {S}_{23}=\left|{S}_{2}-{S}_{3}\right|$ . A cycle from point 1 to 2 is only extracted if $\Delta {S}_{12}\le \Delta {S}_{23}$ . Once a cycle is extracted, the two points forming the cycle are discarded and the remaining points are connected to each other. This procedure is repeated until the remaining data points are exhausted. The process of rainflow counting in SimSolid is illustrated using an example below.

## Example Using Simple Load History

Consider the following load history: Since it is continuous, this load history is converted into a load history with peaks and valleys only: 1, 2, 3, and 4 are the four peaks and valleys. Point 4 is the peak stress in the load history and moves to the front during rearrangement as shown in Figure 3. After rearrangement, the peaks and valleys are renumbered.

Next, pick the first three stress values (1, 2, and 3) and determine if a cycle is present. If ${S}_{i}$ represents the stress value, point I, then

$\Delta {S}_{12}=\left|{S}_{1}-{S}_{2}\right|$
$\Delta {S}_{23}=\left|{S}_{2}-{S}_{3}\right|$

Since $\Delta {S}_{12}\ge \Delta {S}_{23}$ , no cycle is extracted from point 1 to 2. Now consider the next three points as follows:

$\Delta {S}_{23}=\left|{S}_{2}-{S}_{3}\right|$
$\Delta {S}_{34}=\left|{S}_{3}-{S}_{4}\right|$

$\Delta {S}_{23}\le \Delta {S}_{34}$ , so a cycle is extracted from point 2 to 3. Since a cycle has been extracted, delete the two points from the graph.

Apply the same process to the remaining points:

$\Delta {S}_{14}=\left|{S}_{1}-{S}_{4}\right|$
$\Delta {S}_{45}=\left|{S}_{4}-{S}_{5}\right|$
In this case, $\Delta {S}_{14}=\Delta {S}_{45}$ so another cycle is extracted from point 1 to 4. These two points are discarded. There are five points remaining, therefore the rainflow counting process is complete.

Two cycles (2 → 3 and 1 → 4) have been extracted from this load history. One of the main reasons for choosing the highest peak/valley and rearranging the load history is to guarantee that the largest cycle is always extracted (in this case, it is 1 → 4). If you observe the load history prior to rearrangement, and conduct the same rainflow counting process on it, the 1 → 4 cycle is not extracted.

## Example Using More Complex Load History

The rainflow counting process is the same regardless of the number of load-history points. However, depending on the location of the highest peak/valley used for rearrangement, it may not be obvious how the rearrangement process is conducted. The following example shows just the rearrangement process for a more complex load-history. The subsequent rainflow counting is just an extrapolation of the process mentioned in the simple example above, and is not repeated here.

Consider the load history below: Since this load history is continuous, it is converted into a load history consisting of peaks and valleys only, as follows:
Load point 11 is the highest valued load, so the load history is now rearranged and renumbered as follows: The load history is rearranged so all points including and after the highest load are moved to the beginning of the load history and are removed from the end of the load history.