b2KIT

Truss Structure Analyzer

Build 2D trusses with joints and members. Solve for member forces using method of joints with color-coded tension/compression.

Tested tool guide Tested browser tools Checked August 16, 2026

What Truss Structure Analyzer does, with a checked example

Build a 2D truss on the joint grid - add joints, connect them with members, set pin and roller supports, hang point loads - and the tool resolves every member force with the method of joints, one equilibrium pair per joint, coloring each member by sign with its magnitude. It is meant for statically determinate trusses (m + r = 2j). The common surprise: in an apex-loaded triangular roof truss, the bottom chord is in tension, not compression. It is a tie that stops the feet of the rafters from spreading, which is why real roof ties are steel rods.

Worked example

A concrete input and expected output from the current implementation.

Input

Joints: A at (0,0), pin support; B at (4,0), roller support; C at (2,3). Members: A-C, B-C, A-B. Load: 10 kN downward at C.

Expected output

Member forces: AC = -6.01 kN (compression), BC = -6.01 kN (compression), AB = +3.33 kN (tension). Reactions: A = 5.00 kN upward, B = 5.00 kN upward.

Symmetry gives each support 5 kN. Resolving the apex joint vertically with sin(theta) = 3/sqrt(13) gives each rafter 10*sqrt(13)/6 = 6.01 kN compression. Each rafter's horizontal component at its foot is 6.01 * 2/sqrt(13) = 3.33 kN, pushing the feet outward; the bottom chord balances that by pulling inward, so AB is +3.33 kN tension.

How the result is produced

1

Joint-by-joint equilibrium

Each joint must satisfy sum of forces in x and y equal zero, two equations with two unknown member forces. The solution starts at a support joint where the reaction is known, solves its two unknowns, then moves to the next joint with exactly two unresolved members, working across the truss. The chain only closes for statically determinate trusses: members m and reactions r must satisfy m + r = 2j.

2

Reading the signs

Positive member force is tension: the member stretches and pulls its end joints toward each other, shown in one color. Negative is compression: the member shortens and pushes its joints apart, shown in the other. Each member carries one signed number, but the push or pull it applies at one end is opposite at the other end, so when a sign feels wrong, check which way the member would physically deform.

Good uses

  • Checking a statics homework: build the same truss, supports, and loads as your hand solution and compare every member force, including its sign, plus the support reactions.
  • Sizing a small real truss - shelter roof, sign frame, footbridge: find out which members are tension (they only need end connections that hold) and which are compression (they need buckling resistance) before picking sections.
  • Studying load paths: move the point load, flip a roller to a pin, or shift a support, and watch members flip sign or drop to zero - zero-force members carry nothing in that load case and can be removed.

Limits and checks

  • Determinate only: the method of joints gives one unknown per equation. Add a redundant member or a fourth support and m + r exceeds 2j: the truss is statically indeterminate and equilibrium alone cannot give a unique answer. Verify m + r = 2j before trusting the output.
  • Idealizations: frictionless pins, loads applied only at joints, weightless members carrying pure axial force. A load at mid-member makes that member bend; bolted or welded gusset connections carry bending and eccentricity; self-weight is ignored unless you add it as joint loads.
  • Zero-force members are not bugs: a 0.00 reading, typical for diagonal bracing under purely vertical load, means the member carries nothing in that configuration. And signs matter: a member that is really in tension fails in its end connections, one in compression fails in buckling - swapping them changes the design.

Common questions

Why is my bottom chord in tension? I expected it to be compressed.

The apex load makes each rafter push its foot outward - the horizontal components at the supports want to spread the feet apart. The bottom chord is the tie that resists that spreading, so it is stretched, not squeezed. Real roof trusses use steel rods or cables for this chord for exactly this reason. Reverse the load (wind suction lifting the apex) and the chord flips to compression.

Can it analyze a real bridge truss with redundant diagonal members?

No. Redundant members make the truss statically indeterminate, and the method of joints can only use equilibrium, which cannot decide how the load splits among redundant members. That requires stiffness or flexibility methods that also need each member's cross-section and material. For determinate trusses (m + r = 2j) the answer is unique; beyond that, this tool is out of scope.

References and verification

The example and behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools