Piping Toolset
HomeCalculators › Equipment Nozzle Load Check Calculator (API 610 / NEMA SM-23)

Equipment Nozzle Load Check Calculator (API 610 / NEMA SM-23)

Returns the per-component unity ratios |applied|/allowable at an equipment nozzle, the governing component, and the resultants FR and MR. Allowables come from the governing standard — API 610 §5.4, NEMA SM 23 §8.4, API 650 Annex P — and stay user inputs; none are embedded.

Method last updated (calculation changelog) · fixture-verified on every build — most recently 2026-09-03.

Built and fixture-verified by Matthew Norris, P.E. — active P.E. licensure in Arizona, California, Kansas, Missouri, North Carolina, Texas.

Compares the six applied load components at an equipment nozzle — Fx, Fy, Fz, Mx, My, Mz from your flexibility analysis — against the allowables for that nozzle size, and reports the unity ratio of each, the governing component, and the resultants FR and MR. The allowable-load tables in API 610, API 560, API 660, API 661, API 650, API 620 and NEMA SM 23 are copyrighted: by default you enter the allowables for your nozzle size from the governing standard or the vendor datasheet, and the standard you pick is a report label only — though on the Ultimate tier an autofill picker covers API 610 Tables 5a/5b, API 660 Table 2, API 661 Table 4 and API 560 Tables 7/9, each pick citing its edition, table and row (see the PiperNOZ tool page). This page, its method and its worked example are free to read; opening the live calculator on the Equipment line requires a Pro Plus subscription — see pricing.

Nozzle loads at the shell junction A vessel shell arc with a projecting nozzle; a resultant force arrow F R along the nozzle axis and a curved moment arrow M R act at the junction. F_R — resultant force M_R — resultant moment junction — unity checks per component
External piping loads at an equipment nozzle: resultant force F_R and moment M_R act at the nozzle-to-shell junction and are checked component-by-component against the allowable table (API 610/660/650, NEMA SM-23, …).
Open this calculator → Download sample report
Pro Plus tool. The live calculator and its report capture are on the Pro Plus tier — $7.99 / month, cancel any time. Compare tiers →

Video demo

Video demo: PiperNOZ - Equipment Nozzle Load Check (API 610 / 560 / 660 / 661 & NEMA SM-23) PiperNOZ - Equipment Nozzle Load Check (API 610 / 560 / 660 / 661 & NEMA SM-23) (0:57) — This check as PiperNOZ runs it — six components as unity ratios, the governing component named, resultants FR and MR, and the PASS/FAIL verdict framed against API 610/560/660/661 and NEMA SM-23 practice. The allowables shown are illustrative and user-supplied, exactly as this page states. Watch on YouTube.

Method

The check is a per-component unity ratio. Every component is tested independently against its own allowable, and the largest ratio governs the result:

ri = |appliedi| / allowablei   for i = Fx, Fy, Fz, Mx, My, Mz

rmax = max(ri)     governing = the i that produced rmax

FR = √(Fx² + Fy² + Fz²)     MR = √(Mx² + My² + Mz²)

status = PASS if rmax ≤ 1, otherwise FAIL

where appliedi is the load component transmitted by the piping to the nozzle, taken from the flexibility model in the axis system the equipment standard defines, and allowablei is the limit for that component at that nozzle size, read from the governing standard's table or the vendor datasheet. The absolute value is taken, so a sign convention error in the model will not be caught here. FR and MR are the vector resultants of the applied loads, reported for the record — they are not compared against any allowable, because most standards limit components (and combinations), not the bare resultant. Ratios are reported to five decimals, resultants to two. A zero or negative allowable is rejected rather than silently divided by.

Inputs
standardGoverning standard label for the report (API 610, 560, 660, 661, 650, 620, NEMA SM-23, or vendor datasheet) — selects nothing in the arithmetic
NPSNozzle nominal size — tells you which row of the allowable table to read; it does not enter the calculationin
Fx, Fy, FzApplied nozzle forces from the piping flexibility analysislbf
Mx, My, MzApplied nozzle moments from the piping flexibility analysisft·lb
Fx,all, Fy,all, Fz,allAllowable forces for that nozzle size — user-supplied from the governing standard or datasheetlbf
Mx,all, My,all, Mz,allAllowable moments for that nozzle size — user-supplied from the governing standard or datasheetft·lb
Outputs
FRResultant applied force, √(Fx² + Fy² + Fz²) — reported, not checkedlbf
MRResultant applied moment, √(Mx² + My² + Mz²) — reported, not checkedft·lb
ratiosThe six per-component unity ratios |applied|/allowable
maxRatioLargest of the six component ratios
governingComponent that produced maxRatio
statusPASS when every component ratio is ≤ 1, otherwise FAIL

Limitations — what this calculator is not

Worked example — fixture-verified

NPS 6 discharge nozzle on an API 610 centrifugal pump. The flexibility model delivers Fx 100, Fy 200, Fz 200 lbf and Mx 300, My 400, Mz 0 ft·lb. The allowables read from the governing standard's table for that nozzle size are 400 lbf on each force component and 600 ft·lb on each moment component.

Given
Governing standardAPI 610
Applied Fx100lbf
Applied Fy200lbf
Applied Fz200lbf
Applied Mx300ft·lb
Applied My400ft·lb
Applied Mz0ft·lb
Allowable force, each component400lbf
Allowable moment, each component600ft·lb

Step by step

  1. Resultant force: FR = √(100² + 200² + 200²) = √(10,000 + 40,000 + 40,000) = √90,000 = 300 lbf.
  2. Resultant moment: MR = √(300² + 400² + 0²) = √(90,000 + 160,000 + 0) = √250,000 = 500 ft·lb.
  3. Force ratios: Fx 100/400 = 0.25; Fy 200/400 = 0.50; Fz 200/400 = 0.50.
  4. Moment ratios: Mx 300/600 = 0.50; My 400/600 = 0.66667; Mz 0/600 = 0.
  5. Largest of the six: 0.66667 at My. Since rmax ≤ 1, every component is inside its allowable and the check returns PASS.
  6. Note what was not compared: FR = 300 lbf and MR = 500 ft·lb are reported for the record only — no resultant allowable is applied, and the API 610 combined criteria are a separate check.
Result PASS
Resultant force FR300lbf
Resultant moment MR500ft·lb
Max unity ratio0.66667
Governing componentMy

My carries the least margin at 0.66667 — it is the component to watch if the routing, the support scheme or the operating temperature changes. Push any component past 1.0 and the status flips to FAIL and names that component instead.

Why you can trust these numbers: this exact case is fixture nozzle-load-check.json — case “API 610 style, all components within allowables -> pass” (tolerance 0.00001) — in the calc-core release gate. It re-runs on every commit; a red fixture blocks deployment. See the validation methodology.

Additional verified cases in this fixture

NEMA SM23 style, Fz over allowable -> fail FAIL
input:  {"standard":"NEMA SM23","applied":{"Fx":100,"Fy":200,"Fz":500,"Mx":300,"My":400,"Mz":0},"allowable":{"Fx":400,"Fy":400,"Fz":400,"Mx":600,"My":600,"Mz":600}}
expect: {"maxRatio":1.25,"governing":"Fz"}
tol:    0.00001

Sources & citations

Per the source & citation policy, allowable-stress and factor table values are user-supplied. Where a page does reproduce specific ASME data (the B16.5 ratings, the quick-reference tables), it states the source table and conditions inline.

FAQ

Which standard's allowable loads does this calculator use?

None — it holds no allowable-load tables at all, and that is a policy, not a gap. You enter the six allowables for your nozzle size from API 610, 560, 660, 661, 650, 620, NEMA SM 23 or the vendor datasheet, and the standard you select is written into the report as a label only. The reasoning has two halves. Those tables are copyrighted, and an embedded snapshot would silently go stale the moment a new edition issued — an engineer trusting a 2019 snapshot against a 2024 datasheet is worse off than one who typed the values in. And the table is frequently not the governing document anyway: vendors routinely quote allowables above or below the standard's defaults on the datasheet, and the datasheet wins. Typing six numbers costs a minute; the report then shows exactly which numbers were used and where you said they came from, which is what a reviewer actually needs to check the work.

If every component passes, will the equipment vendor accept the loads?

Not necessarily, and the gap is structural to how these standards are written. The per-component table limits this card checks are the first tier; most standards then apply combined criteria on top — NEMA SM 23 layers a combined-resultant check and the 3F + M index over its component values, and API 610 Annex F permits individual components to exceed the table only if the complete load set, resolved to the pump centreline, satisfies further conditions. So two outcomes both occur in practice: every component passes here and the combination still fails the vendor's screen, and — the direction people forget — a single component over the table survives disposition under Annex F because the resolved set qualifies. This card's role is the per-component tier and the resultants FR and MR for the record; run the NEMA SM-23 / API 617 Combined Index calculator for the second tier, and treat the vendor's stamped datasheet as the final authority on both.

Why is there an NPS selector if the nozzle size does not enter the arithmetic?

Because the allowable is a function of nozzle size in every one of these standards, and the failure mode the selector exists to catch is reading the wrong row. The unity-ratio arithmetic is identical for a 2 in nozzle and a 12 in nozzle — |applied| over allowable, component by component — but the allowables you should have entered differ enormously between those rows, and a transposed row produces a clean-looking check that is wrong everywhere. The selector records which table row you claim to have read and prints it on the report next to the entered values, so a reviewer can open the standard to that row and verify the six numbers belong to the nozzle actually being assessed. It changes nothing in the unity-ratio maths; it exists so the calculation is auditable — the record of a nozzle check has to say what was checked against, or it is not a record.

Is the nozzle load check free to use?

The method write-up, the equations, and the worked example on this page are free to read and always will be — you can hand-check a nozzle against them with nothing but a calculator, and the page exists so the check itself is never behind a wall. The live calculator sits in PiperNOZ on the Equipment line, included with Pro Plus at $7.99/month or $79/year; what the subscription buys is the execution around the arithmetic — per-component ratios with the governing component named, resultants FR and MR for the record, and report-grade output that lands in the same calculation package as the stress and spring calcs beside it. The ASME B31 pressure-design and stress calculators — wall thickness, allowable pressure, leak test, branch reinforcement, SIFs, displacement stress range — remain free with no account, permanently. Details at pricing.

Related calculators & tools

Open this calculator → All calculators