How to use this calculator
- 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.
- 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.
- Read the stresses. τa and τm are Wahl-corrected; the spring index check flags hard-to-wind geometry.
- 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.
- 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.