FAST User’s Guide Technical Report - NWTC Information Portal
MLife Theory Manual for Version 1 - NWTC Information Portal · MLife Theory Manual for Version 1.00...
Transcript of MLife Theory Manual for Version 1 - NWTC Information Portal · MLife Theory Manual for Version 1.00...
MLife Theory Manual for Version 1.00 G. J. Hayman
Revised October 19, 2012 for MLife v1.00.00
Technical Report NREL/TP-XXXXX October 2012
NREL IS A NATIONAL LABORATORY OF THE U.S. DEPARTMENT OF ENERGY, OFFICE OF ENERGY EFFICIENCY & RENEWABLE ENERGY, OPERATED BY THE ALLIANCE FOR SUSTAINABLE ENERGY, LLC.
CONTRACT NO. DE-AC36-08GO28308
NOTICE
This report was prepared as an account of work sponsored by an agency of the United States government. Neither the United States government nor any agency thereof, nor any of their employees, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights. Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States government or any agency thereof. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States government or any agency thereof.
Available electronically at http://www.osti.gov/bridge Available for a processing fee to U.S. Department of Energy and its contractors, in paper, from: U.S. Department of Energy Office of Scientific and Technical Information P.O. Box 62 Oak Ridge, TN 37831-0062 phone: 865.576.8401 fax: 865.576.5728 email: mailto:[email protected] Available for sale to the public, in paper, from: U.S. Department of Commerce National Technical Information Service 5285 Port Royal Road Springfield, VA 22161 phone: 800.553.6847 fax: 703.605.6900 email: [email protected] online ordering: http://www.ntis.gov/help/ordermethods.aspx
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 availability factor of the wind turbine
number of occurrences of the jth
time-series when the time-series is
classified as a discrete design load case (DLC)
lifetime fatigue damage
binned lifetime fatigue damage without using Goodman correction
binned lifetime fatigue damage with Goodman-corrected load
ranges about a fixed-mean
binned lifetime fatigue damage with Goodman-corrected load
ranges about a zero fixed-mean
fatigue damage over the design lifetime caused by time-series j
with uncorrected load ranges
fatigue damage over the design lifetime caused by time-series j
with Goodman-corrected load ranges about a fixed-mean
fatigue damage over the design lifetime caused by time-series j
with Goodman-corrected load ranges about a zero fixed-mean
fatigue damage caused by time-series j based cycles with
uncorrected load ranges
fatigue damage caused by time-series j based cycles with Goodman
corrected load ranges about a fixed-mean
fatigue damage caused by time-series j based cycles with Goodman
corrected load ranges about a zero fixed-mean
lifetime damage equivalent load without Goodman correction
lifetime damage equivalent load with Goodman-corrected load
ranges about a fixed-mean
lifetime damage equivalent load with Goodman-corrected load
ranges about a zero fixed-mean
short-term damage equivalent load for time-series j without
Goodman correction
short-term damage equivalent load for time-series j with Goodman-
corrected load ranges about a fixed-mean
short-term damage equivalent load for time-series j with Goodman-
corrected load ranges about a zero fixed-mean
short-term aggregate damage-rate without Goodman correction
short-term damage-rate without Goodman correction
short-term damage-rate with Goodman-corrected load ranges about
a fixed-mean
short-term damage-rate with Goodman-corrected load ranges about
a zero fixed-mean
equivalent frequency of damage equivalent load
lifetime damage count extrapolation factor for time-series j
fatigue cycle index
time-series index
binned-cycle index
wind speed bin index
mean load of cycle i
mean load ith cycle of the jth time-series
fixed-mean load
load range for cycle i
midpoint of the k
th load range bin
Goodman-corrected load range about a fixed-mean for cycle i
load range for cycle i and time-series j
Goodman-corrected load range about a fixed-mean for cycle i time-
series j
Goodman-corrected load range about a zero fixed-mean for cycle i
time-series j
the maximum load range across all time series
ultimate load
Whöler Exponent
damage count for cycle i
damage count for cycle i and time-series j
damage count for load range bin k and time-series j
damage count for Goodman-corrected load ranges about a fixed-
mean for load range bin k and time-series j
damage count for Goodman-corrected load ranges about a zero
fixed-mean for load range bin k and time-series j
extrapolated damage count for cycle i and time-series j across the
design lifetime
extrapolated damage count for load range bin k and time-series j
extrapolated damage count for Goodman-corrected load ranges
about a fixed-mean for load range bin k and time-series j
extrapolated damage count for Goodman-corrected load ranges
about a zero fixed-mean for load range bin k and time-series j
lifetime equivalent counts
number of load range bins
equivalent counts for time-series j
number of wind speed bins in the range number of wind speed bins in the range ( number of wind speed bins in the range (
number of equivalent cycles to failure
number of cycles until failure for the load range of cycle i
number of cycles until failure for the load range of cycle i and
time-series j
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
MLife is a MATLAB-based tool created to post-process results from wind turbine
tests, and aero-elastic, dynamic simulations. MLife computes statistical information
and fatigue estimates for one or more time-series. We specifically designed MLife to
handle hundreds of time-series. The program reads a text-based settings file in
conjunction with one or more time-series data files. Alternatively, the program can
read parameter variables which were created using MATLAB, outside of MLife.
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
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
entire set of time-series data, and the accumulated lifetime damage and the time until
failure.
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
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
and Miner). In this case the total damage from all cycles will be given by,
∑
( )
(1)
where ( ) denotes the number of cycles to failure, the cycle count, and is the
cycle’s load range about a fixed load-mean value. The relationship between load
range and cycles to failure (S-N curve) is modeled by
( | |
(
)
)
(2)
where is the ultimate design load of the component, is the fixed load-mean,
and the Whöler exponent, , is specific to the component under consideration.
The above formulations assume the fatigue cycles occur over a constant, or fixed,
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
correction for a Goodman exponent equal to one.
( | |
| |
) (3)
where is the i
th cycle’s range about a load mean of
.
From a practical standpoint, the lifetime damage of a wind turbine is estimated
using a collection of time-series data which covers a much shorter time period than the
design lifetime. To correctly estimate the total lifetime damage from these short input
time-series, we must extrapolate the time-series damage-cycle counts over the design
lifetime. Equations 1-3 are rewritten such that they now account for the accumulation
of damage using one or more input time-series.
∑
(4)
∑
(5)
( | |
(
)
)
(6)
( | |
| |
) (7)
where
is the extrapolated damage over the design lifetime due to the jth time-
series,
is the extrapolated cycle counts, is the cycles to failure, and is
range about a load mean of for the i
th cycle in the j
th time-series.
MLife also enables fatigue calculations to be performed without the Goodman
correction. In this case, we simply set
, and in equation 7. Using
this option, the user must still specify the value of .
MLife extrapolates the damage cycle counts differently depending on the design
load case (DLC) classification of the time-series data. MLife includes three
generalized DLC classifications, which are intended to encompass the required
fatigue-related DLCs of IEC 61400-1 edition 3. These are:
Power Production (IEC DLC 1.2)
Parked (IEC DLC 6.4)
Discrete Events (IEC DLCs 2.4, 3.1, and 4.1)
Wind Speed Distribution and Binning
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
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,
(
)
(
)
(4)
where is the wind speed at the midpoint of bin , is the width of bin , is the
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
wind, such that,
(
)
(5)
where is the median wind speed of the Weibull distribution, and is the standard
deviation of the wind.
is the scale parameter and is set to,
( )
(6)
where ( ) is the gamma function.
To determine the wind speed binning in MLife, the user specifies the maximum
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
computed by first determining the smallest number of bins which creates a bin width
less than or equal to .
(
)
(7)
(
)
(8)
(
)
(9)
where and are the number of bins in the three sub-ranges, and ( ) is
a ceiling function which returns the next largest integer value.
Once the number of bins in each sub-range is determined, the actual wind speed
bin width of each sub-range is computed by dividing the sub-range’s wind speed span
by the number of bins,
(10)
(11)
(12)
where and are the wind speed bin widths for the three sub-ranges.
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
median wind speed, such that,
{
(
) ( )
(
) ( )
(
) ( )
(13)
Once the wind speed bin index, , has been identified for a time-series, the bin’s
mid-point wind speed and bin width are determined by,
{
(
) ( )
(
) ( )
(
) ( )
(14)
{
( )
( )
( )
(15)
Lifetime Damage Count Extrapolation
In addition to the wind speed distribution, the power production and parked DLC
cycle-count extrapolation is affected by the turbine’s availability factor, . An
availability of 1 indicates the turbine is always online and producing power when the
wind speed is in the range ( .
The power production DLC damage-cycle counts are scaled such that,
{
( )
( )
(16)
where is the design lifetime period, is the total elapsed time for all power
production time-series that have a mean wind speed falling in bin , and
is the
extrapolation factor for time-series j.
Parked DLC damage-cycle counts are scaled such that,
{
( )
( )
( )
(17)
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,
(18)
where corresponds to the number of occurrences of the jth
time-series over the design
lifetime.
The extrapolated cycle counts over the design lifetime, for all DLC
classifications, are obtained using,
(19)
where
corresponds to equations 16, 17, or 18, depending on the DLC
classification and is the ith
cycle count for time-series j,
The lifetime damage is accumulated for all cycles and time-series such that,
∑ ∑
(20)
Time until Failure
In addition to calculating the damage over a design lifetime, one can calculate the
time until failure. Since failure occurs when equals one, the time until failure,
, is simply the ratio of the design lifetime over the accumulated damage,
(21)
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
requested.
Short-term Damage Rate
The short-term damage and damage-rates are computed by,
∑
(22)
(23)
∑
∑
(24)
where is the accumulated damage from time-series j,
is the short-term
damage-rate for time-series j, and is the aggregate short-term damage-rate for
all time-series.
Damage Equivalent Loads
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-
mean and frequency and produces the equivalent damage as the variable spectrum
loads such that,
∑
(25)
(26)
( | |
(
)
)
(27)
where is the DEL frequency, is the elapsed time of time-series j,
is the
total equivalent fatigue counts for time-series j, is the DEL for time-series j
about a fixed mean, and
is the equivalent number of cycles until failure for time-
series j. Solving for in equation 27 yields,
(
∑ ( ( )
)
)
(28)
The DEL about a zero mean can also be computed by setting equal to zero.
(
∑ ( ( )
)
)
(29)
where is the adjusted load ranges about a zero fixed-mean, per equation 3, and
is the DEL for time-series j about a zero fixed-mean.
MLife also computes a short-term, time-series-based DEL, , without using
the Goodman correction, such that
, and where equals zero.
(
∑ ( ( )
)
)
(30)
Aggregate Short-term DELs
MLife also computes a set of short-term DELs based on the aggregate of all cycle
counts of the individual time-series.
(
∑ ∑ ( ( )
)
∑
)
(31)
where , is the aggregate short-term DEL about a fixed-mean.
(
∑ ∑ ( ( )
)
∑
)
(32)
where , is the aggregate short-term DEL about a zero fixed-mean.
(
∑ ∑ ( ( )
)
∑
)
(33)
where , is the aggregate short-term DEL without using the Goodman
correction.
Lifetime Damage Equivalent Loads
The program computes a lifetime DEL which includes the fatigue cycles from all
time-series. In this case, a lifetime equivalent cycle count is determined using the
lifetime count extrapolation factor,
, and the short-term equivalent count,
,
such that,
∑
(34)
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,
∑ ∑
(35)
In the case of an equivalent load about a fixed mean, solving for yields,
(∑ ∑ (
(
)
)
)
(36)
For the lifetime equivalent load about a zero mean we have,
(∑ ∑ (
(
)
)
)
(37)
For the lifetime equivalent load without using the Goodman correction about a zero
mean we have,
(∑ ∑ (
(
)
)
)
(38)
Binning the Load Cycles
As an option, MLife will also bin the individual fatigue cycle counts according to
load range.
If the user selects the number of range bins, MLife computes the width of each bin
using,
(39)
where, is the number of range bins, is the width of each range bin, and
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,
(
) (40)
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
time-series is,
(
) (41)
and the value of the load range for bin k is,
(
) (42)
The load range type used to compute the quantity depends on the requested
result type. The options are to use the uncorrected cycles, , the Goodman-corrected
cycles about a fixed-mean, , or the Goodman-corrected cycles about a zero fixed-
mean, , see Table 1.
Type of Result to Calculate Cycles used to compute
Fixed-Mean only
Zero Fixed-Mean only
Fixed-Mean and Zero Fixed-Mean
Without Goodman Correction ,
With and Without Goodman
Correction ,
Table 1. Which cycles are used to determine
Once the load range bins are determined, the cycle counts, , are collected using
the appropriate load range type as shown in Table 2.
Type of Result to
Calculate
Cycle Load Ranges Binned Cycle
Counts
Fixed-Mean
Zero Fixed-Mean
Without Goodman
Correction
Table 2. Which cycles are used to determine binned cycle counts
is the total number of cycle counts from times-series j whose uncorrected load
ranges fall into bin k, is the total number of cycle counts from times-series j whose
fixed-mean load ranges fall into bin k, and is the total number of cycle counts from
times-series j whose zero fixed-mean load ranges fall into bin k.
The lifetime cycle counts are obtained using,
(43)
(44)
(45)
For a given processing session, MLife computes at most a single damage-rate and
lifetime damage result when applying the Goodman correction. Table 3 outlines
which binned cycle counts are used in the possible cases. In the un-binned case, the
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
Binned Cycle
Counts
Short-term
Damage Rate
Lifetime
Damage
Fixed-Mean Only
Zero Fixed-Mean Only
Fixed-Mean and Zero
Fixed-Mean
Without Goodman
Correction
Table 3. Which versions of damage and damage-rate are used when binning
is the short-term damage-rate of the j
th time-series using the uncorrected load
ranges, is the damage-rate of the j
th time-series using the load ranges corrected
to a fixed-mean, and is the damage-rate of the j
th time-series using the load
ranges corrected to a zero fixed-mean. is the lifetime damage using the
uncorrected load ranges, is the lifetime damage using the load ranges corrected
to a fixed-mean, and is the lifetime damage using the load ranges corrected to a
zero fixed-mean.
The various binned lifetime damage equations are,
∑
(46)
∑
(47)
∑
(48)
∑
(49)
∑
(50)
∑
(51)
The cycles to failure equation becomes,
( | |
(
)
)
(52)
are the cycles to failure for load bin k. is the load range value associated with
bin k.
The binned short-term damage and damage-rates are computed by,
∑
(53)
∑
(54)
∑
(55)
(56)
(57)
(58)
The binned short-term DEL about a fixed mean becomes,
(
∑ ( (
) )
)
(59)
The binned short-term DEL about a zero mean becomes,
(
∑ ( (
) )
)
(60)
The binned short-term DEL without the Goodman correction about a zero mean
becomes,
(
∑ ( ( ) )
)
(61)
The binned short-term aggregate DEL equations become,
(
∑ ∑ ( (
) )
∑
)
(62)
(
∑ ∑ ( (
) )
∑
)
(63)
(
∑ ∑ ( ( ) )
∑
)
(64)
The lifetime DEL equations are,
(∑ ∑ (
( ) )
∑
)
(65)
(∑ ∑ (
( ) )
∑
)
(66)
(∑ ∑ (
( ) )
∑
)
(67)
where
,
, and
are the extrapolated damage counts.
Peak Finding and Filtering
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
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
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-
series.
Fatigue Cycle Counting
MLife uses the one-pass cycle counting method of Downing and Socie. With this
approach, unclosed partial cycles can be generated anywhere in the time-series, if
certain criteria are met. The method attaches an unclosed cycle count of to these
cycles. Complete cycles are assigned a cycle count of one. For typical wind turbine
loads data, only a small percentage of cycles tend to be counted as partial cycles.
However, we strongly encourage you to set equal to 0.5 unless you have a specific
reason for choosing a different value.
Program Outline
MLife’s analysis follows this general outline:
1. Process all the input data files, one at a time.
a. Read a time-series file into memory.
b. Compute the statistics for this time-series.
c. Extract the local maxima and minima (peaks) from the time-series.
d. Filter the peaks (optional).
2. Compute the aggregate statistics across all data files.
3. Determine the fatigue cycles for each time-series using rainflow counting.
Each cycle is characterized by,
a. The cycle’s mean load and range.
b. The adjusted load range when using a fixed or zero mean.
c. The weight of the cycle, which allows partial cycles to be counted as
a fraction of a complete cycle. Complete cycles have a count of one.
4. Compute the short-term damage-rates and damage-equivalent load (DEL) of
each time-series.
5. Sum the damage contribution of each time-series to determine short-term
aggregate damage-rates and DELs.
6. Extrapolate the damage contribution of each time-series across the design
lifetime to determine the lifetime damage.
7. Determine the lifetime DEL.
8. Compute the time until failure.
Future Work
MLife currently does not model the load range distribution by a stationary random
process (equation G-2 of IEC 61400-1, Annex G). This prevents the extrapolation of
load ranges, accounting for loads which may exist over the design lifetime, but are not
found in the short-term input time-series.
Acknowledgments
Greg Hayman of the NWTC wrote MLife. This program is based on MCrunch
which was written by Marshall Buhl. Jason Jonkman, Marshall Buhl, and Amy
Robertson created the outline for the technical functionality of MLife and the
associated fatigue equations. Rich Damiani provided valuable testing and feedback
using the development of this program.
Feedback
If you have problems with MLife, please contact Greg Hayman. If he has time to
respond to your needs, he will do so, but please do not expect an immediate response.
Please send your comments or bug reports to:
Greg Hayman
NWTC/3811
National Renewable Energy Laboratory
1617 Cole Blvd.
Golden, CO 80401-3393
United States of America
Web: http://wind.nrel.gov
Email: [email protected]
References
Downing, S.D.; Socie, D.F. (1982). “Simple Rainflow Counting Algorithms.”
International Journal of Fatigue; Vol. 4, [N.1], pp. 31–40.
International Electrotechnical Commission, Wind turbines – Part1: Design
requirements, IEC 61400-1 Ed. 3, 2004.
Manwell, J., McGowan, J. and Rogers, A. (2002) Wind Energy Explained: Theory,
Design and Application, John Wiley & Sons, Ltd, Chichester, UK, pp. 57-59.
Moriarty, P.J.; Holley, W.E.; Butterfield, S.P. (2004). Extrapolation of Extreme
and Fatigue Loads Using Probabilistic Methods. NREL/TP-500-34421. Golden, CO:
National Renewable Energy Laboratory, 32 pp.
Sutherland, H.J. (1999). On the Fatigue Analysis of Wind Turbines. SAND99-
0089. Albuquerque, NM: Sandia National Laboratories.
Veers, P.S.; Winterstein, S.R.; Nelson, D.V.; Cornell, C.A. (1989). “Variable
Amplitude Load Models for Fatigue Damage and Crack Growth.”