MCrunch issue with Rainflow Cycle Exceedance plot


I just started messing with MCrunch to post process some of my data. I know that its not officially released yet and so I am not sure whether the issue I am having is a bug or if its something I am doing wrong. In any event I figured it would be beneficial to ask.

When I was trying to create a Rainflow cycle exceedance plot, using a single channel with no subplots, Mcrunch kept throwing the following error

??? Index exceeds matrix dimensions.

Error in ==> GenRFPlots>FinalizePlt at 67
      set( HdlSP(2), 'Units','normalized' );

Error in ==> GenRFPlots>GenPltProbExc at 386
         FinalizePlt( Fig, HdlSP, HdlTit );

Error in ==> GenRFPlots at 44

Error in ==> MCrunch at 82
            GenRFPlots( SettingsFile );

The issue seemed to be in the GenRFPlots.m function FinalizePlt @ line 67 as you can see from the error. It seemed to be trying to use a Handle to a non-existent subplot. I changed the offending line to

and everything seemed to work fine.

I would appreciate it if someone could tell me if I was doing something wrong to get the error I was getting. Thank you.

Best Regards,

Subin Sethuram


Thanks for the feedback on MCrunch. It is still an alpha version because not enough people have used it to make me feel comfortable with a regular release. Such feedback helps.

I’m afraid I do not have time to look at this now. It’s been quite a while since I wrote this, so I really can’t remember how it all works and it will take more time than I have. I have put a note in my MCrunch to-do list to remind me to address this when I have time. If the code works with the change, stick with it until something else breaks. That’s what I would do. :stuck_out_tongue:

Hi Marshall,

I took another shot at post-processing some data with M-Crunch. I like all the plotting that you have built into it so that I dont have to reinvent the wheel. I noticed that in a 2-D binned plot the axis labels are swapped for the X and Y axis. I corrected this in the code that I am using. Just thought I’d let you know in case you get a chance to revisit M-Crunch someday.

I also had a few questions for the fatigue calculation section. I know it has been a while since you wrote all this and hope you remember these off the top of your head. If not I will look through the code and try to figure it out.

  1. What are the TypeLMF and LUlt inputs? I dont think the help file mentions anything but from your change log, I am guessing LUlt is the ultimate strength of the material. Although I have no idea what “type of fixed load mean” is.
  2. I see that you have an input for average Rayleigh Wind Speed. Does the latest alpha version do a weighting for Rayleigh Distribution based on the wind speed at which a certain value for an event occurs?
  3. I saw that in the RF_Per input for one of the CertTest cases you have a value of 630720000 s = 20 years. Does the code just multiply the number of cycles per second by this factor? Or does it do a weighting using the Rayleigh Distribution of wind speeds? If it does the latter, is it similar to doing a Statistical Extrapolation?

Thank you.




I made a brief start of the MCrunch Theory manual. So far, it includes only discussion of the fatigue calculations. Please take a look at it to see if it answers your questions. You can find it here:


Hi Subin or Marshall, I know it’s been some time since this thread was active, but I am also confused as to what “typeLMF” could mean in the MCrunch input files, and was hoping one of you might be able to tell me. Cheers.



TypeLMF is used to establish a ‘fixed mean’ for the fatigue channel. This fixed mean is used to adjust all the variable mean fatigue cycle ranges to ranges about a single fixed mean.

Lrf = Lr * ( Lult - abs (Lmf) ) / ( Lult - abs(Lm) ), where Lmf = the fixed mean load, Lm = the mean load of the current cycle, Lult = the ultimate load, Lr = the load range for the current cycle, Lrf = adjusted load range about a fixed mean.

These adjusted ranges are used when computing lifetime damage and damage equivalent loads (DELs) in MCrunch.

Originally, TypeLMF was intended to support three options. 1) The fixed mean value, 2) the string ‘AM’ which would tell MCrunch to compute a fixed mean using the aggregate mean of the channel, and 3) ‘WM’ which is the aggregate mean further weighted by the Rayleigh wind distribution. Only option 1 was implemented in the code.

I’m currently implementing a new Matlab-based fatigue analysis package called MLife. The package implements all three of the above options. Additionally, MLife computes damage about both a fixed mean and a zero mean. Short-term DELs are computed using the raw variable mean cycle ranges, a fixed mean, and zero mean. The long-term DELs (computed over the design lifetime) are computed for fixed and zero mean.

Best Regards,

Greg Hayman
NREL subcontractor

I still wonder What the TypeLMF is,how to select the value?

Dear Yiqing Xia,

We’ve posted some new guidance for how to choose LUlt and TypeLMF in MLife on our FAQ page – please see the answer to question 5 here:

Best regards,

Dear Jason,

I have seen the link “” in the forum many times. But I cannot find a FAQ about how to choose Lult and TypeLMF. Could you please provide another effective link?

Ruiyang He

Dear Ruiyang.He,

A similar question was asked and answered in the following forum topic: (see my post dated Jun 14, 2020).

Best regards,