← AI-pair numerics

Bearing life: the rating is not the load

A shaft carries a radial load at a speed; pick a ball bearing off the catalog. The number stamped on the box — the load rating — is not the answer. The life equation is, and you can check it by hand in one line.

1. The brief

A shaft turns at n rpm carrying a steady radial load Fr, and the machine has to run for a target service life — say 20,000 hours before the bearings are expected to fail. From a tray of standard 6000-series deep-groove ball bearings, pick the smallest (cheapest, lightest, lowest-friction) one that makes the life target.

The tempting move is to read the catalog's dynamic load rating C, see that it's many times bigger than Fr, and call it done. That rating is a reference number, not a survival promise — it's the load at which the bearing lasts exactly one million revolutions. Real life runs on a cube law, and that changes everything.

2. Why this is ten minutes

One equation, one catalog column, one check. The bearing's basic rating life (the L10 — the life 90% of bearings exceed) is

L10 = (106 / 60n) · (C / P)3   hours

where C is the catalog dynamic rating, P the actual load (here just Fr), and n the speed. Claude will pull the C values, compute the life for every candidate, and rank them — but the answer lives or dies on that exponent of 3, and you check it yourself.

3. Make the pick

Drag the load and speed. Each bar is one bearing's L10 life (log scale); the dashed line is your target. Green clears it, red doesn't. The catalog C ratings are real — 6000-series, from the Emerson Bearing listing.

L10 life by bearing — log scale, hours

Two things to feel. First, the bars are steep: stepping up one bearing size barely raises C but multiplies life, because life goes as the cube of (C/P). Second, doubling the load doesn't halve life — it cuts it by eight. The rating margin you need isn't 1.2×; it's whatever the cube law demands for your hours.

4. Verification — the life equation is the oracle

You don't trust the green bar; you re-derive it. Selection has a clean oracle: plug your chosen bearing back into the L10 formula by hand and confirm the number. Three rungs:

Rung 1 — recompute the life. Take the recommended bearing's C, your Fr and n, and evaluate (106/60n)(C/P)3.
Pass: your hand number matches the bar and clears the target. The tool didn't invent it; the equation did.
Fail here: if you can't reproduce it, you don't yet know what the tool computed — don't ship a number you can't derive.
Rung 2 — check the one below it. Drop to the next smaller bearing and confirm it falls short.
Pass: the size below misses the target — proof you picked the smallest that works, not just one that works.
Rung 3 — sanity the exponent. Halve the load and the life should jump ~8×; raise C one size and it should jump severalfold.
Pass: the response scales as a cube. If it scales linearly, the formula is wrong.

5. Hints

Hint 1 — rating is not load

C is defined at one million revolutions. At 1200 rpm that's under 14 hours. A bearing run continuously at its full C rating dies almost immediately — which is why you work back from the life you need, not from a multiple of the load.

Hint 2 — invert the formula to size directly

You don't have to guess and check. Solve for the C that hits your target: C = P·(60n·L10/10⁶)^(1/3), then pick the smallest catalog bearing whose C clears it. The tool's recommendation should match.

Hint 3 — what to ask for
PromptGiven Fr, n, and a 20,000 h target, compute L10 for each 6000-series bearing using L10=(10⁶/60n)(C/P)³, list pass/fail, and recommend the smallest that clears the target with the C values you used shown so I can check one by hand.
Hint — tune the collaborator

Two free levers worth setting. Turn the reasoning effort up for the hard part — Claude Code's /effort (see Feed it documents for the model and effort controls); a transcription wants it low, an analysis like this one wants it high. And end your prompt with an explicit self-check — “before you finish, recompute the L10 life for the bearing you pick and confirm it clears the target” — which is exactly why the prompt above asks Claude to verify itself. Naming the oracle is the highest-value line in the prompt. And keep the expensive model's context light — route transcription and formatting to cheaper tools (see Spend tokens well).

6. Where to draw the line

Let Claude pull the C ratings and grind the life for every candidate — tedious, mechanical, and exactly where a transcription slip hides. But the judgment is yours: is the load really steady and purely radial, is 20,000 hours the right target, do you want margin for shock loads or a service factor? The equation is honest about the physics; it can't tell you whether you fed it the right load.

7. One worked solution

What good looks like

At the defaults (Fr=900 N, n=1200 rpm, target 20,000 h): the required C is about 10.2 kN, so the 6004 (9.36 kN) falls just short at ~15,600 h and the 6006 (13.3 kN) clears it comfortably at ~45,000 h. Hand-check the winner:

L10 = (10⁶ / (60·1200)) · (13300/900)³
    = 13.9 · (14.78)³ ≈ 13.9 · 3,230 ≈ 44,900 h

Note the gap between 6004 and 6006: a 42% bump in C nearly tripled the life. That's the cube law, and it's why “the rating is 10× my load, surely it's fine” is a trap — and why over-sizing one step is often nearly free insurance.

8. Going further

Ship it

Same two moves — see explore in HTML, deliver in PDF.

ExploreSingle self-contained HTML file: sliders for radial load and speed, a bar of L10 life per 6000-series bearing against a target line, recommending the smallest that passes.
DeliverMarkdown selection note — load, speed, target, the L10 table, the chosen bearing with the hand-check shown — and the pandoc command for a PDF via Typst.