Generator

Almost all of it is exactly zero

Rendered here at the parameters it defaults to, with every essay that calls it — which is the same list as the blast radius of changing it.
Almost all of it is exactly zero. The stiffness matrix of a 2-bay, 3-storey plane frame: 36 freedoms, of which 16.2 per cent of the 36² entries are non-zero. The zeros are not small numbers; they are absences. A member reaches only the two nodes at its ends, so it can contribute nothing to any row belonging to a node it does not touch, and every such entry is zero exactly rather than nearly. The non-zeros therefore sit in a band of width 13 about the diagonal. Before the supports are applied the matrix is singular, and its null space has exactly three dimensions — the three rigid-body motions a plane frame has with respect to the ground, which is the same statement the null vector of the equilibrium matrix makes about a truss that is a mechanism, arrived at from the other end.

Almost all of it is exactly zero. The stiffness matrix of a 2-bay, 3-storey plane frame: 36 freedoms, of which 16.2 per cent of the 36² entries are non-zero. The zeros are not small numbers; they are absences. A member reaches only the two nodes at its ends, so it can contribute nothing to any row belonging to a node it does not touch, and every such entry is zero exactly rather than nearly. The non-zeros therefore sit in a band of width 13 about the diagonal. Before the supports are applied the matrix is singular, and its null space has exactly three dimensions — the three rigid-body motions a plane frame has with respect to the ground, which is the same statement the null vector of the equilibrium matrix makes about a truss that is a mechanism, arrived at from the other end.

6 essays call stiffness-matrix. The drawing above is what it returns with no arguments at all; every call below passes it something, because a placement that passes nothing draws whichever member of the family the generator happens to default to rather than the one its essay argues about.

Where it is called

Changing this generator changes every one of these figures.

Almost all of it is exactly zero. The stiffness matrix of a 2-bay, 3-storey plane frame: 36 freedoms, of which 16.2 per cent of the 36² entries are non-zero. The zeros are not small numbers; they are absences. A member reaches only the two nodes at its ends, so it can contribute nothing to any row belonging to a node it does not touch, and every such entry is zero exactly rather than nearly. The non-zeros therefore sit in a band of width 13 about the diagonal. Before the supports are applied the matrix is singular, and its null space has exactly three dimensions — the three rigid-body motions a plane frame has with respect to the ground, which is the same statement the null vector of the equilibrium matrix makes about a truss that is a mechanism, arrived at from the other end. Deflection

The matrix that replaced the hand methods

Moment distribution passes moments round a frame until they stop moving. Virtual work computes one deflection at a time. Both are exact and both stop scaling in the low tens of members. What replaced them adds no physics at all — the whole of the invention is the bookkeeping.

Two different structures released, and one bending moment diagram. The bending moment in a continuous beam of 8, 10, 8 m under 12 kN/m, solved twice by the force method with different redundants. The first release puts a hinge over each interior support, so the released structure is a row of simple spans and the redundants are moments. The second removes each interior support, so the released structure is one simple span of the whole length and the redundants are reactions. The two released structures have nothing in common — different shapes, different deflections, different everything — and the diagrams they produce lie on top of each other to 9e-15 of the peak moment. Which restraints are released is a choice about the arithmetic and not about the structure, which is a fact worth trusting: it means a hand calculation can pick whichever release makes the sums easiest and be sure of the answer. Deflection

Choose what to take away

The other machine for a redundant structure works by removing restraints until what is left can be solved by statics, then putting back exactly enough force to close the gaps that opened. Which restraints are removed does not change the answer at all, and changes the arithmetic completely — one choice gives a tridiagonal matrix a person can solve on paper, and another gives a full one.

The check that everything adds up, and the error it cannot see. Four versions of the same 2-bay, 3-storey frame, with the global equilibrium residual each one produces — the sum of the reactions against the sum of the applied loads, as a fraction of the applied total. It is the first thing every analysis prints and it is worth having: a lost restraint and a load entered in the wrong unit both show up immediately, at 6% and 24%, because both change what the structure is carrying. The fourth bar is the point. A member whose stiffness is wrong by a factor of ten redistributes the internal forces completely — the second bar shows the change in the member forces, 18% — and the global residual is exactly zero, because the wrong answer is still in equilibrium with the same loads. Equilibrium is one equation per degree of freedom of the whole body, and a stiffness error lives entirely in the many equations underneath it. A model can satisfy every equilibrium check ever devised and be a model of a different structure. Stability

The stiffness the load takes away

Buckling is usually taught as an event — a critical load, a bifurcation, a mode. Written as a matrix it stops being an event at all. A compressive load subtracts a stiffness from the structure, the subtraction grows with the load, and the critical load is simply where what is left reaches zero.

One member's stiffness, scattered into the freedoms it touches. A member's own six-by-six stiffness matrix relates the forces at its two ends to the displacements there, and it is written in the member's own axes. Assembly is two operations and no physics: rotate it into the structure's axes, then add each of its thirty-six entries into the row and column of the global freedom that entry belongs to. Every member does the same, and the sum is the structure. The shaded rows and columns are the six freedoms this one member reaches; every other entry it contributes is exactly zero, and that is the whole reason a global stiffness matrix is sparse. Nothing here is an approximation — the result is the same equilibrium and the same compatibility a hand method writes, in an order a machine can follow. Deflection

The answer that depends on how it was divided

Every computed answer in this collection came out of a structure chopped into pieces — elements, strips, stations, trial positions. The chopping is invisible in the result and it is not neutral: some divisions give the exact answer, some give one that is always too stiff, and one of them changes nothing but the cost of getting there.

The check that everything adds up, and the error it cannot see. Four versions of the same 3-bay, 4-storey frame, with the global equilibrium residual each one produces — the sum of the reactions against the sum of the applied loads, as a fraction of the applied total. It is the first thing every analysis prints and it is worth having: a lost restraint and a load entered in the wrong unit both show up immediately, at 8% and 32%, because both change what the structure is carrying. The fourth bar is the point. A member whose stiffness is wrong by a factor of ten redistributes the internal forces completely — the second bar shows the change in the member forces, 24% — and the global residual is exactly zero, because the wrong answer is still in equilibrium with the same loads. Equilibrium is one equation per degree of freedom of the whole body, and a stiffness error lives entirely in the many equations underneath it. A model can satisfy every equilibrium check ever devised and be a model of a different structure. Equilibrium

The check that cannot see the error

Every analysis prints a global equilibrium residual, and it is the first thing anybody looks at. It catches a lost restraint and a load entered in the wrong unit immediately. It is structurally incapable of catching a member whose stiffness is wrong by a factor of ten, because the wrong answer is still in equilibrium with the same loads.

The answer arrives in instalments. The hogging moment at support 1 of a three-span beam, cycle by cycle. It starts at the fixed-end moment of 98.0 kNm — the value with every joint clamped — and settles at 156.9 kNm against an exact 156.9. The error falls by about a factor of four per cycle: 21.03, 5.92, 1.54, 0.60 kNm after one, two, three and four. Two cycles is an engineering answer and nobody had to invert anything. Deflection

Why it converges, and how fast

Moment distribution is an iteration, and iterations do not always converge. This one always does, at a rate the beam's own proportions fix — about a factor of four per cycle on a regular beam and considerably worse on an irregular one, which is where the method's reputation for two cycles being enough comes from and where it stops being true.

The library, page 6 of 7 — where stiffness-matrix sits