Sections and stress

The section calculation with no formula in it

Every section result on this site is a closed form, and each was derived once for one arrangement of material. Slice the section instead, give each strip the strain a curvature puts it at, and move the neutral axis until the axial force balances — and the same twenty lines answer for a cracked section, a confined one, a prestressed one and a composite one, having been told nothing about any of them.

Assumes Plane sections stay plane, and what the assumption costs, A section made of two materials, one of them pretended away and The section that yields from the outside in.

There is a shelf of section formulas on this site. The transformed section for two elastic materials. The cracked section for concrete that has given up in tension. The plastic moment for a fully yielded steel shape. The stress block for concrete at its crushing strain. Each was derived once, for one arrangement of material, and each stops at the boundary of the case it was derived for.

They are all the same computation.

Slice the section into strips. Assume a curvature. Give every strip the strain that curvature and a trial neutral axis put it at. Look up each strip’s stress in whatever law belongs to its material. Sum the forces; if they do not balance the applied axial force, move the neutral axis and do it again. When they balance, take moments.

Eight slices is enough, and nobody would have guessed itThe error in a cracked section's moment capacity against the number of strips it was integrated with, for a 300 × 450 mm section with 1200 mm² of steel, measured against the same computation at 2048 strips. The point of the fibre method is that it contains no formula: slice the section, give every strip the strain the assumed curvature puts it at, move the neutral axis until the axial force balances, and sum. It handles a cracked section, a confined one, a prestressed one and a composite one with the same twenty lines. The discretisation costs 1.4% at 2 strips and 0.088% at 8 — and the convergence is not smooth, because what the error actually depends on is where the neutral axis falls relative to a strip boundary rather than on the strip count as such.0.511.52-0.015-0.01-0.0050.0050.010.015strips (log₁₀)error in the moment capacity2832128a tenth of a per centclosed form:x = 137.0 mmstrips: 137.0 mm
Fig. 1 The error in a cracked section’s moment capacity against the number of strips it was integrated with, against the same computation at two thousand strips. Eight strips are enough, and the convergence is not smooth.

That loop is twenty lines and it does not know what kind of section it has been handed. It has never heard of cracking, yielding, confinement or prestress. Hand it an elastic section with two materials and it reproduces the transformed-section answer. Hand it a concrete section with tension excluded and it finds the cracked neutral axis. Hand it a steel section at large curvature and it finds the plastic moment. It is not an alternative to those formulas; they are what it does under particular conditions.

Which free body produced the number

The cut face, taken as a set of strips. Two equations govern it, and they are the two equations every section calculation on this site has used:

iσiAi=NiσiAiyi=M\sum_i \sigma_i A_i = N \qquad\qquad \sum_i \sigma_i A_i y_i = M

with the strain in each strip fixed by the assumption that plane sections stay plane:

εi=κ(yiyna)\varepsilon_i = \kappa (y_i - y_{na})

Two unknowns are hiding in there. The curvature κ\kappa is chosen — it is the independent variable, and the answer comes out as a moment for each curvature. The neutral axis position ynay_{na} is not chosen: it is whatever makes the first equation come out right, and there is no way to write it down in advance.

That is the whole reason the method is a loop rather than a formula. Axial equilibrium is one equation in one unknown and it is not linear, because the relationship between strain and stress in each strip is not. Bisection settles it in forty iterations to any precision anybody wants, and forty iterations of a twenty-line sum is nothing.

For a 300 by 450 section with 1,200 mm² of steel and a modular ratio of 7.5, the closed form puts the cracked neutral axis at 137.03 mm. The strip loop, told nothing about cracking and given only “concrete takes no tension”, puts it at 137.03 mm.

The neutral axis is wherever the first moment vanishesA 300 by 500 section with 1200 mm² of steel at a depth of 450, carrying 150 kNm after the tension side has cracked. The neutral axis is no longer at mid-depth: it has risen to 137.0 mm from the top, which is where the first moment of the compression zone plus the transformed steel vanishes. The compression is 18.0 N/mm² at the top fibre and the steel carries 309 N/mm²; the resulting couple is 371 kN on a lever arm of 404 mm, which multiplies back to the 150 kNm applied. The uncracked section would have had 3422×10⁶ mm⁴ against the cracked 1139×10⁶ — a loss of 67% of the stiffness.x = 1371200 mm² of steel, n = 7.5b = 30018.0 N/mm²371 kN in the steelz = 404C = T = 371 kN · C·z = 150.0 kNm = the applied momentcracked I 1139×10⁶ mm⁴ against uncracked 3422×10⁶ — 67% of the stiffness gone
Fig. 2 The closed form for the same section: the neutral axis is where the first moment of the transformed area vanishes, which is a quadratic. The strip loop arrives at the same 137.0 mm having been given no quadratic and no notion of a transformed area.

How many strips, which turns out not to be the question

The obvious worry about a discretisation is how fine it has to be, and the obvious answer is “as fine as the machine allows”. Both are wrong here.

Two strips give 1.4% error. Eight give 0.088%. Two thousand give nothing worth having over eight, and the error between those points does not fall monotonically — it can be worse at sixteen than at eight.

The reason is worth understanding because it generalises. The error does not depend on the strip count; it depends on where the neutral axis falls relative to a strip boundary. A strip that straddles the neutral axis has part of it in compression and part in tension, and the method gives the whole strip one stress — the stress at its centre. If the neutral axis happens to land on a boundary, that error is zero at any strip count. If it lands at a strip centre, the error is at its worst.

So the convergence plot is not a smooth curve with a slope to be read off; it is a noisy descent whose envelope falls as 1/n21/n^2 and whose individual points bounce around inside it. The useful reading is the envelope, and the practical rule is that eight to sixteen strips across a compression zone is plenty for anything, which is far fewer than instinct suggests.

There is a cheap fix that removes the noise entirely, and it is the same one every quadrature scheme uses: put a strip boundary at every known discontinuity — the neutral axis after the first iteration, each material change, each layer of reinforcement — and integrate exactly within each region. It converts the noisy descent into an exact answer at very few strips.

Eight slices is enough, and nobody would have guessed itThe error in a cracked section's moment capacity against the number of strips it was integrated with, for a 300 × 450 mm section with 1200 mm² of steel, measured against the same computation at 2048 strips. The point of the fibre method is that it contains no formula: slice the section, give every strip the strain the assumed curvature puts it at, move the neutral axis until the axial force balances, and sum. It handles a cracked section, a confined one, a prestressed one and a composite one with the same twenty lines. The discretisation costs 1.4% at 2 strips and 0.088% at 8 — and the convergence is not smooth, because what the error actually depends on is where the neutral axis falls relative to a strip boundary rather than on the strip count as such.0.40.60.811.21.41.61.8-0.015-0.01-0.0050.0050.010.015strips (log₁₀)error in the moment capacity248163264a tenth of a per centclosed form:x = 137.0 mmstrips: 137.0 mm
Fig. 3 The same convergence read at more points. The bounce is visible: sixteen strips are worse than twelve, because the neutral axis has moved relative to a boundary rather than because anything about the section has changed.

What it buys, which is not accuracy

The strip loop is not more accurate than the closed forms. On every problem a closed form covers, the two agree to whatever precision the strips are taken to, and the closed form gets there instantly.

What it buys is generality without new derivations, and that is a different currency. Four examples, none of which has a closed form worth writing down:

A confined core inside an unconfined cover. Confinement raises the peak stress and multiplies the crushing strain, but only inside the hoops. So a column section has two concrete laws in it, on regions with a boundary that is not a straight line, and the cover spalls off at a strain the core is nowhere near. As a formula this is unpleasant. As strips it is a conditional inside the loop.

A prestressed section. The tendon has a strain in it before anything is applied, so its strain is the section’s strain plus a constant. One extra term, in one strip.

A composite section part way through construction. The steel carries the wet concrete alone and the composite section carries everything after. The strips have different strain origins depending on when they arrived, which as algebra means tracking two neutral axes and as strips means a per-strip offset.

A section that has been loaded and unloaded. Residual stresses and previous yielding mean each strip starts on a different point of its own hysteresis path. There is no closed form at all for this, and there does not need to be.

Two materials pulled until they stopTwo stress-strain curves — concrete, timber, along the grain — plotted to a strain of 2.0%. None of them has a plateau, so on every curve here the yield stress is a construction rather than an event. No offset construction is drawn.00.5%1%2%2%01020304050strainstress, N/mm²concretetimber
Fig. 4 Two of the laws the same loop is handed. Nothing in the strip sum knows which curve belongs to which strip, so a section containing both is a conditional inside the loop and a special case for every formula.

The output that a formula cannot give at all

There is something the fibre model produces as a by-product which no closed form does, and it is the reason the method is worth having even where a formula exists.

Run the loop over a range of curvatures rather than at one, and what comes out is the whole moment-curvature relationship — not a capacity but a curve, with the first-yield point on it, the plateau, the descending branch, and the curvature at which the extreme fibre crushes.

What it costs to reach the plastic moment, for two shapesMoment against curvature for two cross-sections of identical area (3000 mm²) and identical depth (200 mm), in mild steel, each divided by its own first-yield moment and its own first-yield curvature. The rectangle has a shape factor of 1.50 and reaches 98% of its plastic moment at 4.3 times the curvature at first yield; The I-section has a shape factor of 1.09 and reaches 98% of its plastic moment at 1.2 times the curvature at first yield. The dashed lines are the rigid-plastic moments, computed from the equal-area axis rather than read off the curves, and no curve reaches its own.02468101200.511.5curvature ÷ curvature at first yieldmoment ÷ moment at first yieldrectangle: 1.50× the yield moment, at 4.3× the yield curvatureI-section: 1.09× the yield moment, at 1.2× the yield curvature
Fig. 5 What the loop gives when it is run at every curvature rather than at one. The capacity is a single point on this; everything else on it is information a formula for the capacity does not contain.

That curve is what rotation capacity is read from, what a plastic hinge’s length is estimated from, and what a nonlinear frame analysis needs at every section it integrates. A capacity formula answers one question about the section; the curve answers the questions that come after the capacity has been reached, and those are the ones a collapse calculation is made of.

It also makes visible something a capacity hides. Two sections with identical moment capacities can have completely different curvatures at failure, and the difference is the whole of the difference between a ductile member and a brittle one. The number that is checked is the same; the number that decides what happens is not checked at all.

Two ways to drive the loop, and only one of them survives the peak

The description above fixes the curvature and solves for the neutral axis. There is an obvious alternative — fix the moment and solve for the curvature — and it is the one most people reach for first, because a moment is what a structure hands a section.

It fails, and it fails in exactly the place the analysis is being run for.

Past the peak of the moment-curvature curve there are two curvatures at every moment, and past the end of the curve there are none. A solver hunting for the curvature that produces a given moment will find the wrong root, oscillate between the two, or diverge — and it will do all three within a few per cent of the capacity, which is the region a collapse calculation lives in. Fixing the curvature instead makes the moment a single-valued output at every step, and the descending branch is traced as easily as the rising one.

That is a general property of nonlinear analysis rather than a quirk of sections: drive the calculation with the quantity that stays monotonic. The same choice appears one level up, where an arch or a shallow frame that snaps through has two loads at some displacements, and the analysis has to be displacement-controlled for the same reason.

A load with a maximum in it, and nothing bifurcatesLoad against apex movement for a two-bar frame of half-span 1000 mm and rise 150 mm. The load rises to 133.4 kN at a movement of 64 mm — well short of the 150 mm that would bring the apex level — and then falls. Past that point the frame can only be held by taking load away, so under a dead weight it goes: 260 mm of movement at constant load, arriving inverted and in tension. The minimum on the path is -133.4 kN, the exact negative of the maximum, because the geometry is symmetric about the flat position and the arithmetic knows it.050100150200250300350-150-100-50050100150movement of the apex (mm)load (kN)limit point: 133.4 kNit jumps 260 mmas builtat the limitafter it goes
Fig. 6 Why the driving variable matters. Where the response curve turns back on itself, the load is not a function of the displacement and a load-controlled solver has nothing to converge to — while a displacement-controlled one walks round the corner without noticing.

What the axial force does to all of this

Everything so far has had N=0N = 0 on the right of the first equation. Put a real number there and the loop is unchanged — the neutral axis simply settles somewhere else — but two things about the answer change, and both are worth naming.

The first is that the moment capacity becomes a function of the axial force, which is the interaction curve every column is designed on. Running the loop at a series of axial forces and recording the peak moment at each traces that curve out directly, including the balance point and the reversal in slope near it. There is no closed form for the interaction curve of a real reinforced section, and there does not need to be.

The second is that the section may have no tension zone at all, in which case there is no neutral axis inside the section and the bisection has to be allowed to look outside it. That is not a numerical detail: it is the whole difference between a member that cracks and one that does not, and a bisection bounded to the section’s own depth will silently report the wrong answer for every section in that state.

Two ways to fail, and the curve between themThe exact plastic interaction between axial force and moment for one section of identical area, both normalised by their own squash load and their own plastic moment. The rectangle stands 25.0% of its plastic moment outside the straight line at an axial ratio of 0.50. Every section here is symmetric about its centroid, so the equal-area axis and the centroid coincide and it makes no difference which the moments are taken about. The straight line is the rule that says the two capacities share out in proportion, and everything between it and a curve is capacity that rule gives away.00.20.40.60.8100.20.40.60.81moment ÷ plastic momentaxial force ÷ squash loadrectangle: 25.0% of Mp outside the linethe straight-line rule
Fig. 7 What the same loop gives when it is run at a series of axial forces rather than at one. The whole interaction diagram is an output rather than a derivation, and the balance point is wherever the curve turns.

The same idea, one level up

The pattern here — replace an integration that has no closed form by a sum over pieces, and iterate the one unknown that equilibrium fixes — is not confined to sections.

It is exactly what the stiffness method does to a structure: replace the continuum by elements, write equilibrium at the nodes, and solve. It is what a numerical integration does to a deflection. It is what the yield-line search does to a slab. In each case the invention is bookkeeping rather than mechanics, and in each case what it replaced was a shelf of special cases.

The fibre model is the smallest instance of it, which is why it is a good one to learn from. There is one integral, one unknown, and one loop, and the whole apparatus fits on a screen.

One member's stiffness, scattered into the freedoms it touchesA 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.0123four nodes, three freedoms eachthe marked member touches six of the twelvethe global matrix, twelve by twelvethirty-six entries added in; the rest untouched
Fig. 8 The same idea applied to a frame instead of a section. Elements rather than strips, nodes rather than a neutral axis, and a matrix rather than a bisection — but the same trade of algebra for bookkeeping.

Where the model stops

Three assumptions, and they are precisely the ones the closed forms make, which is the point of the third refutation above.

Plane sections stay plane. Every strip’s strain comes from one linear profile. Near a support, a load or a hole that is not true, and no amount of refinement in the strip direction fixes it, because the error is in the strain assumption rather than in the integration.

Each strip is at one stress. True in the limit and the source of the discretisation error discussed above. It also quietly assumes the stress varies only across the depth, which is wrong for a section under biaxial bending — that needs a two-dimensional mesh and a neutral line whose angle is a second unknown.

The material’s law is the member’s law. The stress-strain curve came from a specimen. Applying it strip by strip assumes a region of the member behaves like a small specimen, which is the assumption the size effect says is not generally safe, and which is why the method is trustworthy for a confined compression zone and not for a plain concrete one.

There is a fourth, less often stated: the method finds an equilibrium state, not necessarily a stable one. On the descending branch of a moment-curvature curve the section is shedding load as it deforms, and whether the member can follow that path depends on what is around it — which is a question about the structure and not about the section.

What the picture cannot show

The convergence plot shows an error against a strip count, which makes the discretisation look like the accuracy question. In practice it is nowhere near the largest one.

The concrete strength is known to about 15%. The steel’s yield stress is a characteristic value with a real distribution behind it. The modular ratio depends on a creep coefficient quoted to one significant figure. Against any of those, the difference between eight strips and eight hundred is invisible — which is the honest reading of the figure, and is why the practical answer to “how many strips” is “far fewer than instinct suggests, and it is not the number to worry about”.

The generalisation

The habit worth carrying is a question to ask of any closed form: what did it assume, and what does the calculation look like if that assumption is removed?

For section formulas the answer is almost always the same. Every one of them is a case where the integral over the section happened to be doable — a rectangle with a linear stress, a rectangle with a constant stress, two rectangles with a step between them. The formula is not a theory of the section; it is a theory of that integral being tractable.

Remove the tractability and nothing about the mechanics changes at all. The two equations are the same equations, the plane-sections assumption is the same assumption, and what has gone is only the possibility of writing the answer down. That is worth knowing before reaching for a formula, because it says exactly which of its features are physics and which are convenience — and it is nearly always fewer of the first than the printed version suggests.

Named alongside this one

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

The objects this essay names

Each one links to every other essay that touches it.

Composite actionConfinementCracked sectionCurvatureDiscretisationEquilibriumFibre modelIterationMoment curvatureNeutral axisPlane sectionsPrestressSectionStress strainTransformed section