Fatigue Endurance Limit and S-N Curve Calculator
Fatigue Endurance Limit and S-N Curve Calculator
S_e′ = 0.5·S_ut capped at 700 for steel, all five Marin factors, the S-N line read both ways, and Goodman, Gerber, Soderberg and ASME-elliptic on one cycle — with aluminium’s lack of any endurance limit treated as the point rather than a footnote.
Fatigue endurance limit and S-N curve
A machined steel shaft, 25 mm diameter, S_ut = 700 and S_y = 550 N/mm², in reversed bending at 20 °C, 99 per cent reliability
The endurance limit, the line, and the mean
- S_e′
- the endurance limit of a polished rotating-beam SPECIMEN, not of your part. Half the tensile strength for a steel, capped at 700 N/mm². For a non-ferrous metal there is no such thing and this page will not invent one
- k_a
- surface finish. The biggest factor and a power law in S_ut — note that a STRONGER steel is punished MORE by a rough surface, which is why a high-strength part with a poor finish can be no better in fatigue than a mild steel one
- k_b
- size. A big part is weaker in fatigue than a small one of the same metal. Exactly 1 for axial loading
- k_c
- load type: 1 bending, 0.85 axial, 0.59 torsion
- k_d, k_e
- temperature and reliability. k_e is 1 − 0.08 z_a, which is the identity the published table satisfies at all eight of its rows
- f
- the fraction of S_ut the line starts from at 10³ cycles. NOT 0.9 except below 490 N/mm²; it falls to about 0.77 at 1,400. See the table
- K_f
- the fatigue stress concentration factor, from the shaft fillet page. Applied here as a DIVISOR on the endurance limit, which is equivalent to multiplying the stress
Worked example
A machined steel shaft, 25 mm diameter, S_ut = 700 and S_y = 550 N/mm², in reversed bending at 20 °C, 99 per cent reliability
The specimen's endurance limit first: S_e′ = 0.5 × 700 = 350 N/mm². The 0.5 holds up to S_ut = 1,400 N/mm², above which it is capped at a flat 700 — a stronger steel does not keep buying endurance limit indefinitely
Surface: machined, so k_a = 3.04 × 700^−0.217 = 0.7336 on the 11th edition's constants. The 10th edition gives 4.51 × 700^−0.265 = 0.7947, which is 8.3 per cent higher. Both are printed on this page; neither is a misprint
Size: 25 mm is in the 2.79-to-51 mm band, so k_b = 1.24 × 25^−0.107 = 0.8787. A 100 mm shaft of the same steel would get 0.7328 — six per cent less endurance limit for being bigger, with no other change
Load: reversed bending is the reference case, k_c = 1.00. Axial would be 0.85 and torsion 0.59
Temperature: 20 °C gives k_d = 0.9994, essentially 1. Worth knowing that this factor RISES to about 1.025 near 150 °C — a steel is slightly stronger warm — and then falls to 0.90 at 400 °C and 0.77 at 500
Reliability: 99 per cent needs z_a = 2.326, so k_e = 1 − 0.08 × 2.326 = 0.814. That is the single largest deliberate knock-down here, and it is there because a published endurance limit is a median: design to it and half the population fails early
Multiply: S_e = 350 × 0.7336 × 0.8787 × 1 × 0.9994 × 0.814 = 183.5 N/mm². That is 26 per cent of the tensile strength, not 50 — the Marin factors have taken away nearly half of the specimen value, and that is normal
NOW THE LINE, and here is where the usual shortcut goes wrong. The 10³-cycle anchor is f·S_ut, and f is NOT 0.9 at this strength: the relation behind Shigley's figure gives f = 0.8417, so the anchor is 589 rather than 630 N/mm². Then a = (f·S_ut)²/S_e = 1,891.4 and b = −⅓·log(f·S_ut/S_e) = -0.168843
Read it either way. At 100,000 cycles the fatigue strength is a·N^b = 1,891.4 × 100,000^(-0.1688) = 270.7 N/mm². Or inversely, an alternating stress of 100 N/mm² gives a life of (100/a)^(1/b) = 36,466,581 cycles — which is above 10⁶, so for a steel it is infinite life
THE MEAN STRESS, which the alternating figure alone ignores. At σ_a = 100 and σ_m = 120 N/mm² the four criteria give: Soderberg 1.311, Goodman 1.396, ASME-elliptic 1.704, Gerber 1.683. The order never changes — Soderberg runs to yield rather than to ultimate so it is always lowest, and Gerber is a parabola that fits wrought steel data best so it is always highest. The spread here is 28 per cent, which is the honest uncertainty in a mean-stress correction
And the check nobody does: first-cycle yield. σ_m + σ_a = 220 N/mm² against S_y = 550 gives 2.50, so this part will not take a set on its first application. A part with a high mean stress can pass every fatigue criterion above and still yield once, on cycle one
The surface factor — and the two editions that disagree about it
| Finish | a / b, 11th ed (MPa) | a / b, 10th ed (MPa) | k_a at 400 (11e) | (10e) | k_a at 700 (11e) | (10e) | k_a at 1200 (11e) | (10e) | Gap at 700 |
|---|---|---|---|---|---|---|---|---|---|
| Ground | 1.38 / -0.067 | 1.58 / -0.085 | 0.9237 | 0.9495 | 0.8897 | 0.9054 | 0.8582 | 0.8648 | 1.8 % |
| Machined or cold-drawn | 3.04 / -0.217 | 4.51 / -0.265 | 0.8284 | 0.9218 | 0.7336 | 0.7947 | 0.6527 | 0.6890 | 8.3 % |
| Hot-rolled | 38.60 / -0.650 | 57.70 / -0.718 | 0.7857 | 0.7814 | 0.5461 | 0.5229 | 0.3847 | 0.3551 | -4.3 % |
| As-forged | 54.90 / -0.758 | 272.00 / -0.995 | 0.5851 | 0.7007 | 0.3828 | 0.4015 | 0.2544 | 0.2348 | 4.9 % |
f at 10³ cycles is not 0.9, and here is what it actually is
| S_ut (N/mm²) | σ′_F = S_ut+345 | S_e′ | f computed | f·S_ut | 0.9·S_ut | Error from assuming 0.9 | How f is known |
|---|---|---|---|---|---|---|---|
| 400 | 745 | 200 | 0.9000 | 360 | 360 | 0.0 % | 0.90 stated in words |
| 490 | 835 | 245 | 0.9000 | 441 | 441 | 0.0 % | 0.90 stated in words |
| 550 | 895 | 275 | 0.8769 | 482 | 495 | 2.6 % | read off the figure |
| 620 | 965 | 310 | 0.8586 | 532 | 558 | 4.8 % | read off the figure |
| 690 | 1,035 | 345 | 0.8436 | 582 | 621 | 6.7 % | read off the figure |
| 770 | 1,115 | 385 | 0.8296 | 639 | 693 | 8.5 % | read off the figure |
| 900 | 1,245 | 450 | 0.8117 | 731 | 810 | 10.9 % | read off the figure |
| 1,100 | 1,445 | 550 | 0.7920 | 871 | 990 | 13.6 % | read off the figure |
| 1,400 | 1,745 | 700 | 0.7724 | 1,081 | 1,260 | 16.5 % | figure’s right-hand edge |
| 1,600 | 1,745 | 700 | 0.7724 | 1,236 | 1,440 | 16.5 % | figure’s right-hand edge |
Four mean-stress criteria on the same cycle, at σ_a = 100 N/mm²
| Cycle | σ_m | Soderberg | Goodman | ASME-elliptic | Gerber | Gerber above Soderberg | First-cycle yield |
|---|---|---|---|---|---|---|---|
| Zero mean (fully reversed) | 0 | 1.835 | 1.835 | 1.835 | 1.835 | 0 % | 5.500 |
| σ_m = 60 | 60 | 1.529 | 1.586 | 1.800 | 1.792 | 17 % | 3.438 |
| σ_m = 120 | 120 | 1.311 | 1.396 | 1.704 | 1.683 | 28 % | 2.500 |
| σ_m = 240 | 240 | 1.019 | 1.126 | 1.433 | 1.408 | 38 % | 1.618 |
| σ_m = 400 | 400 | 0.786 | 0.896 | 1.100 | 1.104 | 40 % | 1.100 |
What this page owns and what it hands over
| The question | Where it belongs | Why |
|---|---|---|
| What is K_t for this shoulder, groove or keyway? And what is K_f after notch sensitivity? | Shaft fillet and stress concentration | that page owns K_t, the notch sensitivity q and K_f = 1 + q(K_t − 1) for the three shaft features. This page CONSUMES its K_f — put the number in the field above — and does not recompute it |
| Will this preloaded BOLT survive a cyclic external load? | Bolt fatigue under alternating load | a preloaded bolt is a different problem, not a special case of this one: only a fraction Φ of the external load range reaches the bolt at all, the mean stress is dominated by the preload, and VDI 2230 gives an endurance amplitude by thread size rather than by Marin factors. That page owns it and this page does not duplicate it |
| Will this GEAR TOOTH survive? | Gear tooth bending stress | gear rating is its own discipline. Lewis plus the Barth factor is the classical estimate and AGMA 2001 or ISO 6336 is the real rating, with its own load, dynamic, size and reliability factors that are not these ones |
| Will this ROLLING BEARING survive? | Bearing life L10 | rolling contact fatigue is a subsurface phenomenon under enormous triaxial compression, rated by the L10 cubic law rather than by an S-N curve. A von Mises or S-N treatment of a contact patch is the wrong model |
| What roughness does Ra 1.6 correspond to in Rz or in N grades? | the surface roughness converter in the converters plugin | this page’s surface factor takes a finish CATEGORY, not a roughness number. Converting between roughness scales is a separate job and lives in a separate plugin |
| Is this part safe against a STATIC overload? | von Mises and failure criteria | fatigue and static strength are different checks and a part needs both. The first-cycle yield figure on this page is a reminder, not a substitute |
No endurance limit for aluminium, f is not 0.9, and what the Marin factors actually cost
Aluminium has no endurance limit, and that is the most important sentence here. A steel’s S-N curve goes flat at around a million cycles: there is a stress below which the part will run indefinitely, and “infinite life” is a design target you can actually hit. Aluminium and the other non-ferrous metals do not behave that way. Their S-N line keeps falling past 10⁸ cycles with no sign of a knee, so there is no safe stress — only a fatigue STRENGTH at a stated life. Everything follows from that. An aluminium part has to be designed to a finite life with an inspection or replacement interval attached. The 0.5·S_ut rule does not apply (published ratios are nearer 0.25 to 0.4 and vary by grade). And this page will not compute an endurance limit for a non-ferrous metal: it asks you for a measured fatigue strength at 5×10⁸ cycles, because no general relation exists to derive one from.
The Marin factors, and which one to spend money on. The endurance limit of a polished rotating-beam specimen is not the endurance limit of your part, and the five Marin factors are the published knock-downs between them. Surface finish is by far the biggest: at 700 N/mm² a ground surface keeps 92 per cent and an as-forged one 27, a factor of three and a half on identical metal. It is also the one with a shape worth noticing — the exponent is strongly negative, so a STRONGER steel is punished MORE by a rough surface, and a high-strength alloy left unfinished can end up with a lower endurance limit than a mild steel that was machined. Size costs a few per cent to about fifteen. Load type is 1 for bending, 0.85 for axial and 0.59 for torsion. Temperature is nearly 1 up to 250 °C and then falls away. Reliability is the largest deliberate one, because a published endurance limit is a median and designing to a median means half the population fails early.
f is not 0.9, and that matters more than it looks. The S-N line is anchored at f·S_ut at 10³ cycles and at S_e at 10⁶, and f is very widely quoted as 0.9. It is 0.9 only for steels below about 490 N/mm². Above that it falls: about 0.83 at 770 and 0.77 at 1,400. Shigley gives it as a FIGURE, and every published worked solution reads it off by eye — which is not a number this page can cite, so the relation that generates the figure was reconstructed instead, from Shigley’s own true-fracture-strength equation σ′_F = S_ut + 345 N/mm². It reproduces the three values the published solutions use, to within 0.004. Assuming 0.9 at 900 N/mm² puts the top of the line eleven per cent high, and because the line is steep on log-log axes an eleven per cent stress error is a factor of nearly two in life.
Mean stress: four criteria, one order, and a check none of them makes. A cycle with a tensile mean stress is worse than the same amplitude about zero, because a tensile mean holds cracks open. The four published corrections all pass through S_e on the amplitude axis and differ only in where they land on the mean-stress axis. Soderberg runs to YIELD, which makes it the most conservative of the four — and note that this is a genuinely different idea rather than a more cautious version of the same one. Goodman runs as a straight line to the ultimate strength and is the usual engineering choice. Gerber runs to the ultimate as a parabola and fits experimental data for wrought steels best, so it is the least conservative. ASME-elliptic runs to yield as a quarter-ellipse and sits between. What none of the four sees is first-cycle yielding: a part with a high mean stress can satisfy every one of them and take a permanent set the first time it is loaded. This page computes that check separately and reports whichever governs.
What this page owns, and what it hands over. It owns the general endurance limit, the Marin factors, the S-N line and the mean-stress diagram. It does NOT own stress concentration: the shaft fillet and stress concentration page computes K_t, the notch sensitivity q and K_f = 1 + q(K_t − 1) for a shoulder, a groove and a keyway, and this page consumes its K_f rather than recomputing it. It does NOT own the preloaded bolt: the bolt fatigue page handles that, and it is a genuinely different problem rather than a special case, because only a fraction of an external load range reaches a preloaded bolt at all and VDI 2230 gives an endurance amplitude by thread size rather than by Marin factors. Gear teeth belong to the gear tooth page and AGMA or ISO rating; rolling contact belongs to the bearing life page and the L10 law. Surface roughness conversion between Ra, Rz and N grades lives in the converters plugin and not here.
And what fatigue analysis of this kind cannot see at all. A crack that is already there — that is fracture mechanics and it depends on the crack length rather than the nominal stress. Corrosion, which removes a steel’s endurance limit altogether and makes its S-N curve behave like aluminium’s. Fretting at a clamped or press-fitted interface, which initiates cracks at stresses far below any plain fatigue limit and is a common cause of shaft failures at a hub. Variable-amplitude loading, which needs a cumulative damage rule (Miner’s, usually) and a load spectrum. Welds, which have their own classification-based S-N curves in BS 7608 and whose fatigue strength depends far more on joint geometry than on the parent metal’s strength. And residual stress, which is what shot peening manipulates and which can change a fatigue life by more than any dimension on the drawing.
Frequently asked questions
Does aluminium have an endurance limit?
No, and the distinction is the most important one on this page. A steel’s S-N curve flattens at around 10⁶ cycles, so below that stress it runs indefinitely. Aluminium’s keeps falling past 10⁸ cycles with no knee, so no stress is safe forever — only a fatigue strength at a stated cycle count is meaningful. Published aluminium data is usually quoted at 5×10⁸ cycles (6061-T6 is 96.5 N/mm², fully reversed, R.R. Moore machine). In practice that means an aluminium part gets a finite design life and an inspection or replacement interval, where a steel one can get an infinite-life design.
Is the endurance limit really half the tensile strength?
For a polished rotating-beam steel SPECIMEN, roughly yes — 0.5 S_ut is the standard estimate, capped at 700 N/mm² for steels above 1,400. For your PART, no: the Marin factors typically take it down to 25 to 40 per cent of S_ut. On this page’s default — a machined 25 mm shaft at 99 per cent reliability — the fully corrected endurance limit is 26 per cent of the tensile strength, not 50. The gap between the specimen and the part is the entire reason the Marin method exists.
Why is f not just 0.9?
Because 0.9 is only right for soft steels. f is the fraction of S_ut that the S-N line starts from at 10³ cycles, and it falls with strength: about 0.90 at 490 N/mm², 0.83 at 770, 0.77 at 1,400. Shigley states 0.9 in words for steels below 490 and gives the rest as a curve on a figure. This page reconstructs the relation behind that figure rather than reading it by eye, and reproduces the values the published solutions use. Assuming 0.9 throughout puts the top of the line too high, and the error in finite life is roughly twice the error in stress.
Should I use Goodman, Gerber or Soderberg?
Goodman for general design, unless a code says otherwise. It is a straight line, it is conservative against most data, and it is what most machine design practice uses. Gerber fits experimental wrought-steel data best and is therefore the least conservative — use it when you have good data and need the margin. Soderberg is the most conservative because it runs to yield rather than to ultimate; it is really answering a different question (will the part yield anywhere in the cycle) and the separate first-cycle yield check on this page does that job more directly. All four agree exactly at zero mean stress.
Do I apply K_f to the stress or to the endurance limit?
Either, for the endurance limit itself — they are arithmetically equivalent. This page divides S_e by K_f, so enter your nominal stresses and put K_f in its own field, or apply the factor to the stresses and leave K_f at 1. Do not do both. The two are NOT equivalent for the whole S-N line: the 10³-cycle anchor is much less affected by a notch than the endurance limit is, because at high stress the notch yields locally and the concentration is partly relieved. Applying K_f only to S_e, as here, is the conservative reading of that.
What is the difference between K_t and K_f?
K_t is the elastic stress concentration factor — pure geometry, from the shape of the notch. K_f is the fatigue-effective factor, and it is smaller: K_f = 1 + q(K_t − 1), where q is the notch sensitivity. A small notch in a soft, ductile steel has a low q, so much of the K_t penalty does not materialise; a high-strength steel has q approaching 1 and pays nearly all of it. The shaft fillet and stress concentration page in this plugin computes K_t, q and K_f for a shoulder, a groove and a keyway, and this page consumes its answer.
Can I use this for a bolt?
No — use the bolt fatigue page, which exists precisely because a preloaded bolt is a different problem and not a special case. Two reasons. Only a fraction Φ of an external load range actually reaches a preloaded bolt, because the joint carries the rest; so the bolt’s alternating stress is much smaller than the external range until the joint separates, at which point it jumps. And VDI 2230 gives a bolt’s endurance amplitude by thread size and manufacturing route rather than through Marin factors, because the thread root is the notch and it is a known quantity. Applying this page to a bolt would get both halves wrong.
Why does reliability cost so much endurance limit?
Because a published endurance limit is a MEDIAN, and the population scatter in fatigue is large. k_e = 1 − 0.08·z_a assumes an 8 per cent standard deviation on the endurance limit, so 99 per cent survival needs 2.326 standard deviations and costs 19 per cent; 99.9 per cent costs 25 per cent. That is not pessimism, it is what the test data looks like. Fatigue life scatter is larger still — a factor of two or three in life at a given stress is normal — which is why a fatigue calculation is a screening tool and a test programme is the evidence.
Related calculators
References
- R. G. Budynas and J. K. Nisbett, Shigley’s Mechanical Engineering Design, 10th and 11th editions (McGraw-Hill). The source for the endurance limit Se′ = 0.5 Sut capped at 700 MPa, for the Marin factors ka to ke, for the S–N line Sf = aNb, and for the Goodman, Gerber, Soderberg and ASME-elliptic mean-stress criteria. BOTH editions are cited because they disagree: the 10th edition’s Table 6-2 gives the surface factor constants as 1.58/−0.085 ground, 4.51/−0.265 machined, 57.7/−0.718 hot-rolled and 272/−0.995 as-forged in MPa, while the 11th edition’s own published solutions use 1.38/−0.067, 3.04/−0.217, 38.6/−0.650 and 54.9/−0.758. At Sut = 700 MPa on a machined surface that is ka = 0.795 against 0.734, an eight per cent difference in endurance limit from nothing but the edition on the shelf. Both are printed here. Each 11th-edition pair was checked through the aMPa = akpsi × 6.8948−b unit conversion against the kpsi pair used in the same solutions, which all four satisfy.
- The fatigue strength fraction f at 10³ cycles is not a table and not an equation in Shigley: it is a FIGURE (Fig. 6-18 in the 10th edition, 6-23 in the 11th) and every published solution reads it off by eye. Reading a figure by eye is not a citable value, so this batch reconstructed the relation that generates it instead: f = (σ′F/Sut)(2×10³)b with b = −log(σ′F/Se′)/log(2×10⁶) and σ′F = Sut + 345 MPa, which is Shigley’s own Eq. (6-44). It returns 0.896 at 490 MPa, 0.830 at 770 MPa and 0.772 at 1,400 MPa — the three values the published solutions to problems 6-4 and 6-13 read off that figure, to within 0.004. Below 490 MPa Shigley says in words to use f = 0.9 and that is what this page does.
- ISO 12107, Metallic materials — Fatigue testing — Statistical planning and analysis of data, and ASTM E466 (constant-amplitude axial fatigue tests) and E739 (statistical analysis of linear S–N data). Cited by number. They are the reason this page’s reliability factor exists at all: a published endurance limit is a median, and designing to a median means half the population fails early.
- FKM-Richtlinie, Analytical Strength Assessment of Components in Mechanical Engineering (Forschungskuratorium Maschinenbau), and BS 7608 for welded steel. Cited by number as the two documents a real fatigue assessment in Europe is actually made against. Both are structured assessments with their own material data, their own statistical basis and their own treatment of welds and residual stress; the Marin-factor method on this page is a first-pass estimate and is not a substitute for either.
- VDI 2230 Part 1, Systematic calculation of highly stressed bolted joints. Cited by number and NOT used here: it is the document behind Bolt fatigue under alternating load, which owns the preloaded-bolt case in this plugin. This page hands that case over rather than re-deriving it.
- Aluminium 6061-T6 is taken at a minimum yield of 240 MPa with typical values near 270, a minimum tensile of 290 MPa with typical values near 310, and E = 68–69 GPa. Stainless 304 and 316 in the annealed condition are taken at 215 and 205 MPa yield. Grey cast iron is carried with NO yield strength at all, deliberately: it is a brittle material with no yield point, its tensile strength is a fraction of its compressive strength, and a von Mises check on it is the wrong check. That is the whole reason the failure-criteria page asks for the material class before it asks for anything else.
