Skip to content

AS 4100 design-check exports

Alongside the analysis entry points, the WASM bundle exports standalone AS 4100 steel member capacity calculators. Each takes one section/member as JSON and returns its design capacity - independent of solve_model (you supply the design action effects, e.g. M* / N*, yourself and compare).

js
import init, { as4100_phi_ms, as4100_phi_mbx, as4100_phi_nc } from './fem_wasm.js'
await init()
const r = JSON.parse(as4100_phi_ms(JSON.stringify(
  { d: 460, bf: 191, tf: 16, tw: 9.9, z_x: 1610e3, s_x: 1840e3, fyf: 300, fyw: 320 })))
// r.phi_m_sx === 496.8   (kN·m)

Units here are NOT SI

Unlike solve_model (raw SI: N, m, Pa), these design functions use engineering units: lengths in mm, section moduli in mm³, second moments in mm⁴ (i_w in mm⁶), stresses in MPa, and they return capacities in kN·m / kN. This matches how steel section tables are published. φ defaults to 0.9.

as4100_phi_ms - section moment capacity (Cl 5.2)

InputMeaning
d, bf, tf, twsection depth, flange width, flange/web thickness (mm)
z_x, s_xelastic / plastic section modulus, major axis (mm³)
fyf, fywflange / web yield stress (MPa)
OutputMeaning
section_class"compact" | "noncompact" | "slender"
lambda_s, lambda_sp, lambda_sysection slenderness + plasticity/yield limits (governing element)
z_exeffective section modulus (mm³)
m_sx, phi_m_sxnominal / design section moment capacity (kN·m)

as4100_phi_mbx - member moment capacity, LTB (Cl 5.6)

Inputs: the as4100_phi_ms fields plus i_y (mm⁴), j (mm⁴), i_w (mm⁶, default 0), e/g (MPa, default 200000 / 80000), le_mm (effective length, mm), alpha_m_case, beta_m (default 0), phi (default 0.9).

alpha_m_case: 0 UniformMoment · 1 SimplySupportedUdl · 2 SimplySupportedPointLoad · 3 EndMoments · 4 CantileverUdl.

OutputMeaning
m_sxnominal section moment capacity (kN·m)
m_oreference elastic buckling moment (kN·m)
alpha_s, alpha_mslenderness / moment-modification factors
phi_m_bxdesign member moment capacity (kN·m)

as4100_phi_nc - member compression capacity (Cl 6.3)

InputMeaning
areagross area (mm²)
rradius of gyration about the buckling axis (mm) - pass the smaller of rx/ry for the governing axis
fyyield stress (MPa)
kfform factor (1.0 for compact doubly-symmetric sections)
alpha_bcompression section constant (0 for hot-rolled UB/UC; Table 6.3.3(1))
le_mmeffective length (mm); phi default 0.9
OutputMeaning
lambda_nmodified member slenderness
alpha_cmember slenderness reduction factor
n_s, n_c, phi_n_csection / nominal member / design compression capacity (kN)

Validation

Each export is locked to the ASI/OneSteel Design Capacity Tables (see docs/as4100_validation.md), checked from JS in web_demo/tests/as4100_wasm_check.mjs:

ExportSectionConditionCalcRef
φMs460UB82.1compact496.8496
φMbx530UB82.0Le=5 m, αm=1.0292.3292
φNc250UC72.9Le=4 m, αb=01915.91915

Also live: φNt (tension, 0.9·A·fy), φVv (shear, Cl 5.11), and as4100_combined - the Cl 8.3/8.4 M-N interaction utilisation, taking a member's capacities + design actions (m_star_x, n_star, phi_msx, phi_mbx, phi_ncx, phi_ncy, phi_nt, ns, section_class, kf) and returning { phi_m_rx, phi_m_ox, section_util_x, member_util_x, axial_util, util_max }. The Studio's per-member utilisation uses util_max.

Section geometry

These functions need full section geometry (d/bf/tf/tw, Zx, Sx, Iy, J, Iw) which the model sections (a/iyy/izz/j) don't carry - so a design check links a member to its source catalogue section.