Strain-Life Calculator

This interactive calculator estimates the local stress-strain response at a notch using Neuber's rule combined with the cyclic Ramberg-Osgood equation, draws the resulting hysteresis loop, and predicts fatigue life with the strain-life (Coffin-Manson) equation including SWT and Morrow mean stress corrections.
Change any input and the results update instantly.

Black: initial loading (cyclic σ-ε curve) · red: unloading P1 → P2 · blue dashed: reloading P2 → P1 · green: strain range $\Delta\varepsilon$
Strain-life curve εa vs N (log-log). Solid: total (Coffin-Manson) · dashed blue: elastic term · dashed red: plastic term · green dot: operating point with the selected mean-stress correction. With Morrow or SWT the point shifts horizontally off the base curve — that gap is the mean-stress effect. In load-history mode, one dot is drawn per rainflow cycle.

Rainflow + Miner's rule

How the calculation works

The nominal stress amplitude is raised by the stress concentration factor $K_t$. Because the notch root yields locally while the surrounding material stays elastic, the elastic estimate $K_t S$ is converted to the real local stress-strain pair $(\sigma, \varepsilon)$ with Neuber's rule:

$$\sigma\,\varepsilon = \frac{(K_t\,S)^2}{E}$$

solved together with the cyclic Ramberg-Osgood material curve ($K'$, $n'$), since the material is assumed to be cyclically stabilised. The hysteresis branches follow Masing's hypothesis (the cyclic curve doubled):

$$\Delta\varepsilon = \frac{\Delta\sigma}{E} + 2\left(\frac{\Delta\sigma}{2K'}\right)^{1/n'}$$

Neuber's rule in this elastic form is only valid while the nominal (net-section) stress remains elastic. The calculator therefore checks the nominal stress against the yield stress and warns when this assumption is violated; for net-section yielding, extended methods such as Seeger's generalisation of Neuber or an elastic-plastic FEA are required.

The fatigue life $N$ then follows from the strain-life equation — Basquin's elastic term plus the Coffin-Manson plastic term:

$$\frac{\Delta\varepsilon}{2} = \frac{\sigma'_f}{E}\,(2N)^b + \varepsilon'_f\,(2N)^c$$

Mean stress at the notch is accounted for either with Morrow (replace $\sigma'_f$ by $\sigma'_f - \sigma_m$) or with Smith-Watson-Topper:

$$\sigma_{max}\,\frac{\Delta\varepsilon}{2} = \frac{(\sigma'_f)^2}{E}\,(2N)^{2b} + \sigma'_f\,\varepsilon'_f\,(2N)^{b+c}$$

The cyclic curve and the strain-life constants are not independent: compatibility requires $n' = b/c$ and $K' = \sigma'_f/(\varepsilon'_f)^{n'}$. The material presets in this calculator use compatible values, which is why all three methods coincide at $R = -1$ (to the precision of the displayed constants — the compatible $K'$ and $n'$ are computed unrounded when a preset is applied). Real measured datasets are rarely perfectly compatible — mixing $K'$, $n'$ and strain-life constants from different sources can make the mean-stress corrections shift in counterintuitive directions (for example, SWT appearing to lengthen life under a tensile mean).

The $K_t$ input also accepts the fatigue notch factor $K_f$ from the stress concentration calculator. Since $K_f$ includes the notch-sensitivity of the material, it is generally the better choice for life prediction.

In load-history mode the nominal stress sequence is reduced to cycles by rainflow counting (four-point stack algorithm, whose closed-cycle set is equivalent to ASTM E1049). Because the history is treated as one repeating block, the counting residue is closed by rainflow-counting the residue wrapped around on itself: this forms the full cycles — including the largest range in the history — that actually close when the block repeats. (The one-shot half-cycle residue convention would be up to a factor of two non-conservative here, because the largest range always sits in the residue.) Each counted cycle is then analysed standalone through Neuber — a standard teaching simplification that neglects the sequential material memory between cycles — and the damage is summed with Miner's rule, $D = \sum n_i/N_i$, treating the history as one repeating block: the predicted number of block repeats to failure is $1/D$. The validity warnings in this mode are based on the envelope of the history (its most severe excursion).

This calculator is provided for educational purposes and accompanies our course Introduction to Fatigue Calculations with FEA. Verify results against applicable standards before using them in design.