Skip to content
Queensferry

Module 9 · Lesson 9.1

The element and its transformation

Where the 4×4 bar matrix comes from, why every row sums to zero, and why the global form contains no new physics.

Why this matters

This module is the one place in the course where the solver is opened up. Not to teach you to write one — almost nobody needs to — but because the errors in Modules 12 and 13 are all visible in the matrix, and a modeller who has never seen the matrix has to take them on trust.

The payoff is specific. Once you have seen that assembly is addition, a disconnected node stops being mysterious. Once you have seen that a restraint is a struck-out row, 'why do I need restraints where there is no load?' answers itself. Once you have seen the condition number, a very short very stiff element stops being a modelling preference and becomes an arithmetic cost you can quantify.

By the end of this lesson you should be able to

  • Derive the two-node bar matrix from equilibrium and compatibility
  • Say what a zero row sum means physically
  • Build the global 4×4 as TᵀkT and check it against the closed form
  • Read the direction cosines off a pair of coordinates

What you should already know

  • Stress, strain and Young's modulus
  • Equilibrium at a joint
  • The stiffness method as theory — Structural Analysis Fundamentals covers the derivation this module uses computationally

One equation, repeated

The whole method rests on three statements, and none of them is new:

  • The structure is in equilibrium. So is every node. So is every element.
  • Force and displacement are related by stiffness: f = ku.
  • We know the forces and can compute the stiffnesses, so the unknown is the displacements.

Write the second statement once for every degree of freedom, group them, and you have a matrix equation. That is all the finite element method is. Everything after this is bookkeeping — extremely careful bookkeeping, but bookkeeping.

The axial stiffness of a bar

k = EA/L — the force needed to stretch the bar by one unit.

Three inputs, and every one of them is somewhere a model goes wrong. E from the wrong material — the steel-slab case in Module 12. A in mm² where m² was expected — a factor of a million. L from a node that was never merged, so the bar is a different length from the member it represents.

That is worth saying now rather than in Module 12, because it explains why this module bothers with the arithmetic: the diagnostic value of knowing where a number comes from is that you know what can corrupt it.

From first principles

The two-node bar matrix

We want to show: Get from f = ku for a single spring to the 2×2 matrix a solver actually assembles.

A bar does not know where it is. It only knows how much it has been stretched. So the force it develops must depend on the difference between what its two ends have done, and not at all on their average position. Everything in the matrix that follows is that sentence written down.

Into global axes

A real truss has bars at every angle. The solver does not want a separate derivation for each; it wants one matrix expressed in the axes everything else uses.

The move is a change of viewpoint, not of physics. A bar at angle θ has direction cosines c = cos θ and s = sin θ, read directly off the two node coordinates. The axial extension is the projection of the global end displacements onto the bar:

e = c(u₂ₓ − u₁ₓ) + s(u₂ᵧ − u₁ᵧ)

Write that as a 2×4 transformation T, and the global element matrix is TᵀkT. Multiply it out and every entry is k times a product of direction cosines — c², cs, s² — with the same ± block pattern as before.

The important thing is what has not happened: no new physics has entered. The 4×4 global matrix contains exactly the information the 2×2 did, seen from a rotated viewpoint. If it ever seems to contain more, something has gone wrong.

Bar element in global axes

What it calculates: The stiffness of a bar expressed in the model's own coordinate directions

E
Young's modulus (kN/m²)
A
Cross-sectional area ()
L
Length, from the node coordinates (m)
c
cos θ — the x direction cosine ()
s
sin θ — the y direction cosine ()

This assumes

  • Linear elastic, small displacements, axial behaviour only
  • θ is measured from the global x axis to the line from node 1 to node 2 — so reversing the node order reverses c and s

In plain terms: Every entry is a stiffness times a product of direction cosines. A horizontal bar has s = 0, so its whole second and fourth rows vanish: it has no vertical stiffness whatever, which is exactly right and exactly why a horizontal bar cannot hold a node up.

Try it

Stiffness matrix assembler

Step through the solve. Every intermediate is a real table, in kN/m, divided by 1000 to keep it readable.

Structure

Element stiffnesses

Step 1 of 5 — Element stiffnesses

Element properties, with k = EA/L
ElementL (m)cos θsin θk (kN/m)
e13.0001.0000.00066667
e24.0001.0000.00050000

What each step is doing

  • Steps 1–2: no physics is added by the transformation. The global matrix is the axial matrix seen from a rotated viewpoint.
  • Step 3: assembly is addition, and nothing else. A node connected to nothing would leave a zero row here.
  • Step 4: a restraint deletes a row and a column, because that displacement was already known.
  • Step 5: displacements first, then everything else. The residual is the check that decides whether any of it is usable.

What this shows: Assembly is addition, and a restraint is a struck-out row — the two facts that make every connectivity and support fault in Module 12 obvious.

Worked example

Two bars in series, by hand

Given

  • Three nodes on a line: L at x = 0, M at x = 3 m, R at x = 7 m
  • Bar 1 from L to M, bar 2 from M to R
  • Both E = 200 × 10⁶ kN/m², A = 0.001 m²
  • L and R fully held; M held vertically only
  • A horizontal load of 100 kN applied at M

Find

The displacement of M and the force in each bar

    Predict first

    In that two-bar problem, the area of bar 1 is doubled and nothing else changes. What happens to the force in bar 2?

    Practice

    A steel bar has E = 200 × 10⁶ kN/m², A = 0.0025 m² and L = 5 m. Compute its axial stiffness in kN/m.

    Practice

    A bar runs from (0, 0) to (3, 4). Its stiffness is k = 80 000 kN/m. What is the value of the top-left entry of its 4×4 global stiffness matrix, k·c², in kN/m?

    Worked example

    Why every element stiffness matrix is singular

    Given

    • A two-node bar element with axial stiffness k, before any support is applied

    Find

    What happens if you try to solve it on its own

      Check yourself

      What does the transformation matrix actually do to an element stiffness?

      Check yourself

      Why is a stiffness matrix always symmetric for a linear elastic structure?

      Summary

      • k = EA/L, and each of the three inputs is a place a model goes wrong
      • Every row of an element matrix sums to zero: a rigid-body move generates no force
      • The global matrix is TᵀkT — the same physics from a rotated viewpoint
      • A horizontal bar has literally zero vertical stiffness, and the matrix says so
      • Load splits in proportion to stiffness, not to size or length
      Progress is kept in this browser only.

      This is educational material. It uses simplified examples to teach principles, and must not be relied on for real design or safety-critical decisions. Module overview and checkpoint