Hubbry Logo
Rainflow-counting algorithmRainflow-counting algorithmMain
Open search
Rainflow-counting algorithm
Community hub
Rainflow-counting algorithm
logo
8 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
Rainflow-counting algorithm
Rainflow-counting algorithm
from Wikipedia
Rainflow counting identifies the closed cycles in a stress-strain curve

The rainflow-counting algorithm is used in calculating the fatigue life of a component in order to convert a loading sequence of varying stress into a set of constant amplitude stress reversals with equivalent fatigue damage. The method successively extracts the smaller interruption cycles from a sequence, which models the material memory effect seen with stress-strain hysteresis cycles.[1] 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 to calculate the crack increments.[2] Both methods give an estimate of the fatigue life of a component. In cases of multiaxial loading, critical plane analysis can be used together with rainflow counting to identify the uniaxial history associated with the plane that maximizes damage. The algorithm was developed by Tatsuo Endo and M. Matsuishi in 1968.[3]

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.[1]

Figure 1: Uniform alternating loading
Figure 2: Spectrum loading

History

[edit]

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.[1]

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

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

Algorithms

[edit]

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

[edit]
Rainflow counting using the four point method. Any pair of turning points B,C that lie between adjacent points A and D is a rainflow cycle. Count and eliminate the pair B,C and continue processing the sequence until no more cycles can be extracted.

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

  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

[edit]

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:
    • 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.
  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

[edit]
Figure 3: Rainflow analysis for tensile peaks

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.

Figure 4: Rainflow analysis for compressive valleys
Stress (MPa) Whole cycles Half cycles
10 2 0
13 0 1
16 1 1
17 0 1
19 0 1
20 1 0
22 1 0
29 0 1

References

[edit]
[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
The rainflow-counting algorithm is a computational method employed in analysis to extract closed loops, or cycles, from irregular stress or strain time histories, thereby converting variable-amplitude loading into a of equivalent constant-amplitude cycles for predicting material damage and . This approach is essential in fields where components experience random or non-periodic loads, such as in , automotive, and offshore structures, as it accurately identifies the damaging portions of load sequences by mimicking the flow of down a roof—where peaks and valleys represent roof edges, and "rain" flows from extrema until interrupted by a steeper prior segment or the end. The algorithm's output typically includes cycle counts, amplitudes, and mean stresses, which are then used in damage accumulation models like Miner's rule to estimate life. Developed in the late 1960s, the method was first introduced by Japanese engineers M. Matsuishi and Tatsuo Endo in their 1968 paper presented at the Japan Society of Mechanical Engineers, titled "Fatigue of Metals Subjected to Varying Stress," where it was proposed to address the limitations of earlier cycle-counting techniques in handling realistic, non-sinusoidal loading patterns. Endo's innovation drew from the visual analogy of rainwater cascading over temple roofs, a concept refined through experimental validation on metals under random loads, and it gained international recognition after English translations in the . By the 1980s, the algorithm had become the preferred standard for fatigue assessment, formalized in ASTM E1049 (first published in 1985 and revised periodically), which outlines three- and four-point counting rules to ensure consistency across implementations. In practice, the algorithm processes a of load data through steps such as peak-valley detection to identify local maxima and minima, followed by range comparison: for a of points, it forms potential cycles by checking if the range between recent extrema exceeds prior ones, and extracting qualifying loops while preserving the overall integrity. This results in superior accuracy over simpler methods like peak or , particularly for capturing small "micro-cracks" or residual cycles that contribute disproportionately to damage under high-cycle . Modern applications extend beyond metals to composites, welds, and even non-structural systems like battery state-of-charge cycling, with computational implementations available in software tools for real-time monitoring and .

Overview

Definition and Purpose

The rainflow-counting algorithm is a technique in fatigue analysis that processes a sequence of stress or strain turning points—extracted from variable-amplitude time-history data as peaks and valleys—to identify and count equivalent cycles by their ranges and means, thereby simulating the material's memory through closed stress-strain loops. This method decomposes irregular loading into a set of constant-amplitude cycles that represent the actual damage-causing reversals in the material response. Its primary purpose is to facilitate the application of the Palmgren-Miner linear damage rule for cumulative damage assessment under non-constant loading conditions, where simpler counting approaches fail to capture effects accurately. By providing a realistic cycle extraction, it allows engineers to predict component life in applications like structures and automotive parts subjected to random vibrations. The key output of the algorithm is a matrix or list specifying cycle ranges (Δσ\Delta\sigma), mean stresses (σm\sigma_m), and the number of occurrences (nin_i) for each identified cycle type, enabling damage calculation via the summation D=iniNiD = \sum_i \frac{n_i}{N_i}, where NiN_i denotes the cycles to failure at that specific range and mean.

Rainflow Analogy

The rainflow analogy conceptualizes a time history of stress or strain as the silhouette of a pagoda roof, with peaks representing the eaves from which raindrops fall and valleys acting as collection points. As rain flows downhill from these peaks, it traces paths along the roof's slopes, forming streams that mimic the development of stress cycles in a loading sequence. A complete cycle emerges when a rainflow begins and ends at points of equivalent height (stress level), symbolizing a closed loop in the material's deformation path. This metaphorical visualization simplifies the extraction of damaging cycles from irregular load data by treating the stress plot—often rotated 90 degrees clockwise for clarity—as a multi-tiered roof structure. In the analogy, each raindrop initiates a flow from a peak, continuing downward until it meets one of three conditions: it encounters a prior flow and merges with it, reaches a reversal (such as a deeper ) that halts it, or arrives at the end of the roof's profile. Flows that pair up between matching levels define full cycles, while those left unpaired contribute as half-cycles, ensuring that larger, more significant flows (corresponding to greater stress ranges) take precedence over smaller ones to avoid undercounting severe events. This rule-based flow simulation effectively delineates cycles by simulating how water would naturally drain, providing an intuitive framework for identifying reversals without . The roof imagery parallels the physical behavior of materials under variable amplitude loading, where stress-strain paths form closed loops that capture the "" of prior deformation histories. Just as rainflows close upon reaching similar elevations, these loops represent segments of irreversible plastic strain and energy dissipation, each contributing cumulatively to damage in strain-life assessments. By focusing on these closed paths, the underscores how materials accumulate harm from sequential loading excursions, linking macroscopic stress histories to microscopic crack and . This intuitive metaphor was introduced by Tatsuo Endo in 1968, working with M. Matsuishi, to demystify cycle identification in fatigue analysis by avoiding the need for intricate derivations. Their approach, detailed in a to the Japan Society of Mechanical Engineers, emphasized accessibility for engineers dealing with real-world variable loading, establishing rainflow as a cornerstone of damage prediction.

History

Origins and Early Development

The rainflow-counting algorithm was developed by Japanese researchers Tatsuo Endo and Minoru Matsuishi in 1968 while working at Institute of Technology. Endo developed the core idea during his tenure as a visiting at the University of in 1967-1968. Their seminal paper, titled "Fatigue of Metals Subjected to Varying Stress," was presented at the proceedings of the Branch of the Society of Mechanical Engineers in Fukuoka, . This work proposed a peak counting method specifically designed as a fatigue criterion for materials under complex, variable stress conditions, aiming to extract meaningful cycles from irregular load histories. The primary motivation behind the development was to overcome the limitations of simpler cycle counting techniques, such as basic peak or level-crossing methods, which often overestimated or underestimated damage in real-world applications involving random loading. These shortcomings were particularly evident in structural components like parts and automotive elements, where variable loads could lead to premature failure if not accurately assessed. Endo and Matsuishi's approach sought to identify closed stress-strain cycles that more realistically represented material damage accumulation, providing a foundation for reliable life predictions in such dynamic environments. Initial validation of the method involved experimental tests on specimens subjected to random loading sequences, which demonstrated improved between predicted and observed lives compared to conventional methods. These early experiments focused on quantifying how the proposed counting procedure captured the effects of stress reversals and ranges in non-constant amplitude scenarios. The method received broader recognition through its first English-language presentation in , where the authors communicated the technique and introduced the "flow" analogy to researchers including N.E. Dowling and J. Morrow in the U.S. This dissemination, along with translated proceedings, highlighted the intuitive visualization of cycle extraction as rain flowing from of a pagoda roof, aiding its conceptual understanding and eventual adoption in international practices.

Standardization and Formalization

The rainflow-counting algorithm gained prominence in Western engineering communities through the work of S.D. Downing and D.F. Socie, who in 1982 published a seminal paper detailing simple, implementable versions of the method, including the four-point algorithm, thereby providing the first comprehensive English-language exposition accessible to a broad audience. This publication bridged earlier Japanese developments with practical applications in fatigue analysis, facilitating its adoption in structural engineering and materials science. Formal standardization occurred in 1985 when the American Society for Testing and Materials (ASTM) incorporated the rainflow method into ASTM E1049-85, designating it as a recommended practice for cycle counting in of metallic materials under variable amplitude loading. The standard outlined procedures for obtaining cycle counts from time histories, emphasizing rainflow's superiority for capturing closed loops representative of actual damage accumulation, and it became a benchmark for experimental validation in industries such as and automotive. A pivotal mathematical advancement came in 1987 with Igor Rychlik's proof, which rigorously defined rainflow as a functional operating on sequences of turning points in a load history, demonstrating its equivalence to the process that maximizes the total area of hysteresis loops formed during cyclic loading. This formalization elevated the algorithm from an empirical technique to a theoretically grounded tool, enabling analytical derivations of cycle distributions for stationary processes and supporting probabilistic predictions. Throughout the , key milestones included the integration of rainflow counting into computational tools for post-processing stress histories, as advances allowed efficient handling of large datasets from simulations. Concurrent validations against experimental data confirmed the method's enhanced reliability compared to peak counting approaches.

Fundamentals of Cycle Counting

Role in Fatigue Life Prediction

In the context of structural under variable amplitude loading, components accumulate damage through the initiation and propagation of microcracks, induced by fluctuating stresses or strains that do not follow constant amplitude patterns. The rainflow-counting algorithm facilitates fatigue life prediction by extracting a discrete set of equivalent constant-amplitude cycles from the irregular loading history, enabling the application of established empirical models such as S-N curves (stress-life) or ε-N curves (strain-life) to estimate the number of cycles to failure. This cycle extraction integrates seamlessly with the Palmgren-Miner linear rule, which quantifies cumulative as the summation of fractional damages from each identified cycle. Specifically, the total DD is given by D=iniNi,D = \sum_i \frac{n_i}{N_i}, where nin_i represents the number of cycles counted at a particular stress or strain range Δσi\Delta \sigma_i or Δϵi\Delta \epsilon_i, and NiN_i is the corresponding cycles-to-failure from the material's . Equivalently, for high-cycle governed by Basquin's , the expression becomes D=iniC(Δσi)m,D = \sum_i n_i C (\Delta \sigma_i)^m, with CC and mm as empirically determined material constants; in low-cycle , the Coffin-Manson equation adapts this to include plastic strain contributions, Δϵp/2=ϵf(2Ni)c\Delta \epsilon_p / 2 = \epsilon_f' (2N_i)^c, where ϵf\epsilon_f' and cc are ductility-related parameters. failure is anticipated when D1D \geq 1, assuming no load interaction effects. The rainflow method's counted cycles thus provide the nin_i values essential for this accumulation, transforming raw time-series data into actionable metrics. The algorithm's foundation lies in mimicking the formation of closed hysteresis loops on the material's stress-strain curve, where each fully extracted cycle corresponds to a loop enclosing dissipation—the primary driver of microstructural and crack advancement. Open segments between loops, by contrast, are treated as reversible elastic excursions that contribute negligibly to net accumulation. This loop-centric approach aligns directly with the physics of cyclic plasticity, ensuring that only damaging reversals are tallied. While robust, rainflow counting's predictions depend on Miner's rule assumptions of linear summation and cycle independence, which may not hold under sequence-sensitive or highly nonlinear loading, potentially leading to over- or underestimation of life.

Comparison with Alternative Methods

The rainflow- algorithm stands out among cycle-counting techniques in analysis due to its ability to account for and interaction of load reversals, mimicking the formation of closed loops in material stress-strain behavior. Alternative methods, such as peak counting, level-crossing counting, and range-pair counting, offer simpler approaches but often compromise accuracy by overlooking loading details. Peak counting, the simplest method, identifies cycles solely by pairing local maxima and minima without regard to sequence, leading to an overestimation of by approximately 35% compared to rainflow in analyses of ground motion records. Level-crossing counting tallies the number of times the stress signal crosses predefined levels, which performs reasonably for high-cycle but misses the influence of mean stress and sequence effects, resulting in about 21% higher estimates relative to rainflow. Range-pair counting, an early predecessor to rainflow developed in the 1950s, pairs consecutive stress ranges but ignores the overall loading order, making it less precise for irregular histories where cycle interactions significantly affect accumulation. Rainflow's superiority lies in its physical basis, as formalized by Rychlik's 1987 mathematical definition, which proves that the extracted cycles correspond exactly to the closed hysteresis loops formed during cyclic loading, providing the most accurate representation of energy dissipation and damage. This alignment reduces prediction errors to under 10% in validated benchmarks, compared to 20-50% overestimation typical of peak counting in variable-amplitude scenarios. When combined with Miner's rule for cumulative damage, rainflow yields results closest to experimental fatigue life observations, particularly for complex random loads. Despite its advantages, rainflow has limitations, including higher with O(n time scaling for long time histories, which can be intensive for real-time or large-scale applications. It is also sensitive to in the input signal during turning-point extraction, potentially leading to erroneous cycle identification if data preprocessing is inadequate. Alternatives like peak counting are preferable for quick preliminary screening in non-critical assessments due to their simplicity and low computational cost, while rainflow is essential for precise analysis of high-value components, such as blades, where accurate damage prediction directly impacts and .

Core Algorithms

Four-Point Method

The four-point method represents the foundational algorithmic realization of the rainflow counting technique in Western engineering practice, as developed by Downing and Socie in their seminal 1982 paper. It operates on a preprocessed sequence of turning points X1,X2,,XnX_1, X_2, \dots, X_n derived from a load-time history, where turning points are local maxima and minima that capture the essential variations in stress or strain. The algorithm systematically identifies full cycles by evaluating sets of four consecutive turning points, enabling the extraction of closed loops that correspond to reversible material deformation in analysis. This method ensures cycles are counted while accounting for load sequence effects, providing a robust basis for Miner's rule in cumulative damage prediction. The core extraction procedure examines every quartet of consecutive turning points, labeled A, B, C, D. The range of the candidate inner cycle is computed as BC|B - C|, while the outer encompassing range is AD|A - D|. A full cycle is identified and counted if BCAD|B - C| \leq |A - D| and the slopes of the adjacent segments oppose each other—specifically, if the of (BA)(B - A) differs from the of (DC)(D - C), satisfying the rainflow condition that prevents premature pairing. Upon extraction, points B and C are removed from the sequence, and the remaining points A and D are joined as a new pair to maintain continuity; this updated sequence is then re-evaluated from the beginning. The process iterates until no further extractions are possible, at which point any residual unpaired turning points are classified as half-cycles. These rules preserve the conceptual , where extracted cycles mimic rain flowing uninterrupted between opposing peaks. A structured pseudocode implementation follows a nested loop to enforce the iterative extraction:

initialize sequence S = [X_1, X_2, ..., X_n] initialize cycles = empty list while length(S) >= 4: extracted = false for i from 1 to length(S) - 3: A = S[i], B = S[i+1], C = S[i+2], D = S[i+3] inner_range = |B - C| outer_range = |A - D| slope_AB = sign(B - A) slope_CD = sign(D - C) if inner_range <= outer_range and slope_AB * slope_CD < 0: add to cycles: full cycle with range inner_range, mean (B + C)/2 remove S[i+1] and S[i+2] from S // B and C removed // S[i] (A) and new S[i+1] (D) now adjacent extracted = true break // restart evaluation on updated S if not extracted: break // no more cycles possible for remaining consecutive pairs in S: add half-cycle with range |S[j] - S[j+1]|, mean (S[j] + S[j+1])/2

initialize sequence S = [X_1, X_2, ..., X_n] initialize cycles = empty list while length(S) >= 4: extracted = false for i from 1 to length(S) - 3: A = S[i], B = S[i+1], C = S[i+2], D = S[i+3] inner_range = |B - C| outer_range = |A - D| slope_AB = sign(B - A) slope_CD = sign(D - C) if inner_range <= outer_range and slope_AB * slope_CD < 0: add to cycles: full cycle with range inner_range, mean (B + C)/2 remove S[i+1] and S[i+2] from S // B and C removed // S[i] (A) and new S[i+1] (D) now adjacent extracted = true break // restart evaluation on updated S if not extracted: break // no more cycles possible for remaining consecutive pairs in S: add half-cycle with range |S[j] - S[j+1]|, mean (S[j] + S[j+1])/2

This logic checks amplitude and direction criteria explicitly, with the sign product ensuring opposing directions; rescanning after each extraction maintains sequence integrity. The algorithm achieves linear time complexity O(n), as each turning point is involved in a bounded number of comparisons and extractions reduce the sequence length proportionally. It is well-suited for offline computation on digitized histories and was formalized in ASTM E1049 as a standard practice for fatigue cycle counting. Residual half-cycles at termination are paired sequentially to account for open loops, each contributing proportionally to damage. Relative to alternatives like peak counting, the four-point method yields more precise fatigue life estimates by better simulating material hysteresis behavior.

Pagoda Roof Method

The Pagoda Roof Method represents the original conceptual framework of the rainflow counting algorithm, developed by Matsuishi and Endo in 1968 as a means to extract closed hysteresis loops from irregular stress-strain histories for fatigue analysis. In this approach, the time history is visualized with the time axis oriented vertically downward and stress levels plotted horizontally, evoking the image of rain cascading off successive tiers of a pagoda's roofs, where local maxima (peaks) serve as the ridges from which rain begins to flow and local minima (valleys) act as the eaves where flow terminates or redirects. This flow-based pairing identifies half-cycles by simulating how raindrops travel along the "roofs" formed by the signal's extrema, prioritizing the extraction of the largest possible cycles that correspond to material yielding paths. The method's core procedure treats each peak as the initiation point of a downward flow, which proceeds to the adjacent valley and potentially continues along subsequent segments if they descend relative to the origin. Specifically, the step rules are as follows: (1) Begin a half-cycle at a peak, marking it as the start of a potential rainflow; (2) direct the flow to the immediate next valley, establishing the initial descent path; (3) if the ensuing peak has a lower amplitude than the originating peak, extend the flow to the following valley; (4) terminate the flow and pair it with an opposing half-cycle (originating from a valley) when the ranges align, forming a full cycle with the amplitude defined by the vertical drop and the mean stress at the midpoint; (5) in cases of overlapping flows, resolve merges by selecting the pairing with the largest range first; (6) extract any unpaired residual segments between counted cycles as additional half-cycles; (7) iterate through all remaining unprocessed extrema; (8) at the sequence's end, count any open half-cycles without pairing as single half-cycles. These rules ensure comprehensive coverage of the signal while mimicking the physical flow to avoid artificial cycles. For programmatic realization, the Pagoda Roof Method lends itself to a stack-based pseudocode that simulates the flow dynamics through amplitude comparisons, initializing an empty stack to track open half-cycles derived from the sequence of turning points (peaks and valleys extracted from the signal). The procedure processes each turning point sequentially:

Initialize empty stack S of half-cycles (each storing start level and position) For each turning point i in the ordered extrema sequence: While S is not empty and the range from S.top.start to current level i > range from S.top.start to S.top-1.start (if exists): Pop the top half-cycle from S Pop the next top half-cycle from S Count a full cycle with amplitude = (popped1.level - popped2.level)/2, mean = (popped1.level + popped2.level)/2 If S is empty or range from current i to S.top.start <= prior ranges, push new half-cycle starting at i onto S After processing all points, count remaining items in S as half-cycles with their respective from-to ranges

Initialize empty stack S of half-cycles (each storing start level and position) For each turning point i in the ordered extrema sequence: While S is not empty and the range from S.top.start to current level i > range from S.top.start to S.top-1.start (if exists): Pop the top half-cycle from S Pop the next top half-cycle from S Count a full cycle with amplitude = (popped1.level - popped2.level)/2, mean = (popped1.level + popped2.level)/2 If S is empty or range from current i to S.top.start <= prior ranges, push new half-cycle starting at i onto S After processing all points, count remaining items in S as half-cycles with their respective from-to ranges

This implementation captures the downward flow priority by popping and pairing when a larger range is identified, effectively closing "roofs" from higher tiers first. Compared to the four-point method, the Pagoda Roof Method emphasizes a holistic, sequential of rainflow across the , which facilitates manual application and intuitive understanding of cycle formation, though it may be less optimized for automated processing of large datasets. Nonetheless, it produces identical cycle distributions to the four-point method, as established by Rychlik's 1987 analytical definition that unifies various rainflow formulations under a consistent mathematical framework.

Extensions and Modern Developments

Multiaxial Adaptations

The rainflow-counting algorithm, originally developed for uniaxial loading, encounters significant challenges when applied to multiaxial stress states, as it fails to account for shear stresses, phase differences between stress components, and the directional nature of fatigue damage. In multiaxial scenarios, such as combined tension-torsion or bending-torsion, the interaction of and shear stresses on various material planes requires extensions that incorporate vector-based representations or projections onto critical planes to accurately identify closed loops and damage-equivalent cycles. One prominent adaptation is the Minimum Circumscribed Circle (MCC) method, introduced in , which addresses these limitations through a two-step procedure for multiaxial stress histories. In the first step, the method projects the stress path onto a critical plane and identifies normal stress ranges using a modified three-point ASTM rainflow algorithm, determining start and end indexes for potential cycles. The second step evaluates corresponding shear stress ranges by constructing the smallest circle that encloses the stress path segment between these indexes in the shear stress plane, ensuring accurate quantification of multiaxial excursions even under non-proportional loading. This approach integrates with uniaxial rainflow principles while enhancing shear range identification, making it suitable for complex variable-amplitude histories. Other notable adaptations include the Fatemi-Socie parameter, a critical plane model that applies rainflow counting to the shear strain history on the plane of maximum shear amplitude, incorporating normal stress effects via a shear stress modification factor to predict crack initiation in ductile materials. Similarly, the Wang-Brown method projects multiaxial histories onto material planes and employs a reversal-based counting scheme akin to rainflow, focusing on hysteresis loop closures to handle non-proportional loading by considering orthogonal stress components. These methods extend the core rainflow logic by emphasizing plane-specific projections and shear integration. Validation studies demonstrate that multiaxial rainflow adaptations, such as MCC, improve fatigue life predictions by 15-25% compared to traditional uniaxial methods in torsion-bending tests on materials like and aluminum alloys, reducing scatter in experimental correlations. These techniques have been applied in , including crankshaft durability analysis under combined bending and torsional loads, where they enable more reliable assessment of high-cycle using criteria like Findley for shear-dominated failure modes.

Optimizations and Recent Advances

Since 2020, several optimizations have enhanced the computational efficiency of the rainflow-counting algorithm, particularly for handling large-scale datasets in fatigue analysis. One notable advancement is the Fast Four-Point Rainflow Algorithm (FFRA), introduced in , which employs a simplified loop iteration mode to streamline cycle extraction. By preprocessing the input for one-stage batch extraction and reducing the number of iterations, tests, and deletions compared to the traditional four-point method, FFRA achieves significant speedups, performing up to 12.4 times faster than the standard four-point algorithm and 8.9 times faster than the three-point variant on long input sequences. This makes it particularly suitable for real-time where processing extensive time histories is essential. In the domain of , temperature-dependent modifications to the rainflow algorithm have emerged to better account for cycling in semiconductors. A 2025 modification adapts the conventional three-point method into a four-point framework that filters cooling half-cycles while preserving heating ones, computing effective heating times (Δt_on,j) and time-dependent equivalent temperatures based on profiles. This integration of time-at-temperature data into cycle counting allows for more accurate lifetime predictions in devices like (IGBT) modules, resulting in up to 53% lower estimated damage compared to standard approaches across various mission profiles. Such adjustments are critical for power devices under variable loads, enhancing reliability assessments in applications like electric vehicles and converters. Hardware-oriented implementations have also advanced real-time applicability, with a 2022 circuit-based rainflow counting algorithm enabling in-the-loop simulations for power device lifetime estimation. Implemented in SPICE-compatible environments like , this approach follows the four-point rule to compare adjacent fluctuations and extract full cycles over multiple rounds, providing without software overhead. It reduces half-cycle detection errors from 24% in conventional half-cycle methods to an average of 3.5%, with potential further improvements to 1.3–2% via additional processing rounds, making it ideal for online monitoring in such as MOSFETs in boost converters. Recent advances further incorporate for preprocessing and prediction. AI-enhanced noise filtering, such as convolutional neural networks tailored for signal denoising in , preprocesses noisy stress-time histories before rainflow application, improving cycle identification accuracy in fatigue-prone components. Additionally, hybrid models have been developed for predictive cycle counting in , exemplified by 2024 data-driven surrogates that map to damage equivalent loads (DEL) via rainflow-derived metrics, enabling faster predictions for components without full time-domain simulations. These integrations prioritize efficiency in noisy, variable environments like offshore wind farms.

Examples and Applications

Step-by-Step Numerical Example

To illustrate the application of the rainflow counting algorithm using the pagoda roof method, consider a sample stress history consisting of the turning points 0 MPa, 10 MPa, 0 MPa, 20 MPa, 10 MPa, and 0 MPa. These points represent extracted peaks and valleys from a continuous load signal, alternating as required: valley (0), peak (10), valley (0), peak (20), valley (10), valley (0). The pagoda roof method visualizes the stress sequence as a series of roofs, with "" flowing from peaks downward along the stress reversals until it either falls off the end or meets a prior flow. Using the four-point method for extraction: Start with the sequence. Check the first four points: A=0, B=10, C=0, D=20. The range B-C is 10 MPa, and A-D encloses it (min(A,D)=0 ≤ min(B,C)=0 and max(A,D)=20 ≥ max(B,C)=10). Count one full cycle of 10 MPa and remove B and C, resulting in 0, 20, 10, 0. Now check the new sequence: first four points 0, 20, 10, 0. The range 20-10=10 MPa is enclosed by 0-0? Wait, min(0,0)=0 max=0, min(20,10)=10 max=20; 0 ≤10? Yes but 0≥20? No, does not enclose. Advance: no extraction. With fewer than four points effectively after checks, the remaining forms one full cycle of 20 MPa from the two half-cycles (0 to 20 range 20, 20 to 10 to 0 adjusted). The process yields: one full cycle at 20 MPa and one full cycle at 10 MPa. These cycles correspond to closed hysteresis loops in the stress-strain response, verifying the counting by matching the areas enclosed by the extracted cycles to the total material damage potential in the original history. To compute cumulative damage using Miner's rule, assume an S-N curve where the number of cycles to NiN_i for each range is known (e.g., N20=105N_{20} = 10^5, N10=106N_{10} = 10^6); the damage fraction is then D=1N20+1N10=0.00001+0.000001=0.000011D = \frac{1}{N_{20}} + \frac{1}{N_{10}} = 0.00001 + 0.000001 = 0.000011, indicating low damage for this short history. Common pitfalls in this method include mishandling sequences with equal consecutive ranges, which may lead to incorrect and undercounting cycles; filtering from the signal prior to extracting turning points is essential to avoid spurious small cycles. The output is often summarized in a range for further analysis:
Range (MPa)Number of Cycles
201
101

Real-World Implementations

The rainflow-counting algorithm is integrated into several commercial software tools for in simulations. In Mechanical, the Fatigue Tool employs rainflow counting to extract cycles from stress histories, enabling damage accumulation via Miner's rule for variable loading. Simulation, in its 2025 release, incorporates the rainflow cycle counting method to process variable load histories, including options for binning cycles and plotting rainflow matrices to assess in components. Similarly, SDC Verifier's 2024 R1 update introduced a dedicated rainflow counting tool for structural assessments, supporting standards such as Eurocode 3 and EN 13001, with optimizations for handling half- and four-point cycle data in load histories. In , rainflow counting is applied to predict in wings subjected to gust loads, where it processes flight load data to identify cycles contributing to structural damage over . For automotive applications, the algorithm evaluates in components by analyzing measured strain histories from road tests, facilitating life predictions under irregular loading. In , thermal rainflow counting estimates the lifetime of (IGBT) modules by counting temperature cycles from mission profiles, with recent 2025 studies validating its use in metro traction systems to account for thermal cycling effects. A representative involves the assessment of blades using rainflow counting on one year of operational load data, guiding schedules to prevent . Best practices for implementing rainflow counting emphasize pre-filtering input signals to remove noise and minor loops below a threshold (e.g., 5-10% of maximum range), ensuring only damage-relevant cycles are counted without altering overall content. Additionally, combining rainflow with finite element models enhances accuracy by generating localized strain histories from global simulations, allowing cycle extraction at critical hotspots for more reliable life predictions.

References

Add your contribution
Related Hubs
User Avatar
No comments yet.