← All posts

February 3, 2026 · 2 min read · By

Fatigue is still hard, and I've made peace with that

A short note on the parts of fatigue analysis that resist automation, mostly scatter and history and the judgement calls no pre-processor asks you about.

The first time I ran a fatigue analysis I expected it to feel like static stress with a different button on the toolbar. It doesn’t, and after enough years I’ve stopped expecting it to.

Static is broadly a question of equilibrium and limits. Load, geometry, stress, compare to allowable, and the shape of it is honest: bigger load, bigger stress, smaller margin. The thing I find hardest to explain to people new to fatigue is the scatter. Run the same coupon, same lot, same load, same temperature, ten times, and the lives can spread across an order of magnitude. That’s not sloppy testing, it’s just what the thing is. Life is dominated by initiation, and initiation comes down to the worst local detail in a patch of microstructure, an inclusion, a surface scratch, a grain boundary at the wrong angle. So really it’s an extreme-value problem wearing a mean-value disguise. You don’t care about the average grain, you care about the worst one that happened to land at the highest-stressed point. Which is why the design number is never the mean life, it’s the mean knocked down by a scatter factor that buys back the safety the scatter takes away.

An S-N curve declining with cycles, with a scatter band around the mean line and test points spread across it.
The mean S-N line is the easy part. The band around it is the real problem, and the scatter factor is how you pay for it.

And then there’s all the stuff the pre-processor never asks about. The order of the loads (a high one ahead of a block of small ones retards a growing crack; the same loads the other way round don’t, and rainflow throws the order away anyway). A residual from cold-working a hole, good if you put it there on purpose, bad if it crept in from a process nobody controlled. Temperature, moisture, fretting, doing quiet chemistry the coupon never saw. Static mostly shrugs at all of it. Fatigue cares about every bit, and the caring is non-linear, because the curves are steep and small stress errors turn into big life errors.

Which, roundaboutly, is why I still find it interesting. You can automate the mechanical bits and you should, that’s arithmetic. But the choices that set the answer don’t budge: which S-N curve, Kf not Kt and what notch sensitivity, where to draw the truncation and omission, whether to credit retardation, what scatter factor the data really justifies. Each one’s a small argument about how much you trust your evidence. I used to think that was the annoying part of the job. Now it’s mostly the part I’d miss.