Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Rainflow-counting algorithm
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Materials science algorithm}} [[File:Rainflow counting vs stress-strain curve.svg|thumb|Rainflow counting identifies the closed cycles in a stress-strain curve]] The '''rainflow-counting algorithm''' is used in calculating the [[fatigue (material)|fatigue]] life of a component in order to convert a loading sequence of varying [[stress (physics)|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.<ref name="endo74">{{cite journal |first1=Tatsuo |last1=Endo |first2=Koichi |last2=Mitsunaga |first3=Kiyohum |last3=Takahashi |first4=Kakuichi |last4=Kobayashi |first5=Masanori |last5=Matsuishi |title=Damage evaluation of metals for random or varying loading—three aspects of rain flow method |journal=Mechanical Behavior of Materials |year=1974 |volume=1 |pages=371–380}}</ref> This simplification allows the number of cycles until failure of a component to be determined for each rainflow cycle using either [[Fatigue (material)#Miner's rule|Miner's rule]] to calculate the ''fatigue damage'', or in a [[crack growth equation]] to calculate the crack increments.<ref>{{cite journal |last1=Sunder |first1=R. |last2=Seetharam |first2=S. A. |last3=Bhaskaran |first3=T. A. |year=1984 |title=Cycle counting for fatigue crack growth analysis |journal=International Journal of Fatigue |volume=6 |number=3 |pages=147–156|doi=10.1016/0142-1123(84)90032-X }}</ref> 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 (engineer)|Tatsuo Endo]] and M. Matsuishi in 1968.<ref name="matsuishi68">{{cite journal |last1=Matsuishi |first1=M. |last2=Endo |first2=T. |year=1968 |title=Fatigue of metals subjected to varying stress |journal=Japan Society of Mechanical Engineering}}</ref> 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.<ref name="endo74"/> [[File:Rainflow_fig1.PNG|thumb|right|Figure 1: Uniform alternating loading]] [[File:Rainflow_fig2.PNG|thumb|right|Figure 2: Spectrum loading]] == 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.<ref name="endo74"/> Downing and Socie created one of the more widely referenced and utilized rainflow cycle-counting algorithms in 1982,<ref>{{cite journal |last1=Downing |first1=S.D. |last2=Socie |first2=D.F. |year=1982 |title=Simple rainflow counting algorithms |journal=International Journal of Fatigue |volume=4 |number=1 |pages=31–40|doi=10.1016/0142-1123(82)90018-4 }}</ref> which was included as one of many cycle-counting algorithms in ASTM E1049-85.<ref>{{cite book |series=ASTM E 1049-85. |year=2005 |title=Standard practices for cycle counting in fatigue analysis |publisher=ASTM International}}</ref> Igor Rychlik gave a mathematical definition for the rainflow counting method,<ref>{{cite journal |last=Rychlik |first=I. |year=1987 |title=A New Definition of the Rainflow Cycle Counting Method |journal=International Journal of Fatigue |volume=9 |number=2 |pages=119–121|doi=10.1016/0142-1123(87)90054-5 }}</ref> 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 === [[File:Rainflow-4point-method.png|thumb|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:<ref name="lee12">{{cite book |title=Metal Fatigue Analysis Handbook|chapter=Rainflow Cycle Counting Techniques |first1=Yung-Li |last1=Lee |first2=Tana |last2=Tjhung |year=2012 |pages=89–114 |doi=10.1016/B978-0-12-385204-5.00003-3|isbn=9780123852045 }}</ref> # 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]] 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 ==== [[File:Rainflow analysis for tensile peaks.svg|thumb|right|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. [[File:Rainflow analysis for compressive valleys.svg|thumb|right|Figure 4: Rainflow analysis for compressive valleys]] {| class="wikitable" ! 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== {{Reflist}} ==External links== *[http://www.stotera.com/stoflo StoFlo freeware rainflow cycle counting Excel template] *[http://www.mathworks.com/matlabcentral/fileexchange/3026 Matlab Central rainflow counting method] *[http://www.maths.lth.se/matstat/wafo/ WAFO. Wave Analysis for Fatigue and Oceanography (Matlab)] *[http://www.gacsolucoes.com.br/publicacoes2.html GAC freeware rainflow cycle counting] *[http://vibrationdata.wordpress.com/?s=rainflow Vibrationdata Rainflow Tutorials & Matlab scripts] *[https://github.com/gunnstein/fatpack Fatpack. Fatigue analysis in python] [[Category:Materials science]] [[Category:Elasticity (physics)]] [[Category:Fracture mechanics]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)