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 Δ S 12 = S 1 S 2 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeyiLdqKaam 4uamaaBaaaleaacaaIXaGaaGOmaaqabaGccqGH9aqpdaabdaqaaiaa dofadaWgaaWcbaGaaGymaaqabaGccqGHsislcaWGtbWaaSbaaSqaai aaikdaaeqaaaGccaGLhWUaayjcSdaaaa@4287@ and Δ S 23 = S 2 S 3 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeyiLdqKaam 4uamaaBaaaleaacaaIYaGaaG4maaqabaGccqGH9aqpdaabdaqaaiaa dofadaWgaaWcbaGaaGOmaaqabaGccqGHsislcaWGtbWaaSbaaSqaai aaiodaaeqaaaGccaGLhWUaayjcSdaaaa@428C@ . A cycle from point 1 to 2 is only extracted if Δ S 12 Δ S 23 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeyiLdqKaam 4uamaaBaaaleaacaaIXaGaaGOmaaqabaGccqGHKjYOcqGHuoarcaWG tbWaaSbaaSqaaiaaikdacaaIZaaabeaaaaa@3F79@ . 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:


Figure 1.
Since it is continuous, this load history is converted into a load history with peaks and valleys only:


Figure 2.
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.
Figure 3.

Next, pick the first three stress values (1, 2, and 3) and determine if a cycle is present. If S i MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaam4uamaaBa aaleaacaWGPbaabeaaaaa@37E6@ represents the stress value, point I, then

Δ S 12 = S 1 S 2 MathType@MTEF@5@5@+= feaahqart1ev3aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeyiLdqKaam 4uamaaBaaaleaacaaIXaGaaGOmaaqabaGccqGH9aqpdaabdaqaaiaa dofadaWgaaWcbaGaaGymaaqabaGccqGHsislcaWGtbWaaSbaaSqaai aaikdaaeqaaaGccaGLhWUaayjcSdaaaa@4287@
Δ S 23 = S 2 S 3 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeyiLdqKaam 4uamaaBaaaleaacaaIYaGaaG4maaqabaGccqGH9aqpdaabdaqaaiaa dofadaWgaaWcbaGaaGOmaaqabaGccqGHsislcaWGtbWaaSbaaSqaai aaiodaaeqaaaGccaGLhWUaayjcSdaaaa@428C@

Since Δ S 12 Δ S 23 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeyiLdqKaam 4uamaaBaaaleaacaaIXaGaaGOmaaqabaGccqGHLjYScqGHuoarcaWG tbWaaSbaaSqaaiaaikdacaaIZaaabeaaaaa@3F8A@ , no cycle is extracted from point 1 to 2. Now consider the next three points as follows:

Δ S 23 = S 2 S 3 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeyiLdqKaam 4uamaaBaaaleaacaaIYaGaaG4maaqabaGccqGH9aqpdaabdaqaaiaa dofadaWgaaWcbaGaaGOmaaqabaGccqGHsislcaWGtbWaaSbaaSqaai aaiodaaeqaaaGccaGLhWUaayjcSdaaaa@428C@
Δ S 34 = S 3 S 4 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeyiLdqKaam 4uamaaBaaaleaacaaIZaGaaGinaaqabaGccqGH9aqpdaabdaqaaiaa dofadaWgaaWcbaGaaG4maaqabaGccqGHsislcaWGtbWaaSbaaSqaai aaisdaaeqaaaGccaGLhWUaayjcSdaaaa@4290@

Δ S 23 Δ S 34 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeyiLdqKaam 4uamaaBaaaleaacaaIYaGaaG4maaqabaGccqGHKjYOcqGHuoarcaWG tbWaaSbaaSqaaiaaiodacaaI0aaabeaaaaa@3F7D@ , so a cycle is extracted from point 2 to 3. Since a cycle has been extracted, delete the two points from the graph.


Figure 4.

Apply the same process to the remaining points:

Δ S 14 = S 1 S 4 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeyiLdqKaam 4uamaaBaaaleaacaaIXaGaaGinaaqabaGccqGH9aqpdaabdaqaaiaa dofadaWgaaWcbaGaaGymaaqabaGccqGHsislcaWGtbWaaSbaaSqaai aaisdaaeqaaaGccaGLhWUaayjcSdaaaa@428C@
Δ S 45 = S 4 S 5 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeyiLdqKaam 4uamaaBaaaleaacaaI0aGaaGynaaqabaGccqGH9aqpdaabdaqaaiaa dofadaWgaaWcbaGaaGinaaqabaGccqGHsislcaWGtbWaaSbaaSqaai aaiwdaaeqaaaGccaGLhWUaayjcSdaaaa@4294@
In this case, Δ S 14 = Δ S 45 MathType@MTEF@5@5@+= feaahqart1ev3aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeyiLdqKaam 4uamaaBaaaleaacaaIXaGaaGinaaqabaGccqGH9aqpcqGHuoarcaWG tbWaaSbaaSqaaiaaisdacaaI1aaabeaaaaa@3ED0@ 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:


Figure 5.
Since this load history is continuous, it is converted into a load history consisting of peaks and valleys only, as follows:


Figure 6.
Load point 11 is the highest valued load, so the load history is now rearranged and renumbered as follows:


Figure 7.
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.