Steel stair
One straight flight on two stringers, with its treads, the landing beams that carry it, a landing post or hanger, and the guard. It follows AISC Design Guide 34, Steel-Framed Stairway Design (2018), with AISC 360-22, the live loads of ASCE 7-22 Chapter 4 and the stair geometry of IBC 2021 Sections 1011, 1014 and 1015 (or OSHA 1910.25 for an industrial stair). The calculation designs members. It designs no connection: take the reactions and the guard post base moment to ILX Connection.
Inputs of the steel stair #
- Stair use and code: sets which code limits and minimum loads are checked: an IBC stairway for 50 occupants or more, under 50 occupants (36 in. wide), a dwelling unit (riser up to 7-3/4 in., tread from 10 in., 40 psf), an OSHA industrial stair (60 psf, 1,000 lb on a tread, angle 30 to 50 degrees), or Other (no limits, you state them). Limits are on by default; a metric value at the code's own conversion (178 mm for 7 in.) passes.
- Flight: number of risers (treads = risers − 1), riser, tread, clear width between stringers, connection allowance (added to the treads to reach the stringer supports; half a tread is usual, DG34 3.4.4) and headroom. The span on plan is treads × tread + allowance.
- Stair loads: dead and live load per area on plan; each stringer carries half the width. Self-weight is added, multiplied by the slope ratio. The guard dead load on the stringer (20 lb/ft in DG34) and a table of other loads on the stringer (snow on an exterior stair, a partition) are per length on plan. A point live load on the stringer does not act with the uniform load: it is placed at midspan for moment and next to a support for shear. Leave it at 0 under the IBC (the concentrated load is for treads); DG34 10.2.3 applies the OSHA 1,000 lb there.
- Stringer: a channel (C, MC), W-shape, rectangular or round HSS, pipe, or a plate. The unbraced length Lb is your call: 0 means welded pans or plate over most of the web brace it (DG34 4.4); the guide treats bolted grating treads as unbraced, so enter the sloped length. Cb is an input: 1.0 is on the safe side. Deflection limits are span / n on the span on plan (DG34 Table 3-6 prefilled: 360 live, 240 total); 0 turns a check off.
- Tread: a bent plate (checkered plate with a nosing and back leg), a flat plate, or by others (pans, grating and precast treads are not checked: the supplier's tables or AISI S100). The plate spans the clear width and its whole width takes the load. Plate Fy: ASTM A786 floor plate has no guaranteed yield; AISC Manual Table 3-18 uses a bending stress of 24 ksi LRFD and 16 ksi ASD, which is the 26.7 ksi prefilled. Verify the actual value. The uniform and the concentrated load are separate cases.
- Landing beams: a header (carries the stringer end reactions at the positions you list, up to 8, plus half the landing) and a rear beam (half the landing), with their span, landing depth, loads and unbraced length.
- Landing post and hanger: each beam end sits on a post (compression at the effective length you enter), a hanger (tension), or a wall or framing by others. Ae / Ag of the hanger follows from its end connection, which is not designed here; AISC Manual Table 5-2 lists 0.75.
- Guard and handrail: post, top rail, handrail and an infill bar, post spacing, heights, and the loads (200 lb in any direction, 50 plf, 50 lb on infill: ASCE 7-22 4.5.1). A rectangular HSS is checked on its weaker axis because the load acts in any direction. The post K is an input (DG34 uses 2).
- Seismic (optional): SDS and Fp / Wp, which you get from ASCE 7-22 Chapter 13 or the seismic nonstructural calculation. Ev = 0.2 SDS D enters the combinations.
Auto-design varies the stringer shape within its family (channel, W, rectangular HSS, round HSS or pipe), lightest first, with an optional depth limit. A plate stringer, the beams, post, hanger, guard and tread stay as entered.
Checks performed #
| Check | Basis |
|---|---|
| Riser, tread, width, headroom, flight rise, landing depth | IBC 2021 1011.2, 1011.3, 1011.5.2, 1011.6, 1011.8; OSHA 1910.25 through DG34 Table 3-8 |
| Stair angle (OSHA) | 30 to 50 degrees, 1910.25(c)(1) |
| Guard and handrail heights | IBC 2021 1015.3, 1014.2 |
| Live load, tread load, guard load at least the code value | ASCE 7-22 Table 4.3-1, 4.15, 4.5.1; OSHA 1910.25(b)(6) |
| Stringer flexure and shear | Horizontal plane method (DG34 4.3.2) on beam analysis; AISC 360-22 F2, F6, F7, F8, F11, G2, G3, G4, G5 |
| Stringer deflection | Deflection on plan times the factor of DG34 Eq. 4-1 (uniform x = 4, point x = 3, vertical y = 2) |
| Seismic: weak-axis flexure and shear, biaxial interaction | AISC 360-22 F6, F7, F11, G, Eq. H1-1b |
| Tread flexure, shear, deflection | F6 (bent, as DG34 10.2.2), F11 (flat), G2, G3 |
| Header and rear beam flexure, shear, deflection | F2 and the rest as the shape requires, simple span on beam analysis |
| Landing post | E3, E7 |
| Hanger | D2 yielding and rupture; D1 slenderness as an advisory |
| Top rail and handrail | F8 or F7, G5 or G4, E3 (compression along the rail, as DG34), span / 120 |
| Guard post | M = H h, V = H, compression with K, h / 60. One load in one direction at a time, so no interaction, as DG34 |
| Infill bar | F11, G3, span / 120 |
Limitations #
- No connections: stringer ends, beam ends, hanger ends, tread welds, the guard post base and its effect on the stringer flange (DG34 10.1.8) belong in ILX Connection or by hand.
- Straight flights only. Integrated landings on the stringer, winders, curved stairs and cantilevered treads are out. Enter a landing on the stringer as separate beams.
- Simple-span stringers, as DG34 4.3.3 recommends. Stiff ends between thick walls add frame action and axial force at the connections; that analysis is not here. No axial force is combined with the stringer flexure: on plan, moment comes out the same and shear on the safe side.
- Seismic: the axial force from drift along the stringer (the note in DG34 10.2.3), seismic relative displacement at the connections and the overstrength combinations for concrete anchorage are not computed.
- Vibration is not checked. DG34 3.3.1 sends it to AISC Design Guide 11, and that needs the stair's mass and modes, not a stringer check.
- Treads are one-way between stringers with the whole plate width effective; a concentrated load on a small area of a thin flat plate (local punching, two-way action) is not looked at.
- Snow or other table loads act on the stringer only; add them to the landing loads yourself.
- Plate stringer shear uses kv = 1.2, on the safe side for a solid bar. Neither the guide nor the Specification spells this case out.
- The IBC limits are IBC 2021; OSHA limits and the guide's deflection limits are read through DG34 Tables 3-3, 3-6 and 3-8, not the OSHA text.
Verification examples #
Verification status: 107 values compared in 9 examples (9 published, 0 hand calculations from the cited equations): 100 within tolerance, 7 recorded deviations. Code basis: partial. Only some provisions were read in the target edition; the rest rests on older editions, examples or summaries.
AISC Design Guide 34 (2018), on the 2016 Specification, 15th Ed. Manual and ASCE 7-16. Pages are PDF pages of the library copy. The file tests/test_verify_steel_stair.py lists all of the values compared.
| Example | What it checks | Published | ILX Calcs |
|---|---|---|---|
| 4.1(b), p. 39 | Horizontal plane method, service loads | V 1.82, M 5.47 | 1.82, 5.47 |
| 10.1.2, pp. 73-75 | C12X20.7 stringer, LRFD | wu 0.424, Mu 4.96, φMn 69.1, Vu 2.05, φVn 65.8 | 0.424, 4.95, 69.1, 2.05, 65.8 |
| 10.1.2 | ASD and deflection | wa 0.292, Ma 3.41, 46.0, Va 1.41, 43.8; FΔ 1.40; Δ 0.0140, 0.0214 in. | 0.292, 3.41, 46.0, 1.41, 43.8; 1.405; 0.0135, 0.0215 |
| 10.1.3, pp. 76-77 | C10X15.3 header | wu 0.393, Ru 5.90, Mu 13.4, 42.9, 46.7; ASD 0.267, 4.05, 9.17, 28.6, 31.0 | 0.393, 5.90, 13.3, 42.9, 46.7; 0.266, 4.04, 9.15, 28.6, 31.0 |
| 10.1.4, pp. 77-79 | C10X15.3 rear beam | Ru 1.80, Mu 4.13; Ra 1.22, Ma 2.81 | 1.80, 4.13; 1.22, 2.80 |
| 10.1.5, p. 79 | HSS3X3X3/16 post | 60.4 / 40.2; Pu 5.82, Pa 3.98 | 60.4 / 40.2; 5.90, 4.04 (see below) |
| 10.1.6, pp. 79-80 | L3X3X3/16 hanger | 35.3, 35.6 / 23.5, 23.7; Pu 1.71, Pa 1.15 | same; 1.80, 1.22 (see below) |
| 10.1.7, pp. 80-89 | Guard: rail, handrail, post, infill | φMn 1.45, 1.05; post Pu 0.338, Mu 1.12, 9.36; infill 0.0845 | 1.45, 1.05; 0.338, 1.12, 9.40; 0.0841 |
| 10.2.2, pp. 97-99 | Bent checkered plate tread | Vu 1.62, Mu 1.21, 10.8, 1.36; ASD 1.02, 0.761, 7.20, 0.909 | 1.62, 1.21, 10.8, 1.37; 1.02, 0.761, 7.19, 0.910 |
| 10.2.3, pp. 100-105 | HSS12X2X1/4 stringer, OSHA, seismic | Mu 7.88, Vu 2.14, 75.4, 142; about y 13.3, 16.4; interaction 0.119 | 7.85, 2.14, 75.4, 142; 13.3, 16.4; 0.125 (see below) |
Three differences are recorded, each with the reason:
- Reactions on the post and hanger. Figures 10-5 and 10-6 give a dead load of 0.0677 kip/ft, which leaves out the 15.3 lb/ft self-weight the same examples put in their line load. The reactions taken to the post and hanger (Pu 5.82 and 1.71 kips) therefore come out lower than the beam reactions the guide prints a page earlier (5.90 and 1.80 kips). The program carries the self-weight through: 5.90 and 1.80.
- Lateral moment on a sloped stringer. Example 10.2.3 takes the seismic lateral moment on the span on plan, 14.7 ft. The total lateral force is that of the plan length but the member spans its sloped length (17.4 ft), so the program's moment is 1.185 times larger: 0.622 against 0.540 kip-ft. It raises the interaction from 0.119 to 0.125. This is a choice for the mechanics over the example, on the safe side.
- Small printed slips, no effect: 1.40 × 0.00962 in. is 0.0135 in., not the printed 0.0140; Eq. F11-2 in the infill check is compared in kip-in. against Mp in kip-ft, so the guide stops at Mp = 0.0939 where F11-2 gives 0.0933 kip-ft. Both are inside the tolerance.
The guide does not check its own Table 10-1 limit on the infill bar: at a 3 ft span, a 50 lb point load deflects the 1/2 in. square bar 0.32 in. against span/120 = 0.30 in. The program does check it and flags it: the point load is on the safe side of the 1 ft² the code allows.
Hand checks where the guide prints no value (tests/test_steel_stair.py): channel lateral-torsional buckling with c of Eq. F2-8b, the three ranges of F11, the channel's minor axis, closed forms of the stringer deflection with Eq. 4-1, a flat tread, the seismic sloped-length moment. Not verified against a published example: plate stringer shear, W and round stringers (same library paths as the steel beam and column types), OSHA limits against the OSHA text (read through DG34 only).