How engineers design compression springs
Helical compression springs are the most common type of mechanical spring, found in everything from ballpoint pens to automotive suspensions. They store energy by deflecting under axial compressive load, with a linear force-deflection characteristic defined by the spring rate.
Designing a compression spring involves simultaneously satisfying rate, stress, space, and life requirements. The engineer must select a wire diameter and coil diameter that produce the target spring rate within the available space, while keeping the maximum shear stress below the allowable limit — accounting for curvature effects through the Wahl factor — and avoiding buckling and surge resonance.
Types and configurations
| End condition | Total coils | Solid height | Buckling tendency |
|---|---|---|---|
| Plain (open) | High | ||
| Plain and ground | Moderate | ||
| Squared (closed) | Moderate | ||
| Squared and ground | Low |
Squared and ground ends are the most common for precision applications because they provide a flat bearing surface and predictable solid height.
Engineering workflow
- Define requirements — Target spring rate , maximum operating force , free length , and available space (maximum OD, minimum ID, or maximum solid height).
- Select wire material — Music wire (ASTM A228), hard-drawn (A227), chrome-vanadium (A231), or stainless (A313). Wire grade sets the ultimate tensile strength as a function of diameter via the power-law fit .
- Choose wire diameter and mean coil diameter — The spring index should be between 4 and 12 for practical manufacturing. Indices below 4 are difficult to coil; above 12 tend to tangle.
- Compute active coils — From the rate equation: .
- Check shear stress — Maximum stress with Wahl correction must not exceed the allowable: (EN 13906-1 for static cold-coiled springs).
- Check buckling — Free length to mean diameter ratio must stay below the critical value for the end condition.
- Check surge frequency — Natural frequency of the spring must be at least 10 times the forcing frequency to avoid resonance.
- Fatigue screening — If cyclic loading is specified, check the alternating shear stress against the characteristic fatigue strength for the selected life class.
Key quantities and formulas
Spring rate
where is the shear modulus, is wire diameter, is mean coil diameter, and is active coils.
Maximum shear stress with Wahl factor
The Wahl factor corrects for the non-uniform shear stress distribution caused by coil curvature and direct shear. It ranges from about 1.1 for to 1.6 for .
Buckling screen
where is the end-condition coefficient (0.5 for both ends fixed, 1.0 for one end free).
Surge frequency
where is the mass of the active coils.
Worked example
Problem: Design a compression spring: rate 25 N/mm, max force 500 N, free length 60 mm, maximum OD 35 mm. Material: music wire (ASTM A228), MPa.
- Maximum deflection: mm.
- Loaded length: mm.
- Try mm, mm (OD = 29 mm, within limit). Spring index: .
- Active coils: . Use .
- Actual rate: N/mm (close to target).
- Wahl factor: .
- Max shear stress: MPa.
- Wire strength ( mm, A228): MPa. Allowable: MPa. Utilization: 63 % — safe.
- Solid height (squared/ground): mm. Clearance at max load: mm — adequate.
- Buckling: . Critical ratio for both ends constrained: . Ratio 2.4 < 5.26 — no buckling concern.
Common mistakes and checks
- Ignoring the Wahl factor — Using the uncorrected formula underestimates peak stress by 10–60 % depending on the spring index. Always apply .
- Coiling to solid without clearance — Springs that bottom out in service see impact loads at solid height. Maintain at least 10–15 % clash allowance between loaded length and solid height.
- Buckling-prone proportions — Springs with and one free end are prone to buckling. Either reduce free length, increase , or add a guide rod.
- Neglecting surge — If the forcing frequency approaches the surge frequency, spring coils can clash destructively. Maintain a surge margin of at least 10:1.
- Wrong wire strength curve — Wire tensile strength decreases with increasing diameter. Using a fixed value instead of the size-dependent fit can give incorrect allowable stresses for larger wire sizes.
FAQ
What spring index range is recommended?
A spring index between 5 and 10 is ideal. Below 5, coiling becomes difficult and residual stresses are high. Above 12, the spring is flimsy and prone to tangling during handling and installation.
How does the Wahl factor differ from the Bergstrasser factor?
Both correct for curvature. Wahl: . Bergstrasser: . They give nearly identical results for practical spring indices. PhyCalcPro uses the Wahl formulation per Shigley.
When should I enable fatigue screening?
Enable fatigue analysis whenever the spring experiences cyclic loading — valve springs, suspension springs, reciprocating mechanisms. EN 13906-1 defines life classes: VL (very long, ), LH (long, ), MH (medium, ), HH (high, ).
Can the auto-design feature size a spring for me?
Yes. PhyCalcPro's auto-design sweeps the wire catalog (EN 10270 / ASTM stock) for wire diameters and active coil counts that satisfy the target rate within the maximum OD constraint, ranking results by stress utilization and material cost.
What is the difference between static and fatigue allowable stress?
Static allowable is (EN 13906-1) — the stress at which no permanent set occurs. Fatigue allowable is lower and depends on the life class, wire quality, and the ratio of minimum to maximum stress. Fatigue failure occurs well below the static set limit.
Use the PhyCalcPro calculator
Design helical compression springs with rate, stress, and fatigue screening in the Compression Spring Calculator.
Purpose
Design helical compression springs per EN 13906-1 and Shigley methods:
Physics & theory
A helical compression spring wound from wire diameter on mean coil diameter with active coils behaves as a linear spring with rate , where is shear modulus. Wahl factor with spring index corrects for curvature and direct shear in maximum wire shear stress .
EN 13906-1 allowable shear for cold-coiled springs is , where follows size-effect fit for standard wire grades. Buckling occurs when free length exceeds with end condition coefficient .
Optional fatigue screening uses characteristic shear fatigue strength with life-class reduction and Goodman mean-stress correction when minimum deflection is specified (life classes VL/LH/MH/HH).
Governing equations
Numerical method
Closed-form EN 13906-1 / Shigley equations. Wire ultimate from Shigley Table 10-4 fits or springWireCatalog.ts (EN 10270 / ASTM stock). Active coil mass computed for surge frequency. Fatigue via en13906Fatigue.ts when enabled.
Inputs
| Parameter | Description |
|---|---|
wireDiameter, meanDiameter | , |
activeCoils | Active turn count |
modulus | Shear modulus |
deflection, freeLength | Operating deflection and |
wireType | ASTM wire grade or custom |
| Wire stock picker | Optional catalog designation for auto-fill of , , |
endCondition | Buckling end condition ( coefficient) |
operatingFrequencyHz | Forcing frequency for surge margin (target 10x) |
| Fatigue panel | Life class, wire quality 1-3, minimum deflection |
Outputs
- Spring rate, solid height, loaded length, solid height clearance, max load, shear stress, static SF
- Surge frequency and margin, buckling limit, spring index, Wahl factor
- Optional fatigue SF and utilization; governing failure mode
- Load-deflection and stress plots; spring outline preview
Design codes & checks
- Indicative: Shear stress utilization, solid height, surge margin, fatigue life (when enabled)
- EU: EN 13906-1 cold-coiled helical compression springs
- US: SAE AMS spring wire specifications (reference)
Assumptions & limitations
- Circular wire, closed and ground ends (solid height includes 2d end allowance).
- Fatigue uses simplified + Goodman screening — verify critical designs against EN 13906 nomographs.
- Surge margin requires operating frequency input; default 10x margin target.
- Not for extension or torsion springs (see dedicated modules).
Verification
- CI:
compression-springs-indicative-01.json,compression-springs-indicative-fatigue-01.json - Vitest:
src/lib/springs/compression-springs/engine.test.ts,en13906Fatigue.test.ts - Engineer sign-off: spring-modules-user-tasks.md, validation-master-checklist.md
References
- EN 13906-1:2013. Cylindrical helical springs — Part 1: Compression springs.
- Shigley, J. E., & Budynas, R. G. Mechanical Engineering Design, 11th ed., Ch. 10.
- Wahl, A. M. Mechanical Springs, 2nd ed., McGraw-Hill.
- ASTM A228/A227/A229. Steel Wire for Mechanical Springs.
- Spring Manufacturers Institute. Handbook of Spring Design.