MachineCalcs

Spring Fatigue Life Calculator

Screen a cyclically loaded compression spring against infinite-life fatigue: Wahl-corrected alternating and mean shear stress vs the Zimmerli/Goodman endurance line, plus a static check at Fmax.

Springs 6 inputs 11 results

Calculator

Spring wire diameter. Also sets the size-corrected tensile strength Sut = A/d^m.
mm
Wire-center coil diameter: D = OD - d.
mm
Peak spring force in the duty cycle.
N
Lowest force in the duty cycle (preload). Springs should stay compressed: Fmin ≥ 0.
N
Sets the size-dependent minimum tensile strength from the cited material table.
Shot peening raises the Zimmerli endurance data (Ssa 241→398 MPa) and is the standard fix for marginal spring fatigue.

Results

Default result
Edit inputs
Fatigue factor of safety(n_f)
1.31
Pass

Above the 1.2 screening target on the Goodman line for infinite life.

Torsional Goodman: n_f = 1/(τa/Sse + τm/Ssu). Target ≥ 1.2 for screening.

Also computed

Alternating shear stress(τa)180.9MPa

Mean shear stress(τm)301.5MPa

Endurance intercept(Sse)336.1MPa

Goodman intercept from the Zimmerli point: Sse = Ssa/(1 − Ssm/Ssu).

Torsional ultimate(Ssu)1,340MPa

Ssu = 0.67·Sut.

Wire tensile strength(Sut)2,000MPa

Size-corrected minimum tensile strength from the material table.

Static factor at Fmax(n_s)1.87

Allowable static torsional fraction of Sut at Fmax (material-table value).

Method notes 3 notes
  • Method: Shigley-style torsional Goodman screen using the Zimmerli infinite-life data, which is effectively independent of wire size and steel grade (unpeened Ssa = 241 MPa at Ssm = 379 MPa; peened 398 at 534). Ssu taken as 0.67·Sut with Sut = A/d^m from the cited material table.
  • The Wahl factor is applied to both stress components (conservative). Set-removed or pre-stressed springs and supplier S-N data can justify higher allowables.
  • Assumes the spring never goes slack or to coil bind in the cycle, room temperature, non-corrosive environment and no surge resonance — check natural frequency separately for high-speed cycles.

Compression spring fatigue is screened on the torsional Goodman line: split the cycle into Fa = (Fmax-Fmin)/2 and Fm = (Fmax+Fmin)/2, take Wahl-corrected stresses tau = Kw*8FD/(pi*d^3), then n_f = 1/(tau_a/Sse + tau_m/Ssu) with Sse built from the Zimmerli infinite-life data (Ssa 241 MPa unpeened / 398 MPa peened) and Ssu = 0.67*Sut. This calculator runs the screen with built-in wire tensile data and shows the shot-peening gain.

Continue workflow

All Springs

How to use this calculator

  1. Define the duty cycle. Fmax and Fmin are the spring forces at the two ends of the repeating stroke — from rate × deflection at each position.
  2. Enter the geometry and material. Wire and mean coil diameter set the stress; the material table sets the size-corrected tensile strength Sut = A/d^m.
  3. Read the stresses. τa and τm are Wahl-corrected; the spring index check flags hard-to-wind geometry.
  4. Check the fatigue factor. n_f ≥ 1.2 passes the screen. Marginal designs: bigger wire, smaller mean diameter, or more coils (lower rate, longer stroke) all reduce stress.
  5. Specify peening if needed. Shot peening is the cheapest large gain — flip the toggle to see it before redesigning the geometry.

How it works

A cyclically loaded spring fails by torsional fatigue at the inside of the coil, where the Wahl factor concentrates stress. The screen has two halves. The stress side converts the duty cycle into alternating and mean components:

Fa = (Fmax − Fmin)/2,  Fm = (Fmax + Fmin)/2,  τ = Kw·8FD/(πd³)

The strength side uses the remarkable Zimmerli result: for spring steels, the torsional endurance data barely depends on the material or wire size — only on whether the spring is shot-peened. From that fixed data point and the wire's torsional ultimate Ssu = 0.67·Sut, a Goodman line gives the endurance intercept and the factor of safety:

Sse = Ssa / (1 − Ssm/Ssu),  n_f = 1 / (τa/Sse + τm/Ssu)

Pair it with the compression spring calculator for the rate and static stress that produce Fmax and Fmin, and the natural frequency calculator when the cycle rate is fast enough for surge to matter.

Worked example

Verified against the live calculator

Music wire, d = 2 mm, D = 16 mm (index C = 8, Kw = 1.184), cycling between Fmin = 20 N and Fmax = 80 N: the amplitude and mean are 30 N and 50 N, giving τa = 181 MPa and τm = 302 MPa. At this wire size the table gives Sut ≈ 2,000 MPa, so Ssu ≈ 1,340 MPa and the unpeened Zimmerli/Goodman intercept is Sse ≈ 336 MPa:

n_f = 1 / (181/336 + 302/1340) = 1.31

That passes the 1.2 screening target — but not by much. Specify shot peening and the same spring screens at n_f = 2.01; that one process note buys more margin than any practical geometry change.

Frequently asked questions

How do I calculate spring fatigue life?

Split the cyclic load into amplitude and mean (Fa, Fm), convert to Wahl-corrected shear stresses, and compare against an endurance line. This calculator uses the Zimmerli infinite-life data with a torsional Goodman line: n_f = 1/(τa/Sse + τm/Ssu). n_f ≥ 1 predicts infinite life; ≥ 1.2 is the customary screening target.

What is the Zimmerli data?

Fatigue test results showing that for spring steels up to about 10 mm wire, the torsional endurance limit is essentially independent of size, material and tensile strength: Ssa = 241 MPa at Ssm = 379 MPa unpeened, and 398 at 534 MPa shot-peened. It is the standard basis for compression-spring infinite-life screening (Shigley ch. 10).

How much does shot peening help spring fatigue?

A lot — it is the standard fix. Peening raises the Zimmerli alternating strength from 241 to 398 MPa; on this page's default spring the fatigue factor jumps from 1.31 to 2.01 with no geometry change.

Why must Fmin be at least zero?

A compression spring that goes slack restarts from zero force every cycle and can surge, rattle and impact-load — and the fatigue data assumes a compressed-only cycle. Keep preload on the spring (Fmin > 0) in cyclic service.

Is this the same as the number of cycles to failure?

No — this is an infinite-life screen. n_f ≥ 1 means the stress state sits inside the Goodman line built from infinite-life data, so fatigue failure is not predicted at any cycle count. Finite-life estimation (10⁵ cycles, say) needs the S-N approach with supplier data.

Method & assumptions

  • Shigley-style torsional Goodman screen on the Zimmerli infinite-life point; the Wahl factor is applied to both stress components (conservative — some texts use the curvature-free factor on the mean).
  • Zimmerli data applies to round-wire steel compression springs (validity is customarily quoted to roughly 10 mm wire), room temperature, non-corrosive service, springs that never go slack or hit coil bind.
  • Sut = A/d^m and the static allowable fraction come from the cited spring-material table; supplier-certified data governs production designs.
  • Presetting (set removal) and elevated temperature change the allowables; surge resonance is a separate check.
  • This is an infinite-life screen, not a cycles-to-failure prediction.
Embed this calculator on your site free

Paste this where you want the calculator to appear. It stays in sync — same formulas, metric & imperial, light/dark — and a small credit link helps people find more tools.

Open widget

Live preview