Tools › Structures › Loads and Dynamics › Fatigue Spectrum Generation


Fatigue Spectrum Generation

A flight-by-flight fatigue load sequence from a mission profile and exceedance data, ready to paste into the Spectrum Fatigue Life and Crack Growth tools: mission segments with their duration, speed and 1-g stress; gust exceedance curves pasted as breakpoints (per 1,000 flight hours or per mile) or taken from the generalized gust distribution of NACA TN 4332 at the segment's altitude; a maneuver curve with positive and negative increments; the curves stepped into discrete levels between an omission (truncation) level and a clipping level by differencing the exceedances, as the USAF Damage Tolerant Design Handbook describes; the occurrences per flight and the integer occurrence table of a block of flights; the sequence itself, with the cycles of each flight in random order (seeded, reproducible) or low-high-low, the taxi cycles and the landing impact forming the ground-air-ground cycle; its peak-count check against the input exceedances and an ASTM E1049 rainflow count of the block; charts of the first flights, of the exceedance curves with their levels and of the rainflow range spectrum. The default is the three-segment operation of NASA Memorandum 1-17-59L (a four-engine transport on a northwestern United States to Alaska route, 263 flights, 672.9 hours): its Table I gust accelerations by climb, en route and descent and its Table II operational maneuvers, with illustrative 1-g stresses of 13, 12 and 11 ksi, a 100-flight block, 0.3 g omission and 0.8 g clipping.

  • Mission segments (hours, speed, 1-g stress) with a gust curve each: pasted breakpoints per 1,000 hours or per mile, or the NACA TN 4332 generalized gust distribution at an altitude; a maneuver curve with pull-up and push-over increments

  • Exceedance curves stepped into levels by differencing (DTD Handbook Table 5.4.1): omission and clipping levels, equal steps or the pasted points as levels; occurrences per flight and the integer block table

  • Flight-by-flight sequence with the ground-air-ground cycle (taxi cycles, landing impact), random order by seed or low-high-low; peak-count check and ASTM E1049 rainflow of the block

  • Paste-ready text for the Spectrum Fatigue Life tool (peak-valley sequence) and the Crack Growth tool (counted blocks), charts of the sequence, the curves and the range spectrum

Fatigue Spectrum Generation


Unit System: /

Mission Segments (one flight is the rows in order; hours per flight; speed in knots true airspeed, used by a per-mile curve; the 1-g stress of the point analysed and the stress change per unit load-factor increment, blank = the 1-g stress; a gust curve A to D and the maneuver curve M for each segment)

1
2
3

Gust Exceedance Curves (one breakpoint per line: load-factor increment Δn, then the number of times it is reached or exceeded; straight lines on a semi-logarithmic plot join the points; the default curves are Table I of NASA Memorandum 1-17-59L, counts per 1,000 flight hours, positive and negative peaks combined)






Maneuver Exceedance Curve M (per 1,000 flight hours, one count per maneuver: positive increments are pull-ups from 1 g, negative increments push-overs below 1 g; the default is Table II(a) of the Memorandum, operational maneuvers, 672.9 hours)


Levels (load-factor increments; the omission level is the smallest increment kept, the clipping level the largest applied; equal steps from the omission level, or the pasted breakpoints themselves as the levels)








Ground Loads and Block (the ground stress is the 1-g stress on the ground at the point analysed; taxi cycles are applied half before take-off and half after landing, symmetric about the ground stress; the landing impact is one excursion after the last segment; illustrative default values)








×

Fatigue Spectrum Generation

Fatigue Spectrum Generation: From Exceedance Curves to a Flight-by-Flight Load Sequence

The problem

The loads an airframe sees in service are known statistically: flight recorders (the NACA VGH and V-G programs of the 1940s to 1960s, their successors on today's fleets) count how often the normal acceleration at the centre of gravity reaches or exceeds each level, by source (gusts, maneuvers), by flight condition (climb, en route, descent) and by altitude. A fatigue analysis by Miner's rule can work on those counts directly, but a crack-growth analysis, a full-scale fatigue test and any method that depends on load interaction need the loads in a sequence: the order sets the mean stress of each cycle, the ground-air-ground cycle between the ground and the highest load of each flight, and the retardation that a high load imposes on the growth under the small cycles that follow it. The standard load sequences of the 1970s, TWIST for transport wings (de Jonge, Schütz, Lowak and Schijve 1973) and FALSTAFF for fighters (1975), fixed the practice: an exceedance spectrum is stepped into a handful of levels, the occurrences of every level in a block of flights are fixed, and the occurrences are dealt to flights of random severity and applied in random order within each flight. The USAF Damage Tolerant Design Handbook (section 5.4.2) sets the same procedure out as the way to build the load sequence for a damage-tolerance analysis. This tool follows it.

Conventions and units

Loads are expressed at the point analysed as a stress: the 1-g flight stress S1g of each segment (the stress in steady level flight at that weight and speed) and the stress change per unit load-factor increment Sg, so that a load factor n gives S1g + (n − 1) Sg; for a wing lower skin whose stress is proportional to the load factor Sg = S1g, which is the default when the field is blank. Stresses go through the unit system (ksi or MPa); hours, speeds in knots, load-factor increments Δn, counts and the seed are plain numbers. A gust is a symmetric pair, peak S1g + Δn Sg then valley S1g − Δn Sg, as the atmosphere delivers up- and downdrafts alike and as TWIST applies them; a pull-up maneuver (Δn > 0) goes from S1g to the peak and back, a push-over (Δn < 0) from S1g down to the valley and back. The ground stress Sgnd is the 1-g stress with the airplane on its wheels (a compression on a wing lower skin), the taxi cycles are symmetric about it, and the landing impact is one excursion to the stress entered.

Exceedance curves

An exceedance curve N(x) is the number of times the load increment x is reached or exceeded per unit of exposure. The data behind the default curves are NASA Memorandum 1-17-59L (Engel and Copp 1959), whose Table I gives the gust accelerations of a four-engine transport on a northwestern United States to Alaska route in 0.1 g classes from 0.3 g, by climb (57.5 hours), en route (490.8 hours) and descent (124.6 hours) over 263 flights, and whose Table II(a) gives the operational maneuvers of the same 672.9 hours, positive and negative separately. Divided by the hours of each condition, the cumulative class counts are exceedances per 1,000 flight hours; the tool's default curves A, B, C and M are those numbers. VGH data count every excursion from the 1-g reference, up or down, so a gust curve counted that way gives one symmetric cycle per two counts ("positive and negative peaks combined"); a curve already reduced to cycles is applied count for count. Between breakpoints the curve is taken straight on a semi-logarithmic plot (log N linear in x), which is how gust and maneuver spectra are drawn and faired; above the last breakpoint there are no exceedances, and below the first the count is held, so no loads are invented beyond the data in either direction.

Per-mile curves and the TN 4332 model. Gust statistics are often given per mile of flight (the gust frequency depends on the distance flown through the atmosphere, not on the time); the tool converts them with the segment's speed and hours. The classic generalized gust distribution is that of NACA TN 4332 (Press and Steiner 1958): the overall number of gusts per statute mile exceeding a derived gust velocity Ude is G(Ude) = 20 P1 e−Ude/(2.2 k1) + 15 P2 e−Ude/(5.3 k2) (eq. 10), the first term for nonstorm turbulence and the second for storm turbulence, with P1 and P2 the proportions of flight distance in each (the report's table: 0.32 and 0.00025 below 2,000 ft, 0.08 and 0.0008 from 2,000 to 10,000 ft, 0.045 and 0.0004 to 20,000 ft, 0.06 and 0.00013 to 30,000 ft, 0.065 and 0.000045 to 40,000 ft, 0.023 and 0.00001 to 50,000 ft, 0.02 and 0 to 60,000 ft) and k1, k2 intensity factors relative to 6,000 ft read from its Figure 2 at the bracket midpoints (k1 = 1.20, 1.01, 0.92, 0.82, 0.70, 0.58, 0.42; k2 = 1.0 to 30,000 ft then 0.92, 0.84, 0.755). The same two-exponential form with altitude-dependent constants is the mission-analysis gust model of 14 CFR 25 Appendix G and MIL-A-8861. The load-factor increment follows from the gust-load formula, Δn = Ude ρ0 Ve a Kg/(2 W/S); the tool takes Δn per fps as an input (curve D) and the altitude of the segment. The report's counts are of both signs, 20 and 15 being the average numbers of gust peaks per mile; its nonstorm data carry a 20 % reduction for the flexibility amplification of the recorded c.g. accelerations, its storm data do not, and its P values are averages of transport operations with storm avoidance. It is a 1958 description of the atmosphere, adequate for a first spectrum and for comparing missions, not a substitute for a fleet's own recorder data.

Stepping the curve into levels

The curve cannot be applied as a continuum: a sequence needs discrete levels, and the Damage Tolerant Design Handbook shows (its Figure 5.4.5) that eight to ten positive levels reproduce the crack growth of a finer stepping while fewer change it. The occurrences of a level follow from differencing the exceedances (Table 5.4.1: level i carries ni − ni+1, the top level n1). The tool offers two steppings. With equal steps, bands of the chosen width run from the omission level to the clipping level; each band carries N(lo) − N(hi) occurrences applied at its mid-increment, and the exceedances of the clipping level itself are applied at that level (the clipped row). With the pasted points as levels, each breakpoint is a level carrying the exceedances between it and the next, which is the handbook's own table and reproduces its Example 5.4.1 (levels 4.9, 4.0, 3.25, 2.5 and 1.8 g exceeded 10, 1,400, 6,500, 30,000 and 100,000 times per 1,000 flights give 10, 1,390, 5,100, 23,500 and 70,000 occurrences). Two levels need choosing. The clipping level is the highest load applied: the handbook recommends the level exceeded about ten times in 1,000 flights, because a load applied once in the whole history is not representative of a fleet and, by retarding crack growth, is unconservative. The omission (truncation) level is the lowest load kept: it sets the length of the sequence and, within reason, has a small effect on crack growth; the handbook suggests the level exceeded 105 to 5 × 105 times per 1,000 flights, and MINITWIST (Lowak et al. 1979) showed that omitting the smallest TWIST level cut the sequence to a tenth with a measurable but modest increase in life. The omitted cycles are counted and reported, from the curve's first breakpoint down to the omission level; cycles below the first breakpoint are not in the data at all (the Memorandum's threshold is 0.3 g for gusts and 0.1 g for maneuvers).

Mission and block

A flight is the segments entered, in order, each with its hours and its own curves and 1-g stress: climb, cruise and descent differ in speed, altitude, weight and turbulence, and the recorder data are sorted that way. The occurrences per flight are the rates times the segment's exposure. A block of F flights is one period of the sequence; its occurrence table must be integers, and the tool rounds the expected cumulative exceedances from the top level down and differences them, so the block table follows the curve as closely as integers allow and a rare level is kept once when it is expected at least half a time per block. A longer block therefore keeps rarer loads: the default 100 flights keep the 0.8 g gust of the en-route and descent curves (expected 0.2 and 0.4 times) only in a 263-flight block, which is the Memorandum's own sample. TWIST uses 4,000 flights per block and ten flight types of graded severity; this tool uses one flight type and deals the occurrences to flights at random, which gives the flights a Poisson-like spread of severity about the mean.

The sequence

Each occurrence is assigned to a flight by a seeded pseudo-random generator, Park and Miller's minimal standard xn+1 = 16807 xn mod (231 − 1), chosen because it is defined in one line and gives the same sequence in any language for the same seed; the test script's independent Python implementation reproduces the tool's sequence point for point. Within a flight, the cycles of a segment are applied in random order (the usual choice for gusts) or in low-high-low order (ascending then descending, the programmed order that the handbook, citing Schijve, finds similar to random for gust loading). Each flight opens with half the taxi cycles about the ground stress (or the ground stress alone), runs through its segments, and closes with the landing impact and the other half of the taxi cycles. Points that are neither peaks nor valleys are removed, and the result is a list of reversals in stress, ten to a line, that the Spectrum Fatigue Life tool reads as a peak-valley history.

Checks: peak counts and the rainflow count

The exceedance curve is a count of peaks, so the generated block is checked by counting its peaks: for every segment the number of gust and pull-up peaks must equal the block table, and for a segment without maneuvers the peaks at or above each band's lower stress must equal the cumulative block exceedances of that band. They do, by construction, unless a segment's 1-g stress lies so far below the previous segment's that its small peaks are swallowed by a larger excursion. The block is then rainflow counted by ASTM E1049-85, section 5.4.4, as a repeating history (section 5.4.5: the block is rotated to start at its largest peak, so that every cycle closes as a full cycle). The rainflow count is not the applied-pair count, and the difference is the physics the sequence adds: within one segment the symmetric gust pairs about the 1-g stress are recovered exactly (the test script proves it level by level), but the largest excursion of every flight pairs with the lowest ground point into the ground-air-ground cycle, a pull-up peak may close on a gust valley, and cycles about the different 1-g stresses of the segments combine. The range-spectrum chart shows it: the rainflow curve matches the applied cycles at the small ranges and lies to the right at the large ones, where the ground-air-ground cycles are. A Miner's-rule life computed from the sequence is therefore shorter than one computed from the exceedance counts alone, and the difference is real.

Limits

The tool produces a sequence from counts; it does not supply the counts. The Memorandum's curves describe one 1950s piston transport on one route, with a 0.3 g gust threshold, and are the default because they are published and complete, not because they apply to another airplane; the TN 4332 model is a 1958 average atmosphere. Flexibility amplification of recorded c.g. accelerations, the weight change along the flight, the conversion from load factor to stress at points whose stress is not proportional to n (a fuselage frame, a landing gear fitting), measured taxi and landing spectra, flight types of different severity, and the sequence effects themselves (retardation, which needs a crack-growth model with load interaction) are all outside it. What it gives is a reproducible, documented sequence whose level-crossing content is exactly the input table, ready for the Spectrum Fatigue Life tool (Miner's rule with the MIL-HDBK-5J S/N equations) and the Crack Growth tool.

Reading the results

The mission table lists each segment's exposure, curves, 1-g stress and expected cycles per flight, then the flight duration and the omitted cycles. The level tables give, per segment and curve, the bands, the applied increment, the exceedances at the band boundaries, the occurrences per unit exposure, per flight and per block, the cumulative block count and the peak and valley stresses; Figure 1 overlays the stepped block levels on the curves. The sequence section reports the reversals, extremes, ground-air-ground count and mean range, and draws the first flights (Figure 2). The checks compare the sequence's peaks with the block table and list the largest rainflow cycles with Figure 3's range spectra. The two text boxes hold the sequence and the rainflow blocks for the downstream tools.




References

Engel, J. N., and Copp, M. R. (1959). Analysis of Acceleration, Airspeed, and Gust-Velocity Data From a Four-Engine Transport Airplane Operating Over a Northwestern United States–Alaska Route. NASA Memorandum 1-17-59L, National Aeronautics and Space Administration, Washington, DC.

Press, H., and Steiner, R. (1958). An Approach to the Problem of Estimating Severe and Repeated Gust Loads for Missile Operations. NACA Technical Note 4332, National Advisory Committee for Aeronautics, Washington, DC.

Coleman, T. L. (1968). Trends in Repeated Loads on Transport Airplanes. NASA Technical Note D-4586, National Aeronautics and Space Administration, Washington, DC.

Gallagher, J. P., Giessler, F. J., Berens, A. P., and Engle, R. M. (1984). USAF Damage Tolerant Design Handbook: Guidelines for the Analysis and Design of Damage Tolerant Aircraft Structures. AFWAL-TR-82-3073, Air Force Wright Aeronautical Laboratories, Wright-Patterson Air Force Base, OH.

ASTM International (2017). Standard Practices for Cycle Counting in Fatigue Analysis. ASTM E1049-85(2017), West Conshohocken, PA.

de Jonge, J. B., Schütz, D., Lowak, H., and Schijve, J. (1973). A Standardized Load Sequence for Flight Simulation Tests on Transport Aircraft Wing Structures. NLR TR 73029 U, National Aerospace Laboratory NLR, Amsterdam, and LBF Bericht FB-106, Fraunhofer-Institut für Betriebsfestigkeit, Darmstadt.

Lowak, H., de Jonge, J. B., Franz, J., and Schütz, D. (1979). MINITWIST: A Shortened Version of TWIST. NLR MP 79018 U, National Aerospace Laboratory NLR, Amsterdam, and LBF Bericht TB-146, Fraunhofer-Institut für Betriebsfestigkeit, Darmstadt.

van Dijk, G. M., and de Jonge, J. B. (1975). "Introduction to a Fighter Aircraft Loading Standard for Fatigue Evaluation, FALSTAFF." Proceedings of the 8th ICAF Symposium, Lausanne, paper 3.61.

Schijve, J. (1972). "The Accumulation of Fatigue Damage in Aircraft Materials and Structures." AGARDograph 157, Advisory Group for Aerospace Research and Development, Neuilly-sur-Seine.

Park, S. K., and Miller, K. W. (1988). "Random Number Generators: Good Ones Are Hard to Find." Communications of the ACM, Vol. 31, No. 10, pp. 1192–1201.

Pratt, K. G., and Walker, W. G. (1954). A Revised Gust-Load Formula and a Re-Evaluation of V-G Data Taken on Civil Transport Airplanes From 1933 to 1950. NACA Report 1206, National Advisory Committee for Aeronautics, Washington, DC.

Worked Examples

Published examples this tool reproduces; each page lists the inputs to enter and the printed answers.

All worked examples


DISCLAIMER: The methods and calculation on aNOWysis.com are provided as means to educate the reader. There is no warranty, expessed or implied, as to the relevance or accuracy of the methods or calculations. All calculations should be checked by a qualified analyst for appropriateness and accuracy. We will not be held liable for any damages, injuries or deaths caused by using methods or calculations from this site.