4.45455

4.5 | 34 ratings Rate this file 210 downloads (last 30 days) File Size: 38.99 KB File ID: #3026

Rainflow Counting Algorithm

by Adam Nieslony

 

17 Feb 2003 (Updated 04 Apr 2010)

Code covered by the BSD License  

Very fast rainflow cycle counting for MATLAB

Download Now | Watch this File

File Information
Description

The rainflow algorithm code has been prepared according to the ASTM standard (Standard practices for cycle counting in fatigue analysis) and optimized considering the calculation time.

MATLAB release MATLAB 7.1.0 (R14SP3)
Other requirements The package includes MEX files for Win32 and Win64. For other OS the source code should be compiled.
Zip File Content  
HTML Files Rain flow for MATLAB
Other Files
license.txt,
rainflow.c,
rainflow.m,
rainflow.mexw32,
rainflow.mexw64,
rfdemo1.m,
rfdemo2.m,
rfhist.m,
rfmatrix.m,
rfmatrix.png,
sig2ext.m
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (53)
16 Jul 2003 Yu Sang Hui

This is the program that I want to find

24 Jul 2003 marc zbo

helemaal top. Mijn dag is gelijk goed

24 Jul 2003 Zbo Amigo

Lang naar gezocht, maar nu heb ik het dankzij ZBO!

29 Jan 2004 Jim Kay

Program works well; does not produce histograms, you need to extract these yourself (watch out for half-cylcles).
Checked against "Simple rainflow counting algorithms" (1 pass methdo), Downing and Socie; got the same results.

15 Apr 2004 reshu shukla

i want to know that the information about the counting method

01 Jun 2004 abdelkader miloudi  
01 Dec 2004 Steve Grobler

Found teh demo quite informative. Would be helpful if the rainflow results could be arranged in a matrix of cycle counts, with the rows representing the mean, and the columns representing the ranges. Also be helpful if the "leftover" 1/2 cycles could be combined into full cycles and included in the matrix.

19 Dec 2004 muh alat  
14 Jan 2005 Ole Dossing

This is a very fine application, not to mention the latest additions. We have used the the rainflow in a stay bridge for fatigue monitoring on critical structures.

14 Mar 2005 aid abdelkrim

- the version matlab does not go
- I need the module mex.h
 
 

08 Sep 2005 Tomasz Bednarek  
21 Sep 2005 BB shine

This program is perfect to me... thanks..

24 Nov 2005 hh hh  
26 Nov 2005 matt matt

Once the entry vector is too large, it doesn't work. Who can help me?

24 Jan 2006 Joe Quinn

Dr. Nieslony has developed a Rainflow counting application which we used to validate our impemtation of the ASME standard.
Once you know that his cycle size is peak and not peak to peak you can adjust (X2) and then it worked 100%.
Bins boundaries are based on the midpoint between succesive bin midpoints. This caused some juggling to match our method which specifies bin edge directly.
Otherwise, it was accuarate and easy to modify for graphing and printouts.

I am certain that had I been able to read it the Polish comments would have further added to my understanding of the code.

25 Jan 2006 Sarah Hughes

Functionally this program is excellent, and produces results that are consistent with the ASTM standard. As with other users, it took me a while to realise that amplitude means amplitude and not range, but that's my fault for not reading it properly. I would appreciate some more explanation of the meaning of the half-cycles which I haven't encountered in other software, as I'm not sure how best to process these.

10 May 2006 Vikas Gupta

This is very best in lot of applications.

10 Jul 2006 Andy Stevenson

This is an excellent tool. I made a couple of short example problems to understand the output and once I did that I'm using the program at work. The rfdemo2 code is especially cool for showing others how rainflow counting works.

14 Sep 2006 gov raj

good approach

15 Dec 2006 Matthew Hoehler

A very useful tool! It is fast, robust and did just what I needed; no more, no less.

28 Jan 2007 rafiq zulkiffli

need to show the soft code

01 Feb 2007 Adam Nieslony

Hi Rafiq Zulkiffli,

Some years ago I wrote the rainflow function in MATLAB Script (m-file). Unfortunately the function worked very, very slow, because many iterations in the rainflow algorithm appears. So, I decide to create mex function where the time consuming iterations realized faster. Be sure, with ?the soft code? you cant count the cycles in sensible time. Look on the ?rainflow.c? file and try to understand the C code lines.

Best regards, Adam Nieslony

05 Feb 2007 muhd rafiq zulkiffli

show the code for rain flow cycle counting

14 Mar 2007 Muhd rafiq

thanks for the advice..but im still got problem coding in Matlab, because i cannot get the peak and valley reversal first..my data length is 32000 and sampling frequency is 200...can u give me some idea...
 

21 Mar 2007 rafiq zulkiffli

hello,
i have 1 nonlinear equation with 2 unknowns, can u give the example solution using matlab??..this is my equation is
(0.003005*Nf^-0.072)+(0.8419*Nf^-0.56654)-((6.571*10^-7)*0.5)=0

31 May 2007 Kerim Genc

Excellent code, very useful. I validated and understood it through trials with small data sets before moving onto huge force-time curves. Make sure that you understand that amplitude is in terms of a sinusoid, therefore the magnitude of the peaks are actually twice the amplitude indicated. Also, Half cycles can be a bit confusing at first, since this is not a "closed loop" rainflow counting method, you just have to combine the half cycles.

01 Aug 2007 Carmem Miranda

I am taking Master course in Brazil. My research is on fatigue. I have difficulties to understand the input data for your program “Rainflow Couting Method”. I need a tutorial to the program and/or an input file example. Can you help me?
Thanks for attention

11 Aug 2007 arif fahruddin

I'm master student, my thesis about fatigue in variable amplitude, random loaing. Have you a solution. Thank You

11 Sep 2007 Achalesh Pandey  
19 Sep 2007 David Outcalt

Do you have a commented version of the C code? I find it difficult to follow.

27 Oct 2007 Jenyi Liao  
04 Nov 2007 nasri mohamed

methode de rainflow par matlab

11 Dec 2007 Philips Adewuyi

I have been looking for materials that treat the subject of rainflow counting methods for fatigue analysis of structures.

07 Jan 2008 aid Abdelkrim  
08 Apr 2008 syna gupt

I used this toolbox but the result seems not correct....

18 Jun 2008 SENTHILKUMAR C.R  
09 Jul 2008 Félix DORE  
04 Aug 2008 Craig Chang

great tool. Detail doc, easy to use. Excelent.

12 Sep 2008 santosh a  
19 Sep 2008 Filip R

Hello
Does anyone know how to get output data from rfdemo1? Because i noticed that rainflow.m is not accurate with larger amount of data. Thank you

02 Dec 2008 Elena Menéndez

Hello

I have noticed one important difference in the rainflow when compared with the rutine used by the software Bladed. The latter always assigns one full cycle to the range (max-min) of the timeseries. However, your rutine assigns 0.5 cycles to this range. Which one is more accurate?
Thank you

30 Apr 2009 ap1le q

very good

18 Oct 2009 Andreas

I can't get this working. I try the rfdemo1 using the syntax found in the rfdemo1.m, f.ex.
rfdemo1([2 3 2 4 2 5 1 6])

My error output is
>> rfdemo1([2 3 2 4 2 5 1 6])
??? Attempt to execute SCRIPT rainflow as a function:
C:\Users\Andreas\Documents\MATLAB\Rainflow cycle counting\rainflow.m

Error in ==> rfdemo1 at 35
a=rainflow(ext,1);
 
>>

Anyone know why?

18 Oct 2009 Andreas

I found out that my first error came from a conflict caused by a similar filename and function name (Rainflow.m/rainflow) But now my error is:
??? Undefined function or method 'rainflow' for input arguments of type
'double'.

Error in ==> testinterpolasjon at 19
rf = rainflow(ext,exttime);

I'm running Matlab release 2009a

05 Nov 2009 S_Sampathkumar Sampathkumar

On Elena Menéndez's question above, is there an answer. I am finding that amplitude is half the range as well in this method.? Anyone knows why?

"I have noticed one important difference in the rainflow when compared with the rutine used by the software Bladed. The latter always assigns one full cycle to the range (max-min) of the timeseries. However, your rutine assigns 0.5 cycles to this range. Which one is more accurate? "
 

11 Nov 2009 Jinsuk Lee

I have temperature data over time and derive a fatigue model. Using this rainflow counting, I want to get data with three parameters, which are Max_termperature, each cycle time, amplitude (max-min). Is anyone knowing if this package can provide this kind of data? I appreciate.

22 Dec 2009 Ray Beale

Sampathkumar- Amplitude is always half the range, by definition.

I am finding many half-cycles in my rfc output of a long time history. Another method I've used produces full cycles. When comparing the two methods for the same time history, the histograms have the exact same shape but your method is shifted to the right due to the unpaired half cycles. Both claim to be ASTM standard. Any idea why?

27 Jan 2010 Claudio Pedrazzi

First of all, let me compliment for this excellent piece of software!!

The ASTM standard E 1049 -85 (2005) defines two distinct rainflow algorithms:
A) 5.4.4 "Rainflow counting" (that produces half-cycles)
B) 5.4.5 "Simplified rainflow counting for repeating histories" (that never produces half-cycles)

this is probably the answer to questions like the one of Ray Beale. Now I am interested in the "B" method, and I am asking the author: which algorithm is implemented here? my guess is the "A" method, with half cycles.
Second question: is there some hope to extend this function to be able to compute, optionalyy, also the B way?
If necessary I would be glad to provide more info (namely the text of the ASTM standard).
Best regards and thaks a lot for sharing!
Claudio

27 Feb 2010 Badrinath Veluri

It is very good work

28 Apr 2010 Ahmed Farag

I have a problem running the rfdemo1 file , i got this error message
?? Attempt to execute SCRIPT rainflow as a function.

Error in ==> rfdemo1 at 35
a=rainflow(ext,1);

Any solution for that

30 Apr 2010 Ahmed Farag

Thanks Adam for your effort and you response to my enquiry, i really appreciate such an awesome routine

30 Apr 2010 Ahmed Farag  
05 Jul 2010 massimo

how to import data in rfdemo2?
Lesson 2 from the html guide works, but what is the syntaz for
s=my_signal
Great work

Please login to add a comment or rating.
Updates
24 Oct 2003

I add new functions: rfhist and rfmatrix.

12 Nov 2009

Revised for use with latest version of MATLAB.

04 Apr 2010

Added support for Win64.

Tag Activity for this File
Tag Applied By Date/Time
turning points Adam Nieslony 16 Nov 2009 09:56:40
rain flow Adam Nieslony 16 Nov 2009 09:56:41
fatigue Adam Nieslony 16 Nov 2009 09:56:41
rainflow Adam Nieslony 16 Nov 2009 09:56:41
turning points Badrinath Veluri 25 Feb 2010 07:18:22
rainflow Badrinath Veluri 25 Feb 2010 07:18:26
rain flow Badrinath Veluri 25 Feb 2010 07:18:30
fatigue Badrinath Veluri 25 Feb 2010 07:18:33
fatigue Sylvain MIOT 05 Aug 2010 09:37:57

Contact us at files@mathworks.com