Structural form

The forces that are there with nothing applied

Maxwell's count is the difference between two dimensions, and it knows neither of them separately. A frame can satisfy it exactly and still both fold and be prestressable — and when it does, the second of those is what stops the first.

Assumes Counting the unknowns, and finding out whether statics can answer, The triangle that cannot fold, and everything built out of it and Everything adds to nothing, and that is the whole of statics.

A pin-jointed frame has an equilibrium matrix. One row for each joint equation, one column for each unknown bar force and reaction, and the whole of statics for that frame is the single statement At=fA\mathbf{t} = \mathbf{f}.

Two questions can be asked about any matrix, and both of them have structural meaning.

What does AA send to zero? A set of bar forces in equilibrium with no applied load whatever — a self-stress state, which is what a prestressed cable, an over-tightened brace and a badly fitting member all have in common.

What does ATA^{\mathsf T} send to zero? A set of joint displacements that changes no bar’s length — a mechanism, which is the frame folding.

Maxwell’s count is the difference of their dimensions and it can see neither of them.

Two null spaces of one matrix, and the count is their difference. Two pin-jointed frames, each with the forces it can carry with nothing applied to it drawn on its bars — tension one colour, compression the other, thickness in proportion. That force set is the null space of the equilibrium matrix; a mechanism is the null space of its transpose; and Maxwell's count b + r − 2j is the difference of their dimensions and knows neither of them separately. A square with both diagonals has s = 1 and m = 0. Two bars in a straight line has s = 1 and m = 1 with a count of 0, so the count is satisfied by a frame that both folds and can be prestressed — and the prestress stiffness is positive, which is why a tensioned pair of collinear bars is stiff at all.
Fig. 1 Two frames, with the forces each can carry with nothing applied to it drawn on its bars. The braced square has one such state and no mechanism. The flat pair has one of each, and a Maxwell count of exactly zero — which is what the count says a determinate rigid frame looks like.

Which free body produced the number

Every joint, taken as a free body, with no load on it.

At joint ii, the bars meeting there pull along their own directions. Writing n^e\hat{n}_e for the unit vector along bar ee, equilibrium of that joint in the plane is two equations, and stacking them over all joints gives 2j2j rows. The unknowns are one tension coefficient per bar and one component per reaction, giving b+rb + r columns.

At=0A\mathbf{t} = \mathbf{0}

has a non-trivial solution exactly when AA has fewer independent rows than columns, and the dimension of the solution space is

s=(b+r)−rank⁡(A)s = (b + r) - \operatorname{rank}(A)

Meanwhile ATd=0A^{\mathsf T}\mathbf{d} = \mathbf{0} is the statement that no bar changes length and no support moves, and its solution space has dimension

m=2j−rank⁡(A)m = 2j - \operatorname{rank}(A)

Subtract:

s−m=(b+r)−2js - m = (b + r) - 2j

which is Maxwell’s rule, and the rank has cancelled out of it. That cancellation is the whole point. The count is computable by looking at a drawing and counting; the two quantities it is the difference of require the rank of a matrix, which no amount of counting supplies.

Two null spaces of one matrix, and the count is their difference. One pin-jointed frame, each with the forces it can carry with nothing applied to it drawn on its bars — tension one colour, compression the other, thickness in proportion. That force set is the null space of the equilibrium matrix; a mechanism is the null space of its transpose; and Maxwell's count b + r − 2j is the difference of their dimensions and knows neither of them separately. A 4 × 3 rectangle with both diagonals has s = 1 and m = 0.
Fig. 2 The same object at proportions that are not square. A 4 × 3 rectangle with both diagonals has s = 1 and m = 0, exactly as the square does — the count has not moved — but the state itself has: the two diagonals are no longer the same length, so they no longer carry the same force, and the state stops looking like a symmetry and starts looking like an equilibrium. It is a set of forces that balance, not a pattern that is pretty.

The count as it is usually taught is unknowns against equations, and a verdict. It is necessary and not sufficient, and the two null spaces are why.

The count is necessary and not sufficient. Two pin-jointed frames, each satisfying m + r = 2j exactly. One of them folds anyway, because the equations are not independent; the ghosted outline is the motion that costs no member any change of length, drawn at an exaggeration of 0.55 of the span.
Fig. 3 The other half of the same insufficiency, met here already in the essay on the count that does not see it: a frame whose count says determinate and whose rank says it folds. That page took the mechanism; this one takes the self-stress, and they are the two null spaces of one matrix.

The braced square, checked by hand

Take a 4 by 3 rectangle with both diagonals, pinned at one corner and on a roller at the next.

Bars: 6. Reactions: 3. Joints: 4. So b+r−2j=9−8=+1b + r - 2j = 9 - 8 = +1, and the rank comes out at 8 — full, for this frame — so s=1s = 1 and m=0m = 0. Singly redundant and rigid, which is what the count said and this time it is right.

The state itself is worth reading. Normalised so the largest coefficient is one, it is

( −0.8,  −0.6,  −0.8,  −0.6,  +1,  +1 )(\,-0.8,\;-0.6,\;-0.8,\;-0.6,\;+1,\;+1\,)

— both diagonals in tension at 1, the two long edges in compression at 0.8, the two short edges at 0.6. And those are exactly the direction cosines: each 5-unit diagonal has components (4/5,3/5)(4/5, 3/5), so a unit tension in it must be balanced by 0.8 along the horizontal edge and 0.6 along the vertical one. The null space came back as the geometry, which is the check.

Note also that all three reaction components in the state are zero. They have to be: the supports are not applying anything, so a self-stress in a supported frame that involves them would be a set of external forces on a structure with no load on it.

Two null spaces of one matrix, and the count is their difference. One pin-jointed frame, each with the forces it can carry with nothing applied to it drawn on its bars — tension one colour, compression the other, thickness in proportion. That force set is the null space of the equilibrium matrix; a mechanism is the null space of its transpose; and Maxwell's count b + r − 2j is the difference of their dimensions and knows neither of them separately. Two braced squares sharing an edge has s = 2 and m = 0.
Fig. 4 And a frame with two states rather than one. Two braced squares sharing an edge give s = 2, which means the null space has a basis of two force sets and every combination of them is also a state — a whole plane of ways for the frame to be stressed with nothing applied. What is drawn is one basis vector; the frame does not prefer it to any other.

Solving a truss the ordinary way, by joint equilibrium under a load, is the equation A·t = f. Everything on this page is about the same A with f set to zero.

The frame that satisfies the count and does neither thing

Three joints in a straight line, two bars between them, both ends pinned.

b+r−2j=2+4−6=0b + r - 2j = 2 + 4 - 6 = 0

The count says statically determinate and rigid. What it actually has is one mechanism and one self-stress state.

The mechanism is obvious once seen: lift the middle joint. To first order neither bar changes length, because both are perpendicular to the motion — a bar of length LL raised by δ\delta at one end lengthens by δ2/2L\delta^2/2L, which is second order and therefore not a length change at all as far as ATA^{\mathsf T} is concerned. So the frame folds, infinitesimally.

The self-stress state is equally obvious: pull both bars with the same tension. The middle joint sees two equal and opposite pulls, the end joints hand theirs to the supports, and nothing is applied to anything.

Both exist, the count is zero, and the count was right about the difference and useless about either term.

Two null spaces of one matrix, and the count is their difference. One pin-jointed frame, each with the forces it can carry with nothing applied to it drawn on its bars — tension one colour, compression the other, thickness in proportion. That force set is the null space of the equilibrium matrix; a mechanism is the null space of its transpose; and Maxwell's count b + r − 2j is the difference of their dimensions and knows neither of them separately. A hub on four spokes has s = 2 and m = 0.
Fig. 5 A hub on four spokes, which is the arrangement every spoked wheel and every prestressed tie-down is. It has s = 2 and m = 0: two independent ways of tensioning the spokes against each other with nothing applied to the hub, and no mechanism at all. The spokes cannot push, so only the part of that plane with every force in tension is available — which is why a wheel is trued rather than analysed.

Every row of A is one joint taken as a free body, and a state of self-stress is the statement that those rows can be satisfied by a non-zero set of bar forces.

What prestress is worth, and it has a sign

A first-order mechanism has no stiffness at all in the elastic matrix. The elastic stiffness of a bar resists a change of length, and this motion changes no length, so the frame moves for nothing.

Put a self-stress state into it and that changes. A bar carrying tension tt resists any transverse displacement of its ends, because moving them sideways does lengthen the bar — at second order, but the tension is already there to be worked against. The stiffness that follows is

kg=dTKg(t) d,Kg=∑eteLe(I−n^en^eT)k_g = \mathbf{d}^{\mathsf T} K_g(\mathbf{t})\, \mathbf{d}, \qquad K_g = \sum_e \frac{t_e}{L_e}\left(I - \hat{n}_e\hat{n}_e^{\mathsf T}\right)

summed over the bars: each contributes its tension divided by its length, acting on whatever part of the motion is perpendicular to it.

For the flat pair with unit tension in both bars of length 2, and the middle joint lifted by 1, that is 2×12×1=12 \times \tfrac12 \times 1 = 1 exactly.

Put the bars in compression instead and the same expression gives −1-1. A negative stiffness is not a smaller positive one; it is a structure that accelerates away from its equilibrium position as soon as it leaves it. That is the difference between a tensioned wire and a pinned strut lying flat, and it is one sign in one quadratic form.

Two null spaces of one matrix, and the count is their difference. One pin-jointed frame, each with the forces it can carry with nothing applied to it drawn on its bars — tension one colour, compression the other, thickness in proportion. That force set is the null space of the equilibrium matrix; a mechanism is the null space of its transpose; and Maxwell's count b + r − 2j is the difference of their dimensions and knows neither of them separately. A hub on six spokes has s = 4 and m = 0.
Fig. 6 The same hub on six spokes. Two more bars, two more states: s = 4, and the count b + r − 2j has risen by exactly the same two. That is the only case in this family where the count and the state move together, and it is a coincidence of this geometry rather than a rule — the mechanism count happens to stay at zero throughout, so the difference the count reports is the whole of the state.

A compressed flat pair does something else again: it has a negative stiffness above the flat position, so the equilibrium at zero displacement is one it leaves rather than returns to, which is the roof that jumps.

Where this is a structure rather than a curiosity

Three families of real structure exist entirely because of the paragraph above.

A cable net has bars that cannot take compression, so every one of them has to be in tension in the self-stress state or it goes slack and stops being a bar. Its stiffness against a load is very largely geometric rather than elastic, which is why a net’s response to load is nonlinear and why prestressing it is not an optional refinement.

A bicycle wheel is a hub, a rim and thirty-two spokes, and the spokes are in tension in a state that puts the rim in compression around its circumference. The wheel has mechanisms — the rim can go out of plane in a dozen modes — and every one of them is stiffened by the spoke tension. Let the tension out and the wheel does not become a floppier wheel; it becomes a mechanism.

A tensegrity is the pure case: a set of struts that touch nothing, held apart by a continuous net of ties, whose entire rigidity is the geometric stiffness of a self-stress state acting on a set of infinitesimal mechanisms.

Prestress buys a stiffness no change of material can. Four cables of identical steel — 30 m, 1000 mm², E = 160000 MPa — differing only in the tension put into them before the load arrived. The initial stiffness is 8T₀/L exactly: 0.0, 33.3, 133.3, 533.3 kN/m at T₀ = 0, 125, 500, 2000 kN, and no property of the steel appears in that expression. The slack cable leaves the origin flat — it has no stiffness whatever at zero load, and its sag grows as the cube root of the load, reaching 1.059 m under the same 150 kN that puts 0.276 m into the tightest of them. Four curves of one cable: the tightest starts 16 times stiffer than the slackest that has any stiffness at all, and every other property they share.
Fig. 7 The stiffness that comes from the shape, which is the cable’s version of the same quadratic form. A cable’s resistance to a transverse load is its tension over its length, and it is the one-bar case of KgK_g.
The net is nearly linear right up to the moment half of it lets go. Load against centre deflection for a 30 m square net of cables at 2 m centres, a sagging family 1.5 m deep and a hogging family 1.5 m high, pretensioned to 400 kN. The tangent stiffness at the origin is 18.73 kN/m³ and the curve barely bends: at the design load of 1 kN/m² the centre has moved 53.4 mm. What ends the story is not a stress. At 407 mm the hogging family's tension has fallen to zero and it goes slack, which happens at 7.84 kN/m² — 7.8 times the design load. Past that point half the net has stopped working and the rest has to find the whole load by sagging, so the real limit on a cable roof is a loss of geometry rather than a want of strength.
Fig. 8 And the net, where the same argument is made in two directions at once. The anticlastic shape is not aesthetic: it is what lets one family of cables be tensioned against another so that a self-stress state exists at all.

Redundancy read as a self-stress count

The number ss has been used on this site under a different name for a long time. A frame that is “three times redundant” has three independent self-stress states, and that is not a coincidence of vocabulary — it is the same number.

Reading it that way makes two things clearer than the usual phrasing does.

A redundant frame is one that can be stressed without being loaded, which is why lack-of-fit, temperature and support settlement all put forces into it and into a determinate one they do not. Each of those is a way of exciting a self-stress state, and the state’s pattern is fixed by the geometry while its size is fixed by whatever caused it.

And removing a bar from a redundant frame removes one self-stress state, taking ss down by one and leaving mm alone — until ss reaches zero, at which point the next bar removed starts producing mechanisms instead. That is exactly the boundary a robustness check is looking for.

Which member a frame cannot lose is the same question read backwards: a bar whose removal drops s by one is a bar the state runs through, and a structure survives losing a member only where the load has somewhere else to go.

Counting in three dimensions

Everything above transfers, with 3j3j in place of 2j2j.

A free tetrahedron of six bars and four joints gives b−3j=6−12=−6b - 3j = 6 - 12 = -6, and it has six mechanisms — the rigid-body motions, which are always there for a structure with no supports — and no self-stress. A free octahedron of twelve bars and six joints gives 12−18=−612 - 18 = -6 again, and again six mechanisms and no self-stress: it is exactly rigid, with nothing spare.

The rigid-body motions are worth a word because they are the reason a free structure’s count is always six short. They are genuine members of the null space of ATA^{\mathsf T} — a rigid translation changes no bar’s length — and they are not what anybody means by a mechanism. So the useful statement for a free frame is that it is rigid when m=6m = 6 exactly, and folds when m>6m > 6.

In three dimensions the arithmetic is otherwise identical, with three equations at every joint rather than two.

And for a body on legs it is six equations, of which a drawing shows three — a leg arrangement whose directions are not independent has a state of self-stress whatever the count says.

The state as a design variable

Once the pattern of a self-stress state is known, its magnitude is something to be chosen, and choosing it is a real design activity in three settings.

Enough to stop anything going slack. In a cable net or a stayed structure, every tie has to stay in tension under every load case. The applied load subtracts from the prestress in some cables; the prestress has to be large enough that none of them reaches zero. That is a lower bound.

Not so much that the struts fail. The same state puts compression somewhere, and those members have their own buckling load. That is an upper bound.

And enough stiffness for the mechanisms that are left. The geometric stiffness is proportional to the prestress, so a deflection limit becomes a prestress requirement directly — a net that deflects too much is under-tensioned rather than under-designed.

The three constraints frequently leave a narrow window, and on a large net they leave none at all — which is the point at which the geometry has to change instead, because the self-stress pattern is a property of the shape.

The tensions themselves move as the load arrives, every one of them the prestress plus or minus a change, and the structure is linear right up to the moment the first of them reaches zero.

Solving a redundant frame is choosing a point in the self-stress space

If s>0s > 0 then At=fA\mathbf{t} = \mathbf{f} has infinitely many solutions, and they differ by exactly the self-stress states. Write any particular one as tp\mathbf{t}_p and collect the states as the columns of SS; every equilibrium set of bar forces is

t=tp+Sβ\mathbf{t} = \mathbf{t}_p + S\boldsymbol{\beta}

for some ss numbers β\boldsymbol{\beta}. Statics has done all it can and has ss numbers left over, which is what redundancy means stated as an arithmetic fact rather than as a shortage of equations.

The numbers come from compatibility, and the form they come in is worth seeing. Requiring the bar elongations to fit a set of joint displacements gives

STFS β=− STF tp,F=diag⁡ ⁣(LeEeAe)S^{\mathsf T} F S\,\boldsymbol{\beta} = -\,S^{\mathsf T} F\,\mathbf{t}_p, \qquad F = \operatorname{diag}\!\left(\frac{L_e}{E_e A_e}\right)

— a least-squares problem in the flexibility metric. The frame picks the equilibrium state closest to the particular one, with distance measured by how flexible each bar is.

Two consequences follow immediately, and both are standard results arriving without being separately argued.

A redundant frame’s bar forces depend on the ratios of EAEA. FF is in the equation, so making one member stiffer draws force into it. A determinate frame’s do not, because there is no β\boldsymbol{\beta} to be decided and FF never appears — the stiffest path takes the load is a statement about s>0s > 0 and about nothing else.

And a tension-only brace deletes its own self-stress state. Give the braced square two slender rods as diagonals, unable to carry compression, and under a horizontal load one of them goes slack and leaves the frame. What remains is 5 bars, 3 reactions, 4 joints — s=0s = 0 — so it is determinate, and its forces are independent of EAEA after all. The redundancy was real, and the load case spent it. That is why a cross-braced bay is analysed one direction at a time and why the answer is different from the elastic solve on the same drawing.

Heat is a load only if the frame is redundant

The self-stress space is also the answer to what a temperature change does, and it gives a sharper statement than the usual one.

An imposed set of bar elongations e0\mathbf{e}_0 — from heat, from a member fabricated long, from a support that has moved — produces a self-stress state of magnitude

β=− (STFS)−1STe0\boldsymbol{\beta} = -\,(S^{\mathsf T} F S)^{-1} S^{\mathsf T}\mathbf{e}_0

so it produces nothing at all whenever STe0=0S^{\mathsf T}\mathbf{e}_0 = 0, however large the elongations are.

Test the braced square. A uniform rise ΔT\Delta T gives e0,e=αTΔTLee_{0,e} = \alpha_T \Delta T L_e, and

sTe0=αTΔT[(−0.8)(4)(2)+(−0.6)(3)(2)+(1)(5)(2)]=αTΔT [−6.4−3.6+10]=0\mathbf{s}^{\mathsf T}\mathbf{e}_0 = \alpha_T\Delta T\big[(-0.8)(4)(2) + (-0.6)(3)(2) + (1)(5)(2)\big] = \alpha_T\Delta T\,[-6.4 - 3.6 + 10] = 0

Exactly zero, and not by luck: a uniform expansion is a compatible set of elongations — the frame simply gets bigger — and the virtual work of any self-stress state on any compatible elongation is zero by the same duality that produced AA and ATA^{\mathsf T}. So a redundant frame free to expand is not stressed by uniform heating, which is the result the roller support was quietly providing.

Now heat only the diagonals, which is what sun on one face of a braced bay does. Then sTe0=10 αTΔT\mathbf{s}^{\mathsf T}\mathbf{e}_0 = 10\,\alpha_T\Delta T, and with every bar at the same EAEA, sTFs=17.28/EA\mathbf{s}^{\mathsf T}F\mathbf{s} = 17.28/EA, giving

β=−10 EA αTΔT17.28=−0.579 EA αTΔT\beta = -\frac{10\,EA\,\alpha_T \Delta T}{17.28} = -0.579\,EA\,\alpha_T\Delta T

For 2,000 mm² bars in steel at ΔT=30\Delta T = 30 °C, that is 87.5 kN of compression in each diagonal and 70 kN of tension in each long edge, with nothing applied to the frame and no support having moved.

The rule that falls out is the useful one: it is never the temperature that stresses a structure, it is the difference — between one member and another, or between the structure and whatever holds it. A frame that expands freely and evenly has no self-stress no matter how hot it gets, and one member in shade is a load case.

Where the model stops

Everything is first order. The mechanism above is infinitesimal: it exists for the linearised kinematics and disappears the moment the frame has moved a finite distance, because the bars are no longer perpendicular to the motion. A frame with an infinitesimal mechanism is not a machine; it is a structure that is soft in one direction until it has moved a little.

The bars are pin-jointed and axially loaded. Real joints have some rotational stiffness and real bars have some bending stiffness, so a real “mechanism” has a small but genuine elastic stiffness of its own. Whether the prestress term or the bending term dominates is a question about the members, and for a cable net there is no contest.

And the self-stress state is a direction, not a magnitude. The null space gives the pattern of forces; how much prestress to put in is a separate decision, made against the slack that has to be avoided and the compression the struts have to survive.

What the pictures cannot show

The self-stress states are drawn with a thickness proportional to a coefficient, and the coefficients have no units and no scale. What is drawn is a ratio.

Nor can they show the finite mechanism. The arrows on the flat pair point in the direction the joint would first move, and after a millimetre of it the bars have lengthened and the whole first-order description no longer applies.

The assumption the figure rests on

The rank is computed to a numerical tolerance, and a rank is a discontinuous function of a matrix. A frame that is nearly a mechanism — three joints almost in a line — has full rank and an enormous condition number, which means it behaves like a mechanism while counting like a structure. A tolerance is doing the work a theorem appears to be doing, and the honest reading of ss and mm on a nearly-critical frame is that the two numbers are the ones a stiffness the size of the tolerance would give.

The ladder from here

Later rungs on this anchor: form-finding, where the geometry is the unknown and a self-stress state is the requirement — force density and dynamic relaxation both being ways of solving for a shape that admits one. Second-order rigidity, the theorem that decides when an infinitesimal mechanism is stiffened by a given state and when it is not. The product force, and Calladine’s extension of Maxwell’s rule. Cable nets under load, where the geometric stiffness is not a correction but the whole of the response. Prestressed cable-stayed and stress-ribbon bridges. And the practical version nobody calls by this name: lack-of-fit, where a member is made the wrong length and the frame acquires a self-stress state whose magnitude is a fabrication tolerance.

What this makes readable

Essays that name this one as a prerequisite.

Named alongside this one

Essays reaching for the same objects. Nobody chose these; they are what the concept index makes visible.

What links here

Every essay whose body links to this one.

The objects this essay names

Each one links to every other essay that touches it.

Cable netDeterminacyEquilibrium matrixGeometric stiffnessInfinitesimal mechanismMaxwell countMechanismNull spacePrestressRankRigiditySelf-stressTensegrity