Integraph

M-N interaction

Theory behind axial force-moment interaction diagrams for reinforced concrete columns and beam-columns, including biaxial bending methods.

Introduction

Concrete columns and beam-columns resist combined axial force and bending moment simultaneously. The interaction diagram defines the complete envelope of (NN, MM) combinations that the section can resist at ultimate. Any design point falling inside this envelope is adequate; any point outside indicates failure.

Understanding the interaction diagram is essential for column design because the moment capacity depends strongly on the axial load level — moderate compression increases moment capacity (up to the balanced point), while high compression reduces it.

Background

The interaction diagram concept was developed in the 1960s as researchers recognised that treating axial force and bending independently was unconservative for reinforced concrete. The key insight is that concrete is strong in compression but weak in tension, so axial compression pre-compresses the tension zone and delays cracking, initially increasing the moment capacity.

Mathematical formulation

Uniaxial interaction

For a given neutral axis depth cc, the section is at a unique (NN, MM) state. By sweeping cc from zero (pure tension) to infinity (pure compression), the full interaction curve is traced.

At each value of cc:

  1. The strain distribution is linear with εtop=εcu\varepsilon_{top} = \varepsilon_{cu} (ultimate concrete strain, typically 0.003):
ε(y)=εcucyc\varepsilon(y) = \varepsilon_{cu} \cdot \frac{c - y}{c}
  1. Concrete force:
Cc=α2fcγcbC_c = \alpha_2 \cdot f'_c \cdot \gamma \cdot c \cdot b

Where α2\alpha_2 and γ\gamma are stress block parameters (code-dependent).

  1. Steel forces at each bar layer:
Fsi=Asiσs(εi)F_{si} = A_{si} \cdot \sigma_s(\varepsilon_i)
  1. Axial capacity: Nu=Cc+FsiN_u = C_c + \sum F_{si}

  2. Moment capacity: Mu=Ccyˉc+Fsi(yiyref)M_u = C_c \cdot \bar{y}_c + \sum F_{si} \cdot (y_i - y_{ref})

Special points

PointConditionPhysical meaning
Pure compression (Nu0N_{u0})cc \to \infty, all concrete and steel in compressionMaximum axial load, zero moment
Balanced (NbN_b, MbM_b)εs=εy\varepsilon_s = \varepsilon_y at the tension steelSimultaneous crushing and yielding
Pure bending (MuM_u)N=0N = 0, force equilibrium with zero net axial forceMaximum moment, zero axial load
Pure tension (NtN_{t})All steel in tension, concrete ignoredMaximum tensile capacity

Strength reduction factor

The ϕ\phi factor varies with the axial load level:

CodeCompression-controlledTransitionTension-controlled
AS 3600ϕ=0.65\phi = 0.65Linear interpolationϕ=0.85\phi = 0.85
ACI 318ϕ=0.65\phi = 0.65Linear interpolationϕ=0.90\phi = 0.90
EN 1992ϕ=1.0\phi = 1.0 (uses partial factors on materials instead)

Biaxial bending

When both MxM_x and MyM_y are present, the uniaxial interaction diagram is insufficient. The capacity becomes a 3D surface in (NN, MxM_x, MyM_y) space.

Rigorous method

ACS generates the full 3D surface by sweeping the neutral axis orientation angle θ\theta from 0^\circ to 360^\circ at each value of cc. For each (cc, θ\theta) combination, the equilibrium equations give a unique (NN, MxM_x, MyM_y) point on the surface.

The design point is then checked by interpolation: if it lies inside the surface, the section is adequate.

Bresler reciprocal method

A simplified approach per AS 3600 Cl. 10.6.4:

1Nu=1Nux+1Nuy1Nu0\frac{1}{N_u} = \frac{1}{N_{ux}} + \frac{1}{N_{uy}} - \frac{1}{N_{u0}}

Where:

  • NuN_u = biaxial capacity at (MxM_x, MyM_y)
  • NuxN_{ux} = uniaxial capacity at MxM_x alone (from NN-MxM_x curve)
  • NuyN_{uy} = uniaxial capacity at MyM_y alone (from NN-MyM_y curve)
  • Nu0N_{u0} = squash load (pure compression)

This method is accurate for sections with symmetric reinforcement but can be unconservative for highly asymmetric layouts.

Bresler load contour method

An alternative per ACI 318-19:

(MxMux)α+(MyMuy)α1.0\left(\frac{M_x}{M_{ux}}\right)^\alpha + \left(\frac{M_y}{M_{uy}}\right)^\alpha \leq 1.0

Where:

  • MuxM_{ux}, MuyM_{uy} = uniaxial moment capacities at the applied axial load NN^*
  • α\alpha = contour exponent (typically 1.0 to 2.0; 1.5 is common for rectangular sections)

Design standard treatment

AspectAS 3600:2018ACI 318-19EN 1992-1-1
Uniaxial methodRectangular stress blockRectangular stress blockParabolic-rectangular or rectangular
εcu\varepsilon_{cu}0.0030.0030.0035
Biaxial simplifiedBresler reciprocal (Cl. 10.6.4)Bresler contour (R6.3.3)Cl. 5.8.9 (contour method)
ϕ\phi approachVariable ϕ\phiVariable ϕ\phiPartial material factors (γc=1.5\gamma_c = 1.5, γs=1.15\gamma_s = 1.15)

Implementation in ACS

ACS generates interaction diagrams by:

  1. Sweeping the neutral axis depth cc over 100 evenly-spaced values, from near-zero (pure tension) up to 1.5 times the section depth measured in the bending frame
  2. At each depth, solving for force equilibrium and computing (NN, MM)
  3. Applying the code-specific ϕ\phi factor at each point
  4. For biaxial analysis, repeating at multiple angles (default 24 slices for the 3D surface)

The computation uses the user-selected stress-strain model. The rectangular stress block matches simplified code calculations; Hognestad or Mander models provide more realistic post-peak behaviour for advanced analysis.

The 3D N–MxM_xMyM_y surface on the Interaction tab is an interactive viewport. Because it is a solid rather than a flat drawing, its controls differ from the 2D canvases in one respect — left-drag rotates the surface rather than panning it:

ActionControl
RotateLeft-drag
Move in / outScroll wheel
PanMiddle-drag, or Ctrl (⌘) + left-drag
Reset the cameraThe house icon in the bottom-left corner

Rotating is usually what you want here: examining the balanced point, the pure-bending intercept, or closely-spaced design points near the boundary generally means viewing the envelope from a different angle rather than sliding it across the screen.

Middle-drag pans on this surface. It previously moved the camera in and out, which duplicated the scroll wheel and disagreed with every other canvas in the platform; the scroll wheel still does that job. See Canvas navigation for the controls shared across all surfaces.

Where the sweep stops

Step 1’s range covers the states that matter for bending, but not the top of the diagram. As cc grows the strain field flattens toward a uniform εcu\varepsilon_{cu}, and the axial force keeps climbing until every bar has passed its compression yield strain — which for AS 3600 grade-500 reinforcement takes

c    εcuεcuεyd  =  0.0030.0030.0025d  =  6dc \;\ge\; \frac{\varepsilon_{cu}}{\varepsilon_{cu} - \varepsilon_{y}} \, d \;=\; \frac{0.003}{0.003 - 0.0025} \, d \;=\; 6d

several times deeper than the geometric range above. ACS therefore continues the sweep past step 1 with geometrically-growing steps until the axial force stops increasing, so each curve (and, for the 3D surface, each of the 24 angle slices) ends at this uniform-strain limit rather than at an arbitrary depth.

This matters most for the biaxial surface. The uniform-strain limit does not depend on the bending angle θ\theta — a uniform strain field does not know which axis you are bending about — so every one of the 24 angle slices terminates at the same point, and the top of the surface closes cleanly. Stopping instead at a fixed multiple of the rotated section depth wsinθ+hcosθw|\sin\theta| + h|\cos\theta| would end each slice at a different physical state, distorting the surface near its apex.

The same rule handles a descending-branch stress model such as Hognestad: there the axial force reaches a peak and then falls as the whole section is driven onto the falling branch, and “stop when the axial force stops increasing” ends the sweep at that peak.

The pure-axial squash point Nu0N_{u0} still sits above the top of the swept curve, and the step between them is real rather than an artefact of the sweep. Two code provisions separate them: the squash load uses the Cl. 10.6.2.2 stress factor α1\alpha_1 while the swept curve integrates the Cl. 8.1.3 bending stress block α2<α1\alpha_2 < \alpha_1, and AS 3600 Table 2.2.2 assigns the pure-axial point a different ϕ\phi (0.65) from the compression-controlled surface (ϕo\phi_o).

:::caution[Result change — 2026-07] The convergence-tail extension described above landed with an update that also invalidated previously cached interaction diagrams. Sections above the old geometric-sweep rim — the region that was previously truncated at a fixed multiple of the rotated section depth — now show correct values at the top of the curve. Existing cached results were automatically invalidated (CalculationVersions.ConcreteInteraction advanced from 2.11 to 2.12); any saved design computed before this update will recompute the first time it is opened. :::

The conservative envelope and the Note-2-free overlays

The AS 3600:2018 Cl. 8.1.3 Note 2 (and the matching Cl. 10.6.2.5 Note 3) requires a further reduction to the stress block:

for any other sections where the width reduces from the neutral axis towards the compression face, α2\alpha_2 shall be reduced by 10 percent

Whether the Note applies depends on the bending direction, and for a rectangular column the answer is awkward:

  • Bent about a principal axis (θ=0\theta = 0^\circ, 9090^\circ, 180180^\circ, 270270^\circ), the compression zone is a rectangle of constant width. The Note does not apply.
  • Bent about any skew axis, the compression zone is a triangle narrowing to a corner — its width does reduce toward the compression face. The Note applies, and α2\alpha_2 drops 10%.

Read literally, per direction, that makes the concrete contribution fall 10% the instant the bending direction leaves a principal axis. ACS used to apply it that way, and the 3D surface carried a visible step of 8–9% along the My=0M_y = 0 and Mx=0M_x = 0 meridians.

That step is now gone, and nothing about the Note’s interpretation changed to remove it. ACS builds the surface in two parts:

  • The envelope — the swept 3D body — applies the 10% reduction at every angle whenever the section is width-reducing in any direction. The surface is therefore smooth in θ\theta, and it is the conservative reading everywhere.
  • The Note-2-free overlays — up to four ribs along the principal meridians — carry the un-reduced capacity for the directions the Note genuinely exempts. They are drawn dashed on the 3D surface, and a uniaxial load case is plotted and checked against the rib rather than the body.

The picture an engineer follows is the conservative one, while every enhancement the code actually permits stays visible and attributed. Nothing is ever presented as higher than the code allows in that direction.

:::caution[The enhancement is uniaxial only] The exemption exists at exactly four angles. At θ=0.001\theta = 0.001^\circ the compression zone already tapers and the Note applies in full, so the enhanced capacity is four ribs of zero angular width — not a region, and not something to interpolate toward.

ACS therefore consumes it only when the demand is uniaxial about a principal axis: My=0M^*_y = 0 or Mx=0M^*_x = 0 by construction. A skew load case — even one a fraction of a degree off the axis — is checked against the reduced envelope. If you read the overlay as a general 10% uplift and apply it to a biaxial case, you are using a capacity AS 3600 does not permit in that direction.

The 2D interaction chart names the basis it used beneath the plot whenever the un-reduced curve governs, so the number and the curve beside it always describe the same thing. :::

Two related behaviours:

  • The factor is fixed for the whole depth sweep of a slice, classified about the gross centroid rather than re-assessed at every neutral-axis depth. Re-assessing per depth would let the factor flip partway up a non-convex section’s sweep, which would put a step into the concrete force and break the monotonic ordering that the constant-NN contours and the design check rely on.
  • Circular sections take precedence and are reduced by 5% instead (Cl. 8.1.3 Note 2’s circular provision), applied at every angle. A circular column was already smooth in θ\theta and gains no overlay.

ACI 318 and EN 1992-1-1 have no equivalent provision, so their surfaces are unaffected throughout.

:::caution[Result change — 2026-08] Applying the reduction uniformly lowers the swept envelope in the four principal directions, which were previously un-reduced. For an AS 3600 non-circular section:

  • A skew load case now reports a slightly higher utilisation — it is measured against an envelope whose four meridians have come down to meet the skew slices.
  • A uniaxial load case about a principal axis is numerically unchanged: it is checked against the retained un-reduced curve, which is the same capacity it was checked against before.
  • The uniaxial NN-MxM_x / NN-MyM_y curves, both Bresler methods and the report chart are unchanged.
  • ACI 318, EN 1992-1-1 and circular AS 3600 sections are unchanged.

Cached interaction, M-κ\kappa and fire-capacity results were invalidated (CalculationVersions.ConcreteInteraction 2.23 → 2.24, ConcreteMkInteraction 1.28 → 1.29, FireCapacity 7.11 → 7.12); any saved design computed before this update recomputes the first time it is opened. :::

The ϕNu0\phi N_{u0} marker

The pure-axial squash point is drawn as a distinct labelled marker rather than as the top of the curve, because two separate provisions place it above the moment surface:

  • AS 3600:2018 Table 2.2.2(a)(ii) gives axial force without bending a fixed ϕ=0.65\phi = 0.65, while every eccentric point on the surface uses item (d), ϕo=0.65kϕ\phi_o = 0.65 k_\phi — which is 0.60 when Q/G<0.25Q/G < 0.25.
  • Nu0N_{u0} is built from the Cl. 10.6.2.2 squash factor α1\alpha_1, not the Cl. 8.1.3 bending block α2\alpha_2. Cl. 8.1.3 Note 2 attaches to α2\alpha_2, so the 10% reduction never reached the squash point either.

Hovering the marker on the 2D chart states both. The gap between it and the top of the swept curve is real and code-mandated, not an artefact of where the sweep stops.

The apex is not always at M=0M = 0

Cl. 10.6.2.2 defines Nu0N_{u0} at zero eccentricity about the plastic centroid — the point through which the fully-plastic resultant α1fcAc+σsAs\alpha_1 f'_c A_c + \sum \sigma_s A_s acts. Every moment on this surface is reported about the gross centroid, because that is the frame you enter MM^* in. For a symmetric bar layout the two coincide and the apex sits on the NN axis. For an asymmetric one they do not, and the apex carries the offset as a genuine moment:

Mx=(σsα1fc)As(ybaryref)α1fcAp(ypyref)M_x = \sum (\sigma_s - \alpha_1 f'_c) A_s (y_{bar} - y_{ref}) - \alpha_1 f'_c \sum A_p (y_p - y_{ref})

Each term is the companion of a term in Nu0N_{u0} itself: a bar carries σs\sigma_s and displaces α1fc\alpha_1 f'_c over its own area, while a tendon carries no force at squash but still displaces concrete. The uniform α1fc\alpha_1 f'_c over the gross concrete has zero first moment about the gross centroid, so no concrete term survives. MyM_y takes the same form in (xrefx)(x_{ref} - x).

A 400 × 400 column with 4 × N24 at y=55y = 55 against 2 × N16 at y=345y = 345 (fc=40f'_c = 40) has an apex at Mx=95.1M_x = -95.1 kN·m nominal — within 0.5% of that surface’s own uniform-strain rim, which is the same physical state reached through Cl. 8.1.3 instead. Reading the apex at M=0M = 0 would place it at a state the section cannot reach.

Degenerate constant-N contours

A constant-axial-force (N=constN = \text{const}) slice through the interaction surface is a closed curve in the MxM_xMyM_y plane. For a symmetric bar layout, that curve always encloses the origin — at every bending angle there is some positive moment capacity.

For an asymmetric layout at high axial load — above roughly half the squash load — this is no longer guaranteed. As NN approaches Nu0N_{u0}, the surface is governed by the plastic centroid offset. Because Nu0N_{u0} is computed at zero eccentricity about the plastic centroid while every moment on the surface is reported about the gross centroid, the surface shifts laterally at high axial levels. Eventually the constant-NN contour migrates far enough that it no longer encloses the origin.

When the contour does not enclose the origin, no ray from the origin reaches it in any demand direction — there is no utilisation to report. ACS refuses to fabricate one. The 2D curve omits those axial levels rather than plotting an unintelligible or negative ratio, and the Interaction Surface tab states why. The usual fix is a bar-layout review (an inadvertent asymmetry), or confirming that the AS 3600 Cl. 10.1.2 minimum eccentricity floor is already applied — a design point that would trigger a degenerate contour often moves back inside the surface once the minimum moment is in effect.

Minimum design moments (AS 3600 Cl. 10.1.2)

For column-type members, AS 3600 Cl. 10.1.2 requires that the design moment used for capacity assessment be at least:

Mmin=N×0.05DM^*_{\min} = N^* \times 0.05D

where DD is the overall depth of the section in the relevant bending plane. ACS applies this floor to the entered moments before plotting the design point on the surface. The floored demand is what both the batch design-check path and the interactive diagram check against — the same moment governs both. The 2D interaction chart and the Interaction Surface tab show a supplementary row when the minimum floor is the controlling demand, so the number used in the check is always traceable.

The minimum moment is applied independently in each bending plane, using DD in the MxM_x and MyM_y directions respectively. A pure-axial design point for a column-type member is therefore never plotted at M=0M = 0: it is floored to the minimum eccentricity moment before the utilisation is computed, and that bending angle is used to locate it on the surface.

Prestressed sections

When the section contains bonded prestressing tendons, they participate in the neutral-axis-depth sweep via full strain compatibility (AS 3600:2018 Cl. 8.1). At each value of cc and bending angle θ\theta, the tendon strain is computed from the same fibre equilibrium used for the M-κ\kappa curve:

εp(c)=εpe+εdecompεcucypc\varepsilon_p(c) = \varepsilon_{pe} + \varepsilon_{decomp} - \varepsilon_{cu} \cdot \frac{c - y_p}{c}

Where ypy_p is the tendon distance from the extreme compression fibre and εpe+εdecomp\varepsilon_{pe} + \varepsilon_{decomp} is the initial tensile strain from effective prestress and decompression (see the moment-curvature theory page for the full definition).

The tendon force is Fp=Apσp(εp)F_p = A_p \cdot \sigma_p(\varepsilon_p) clamped at the yield force ApfpyA_p f_{py}. Because the tendon displaces concrete, the displaced concrete force 0.85fcAp0.85 f'_c \cdot A_p (or code equivalent) is subtracted from the concrete resultant — identical to the netting used for reinforcing bars.

At the end-caps:

  • Squash load (Nu0N_{u0}, cc \to \infty): all concrete and steel in compression; tendons contribute Apmin(fpy,σpe)A_p \cdot \min(f_{py},\, \sigma_{pe}) toward compression.
  • Pure tension (NtN_t, c=0c = 0): concrete ignored; tendons contribute ApfpyA_p \cdot f_{py} toward tension.

Unbonded tendons

An unbonded tendon has no strain compatibility with the section: its strain is averaged over the member length rather than read off the local strain plane. It therefore carries neither the decompression term εdecomp\varepsilon_{decomp} nor the local fibre increment, and its stress is held at the code’s simplified ultimate value σpu\sigma_{pu} throughout the sweep — AS 3600:2018 Cl. 8.1.8, ACI 318-19 Cl. 20.3.2.4.1, or EN 1992-1-1 Cl. 5.10.8(2):

σpu=σp.ef+70+fc100ρpσp.ef+400,σpufpy\sigma_{pu} = \sigma_{p.ef} + 70 + \frac{f'_c}{100\,\rho_p} \le \sigma_{p.ef} + 400, \quad \sigma_{pu} \le f_{py}

with ρp=Apt/(befdp)\rho_p = A_{pt}/(b_{ef} d_p). Because the AS 3600 and ACI forms select their divisor and cap on the member span-to-depth ratio — Item (a) at L/D35L/D \le 35, the lower Item (b) above it — that ratio is an input the cross-section cannot derive. Enter it on the PT panel; left blank, Item (a) is assumed and the panel says so. The EN 1992 form is span-independent.

ρp\rho_p is measured in the bending frame — dpd_p from the compression face, befb_{ef} across it — so on the 3D surface it is re-evaluated for each angle slice rather than taken from the θ=0\theta = 0 lever.

Tendons set dod_o, and therefore ϕ\phi

A tendon is tensile reinforcement for the purpose of AS 3600:2018 Cl. 1.7, which defines dod_o as the distance from the extreme compressive fibre to the centroid of the outermost layer of tensile reinforcement or tendons. Where the tendon sits outside the outermost bar — or where the section carries no passive steel at all — the tendon is what sets dod_o, hence kuo=dn/dok_{uo} = d_n/d_o, hence the Table 2.2.2(b) capacity reduction factor ϕb=1.2413kuo/12\phi_b = 1.24 - 13k_{uo}/12 applied at every point on the design curve.

This matters most on a fully-prestressed section with no bars at the station — ordinary in transfer beams, precast and band beams away from supports. Such a section has a real, finite kuok_{uo} and takes the ϕ\phi its ductility earns; it is not treated as unreinforced.

The balanced axial force NubN_{ub} is the one quantity that stays keyed to the bars alone, because Cl. 1.7 defines it at the state where the extreme tensile bar yields (kuo=0.003/(0.003+fsy/Es)k_{uo} = 0.003/(0.003 + f_{sy}/E_s), on fsyf_{sy}).

A bonded tendon’s strain limit bounds the sweep

Every swept point is checked against the bonded tendons’ strain at maximum force, AgtA_{gt} — or εud=0.9Agt\varepsilon_{ud} = 0.9\,A_{gt} under EN 1992-1-1, where Cl. 6.1(3)P makes the limit mandatory. Where a point would strain a tendon past that, εcu\varepsilon_{cu} at that neutral-axis depth is reduced until it does not, so the ordinate is a state the strand can actually reach rather than one read off the flat cap of its constitutive curve. See Tendon strain at ultimate for why AgtA_{gt} is the bound and what is disclosed.

The sweep is parameterised by dnd_n rather than solving for it, so the strain plane is affine in εcu\varepsilon_{cu} and the governing value is closed-form — it costs no extra force evaluations, on the curve or on any angle slice of the 3D surface.

Two quantities deliberately do not follow the reduced strain: kuok_{uo} and NubN_{ub}. Both are defined by the code at the code’s own εcu\varepsilon_{cu} (Cl. 1.7, Cl. 8.1.5), and a reduced εcu\varepsilon_{cu} shrinks dnd_n — so reading them off it would let a section that fails kuo0.36k_{uo} \le 0.36 at the code strain report as ductile, and would feed the ϕ\phi interpolation a different NubN_{ub} here than on the flexure panel. The capacity moves; the code checks do not.

For reinforced (non-prestressed) sections the effectivePrestressMpa parameter defaults to zero, so the interaction diagram path is byte-identical to the pre-PT implementation.

Limitations and assumptions

  • Plane sections remain plane
  • No second-order (P-δ\delta) effects at the section level — these are member-level effects that must be handled separately
  • Slenderness effects are not included (the interaction diagram represents the cross-section capacity, not the member capacity)
  • No time-dependent redistribution in the interaction diagram

Further reading

  • Park, R. and Paulay, T., Reinforced Concrete Structures, John Wiley & Sons, 1975. Chapter 5 covers column interaction.
  • Wight, J.K. and MacGregor, J.G., Reinforced Concrete: Mechanics and Design, 7th ed., Pearson, 2016.
  • Bresler, B., “Design Criteria for Reinforced Columns under Axial Load and Biaxial Bending,” ACI Journal, 1960.