Cost 0 Mass 0 kg Max utilisation 0
Tension Compression UnstressedLine thickness ∝ force · brightness ∝ utilisation
Member force as the truck crossesDrag along the plot to move the parked truck

Analysis

Joints j
0
Members m
0
m + r vs 2j
0
Reactions
–
Max tension
0
Max compression
0
Max deflection
0
Load ÷ self-weight
0
Build mode: click grid points to add joints, drag from joint to joint to add members.

1. What a truss is

A truss is an assembly of straight members joined at their ends to form triangles. In the ideal model, joints are frictionless pins and loads act only at the joints, so every member carries a pure axial force: tension (pulling, shown red) or compression (pushing, shown blue). No bending means the material is used efficiently, which is why trusses span rivers, roofs and cranes.

A triangle is the simplest shape that cannot change its form without a member changing length. A rectangle of four pinned bars can collapse into a parallelogram: it is a mechanism. Add a diagonal and it becomes rigid.

2. Determinacy: $m + r = 2j$

Before solving anything, a quick count tells you whether the truss can stand at all. Each pinned joint gives two equilibrium equations ($\sum F_x = 0$, $\sum F_y = 0$), so $j$ joints give $2j$ equations. The unknowns are the $m$ member forces plus the $r$ support reactions (pin = 2, roller = 1).

$$m + r < 2j \;\Rightarrow\; \text{mechanism},\qquad m + r = 2j \;\Rightarrow\; \text{statically determinate},\qquad m + r > 2j \;\Rightarrow\; \text{indeterminate}$$

The count is necessary but not sufficient: members can be arranged badly (for example, all the diagonals in one panel and none in the next), giving $m + r = 2j$ and still a mechanism. The lab detects this from the stiffness matrix and highlights the loose joint.

3. Method of joints

Isolate one joint at a time. Assume every unknown member force is tension (arrow pulling away from the joint); a negative answer means compression. Start at a joint with no more than two unknowns, often a support once the reactions are known:

$$\sum F_x = \sum_i N_i \cos\theta_i + P_x = 0,\qquad \sum F_y = \sum_i N_i \sin\theta_i + P_y = 0$$

Zero-force members. If a joint has only two non-collinear members and no load, both forces are zero. If three members meet at an unloaded joint and two are collinear, the third carries zero force. These members still matter: they brace compression members against buckling and keep the structure stable when the load moves.

4. Method of sections

To find a few member forces directly, cut through at most three members whose forces are unknown and take moments about the point where two of them meet. For a parallel-chord truss of depth $h$, the chord forces at a cut are approximately

$$N_{\text{chord}} = \pm\frac{M}{h},\qquad N_{\text{diagonal}}\sin\theta = V$$

where $M$ and $V$ are the bending moment and shear force a solid beam would carry at that section. The top chord is in compression and the bottom chord in tension when the bridge sags; diagonals carry the shear. This is why a deeper truss has smaller chord forces.

5. The direct stiffness method

The lab does not use the method of joints; it solves every design, determinate or not, with the direct stiffness method, the 2D version of the finite element method. Each bar of length $L$, area $A$ and modulus $E$ is an axial spring of stiffness $k = EA/L$. With direction cosines $c = \cos\theta$, $s = \sin\theta$, the element stiffness matrix in global coordinates relating the end forces to the end displacements $(u_1, v_1, u_2, v_2)$ is

$$\mathbf{k}_e = \frac{EA}{L}\begin{bmatrix} c^2 & cs & -c^2 & -cs\\ cs & s^2 & -cs & -s^2\\ -c^2 & -cs & c^2 & cs\\ -cs & -s^2 & cs & s^2\end{bmatrix}$$

Assembly. Each joint has two degrees of freedom (it can move sideways $u$ and up–down $v$). Every element matrix is added into the global matrix $\mathbf{K}$ ($2j\times 2j$) at the rows and columns of its two joints. Then:

  1. Build the load vector $\mathbf{F}$ from joint loads (truck axles, point loads, self-weight).
  2. Apply supports by removing the restrained degrees of freedom (pin: $u=v=0$, roller: $v=0$).
  3. Solve $\mathbf{K}\,\mathbf{d} = \mathbf{F}$ for the joint displacements. If $\mathbf{K}$ is singular the truss is a mechanism.
  4. Recover each member force from the stretch of the bar: $N = \dfrac{EA}{L}\begin{bmatrix}-c & -s & c & s\end{bmatrix}\mathbf{d}_e$ (positive = tension).
  5. Reactions follow from $\mathbf{R} = \mathbf{K}\mathbf{d} - \mathbf{F}$ at the restrained degrees of freedom.

Open the Stiffness matrix tab to see the live numbers for any member you click.

6. Failure: yielding and buckling

A member in tension fails when its stress $\sigma = N/A$ reaches the yield (or design) strength $f_y$. A slender member in compression usually fails first by Euler buckling, a sideways bowing instability at the critical load

$$P_{cr} = \frac{\pi^2 E I}{(KL)^2}$$

Here $E$ is Young's modulus (material stiffness) and $I$ is the second moment of area (how far the section's material sits from its centre: wide tubes have large $I$).

with $K = 1$ for pin-ended members. Buckling load falls with the square of length, so long compression members need stiff, wide sections (large $I$), while tension members can be thin. The lab's capacity is $f_yA$ in tension and $\min(f_yA,\,P_{cr})$ in compression. The utilisation shown in the lab is force ÷ capacity: at 100% the member fails. Real codes add imperfection factors and partial safety factors, so treat the lab's values as the ideal upper limit.

Simplifications. Pinned joints, small displacements, linear elastic members, no gusset plate or connection failure, no dynamic impact, and one of two parallel trusses carrying half the truck. Self-weight of each member is split equally between its two joints.

Pratt truss by the method of joints

A 12 m Pratt truss has four 3 m panels and a height of 3 m. Bottom joints are $L_0$ to $L_4$, top joints $U_1$ to $U_3$. Point loads of 20 kN act at $L_1$, $L_2$ and $L_3$ (self-weight ignored). $L_0$ is pinned and $L_4$ is on a roller.

L0L1L2L3L4 U1U2U3 −42.4−40+30+30+30 +200+14.1 20 kN each
Member forces in kN (+ tension, − compression). The truss is symmetric, so the right half mirrors the left. Load arrows are drawn below the bottom chord for clarity.
  1. Reactions. Total load 60 kN, symmetric, so $R_{L0} = R_{L4} = 30$ kN upward. Check determinacy: $j = 8$, $m = 13$, $r = 3$: $m + r = 16 = 2j$.
  2. Joint $L_0$. Members $L_0U_1$ (45°) and $L_0L_1$. Vertical: $N_{L_0U_1}\sin45° + 30 = 0 \Rightarrow N_{L_0U_1} = -42.43$ kN (compression). Horizontal: $N_{L_0L_1} + N_{L_0U_1}\cos45° = 0 \Rightarrow N_{L_0L_1} = +30$ kN (tension).
  3. Joint $L_1$. Vertical: $N_{L_1U_1} - 20 = 0 \Rightarrow N_{L_1U_1} = +20$ kN. Horizontal: $N_{L_1L_2} = N_{L_0L_1} = +30$ kN.
  4. Joint $U_1$. Vertical: $-N_{U_1L_0}\sin45° - N_{U_1L_1} - N_{U_1L_2}\sin45° = 0 \Rightarrow 30 - 20 - 0.7071N_{U_1L_2} = 0 \Rightarrow N_{U_1L_2} = +14.14$ kN. Horizontal: $-N_{U_1L_0}\cos45° + N_{U_1U_2} + N_{U_1L_2}\cos45° = 0 \Rightarrow 30 + N_{U_1U_2} + 10 = 0 \Rightarrow N_{U_1U_2} = -40$ kN.
  5. Joint $L_2$. By symmetry both diagonals carry +14.14 kN, giving $2(14.14)\sin45° = 20$ kN upward, which exactly balances the 20 kN load. So $N_{L_2U_2} = 0$: a zero-force member for this load case ($U_2$ is an unloaded joint where two collinear chord members meet, so this holds for any deck load). Horizontal: the two diagonals pull equally left and right, so their components cancel and $N_{L_2L_3} = N_{L_1L_2} = +30$ kN.
  6. Check by method of sections: cut through $U_1U_2$, $U_1L_2$ and $L_1L_2$. Moments of the left part about $L_2$: $30(6) - 20(3) = 120$ kN·m, so the top chord carries $120/3 = 40$ kN compression. Moments about $U_1$: $30(3) = 90$ kN·m, so the bottom chord carries $90/3 = 30$ kN tension. Both match the joint results.
  7. Stresses. With the medium steel tube (A = 1492 mm²), the top chord stress is $40\,000/1492 = 26.8$ MPa, far below 355 MPa. Its buckling load at $L = 3$ m is $P_{cr} = \pi^2(200\,000)(1.688\times10^6)/3000^2 = 370$ kN, so its utilisation is $40/370 = 10.8\%$. The most critical member is actually the end post $L_0U_1$: it is longer (4.24 m), so $P_{cr} = 370(3/4.24)^2 = 185$ kN and its utilisation is $42.4/185 = 22.9\%$. Buckling, not stress, governs compression members.

After loading, hover over each member to confirm the forces; the stiffness method gives the same numbers as the hand calculation because this truss is statically determinate.

Selected member

Click a member in the lab (Build or Move mode) to see its element stiffness matrix.

Units: kN/mm (= MN/m). Rows and columns are $(u_1, v_1, u_2, v_2)$ of the member's start and end joints. Every row sums to zero: a rigid-body translation produces no force.

Global stiffness matrix

Each level sets the span, truck and budget, and starts you with just the deck. Design a bridge, then press Run truck test. You pass if the truck crosses without any member failing and the cost is within budget. Costs: steel KES 280/kg, aluminium KES 950/kg, glulam KES 450/kg, plus KES 4,000 per joint.

Experiments

In each experiment change one thing (the independent variable) and keep span, material, section and load the same unless told otherwise. Turn on Label member forces and record the forces (kN, T or C) and the peak utilisation from the HUD.

  1. Load the Warren preset and run the truck. Watch the diagonals switch between tension and compression as the truck passes: why does that happen? Expect: each diagonal flips sign as the truck crosses its panel, because the shear in that panel changes sign when the load moves from one side of it to the other.
  2. Compare Pratt and Howe at the same span and load. In which design are the long diagonals in tension? Why does that make the Pratt better for steel? Expect: Pratt diagonals in tension, Howe diagonals in compression and closer to their buckling limit; a tension member cannot buckle, so it can be lighter.
  3. Delete one diagonal from a Pratt truss. Check the $m + r$ count and the message. Then delete a vertical instead: what happens? Expect: both drop $m + r$ from 16 to 15, below $2j = 16$, so the solver reports a mechanism and highlights the joint that can move.
  4. Increase the height of a truss by moving the top joints up one grid row. Predict how the chord forces change ($N \approx M/h$) and check. Expect: for the 12 m Pratt of the worked example, going from 3 m to 4 m deep cuts the top chord force from 40 kN to $120/4 = 30$ kN compression and the bottom chord from 30 kN to $90/4 = 22.5$ kN.
  5. Make the whole bridge from small sections and find which member buckles first. Upgrade only that member and repeat. This is how engineers optimise. Record the cost and peak utilisation after each change. Expect: the long compression members (end posts and top chord) fail first, by buckling rather than yield.