I am now working on the theory of MLife and feeling confused with some problems.
- I find that in the MLife theory manual, it uses load range rather than stress range to calculate fatigue. Does the ‘load range’ equal to ‘stress range’?
- Is there any method to decide how many time-series to be divided in MLife?
Could someone can help me please?
Loads and stresses are not equivalent. FAST calculates loads (lumped forces/moments at a cross section), not stresses. Of course, the loads can be used to calculate stresses either analytically for simple stress state (e.g. stress = force/area for a simple rod undergoing axial loading) or through a more general cross-sectional analysis (e.g. 3D FEA) for a more complicated multi-component stress state (axial, shear, bending, etc.), especially for a nonaxisymmetric cross sections composed of an anisotropic material. Often, FAST output is used directly in MLife, in which case MLife is processing loads, not stresses. MLife could also be used to process stresses, if the stresses are calculated from the loads output from FAST before post-processing with MLife.
I’m not sure I understand your second question, but the wind turbine design standards (e.g. IEC 61400-1) specify loads-analysis requirements, including requirements on the number and length of the simulations needed per load case.
Thanks you a lot. I mean we process all the input data files in MLife and it will read a time-series. Does it mean if you have 5 input data files, so it has 5 time-series? Or for each input data file, it is separated by many time-series?
I’m still not sure I understand your question, but a single MLife input file can be used to process many FAST time series data files.
I am really sorry about my English! The problem that I wonder is in rainflow counting calculation, how to define the length of each time-series. Another one is that MLife is based on S-N curve approach, and in the manual I can not find anything about stress range. I just wonder how to get stress range in MLife. Thanks a lot.
Again, the wind turbine design standards (e.g. IEC 61400-1) specify loads-analysis requirements, including requirements on the number and length of the simulations needed per load case. For example, the load-case 1.2 for fatigue during normal operation involves running at least six 10-minute simulations per 2-m/s wind speed bin from cut-in to cut-out wind speed.
I’m not sure I understand your question about stress range.
I just read your past paper and found the answer. Thanks a lot!
I am now running some cases by using MLife. However, it seems not going well. The Matlab said:
Attempted to access Fatigue.TimePP(828); index out of bounds because numel(Fatigue.TimePP)=784.
Error in compute_windspeed_bins (line 56)
Fatigue.TimePP(WSbin) = Fatigue.TimePP(WSbin) + Fatigue.ElapTime(iFile);
Error in mlife (line 565)
Fatigue = compute_windspeed_bins(Fatigue, windChannelMeans,FileInfo.DLCs(1).NumFiles, FileInfo.DLCs(2).NumFiles );
Error in er3 (line 1)
mlife(‘Test For TLP.mlif’, ‘.\Data’, ‘.\Results\Testtlp’);
I don’t know what’s wrong with my code. Could you help me please? Another question is how to define WSMaxBinSize?
Here is my Mlife file.
hi bonnie sir;
I am working with the MLIFE postprocessor while using i get the following error which prevents from creating the shortDEL file kindly help me to resolve this error:
Running MLife (v1.01.00a-gjh, 30-Oct-2015)
Processing file “F:\FAST8.10\MLIFE\mlife1\CertTest\Data\DLC2.3_1.out”.
Reading “F:\FAST8.10\MLIFE\mlife1\CertTest\Data\DLC2.3_1.out” (1.409390 MB).
Generating statistics for “F:\FAST8.10\MLIFE\mlife1\CertTest\Data\DLC2.3_1.out”.
Writing summary statistics to: F:\FAST8.10\MLIFE\mlife1\CertTest\RootFxc1_Statistics.txt
Writing summary statistics to: F:\FAST8.10\MLIFE\mlife1\CertTest\RootFyc1_Statistics.txt
Writing summary statistics to: F:\FAST8.10\MLIFE\mlife1\CertTest\RootFzc1_Statistics.txt
Writing summary statistics to:
Undefined function ‘wblcdf’ for input arguments of type ‘double’.
Error in compute_windspeed_bins/compute_bins (line 74)
bins(iBin) = wblcdf(WShi, c, k) - wblcdf(WSlo, c, k) ;
Error in compute_windspeed_bins (line 32)
[nBins1, binWidth1, binProbabilites1] = compute_bins(0, Fatigue.WSin,
Error in mlife (line 565)
Fatigue = compute_windspeed_bins(Fatigue,
windChannelMeans,FileInfo.DLCs(1).NumFiles, FileInfo.DLCs(2).NumFiles );
I am working with Mlife but i have a doubt. I am working on controller to reduce the tower deflection and blade root bending moment. while using Mlife can we give the deflection as a fatigue input or only the force should be given as fatigue input. And also i need to know whether the Life time damage means the accumulated value of damage over 20 years of life time and also what does the time until failure? kindly help me with this aspect.
I’m hoping that Greg Hayman can comment on your earlier questions, but I’ll respond to the questions from your most recent post.
The fatigue calculation is important for loads; I’m not sure there is much value in processing deflections for fatigue as there is nothing similar to e.g. an S-N curve for deflection.
The lifetime damage in MLife is based on the user-specified design life. We typically set DesignLife in the MLife input file to 630720000 s, which is equivalent to 20 years, but the user may specify this differently.
The time until failure computed by MLife is in seconds, so, hopefully this is more than the specified DesignLife.
wblcdf() is a MatLab function found in the statistics toolbox. You will need to have a license for this toolbox, or replace the wblcdf() call with your own code to calculate the weibull distribution.
I am getting this error also. I don’t know how to solve it, I don’t understand. sorry for my bad English. Edit: actually, got it, thank you.
I am also interested in the question raised by O.P., what are the basic assumptions to use loads (e.g. blade root bending moments, tower base monents) instead of stresses for the evaluation of DELs?
I’m not sure I really understand your question, but as discussed in my post dated Mar 24, 2016 above, one can convert from a load to a stress via a cross-sectional analysis.