Mechanical Rating — ASME VIII-1 Vessels
Shell/head/nozzle wall thickness (UG-27/UG-32), UG-37 nozzle reinforcement, TEMA tube count + Connors fluid-elastic/vortex-shedding vibration screen, and (when supplied) UG-28 external-pressure wall, UG-22 wind bending, and a Basquin S-N fatigue screen — code-formula screening, not a full FEA.
The MESH/hydraulics solve tells you the process duty and diameter; this turns that into a fabrication-grade mechanical rating for the pressure boundary — shell, heads, and nozzles per ASME BPVC Section VIII, Division 1 — plus the checks that decide whether a vessel is actually buildable and safe at that size: external-pressure (vacuum) collapse, wind/seismic bending on a tall column, tube cross-flow vibration and fluid-elastic instability for a shell-and-tube bundle, and an elastic fatigue screen. This is a code-formula screening rating, not a full FEA — it goes on a datasheet, not a stamped calc package.
The allowable stress, weld joint efficiency, and corrosion allowance are a single curated default (representative SA-516-70 carbon steel, spot-radiographed, 3 mm CA) rather than a material databank — there is no per-job material selector for the vessel rating today (the piping-stress panel below does have one).
Show the governing equations
Where it actually lives
Open it from the right-hand rail's analysis cluster (the wrench icon, "Mechanical") on any vessel-like node, or from the top menu bar's Tools → "Mechanical / sizing datasheet..." — both open the same panel. With a node selected, Smart Link pulls that node's live converged operating pressure/temperature into the design inputs instead of typing them by hand. The row set adapts to the vessel category the node infers (exchanger: tube count, tubesheet, vibration; column: wind bending; everything: shell/head/nozzle thickness).
Supply external_pressure for a UG-28 vacuum wall, column_height for UG-22 wind bending, or cyclic_stress_amplitude_pa/design_cycles for the Basquin fatigue screen — each is additive and only appears in the datasheet when given.
import requests
r = requests.post(
"https://maximalabs.io/api/analysis/mechanical-datasheet",
json={
"design_pressure": 1.1e6, # Pa, 1.1x operating per typical practice
"design_temperature": 420.0, # K
"shell_inner_diameter": 1.2, # m
"tube_length": 4.0,
"external_pressure": 101325.0, # optional: full-vacuum UG-28 check
},
)
sheet = r.json() # {tag, kind, standard, fidelity, fields}
print(sheet["fields"]["shell_thickness_mm"], sheet["fields"]["nozzle_pad_required"])Synchronous, pure analysis (like the plot endpoints) — no ARQ job, no simulation id required; it's a standalone geometry+pressure calculation.
Failure / risk flags
nozzle_pad_requiredUG-37 available reinforcement area (shell + nozzle-neck excess metal) falls short of the required area — a pad of the reported deficit is needed.vibration_at_riskVortex-shedding frequency lands within ~0.5-1.3x the tube's natural frequency — cross-flow resonance risk.fei_unstableCross-flow velocity exceeds the Connors fluid-elastic critical velocity — add tube supports (more spans) to raise it.fatigue_screening_passed = falseBasquin S-N cumulative damage fraction exceeds 1.0 at the design cycle count (this flag is inverted — true means it passed).