MLife Theory PDF
MLife Theory PDF
MLife Theory PDF
NREL/TP-XXXXX
October 2012
G. J. Hayman
Cover Photos: (left to right) PIX 16416, PIX 17423, PIX 16560, PIX 17613, PIX 17436, PIX 17721
Printed on paper containing at least 50% wastepaper, including 10% post consumer waste.
Nomenclature binned-cycle index
availability factor of the wind turbine wind speed bin index
number of occurrences of the jth time-series when the time-series is mean load of cycle i
classified as a discrete design load case (DLC) mean load ith cycle of the jth time-series
lifetime fatigue damage fixed-mean load
binned lifetime fatigue damage without using Goodman correction load range for cycle i
binned lifetime fatigue damage with Goodman-corrected load midpoint of the kth load range bin
ranges about a fixed-mean Goodman-corrected load range about a fixed-mean for cycle i
binned lifetime fatigue damage with Goodman-corrected load load range for cycle i and time-series j
ranges about a zero fixed-mean
fatigue damage over the design lifetime caused by time-series j Goodman-corrected load range about a fixed-mean for cycle i time-
with uncorrected load ranges series j
fatigue damage over the design lifetime caused by time-series j Goodman-corrected load range about a zero fixed-mean for cycle i
with Goodman-corrected load ranges about a fixed-mean time-series j
fatigue damage over the design lifetime caused by time-series j the maximum load range across all time series
with Goodman-corrected load ranges about a zero fixed-mean ultimate load
fatigue damage caused by time-series j based cycles with Whöler Exponent
uncorrected load ranges damage count for cycle i
fatigue damage caused by time-series j based cycles with Goodman damage count for cycle i and time-series j
corrected load ranges about a fixed-mean damage count for load range bin k and time-series j
fatigue damage caused by time-series j based cycles with Goodman damage count for Goodman-corrected load ranges about a fixed-
corrected load ranges about a zero fixed-mean mean for load range bin k and time-series j
lifetime damage equivalent load without Goodman correction damage count for Goodman-corrected load ranges about a zero
lifetime damage equivalent load with Goodman-corrected load fixed-mean for load range bin k and time-series j
ranges about a fixed-mean extrapolated damage count for cycle i and time-series j across the
lifetime damage equivalent load with Goodman-corrected load design lifetime
ranges about a zero fixed-mean extrapolated damage count for load range bin k and time-series j
short-term damage equivalent load for time-series j without
extrapolated damage count for Goodman-corrected load ranges
Goodman correction
about a fixed-mean for load range bin k and time-series j
short-term damage equivalent load for time-series j with Goodman-
extrapolated damage count for Goodman-corrected load ranges
corrected load ranges about a fixed-mean
about a zero fixed-mean for load range bin k and time-series j
short-term damage equivalent load for time-series j with Goodman-
lifetime equivalent counts
corrected load ranges about a zero fixed-mean
short-term aggregate damage-rate without Goodman correction number of load range bins
short-term damage-rate without Goodman correction equivalent counts for time-series j
short-term damage-rate with Goodman-corrected load ranges about number of wind speed bins in the range
a fixed-mean number of wind speed bins in the range (
short-term damage-rate with Goodman-corrected load ranges about number of wind speed bins in the range (
a zero fixed-mean number of equivalent cycles to failure
equivalent frequency of damage equivalent load
number of cycles until failure for the load range of cycle i
lifetime damage count extrapolation factor for time-series j
number of cycles until failure for the load range of cycle i and
fatigue cycle index time-series j
time-series index
number of cycles to failure for load-range bin k
number of equivalent cycles to failure for time-series j
probability factor for wind speed bin l
elapsed time of time-series j
total time spent in windspeed bin l
time until failure
design lifetime (seconds)
median wind speed of the Weibull distribution
turbine cut-in wind speed
midpoint wind speed of wind speed bin l
maximum wind speed in the binned distribution
turbine cut-out wind speed
average wind speed of time-series j
Weibull distribution shape parameter
gamma function
load range bin width
maximum load range bin width
wind speed bin width for wind speeds in the range
wind speed bin width for wind speeds in the range
wind speed bin width for wind speeds in the range
maximum width of an wind speed bin
width of wind speed bin l
Weibull distribution scale parameter
standard deviation of the wind speed distribution
Introduction where is the ith cycle’s range about a load mean of .
MLife is a MATLAB-based tool created to post-process results from wind turbine From a practical standpoint, the lifetime damage of a wind turbine is estimated
tests, and aero-elastic, dynamic simulations. MLife computes statistical information using a collection of time-series data which covers a much shorter time period than the
and fatigue estimates for one or more time-series. We specifically designed MLife to design lifetime. To correctly estimate the total lifetime damage from these short input
handle hundreds of time-series. The program reads a text-based settings file in time-series, we must extrapolate the time-series damage-cycle counts over the design
conjunction with one or more time-series data files. Alternatively, the program can lifetime. Equations 1-3 are rewritten such that they now account for the accumulation
read parameter variables which were created using MATLAB, outside of MLife. of damage using one or more input time-series.
The program generates results in the form of MATLAB variables, text output files,
and/or Excel formatted files. This allows you to make other calculations or present the ∑ (4)
data in ways MLife cannot.
The fatigue calculations include short-term damage-equivalent loads (DELs) and
damage rates, which are based on single time-series, lifetime DEL results based on the (5)
∑
entire set of time-series data, and the accumulated lifetime damage and the time until
failure.
| |
( ) (6)
Lifetime Damage ( )
MLife follows the techniques outlined in Annex G of IEC 61400-1 edition 3. The
program accumulates fatigue damage due to fluctuating loads over the design life of
the wind turbine. These fluctuating loads are broken down into individual hysteresis | |
cycles by matching local minima with local maxima in the time-series, e.g., rainflow ( ) (7)
| |
counting. The cycles are characterized by a load-mean and range. We assume damage
accumulates linearly with each of these cycles according to Miner’s Rule (Palmgren where is the extrapolated damage over the design lifetime due to the jth time-
and Miner). In this case the total damage from all cycles will be given by, series, is the extrapolated cycle counts, is the cycles to failure, and is
∑ (1) range about a load mean of for the ith cycle in the jth time-series.
( )
MLife also enables fatigue calculations to be performed without the Goodman
where ( ) denotes the number of cycles to failure, the cycle count, and is the correction. In this case, we simply set , and in equation 7. Using
cycle’s load range about a fixed load-mean value. The relationship between load this option, the user must still specify the value of .
range and cycles to failure (S-N curve) is modeled by
MLife extrapolates the damage cycle counts differently depending on the design
| | load case (DLC) classification of the time-series data. MLife includes three
( ) (2) generalized DLC classifications, which are intended to encompass the required
( ) fatigue-related DLCs of IEC 61400-1 edition 3. These are:
where is the ultimate design load of the component, is the fixed load-mean, Power Production (IEC DLC 1.2)
and the Whöler exponent, , is specific to the component under consideration. Parked (IEC DLC 6.4)
The above formulations assume the fatigue cycles occur over a constant, or fixed, Discrete Events (IEC DLCs 2.4, 3.1, and 4.1)
load-mean. However, the actual load cycles will occur over a spectrum of load means.
Therefore, a correction must be made to the fatigue cycles’ load ranges to analyze the
data as if each cycle occurred about a fixed mean load. This is the Goodman Wind Speed Distribution and Binning
correction for a Goodman exponent equal to one. The power production and parked DLCs rely on the local wind speed distribution
| | at the wind turbine site to extrapolate the damage-cycle counts. MLife models the
( ) (3) wind with a Weibull distribution. This distribution is divided up into wind speed bins.
| |
is the probability of the wind speed falling into bin and is given by differencing
the cumulative distribution function at the bin edges, (10)
( ) ( ) (4) (11)
where is the wind speed at the midpoint of bin , is the width of bin , is the (12)
shape factor of the Weibull distribution (if we have a Rayleigh distribution).
The shape factor is a function of the mean wind speed and standard deviation of the where and are the wind speed bin widths for the three sub-ranges.
wind, such that, In total, there are wind speed bins across the range .
The data from a time-series is assigned a specific wind speed bin, , based on its
( ) (5) median wind speed, such that,
where is the median wind speed of the Weibull distribution, and is the standard ( ) ( )
deviation of the wind.
( ) ( ) (13)
is the scale parameter and is set to,
( ) ( )
(6) {
( )
where ( ) is the gamma function. Once the wind speed bin index, , has been identified for a time-series, the bin’s
To determine the wind speed binning in MLife, the user specifies the maximum mid-point wind speed and bin width are determined by,
width, , of any single wind speed bin. The binning is split into three separate
sub-ranges, ( ( , where is the turbine’s cut-in ( ) ( )
wind speed, is the turbine’s cut-out wind speed, and is the maximum wind
speed to be included in the binned distribution. The bin width of each sub-range is ( ) ( ) (14)
computed by first determining the smallest number of bins which creates a bin width
less than or equal to . { ( ) ( )
(7)
( )
( )
(8)
( ) { ( ) (15)
(9) ( )
( )
where and are the number of bins in the three sub-ranges, and ( ) is Lifetime Damage Count Extrapolation
a ceiling function which returns the next largest integer value.
In addition to the wind speed distribution, the power production and parked DLC
Once the number of bins in each sub-range is determined, the actual wind speed cycle-count extrapolation is affected by the turbine’s availability factor, . An
bin width of each sub-range is computed by dividing the sub-range’s wind speed span availability of 1 indicates the turbine is always online and producing power when the
by the number of bins, wind speed is in the range ( .
The power production DLC damage-cycle counts are scaled such that, By examining the equations for and , one discovers that both and
are not influenced by the value of . There will be a difference however
( ) between the Goodman corrected and uncorrected results. MLife computes both, if
(16) requested.
( )
{
where is the design lifetime period, is the total elapsed time for all power Short-term Damage Rate
production time-series that have a mean wind speed falling in bin , and is the The short-term damage and damage-rates are computed by,
extrapolation factor for time-series j.
∑ (22)
Parked DLC damage-cycle counts are scaled such that,
( ) (23)
( )
(17)
( ) ∑ (24)
{
∑
where, is the total elapsed time for all idling time-series that have a mean wind
speed falling in bin .
Discrete DLC damage-cycle counts are scaled such that, where is the accumulated damage from time-series j, is the short-term
(18) damage-rate for time-series j, and is the aggregate short-term damage-rate for
th
all time-series.
where corresponds to the number of occurrences of the j time-series over the design
lifetime.
The extrapolated cycle counts over the design lifetime, for all DLC
Damage Equivalent Loads
classifications, are obtained using, MLife also estimates a short-term damage-equivalent load (DEL) for each input
time-series. A DEL is a constant-amplitude fatigue-load that occurs at a fixed load-
(19) mean and frequency and produces the equivalent damage as the variable spectrum
loads such that,
where corresponds to equations 16, 17, or 18, depending on the DLC
∑ (25)
classification and is the ith cycle count for time-series j,
The lifetime damage is accumulated for all cycles and time-series such that,
(26)
∑∑ (20) | |
( ) (27)
( )
Time until Failure where is the DEL frequency, is the elapsed time of time-series j, is the
In addition to calculating the damage over a design lifetime, one can calculate the total equivalent fatigue counts for time-series j, is the DEL for time-series j
time until failure. Since failure occurs when equals one, the time until failure, about a fixed mean, and is the equivalent number of cycles until failure for time-
, is simply the ratio of the design lifetime over the accumulated damage, series j. Solving for in equation 27 yields,
(21)
lifetime count extrapolation factor, , and the short-term equivalent count, ,
∑( ( ) ) such that,
( ) (28)
∑ (34)
The DEL about a zero mean can also be computed by setting equal to zero.
As with the short-term DEL calculations, we equate the lifetime damage due to
∑( ( ) ) variable fatigue cycles to the damage resulting from a repeating equivalent load,
( ) (29)
where is the adjusted load ranges about a zero fixed-mean, per equation 3, and ∑∑ (35)
is the DEL for time-series j about a zero fixed-mean.
In the case of an equivalent load about a fixed mean, solving for yields,
MLife also computes a short-term, time-series-based DEL, , without using
the Goodman correction, such that , and where equals zero. ∑ ∑( ( ) )
( ) (36)
∑( ( ) )
( ) (30)
For the lifetime equivalent load about a zero mean we have,
∑ ∑( ( ) )
( ) (37)
Aggregate Short-term DELs
MLife also computes a set of short-term DELs based on the aggregate of all cycle For the lifetime equivalent load without using the Goodman correction about a zero
counts of the individual time-series. mean we have,
∑ ∑( ( ) ) ∑ ∑( ( ) )
( ) (31) (38)
∑ ( )
∑ ∑( ( ) )
Binning the Load Cycles
( ) (32) As an option, MLife will also bin the individual fatigue cycle counts according to
∑ load range.
where , is the aggregate short-term DEL about a zero fixed-mean. If the user selects the number of range bins, MLife computes the width of each bin
using,
∑ ∑( ( ) )
( ) (33) (39)
∑
where , is the aggregate short-term DEL without using the Goodman where, is the number of range bins, is the width of each range bin, and
correction. corresponds to the maximum load range present in the rainflow cycles across all input
time-series.
If the user selects the maximum width of each range bin, MLife first computes the
number of bins using,
Lifetime Damage Equivalent Loads
The program computes a lifetime DEL which includes the fatigue cycles from all ( ) (40)
time-series. In this case, a lifetime equivalent cycle count is determined using the
then, the actual width of the bins is computed using equation 39.
The load bin, k, associated with load range value for the ith cycle in the jth (43)
time-series is,
( ) (41) (44)
The load range type used to compute the quantity depends on the requested For a given processing session, MLife computes at most a single damage-rate and
result type. The options are to use the uncorrected cycles, , the Goodman-corrected lifetime damage result when applying the Goodman correction. Table 3 outlines
cycles about a fixed-mean, , or the Goodman-corrected cycles about a zero fixed- which binned cycle counts are used in the possible cases. In the un-binned case, the
mean, , see Table 1. damage results are independent of a chosen fixed-mean. In the binned case, these
results could vary slightly due to the binning process. MLife will also compute the
binned, uncorrected, damage-rate and lifetime damage results, if requested.
Type of Result to Calculate Cycles used to compute
Fixed-Mean only Type of Result to Binned Cycle Short-term Lifetime
Zero Fixed-Mean only Calculate Counts Damage Rate Damage
Fixed-Mean and Zero Fixed-Mean Fixed-Mean Only
∑ (49) The binned short-term DEL without the Goodman correction about a zero mean
becomes,
∑ (50) ∑ ( ( ) )
( ) (61)
∑ (54) ∑ ∑ ( ( ) )
( ) (65)
∑
∑ (55) ∑ ∑ ( ( ) )
( ) (66)
∑
(56)
∑ ∑ ( ( ) )
( ) (67)
(57) ∑
where , , and are the extrapolated damage counts.
(58)
Peak Finding and Filtering
The binned short-term DEL about a fixed mean becomes, The peak-finding algorithm begins by adding the first time-series data point to the
peak list. The entire time-series is then traversed, and a peak is identified by a change
∑ ( ( ) ) in sign of the time-series derivative. If a peak value occurs multiple, consecutive
( ) (59) times, only the last point of the group is added to the peaks list. Finally, the last data
point in the time-series is added to the peaks list. MLife also incorporates a racetrack
The binned short-term DEL about a zero mean becomes, filter that is useful for eliminating small amplitude variations in the time-series. The
algorithm filters out all potential peak points that vary from their adjacent peak point
by amplitudes less than a threshold percentage of the maximum range of the time- load ranges, accounting for loads which may exist over the design lifetime, but are not
series. found in the short-term input time-series.