CalcSteel · ToolsReal 2D frame FEMNBR 6123 windULS combinations · 6 codes974+ sections screened

Portal Frame Calculator — Moment, Shear, Axial & Reactions

Real 2D frame FEM: full single-bay portal (columns + rafters), gravity + wind, N/V/M diagrams on the frame, base reactions, drift, and NBR 8800 × AISC 360 checks — no login, no 3-member cap.

Roof
Bases
Section (I / H)
Yield fy
MPa
Wind source
ULS combinations (code)
Max moment
77.8 kN·m
governing |M|
Max axial
52.8 kN
column N
Max shear
40.6 kN
Lateral drift
0.6 mm
eaves sway
Utilization (NBR)
76%
PASS
w = 8.0 kN/mH = 15 kNIPE 330 · Ix = 11145 cm⁴RA: 48.4 kN↕ 15.1 kN↔M = 24 kN·mRB: 52.8 kN↕ 30.1 kN↔M = 72.6 kN·mL = 12 mh = 5 mf = 2 m
BENDING MOMENT — M|M|max = 77.8 kN·mSHEAR — V|V|max = 40.6 kNAXIAL — N|N|max = 52.8 kN

Diagrams plotted on the deformed-free frame geometry. N, V, M recovered from the element end-forces of the direct-stiffness solve (12 elements / member). Moment drawn offset to each member's centreline.

First-order STRENGTH screening at the governing section of the NBR 8800 (BR) ULS envelope (governing CB2): N,d = 73.9 kN, M,d = 109 kN·m. Member buckling and lateral-torsional buckling are NOT included — see the stability flags below and run the full verification in the 3D editor. Click a card to make that resistance code govern the ranking.

ULS load combinations — NBR 8800 (BR)

G + W superposed · 3 combinations
CombinationFactorsUtilization
CB11.4 G69%
CB2governs1.4 G + 1.4 W76%
CB31 G + 1.4 W57%

Combinations generated by the CalcSteel combinations engine (the same v4 engine the 3D editor uses, 6 codes). Gravity is treated as a single permanent action G; the wind action W is the eaves load. Each combination's γ factors are applied by superposition to the isolated gravity and wind solves, then every section is screened — the worst point of the worst combination governs.

Stability screening (buckling caveats)

not in the strength check
Column flexural bucklingOK
K · h (sway)1.5 · 5 mλ = K·h/rx55 / 200N,cr (Euler)3,912 kNN,Ed / N,cr2%
Rafter lateral-torsional bucklingLTB LIKELY
L,b (unbraced)6.32 mL,p limit1.81 mL,b / L,p3.5×r,y3.63 cm

Screening indicators only — assumed sway effective length (K = 1.5) and the full member length as the unbraced length (no intermediate purlin/girt restraint). The strength check above deliberately excludes these; the real member verification (effective lengths from the alignment chart / notional loads, χ and Cb reduction factors, purlin bracing) runs in the 3D editor.

Lightest sections that pass (NBR)

screened 974 profiles
ProfileMassFrame steelUtilization
VS 400x3231.9 kg/m723 kg82%
VS 350x3333.2 kg/m752 kg86%
VS 400x3434.4 kg/m779 kg75%
VS 350x3535.1 kg/m795 kg80%
VS 400x3535.1 kg/m795 kg73%
Open this portal in the 3D editor

What is a portal frame calculator?

A portal frame is the workhorse of steel construction — two columns rigidly connected to a beam (flat roof) or to a pair of pitched rafters meeting at a ridge (gable roof). It is the structural skeleton of almost every warehouse, industrial shed, barn, hangar and retail box. A portal frame calculator finds, for a given geometry and loading, the bending moment (M), shear (V) and axial force (N) in every member, the support reactions, and the lateral drift at the eaves.

Why can't you use a beam calculator for this? Because a portal frame is a two-dimensional frame, not a one-dimensional beam. A beam solver models only transverse bending along a single straight member — it has no columns, it cannot carry an axial force, it cannot take a horizontal (wind) load, and it cannot represent inclined rafters. This tool runs a genuine 2D plane-frame finite-element solver: every node carries three degrees of freedom (horizontal u, vertical v, rotation θ), and every member is a frame element with both axial stiffness EA and flexural stiffness EI. That is the same direct-stiffness method used by commercial frame software — assembled, constrained by the base fixities, and solved as K·u = F by Gaussian elimination with partial pivoting.

Because the frame is statically indeterminate (a fixed-base portal is redundant to the third degree, a pinned-base portal to the first), there is no single textbook formula that covers it — the moment distribution depends on the geometry, the base fixity and the relative member stiffnesses. Simple formula tools simply cannot do it; SkyCiv's free tier famously caps you at three members, which is one short of a complete portal. Here you get the whole frame — four members, gravity plus wind, both design codes — for free, with the M/V/N diagrams drawn directly on the frame the way a structural engineer sketches them on the drafting board.

How to use this calculator

  1. Choose the roof and the bases. Gable (pitched) builds two inclined rafters and a ridge; Flat beam roof builds a horizontal beam between the columns. Fixed bases clamp the column feet (moment-resisting foundations); Pinned bases let them rotate freely (holding-down bolts only). The support symbols in the sketch follow the standard conventions — hatched clamp for fixed, triangle for pinned.
  2. Set the geometry — span L (column to column), eaves height h, and, for a gable, the apex rise f above the eaves. Everything is drawn to scale and dimensioned as you type.
  3. Apply the loads. Enter the gravity load w (dead + live + snow) as a downward UDL on the roof members — drawn as a vertical arrow band onto the rafters. For the wind, choose the source: Manual H to type the horizontal eaves force directly (positive pushes to the right; a negative value is suction from the other side), or NBR 6123 to derive it — enter the basic wind speed V₀, the terrain roughness category and the bay spacing, and the real NBR 6123 velocity-pressure engine returns q, Vk, S₂, the wall/roof external pressure coefficients Cpe and the resulting eaves force H. Tick Self-weight to add the selected profile's kg/m to the roof load in one click.
  4. Pick the section and fy. Choose an I / H profile from the catalog; the yield strength fy drives the strength check.
  5. Read the results — they update instantly, no “calculate” button. The KPI strip shows the maximum moment, axial, shear, the lateral drift and the governing utilization. The M, V and N diagrams are plotted on the frame geometry with the global maxima annotated, and the solved base reactions (horizontal, vertical, and the clamping moment on fixed bases) are drawn as arrows on the sketch.
  6. Pick the combination code. Choose the ULS load-combination standard (NBR 8800, AISC 360, EN 1993, AS 4100, IS 800 or NBR 14762). The calculator solves the gravity and wind load cases separately and, because the frame is linear, superposes them under that code's codified γ factors (1.4G, G+1.4W, 0.9G+1.4W for uplift, …) to build a proper ULS envelope — the governing combination is highlighted. This is a real combination check, not a single hand-entered load case.
  7. Compare the codes. NBR 8800 and AISC 360 are evaluated side by side on the envelope demand — the combined axial-plus-bending interaction (H1-1) and the elastic stress at the governing section. Click either card to make that resistance code govern the ranking.
  8. Read the stability flags. A buckling screening surfaces the column effective-length slenderness (λ = K·h/rx vs the KL/r ≤ 200 cap and the Euler load N,cr) and the rafter lateral-torsional-buckling flag (unbraced length L,b vs the limiting L,p) — the caveats the strength check excludes — routing you to the full member verification in the 3D editor.
  9. Check the lightest sections that pass table — the whole flexural catalog is screened against the envelope demand and the five lightest sections that satisfy the check are ranked. Click Use to adopt one.
  10. Export or share for free — a CSV of every N/V/M sample plus the reactions, and Copy link to this frame produces a permalink (carrying the geometry, loads, section, wind source and combination code) that rebuilds your exact model for a colleague. Open this portal in the 3D editor carries the same encoded state so the editor can rebuild THIS frame instead of a blank scene.

Tip: the SI ⇄ imperial toggle converts every input and output (kN ↔ kip, m ↔ ft, kN/m ↔ kip/ft, MPa ↔ ksi) — the math always runs in SI internally.

Portal frame formulas the results reproduce

The solver does not evaluate these formulas — it solves the stiffness system numerically — but for the classic cases its output matches them, which is the way to validate any frame tool. For a rectangular portal, pinned bases, under a horizontal load H applied at the beam level (height h, span L):

QuantityClosed formNote
Horizontal reaction (each base)H/2shears split equally between equal columns
Vertical reaction (couple)± H·h / Lup on the windward base, down on the leeward
Moment at each eaves (column top = beam end)H·h / 2zero at the pinned feet
Moment at midspan of the beam0antisymmetric response, linear across the beam

For gravity on the roof the response is fully indeterminate and geometry-dependent — the columns pick up an inward thrust and end moments, and the beam/rafter midspan moment falls between wL²/8 (as if simply supported, pinned bases, flexible columns) and wL²/12 (as if fully clamped) depending on the base fixity and the column-to-beam stiffness ratio. Two useful bounds the solver honours exactly by equilibrium:

  • Total vertical reaction = total applied gravity = w · (roof member length) — for a flat roof that is w·L; for a gable it is w times the summed rafter length 2·√((L/2)² + f²).
  • Total horizontal reaction = − applied wind H (the frame is in global equilibrium: ΣFx = ΣFy = ΣM = 0).

After the analysis, the design stress and the checks at the governing section are:

  • Combined elastic stress: σ = N/A + M/Sx (axial plus strong-axis bending).

  • Combined resistance, both codes side by side: the AISC 360 H1-1 (and equivalent NBR 8800 §5.5.1.2) interaction, with Pr = |N|, Mr = |M|, Pc = φ·A·fy, Mc = φ·Zx·fy:

    if Pr/Pc ≥ 0.2: Pr/Pc + (8/9)·Mr/Mc ≤ 1 · else: Pr/(2Pc) + Mr/Mc ≤ 1

    NBR 8800 uses φ → 1/γa1 (γa1 = 1.10) where AISC uses φ = 0.90. The calculator shows both utilizations in parallel.

This is a first-order strength screening — it deliberately excludes column flexural buckling and rafter lateral-torsional buckling, which need the effective lengths and the full member verification the 3D editor runs.

Sign conventions and the FEM model

  • Geometry: x to the right, y up, origin at the left column base. Corner nodes: left base, left eaves, apex (gable only), right eaves, right base.
  • Loads: the roof gravity w is a downward UDL applied per unit member length (for a flat roof this equals the load per horizontal metre; for a gable, multiply by cos(pitch) if your load is defined per plan area). The wind H is a horizontal point load at the left eaves node, positive to the right.
  • Members: each column and each rafter is meshed into 12 Euler-Bernoulli frame elements (6×6 local stiffness with axial + bending terms), rotated to global coordinates by the standard transformation and assembled into the global K.
  • Supports: pinned fixes the two translations (u, v) and leaves the rotation free → zero base moment; fixed also fixes the rotation → a clamping moment reaction. Applied by direct elimination of the constrained DOFs.
  • Internal forces: axial N positive in tension; shear V and bending moment M recovered from the element end-forces (S = k·u_local − f_equivalent). The moment diagram is drawn offset perpendicular to each member's centreline so the shape reads directly on the frame.
  • Reactions: horizontal (Rx), vertical (Ry, positive up) and — on fixed bases — the clamping moment (Mz), drawn as arrows with their values at the two feet.
  • Drift: the horizontal displacement of the left eaves node, reported in mm (the classic serviceability check is drift ≤ h/300 … h/150 for wind).

Method, accuracy and assumptions

The engine is a direct-stiffness (matrix) plane-frame solver — the same method as commercial software, not a lookup table:

  • 3 DOFs per node (u, v, θ); 12 frame elements per member; consistent nodal loads for the gravity UDL (transformed into the member's local axial + transverse components, exact for a uniform load);
  • boundary conditions imposed by elimination; K·u = F solved by Gaussian elimination with partial pivoting; base reactions recovered as R = K_row·u − F.

Verification (2026-07-12). For a pinned-base rectangular portal with a horizontal load H at the eaves the solver reproduces the closed form to within the physical axial flexibility of the beam: with H = 20 kN, h = 5 m, L = 8 m it returns base horizontal = 10.00 kN (= H/2), base vertical couple = 12.50 kN (= H·h/L), and eaves moment = 50.02 kN·m against the axially-rigid theory value of 50.00 kN·m (a 0.04% difference — the theory assumes an inextensible beam; the FEM includes the real EA). Global equilibrium ΣFx, ΣFy and ΣM close to machine precision for every case, including the gable frame under combined gravity and wind.

Assumptions: linear-elastic material (E = 200 GPa), small displacements (first-order — no P-Δ), prismatic members (constant EA, EI along each member, all members the same profile), rigid (moment-resisting) eaves and ridge connections, loads in the plane of the frame, and out-of-plane restraint provided by purlins/girts and bracing. A key consequence of the single-profile assumption: because a uniform scaling of every member's stiffness leaves the internal forces of an indeterminate frame unchanged, the N/V/M demand is independent of which profile you pick — only the drift and the utilization change — which is exactly why the "lightest section that passes" ranking can screen the whole catalog against one demand.

Worked example

Pinned-base rectangular portal, wind H = 20 kN at the eaves

Given

  • Flat beam roof, span L = 8.00 m, eaves height h = 5.00 m
  • Pinned bases (holding-down bolts, no base moment)
  • Lateral load H = 20 kN at the left eaves (wind), no gravity
  • Profile IPE 300: A = 5,188 mm², Sx = 533 cm³, Zx = 602 cm³, fy = 250 MPa
  1. 1. Base horizontal reactions

    Rx = H/2 = 20/2

    10.0 kN each

  2. 2. Base vertical reactions (couple)

    Ry = ± H·h/L = 20 × 5 / 8

    ± 12.5 kN

  3. 3. Moment at each eaves

    M = H·h/2 = 20 × 5 / 2

    50.0 kN·m (FEM: 50.02)

  4. 4. Column axial force

    N = Ry

    12.5 kN

  5. 5. Combined elastic stress

    σ = N/A + M/Sx = 12.5×10³/5188 + 50×10³/533

    2.4 + 93.8 = 96.2 MPa

  6. 6. Checks (AISC 360 · NBR 8800)

    AISC H1-1: N/(2·φAfy) + M/(φZxfy) = 0.005 + 50/135.5 · σ/(0.90fy) = 96.2/225

    37.5% interaction · 42.8% stress — PASS both codes

Result

Mmax = 50.0 kN·m · N = 12.5 kN · reactions H = 10 kN, V = 12.5 kN · AISC 37.5% (PASS)

Frequently asked questions

Is this portal frame calculator really free?

Yes — the full 2D frame FEM analysis, the N/V/M diagrams, the reactions, the drift, the NBR 8800 and AISC 360 checks, the 974+ section screening and the CSV export are all free with no login and no watermark. SkyCiv's free tier caps you at three members — one short of a complete portal; here you get the whole four-member frame. An account is only needed to continue in the full 3D editor.

Why not just use a beam calculator for a portal frame?

A beam solver is one-dimensional: it has no columns, carries no axial force, takes no horizontal (wind) load and cannot model inclined rafters. A portal frame is a 2D frame that is statically indeterminate, so its moment distribution has no single closed-form formula. This tool uses a real plane-frame FEM with three degrees of freedom per node (u, v, θ) and axial + bending stiffness in every member.

What is the difference between pinned and fixed bases?

Pinned bases fix the two translations but leave the rotation free, so the base moment is zero and the columns rotate — cheaper foundations but larger drift and larger midspan moment. Fixed bases also clamp the rotation, producing a base clamping moment, stiffer sway and smaller span moments but heavier foundations. The calculator solves and draws both, including the base moment reaction on fixed bases.

How are the gravity and wind loads applied?

Gravity is a downward uniform load w applied along the roof members (both rafters of a gable, or the beam of a flat roof) and converted to exact consistent nodal loads. Wind is a horizontal point load H at the left eaves node (positive to the right; enter a negative value for the opposite direction). Tick Self-weight to add the chosen profile's kg/m to the roof load in one click.

Does the chosen profile change the internal forces?

No — and that is a genuine property of indeterminate frames, not a shortcut. When every member shares one profile, uniformly scaling the stiffness leaves the internal forces (N, V, M) and the reactions unchanged; only the deflection (drift) and the utilization change. That is exactly why the "lightest section that passes" ranking can screen the whole catalog against a single demand.

What checks do the NBR 8800 and AISC 360 cards show?

Both evaluate the combined axial-plus-bending interaction (AISC 360 H1-1 / NBR 8800 §5.5.1.2) and the elastic stress σ = N/A + M/Sx at the governing section of the ULS combination envelope, side by side. NBR divides the yield strength by γa1 = 1.10; AISC multiplies it by φ = 0.90. It is a first-order strength screening — member buckling and lateral-torsional buckling are not part of the interaction, but the calculator now surfaces both as stability flags (column slenderness λ = K·h/rx and rafter LTB L,b vs L,p) that route to the full member verification in the 3D editor.

Does it check proper load combinations, or just one load case?

It builds a real ULS combination envelope. The plane frame is linear-elastic, so the gravity-only and wind-only solves superpose exactly; the CalcSteel combinations engine (the same six-code engine the 3D editor uses — NBR 8800, AISC 360, EN 1993, AS 4100, IS 800, NBR 14762) supplies the codified γ factors (e.g. 1.4G, G+1.4W, and the 0.9G+1.4W uplift case) and every combination is screened section-by-section. The governing combination — often the uplift case for a light roof — is highlighted, and its demand feeds the design check and the section ranking.

Can I derive the wind load from NBR 6123 instead of typing it?

Yes. Switch the wind source to NBR 6123 and enter the basic wind speed V₀, the terrain roughness category and the bay spacing. The real NBR 6123 velocity-pressure engine (the same one the 3D editor loads) returns q = 0.613·Vk², the height/roughness factor S₂, and the tabulated external-pressure coefficients Cpe for the walls and the roof; the horizontal eaves force H is derived from the net wall drag over the frame's tributary strip. Switch back to Manual H to type a scalar force directly.

How accurate is the solver?

For a pinned-base portal under a horizontal eaves load it reproduces the closed form to within 0.04% (the residual is the real axial flexibility of the beam, which the textbook formula neglects), and global equilibrium ΣFx = ΣFy = ΣM = 0 holds to machine precision for every case. It is a first-order linear-elastic direct-stiffness solve — the same method as commercial frame software.

Can I export or share my frame?

Yes, free and without watermark: a CSV with every N/V/M sample along the members plus the base reactions, and a "Copy link to this frame" permalink (?L=…&h=…&roof=…&base=…&w=…&H=…&p=…&fy=…&cc=…&wm=…) that rebuilds your exact model — geometry, loads, section, the wind source and the combination code — for anyone who opens it. The "Open this portal in the 3D editor" button carries the same encoded state.

Can I continue in a full 3D model?

Yes — "Open this portal in the 3D editor" carries the full encoded state (span, height, rise, roof, bases, loads, section, wind source and combination code) so the editor rebuilds THIS exact portal rather than a blank scene. There you add purlins, bracing and load combinations, and run the full NBR 8800 / AISC 360 member verification including column buckling and rafter lateral-torsional buckling, plus base-plate and connection design.

Reviewed by Eng. Rilis Rodrigues Jr. · Structural Engineer — CalcSteel·Updated