Truss Analysis — 2D Truss Solver

2D truss member force analysis using the matrix stiffness method. Calculates axial forces, reactions, and joint deflections for statically determinate trusses. Educational use only.

This page documents the scope, inputs, outputs, and computational approach of the Truss Analysis tool on steelcalculator.app. The interactive calculator runs in your browser; this documentation ensures the page is useful even without JavaScript.

What this tool is for

What this tool is not for

Key concepts this page covers

Inputs and outputs

Typical inputs: joint coordinates, member connectivity (which joints each member connects), support conditions (pin or roller), applied loads at joints, and member properties (E, A).

Typical outputs: member axial forces (positive = tension, negative = compression), support reactions, joint deflections, and a visual force diagram with colour-coded tension/compression members.

Computation approach

The solver assembles the global stiffness matrix [K] from individual member stiffness contributions. Each truss member contributes a 4x4 stiffness matrix (2 DOF per joint) transformed from local to global coordinates. The system [K]{d} = {F} is solved for unknown joint displacements, then member forces are computed from the relative displacements of each member's end joints. Reactions are recovered from the constrained DOFs.

Common Truss Types and Configurations

Truss type comparison

Truss Type Configuration Best For Typical Span
Pratt Diagonals in tension (angle down toward center) Gravity-loaded floors and roofs 30-80 ft
Warren Equilateral triangles, no verticals Uniformly loaded roofs 30-100 ft
Howe Diagonals in compression (angle up toward center) Heavy gravity loads 30-60 ft
Fink (or Belgian) Sub-divided triangles Roof trusses with peaked ridge 30-60 ft
Scissor Bottom chord slopes upward at center Vaulted ceilings 20-50 ft
Parallel chord Top and bottom chords parallel Floor trusses, flat roofs 20-60 ft
Bowstring Curved top chord, straight bottom Arched roof structures 40-120 ft

Pratt truss force distribution

In a simply-supported Pratt truss under gravity load:

This is why the Pratt truss is preferred for steel: the long diagonal members are in tension, which is efficient since tension members don't buckle.

Member Stiffness Matrix for Truss Analysis

Each truss member has 4 degrees of freedom (2 per joint). The local stiffness matrix in local coordinates is:

[k_local] = (EA/L) × [ 1  0 -1  0 ]
                      [ 0  0  0  0 ]
                      [-1  0  1  0 ]
                      [ 0  0  0  0 ]

Transformed to global coordinates using direction cosines:
  c = cos(α) = (xj - xi) / L
  s = sin(α) = (yj - yi) / L

[k_global] = (EA/L) × [ c²   cs  -c²  -cs ]
                       [ cs   s²  -cs  -s² ]
                       [-c²  -cs   c²   cs ]
                       [-cs  -s²   cs   s² ]

The global stiffness matrix is assembled by adding each member's contribution to the appropriate degrees of freedom. After applying boundary conditions (support restraints), the system is solved for displacements.

Worked Example — Pratt Truss Analysis

Problem: A simple 6-panel Pratt truss spans 60 ft with a depth of 10 ft. The bottom chord is supported by a pin at the left and a roller at the right. A single concentrated load of 20 kips acts downward at the midspan bottom chord joint. All members are HSS4x4x1/4 (A500 Gr B, Fy = 46 ksi, A = 3.37 in²). Find member forces.

Step 1 — Truss geometry

6 panels at 10 ft each = 60 ft span
Depth = 10 ft
Panel width = 10 ft

Joints: 12 bottom chord + 7 top chord = 19 joints (simplified for hand calc)
Members: 11 bottom + 6 top + 6 verticals + 12 diagonals = 35 members

Check determinacy: m + r = 35 + 3 = 38, 2j = 38 → Statically determinate ✓

Step 2 — Method of joints — Support reactions

By symmetry, with a single 20-kip load at midspan:
  R_left = R_right = 10 kips (vertical)

Step 3 — Method of sections — Key member forces

Cut through panel 3-4 (at midspan):

Bottom chord force (tension):
  ΣM_top = 0: F_bottom × 10 = 10 × 30 - 20 × 0
  F_bottom = 300/10 = 30 kips (T)

Top chord force (compression):
  ΣM_bottom = 0: F_top × 10 = 10 × 30
  F_top = 300/10 = 30 kips (C)

Diagonal in panel 3:
  ΣV = 0: F_diag × sin(45.0°) = 10 - 0 = 10 kips
  F_diag = 10 / sin(45°) = 14.1 kips (C for Pratt, T depending on which diagonal)

  Wait — at midspan, the shear changes sign, so the diagonal force = 0 at midspan.
  The critical diagonal is in the end panel:
  F_diag_end × sin(45°) = 10 → F_diag = 14.1 kips

Step 4 — Member capacity check

HSS4x4x1/4: A = 3.37 in², r = 1.52 in

Compression in top chord (max = 30 kips):
  KL/r = 1.0 × 120 / 1.52 = 78.9 (for top chord, unbraced length = panel = 120 in)
  Fcr ≈ 28.5 ksi (from AISC Table 4-22, interpolated)
  φPn = 0.90 × 28.5 × 3.37 = 86.4 kips

  Pu / φPn = 30 / 86.4 = 0.35 → OK ✓

Tension in bottom chord (max = 30 kips):
  φPn = 0.90 × 46 × 3.37 = 139.5 kips
  Pu / φPn = 30 / 139.5 = 0.22 → OK ✓

Stiffness Method Verification — Key Equations

For the assembled system:
  [K_global] × {d} = {F}

Where:
  [K_global] = Σ [k_i]° (sum of transformed member stiffness matrices)
  {d} = vector of joint displacements (unknowns)
  {F} = vector of applied joint loads

After solving for {d}:
  Member force: f_i = (EA/L) × [-c -s c s] × {d_member}
  Positive = tension, negative = compression

Reactions: {R} = [K_sup] × {d_all}
  Where [K_sup] extracts rows corresponding to restrained DOFs

Truss Design Considerations for Steel Structures

Minimum member sizes

Application Minimum Member Reason
Roof trusses HSS2x2 or L2x2 Handling, erection stiffness
Floor trusses HSS3x3 or W6 Higher loads, deflection control
Long-span trusses W8 to W14 (chords) High axial demand
Pedestrian bridges HSS4x4 minimum Vibration, robustness

Connection eccentricity effects

Real truss connections introduce bending moments that the idealized pin-joint analysis ignores. AISC recommends:

Deflection limits for trusses

Application Limit Notes
Roof truss (total) L/240 Under total load
Floor truss (live) L/360 Under live load only
Floor truss (total) L/240 Under total load
Pedestrian bridge L/500 More stringent for vibration
Crane runway L/800 to L/1000 Serviceability critical

Common Truss Connection Details

The choice of connection type affects both the analysis assumptions and the fabrication cost of a steel truss. The following table summarizes the most common connection approaches used in practice.

Truss connection types and applications

Connection Type Description Typical Members Advantages Limitations Analysis Assumption
Gusset plate (bolted) Separate plate connects members; bolts through plate into member webs All HSS, W, and WT shapes Accommodates field tolerances; inspectable Increases joint size; eccentricities from centroid Pin or semi-rigid
Gusset plate (welded) Plate shop-welded to chord; web members bolted or welded to plate Heavy trusses, bridge Very stiff connection; compact joint Requires precise fabrication; field welding costs Rigid or semi-rigid
Direct weld (flange) Web members welded directly to chord flange without gusset HSS-to-HSS, light trusses Simple fabrication; clean aesthetic Limited to smaller members; local chord wall bending Pin (if flexible)
Direct weld (profile) Web member end profile cut to match chord shape and welded around perimeter HSS chords, tube web Neat appearance; no gusset needed Requires CNC cutting; fit-up critical Pin (if flexible)
Bolted splice plate Members connected end-to-end with plates and bolts at panel points Chord splices, field joints Allows disassembly; transport-friendly Slip-critical bolts may be required for fatigue Continuous member
Knife plate Plate inserted into a slot cut in the HSS member and welded HSS-to-HSS connections Neat; plate hidden inside member Slot cutting required; wall local yielding Pin
Through plate Plate passes through a slot in the chord and is welded on both sides; web members attach to the plate HSS chord with W web Strong; distributes force to both chord walls Requires cutting chord; more fabrication Rigid

Gusset plate design guidelines

When using gusset plate connections, the Uniform Force Method (AISC Steel Construction Manual Part 13) is the standard approach for distributing forces between the gusset plate, the chord members, and the web members. Key rules include:

Frequently Asked Questions

What is the difference between a truss and a frame? In structural analysis, a truss has pin-connected joints and carries loads only through axial forces in its members (no bending moments). A frame has rigid or semi-rigid joints that transfer bending moments. Real steel trusses have gusset-plated connections that provide some moment fixity, but the truss idealisation is valid when loads are applied at joints and members are slender enough that bending effects are secondary.

How do I check if a truss is statically determinate? For a 2D truss, the condition for static determinacy is m + r = 2j, where m is the number of members, r is the number of support reactions, and j is the number of joints. If m + r > 2j, the truss is statically indeterminate (redundant). If m + r < 2j, the truss is a mechanism and is unstable. The stiffness method handles both determinate and indeterminate trusses, but this tool is primarily intended for determinate configurations.

Why might the solver give unexpected results? Common issues include: (1) an unstable truss geometry that is a mechanism, causing a singular stiffness matrix; (2) loads applied at unsupported joints without adequate member connectivity; (3) collinear members that create a zero-stiffness mode. Always check that your truss geometry forms a stable triangulated structure before interpreting the results.

What is the difference between a determinate and indeterminate truss? A statically determinate truss (m + r = 2j) can be solved using equilibrium equations alone — each member force is uniquely determined. A statically indeterminate truss (m + r > 2j) has redundant members, and the force distribution depends on the relative stiffness of members. The stiffness method handles both cases automatically. Indeterminate trusses are more redundant (safer against single-member failure) but are sensitive to temperature changes and fabrication tolerances.

How do I model truss joints in practice? Real steel truss joints are not truly pin-connected — gusset plates and welding provide partial moment fixity. For design purposes, the pin-joint assumption is valid when: (1) loads are applied at joints (not between panel points), (2) members are slender (low bending stiffness relative to axial stiffness), and (3) joint eccentricity is less than half the member depth. If these conditions are not met, a frame analysis with rigid joints should be used instead.

What are typical truss spacing and panel dimensions? For roof trusses in steel buildings: spacing is typically 20-30 ft on center (matching purlin span capability), panel width is 8-12 ft (matching deck span), and truss depth is 1/5 to 1/8 of the span. For floor trusses (parallel chord): spacing is 2-4 ft (matching floor joist spacing), panel width is 2-4 ft, and depth is 12-24 inches. Long-span transfer trusses may have panels up to 20 ft wide and depths of 8-15 ft.

How do I model truss joints in structural analysis software? Most structural analysis programs (SAP2000, ETABS, RISA-3D, STAAD.Pro) allow you to define truss members with end releases that simulate pin joints. In practice, you set the member ends to "truss" or "axial-only" behavior, which releases the rotational degrees of freedom so no bending moments develop at the joints. For a more refined analysis, you can model the actual gusset plate connection as a rigid joint and then check whether the secondary bending moments are significant (typically less than 10% of the axial stress for well-proportioned trusses). Some engineers use a hybrid approach: model the truss with pin joints for the primary analysis to obtain axial forces, then perform a separate check for connection eccentricity moments using the method described in AISC Specification Chapter K for HSS connections. When modeling in software, it is important to ensure that loads are applied at the joint nodes (not as distributed loads on members between panel points), because distributed loads on truss members introduce bending that contradicts the pin-joint assumption.

What are camber requirements for steel trusses? Camber is a deliberate upward curvature built into the truss during fabrication so that the truss deflects to a level (or nearly level) position under the expected service loads. For steel roof trusses, the typical camber is set to offset the dead-load deflection, which is approximately L/360 to L/500 of the span. For example, a 60-ft roof truss with a predicted dead-load deflection of 0.8 inches would be fabricated with approximately 0.8 inches of upward camber. For floor trusses, camber is more critical because the serviceability criteria are stricter (L/360 live load deflection), and the combination of dead and superimposed dead loads can cause noticeable sag. Camber is achieved in several ways: (1) fabricating the top and bottom chords to a slight curve rather than perfectly straight, (2) adjusting diagonal member lengths to create the desired geometry, or (3) for welded trusses, cutting and assembling members to the cambered profile. It is important not to over-camber, because excessive upward bowing can cause problems with floor flatness, door framing, and curtain wall connections. A common specification is to camber for approximately 75% of the calculated dead-load deflection, allowing the remaining deflection to produce a slight sag that is within acceptable tolerances.

What is the truss erection sequence and why is temporary bracing important? Steel trusses are inherently stable in their vertical plane but have very little resistance to out-of-plane buckling or lateral instability during erection, before the permanent bracing and diaphragms are installed. The erection sequence typically proceeds as follows: (1) install temporary guy wires or cable braces to the first truss as it is lifted into position, (2) connect the first truss to its supports, (3) erect the second truss and immediately install permanent lateral bracing (purlins, bridging, or diagonal braces) between the first and second trusses to create a stable torsional couple, (4) continue for subsequent trusses, always maintaining at least two bays of bracing between the last erected truss and the next one. Temporary bracing must resist wind loads on the partially completed structure, the weight of workers and equipment, and any eccentricities in the lifting rigging. Collapse during erection is one of the most common causes of truss failures and is almost always attributable to inadequate temporary bracing. The AISC Code of Standard Practice requires the erector to submit an erection plan that identifies the sequence and temporary bracing requirements, and the engineer of record must verify that the partially completed structure is stable at every stage of the sequence.

How do I handle tension-only diagonals in truss analysis? Many braced frame trusses use slender diagonals that can resist tension but buckle under compression and effectively "disengage." These are called tension-only members and are common in X-braced and V-braced configurations. In hand calculations, you identify which diagonal is in compression and set its force to zero, then recalculate the remaining member forces with only the tension diagonal active. In structural analysis software, tension-only members are modeled by assigning a property that makes the member stiffness zero when the axial force is compressive. This creates a nonlinear analysis because the active members depend on the loading direction. For gravity loads on a symmetric truss, the two diagonals in an X-panel share the shear equally, but for lateral loads from one direction, only the diagonal that runs in the tension direction is effective. The slenderness ratio for tension-only members is typically limited to L/r <= 300 (per AISC) to prevent excessive sagging and vibration.

Related pages

Disclaimer (educational use only)

This page is provided for general technical information and educational use only. It does not constitute professional engineering advice, a design service, or a substitute for an independent review by a qualified structural engineer. Any calculations, outputs, examples, and workflows discussed here are simplified descriptions intended to support understanding and preliminary estimation.

All real-world structural design depends on project-specific factors (loads, combinations, stability, detailing, fabrication, erection, tolerances, site conditions, and the governing standard and project specification). You are responsible for verifying inputs, validating results with an independent method, checking constructability and code compliance, and obtaining professional sign-off where required.

The site operator provides the content "as is" and "as available" without warranties of any kind. To the maximum extent permitted by law, the operator disclaims liability for any loss or damage arising from the use of, or reliance on, this page or any linked tools.