CIV-321 · Lesson 7 of 12 · 20 min
Moment distribution
Slope-deflection turns a continuous beam or frame into a set of simultaneous equations. In 1930, before electronic computers, Hardy Cross published a way to avoid solving them: lock every joint against rotation, then release the joints one at a time and let them rotate, distributing and carrying over moments until the joints are in balance. Each step needs only arithmetic, the process converges quickly, and the engineer can watch moments flow through the structure. Moment distribution was the dominant method of frame analysis for forty years, and it remains the fastest way to check a continuous beam or a small frame by hand.
Three ideas: stiffness, distribution and carryover
The method rests on three quantities, all of which follow from the slope-deflection equation of lesson 5.
- Member stiffness. The moment needed at the near end of a member to rotate it through one radian is its stiffness K. With the far end fixed, \(K = 4EI/L\). With the far end pinned, \(K = 3EI/L\), which is the modified stiffness.
- Distribution factor. When a joint with several members is rotated, each member resists in proportion to its stiffness. An unbalanced moment applied to the joint is shared among the members by the distribution factors
which add to 1.0 at each joint. A fixed support has a distribution factor of zero (it absorbs any moment without rotating), and a pin with no other member has a distribution factor of 1.0.
- Carryover factor. Rotating the near end of a member with a fixed far end induces a moment at the far end equal to one half of the near-end moment, with the same sign. The carryover factor is therefore \(+\tfrac{1}{2}\) for prismatic members toward a fixed or locked end, and zero toward a pin.
The procedure
- Compute the stiffness of every member end at the joints that can rotate, and the distribution factors at each joint.
- Lock all joints and compute the fixed-end moments, with the slope-deflection sign convention (clockwise positive on the member end).
- Release a joint. Its unbalanced moment is the sum of the member end moments there. Distribute the negative of this sum to the members by their distribution factors, so the joint balances.
- Carry over one half of each distributed moment to the far end of its member (unless the far end is a pin).
- Repeat for the other joints, cycling until the carried-over moments are negligible. Add each column of the table to obtain the final end moments.
Joints can be released one at a time or all together in each cycle; both converge to the same answer. Releasing all joints together and carrying over afterwards is easier to tabulate and is the scheme the program below uses.
The corridor beam under pattern load
Worked problem
Moment distribution for three spans
Analyze the three-span corridor beam of lesson 2 (spans 20 ft, constant EI, pins at A and D) with the pattern load that maximizes the moment over B: 1.0 kip/ft on spans AB and BC and dead load only, 0.4 kip/ft, on span CD.
Show solution
- Stiffnesses at B: end span BA, far end pinned, \(K = 3EI/L\); span BC, far end locked, \(K = 4EI/L\). The same at C. Distribution factors: \(\text{DF}_{BA} = 3/7 = 0.429\) and \(\text{DF}_{BC} = 4/7 = 0.571\), mirrored at C.
- Because the modified stiffness is used for the end spans, their fixed-end moments are those of a propped cantilever, \(\pm wL^2/8\), with the pinned end already released.
- \[\text{FEM}_{BA} = +\frac{1.0(20)^2}{8} = +50.00 \quad \text{FEM}_{BC} = -\frac{1.0(20)^2}{12} = -33.33 \quad \text{FEM}_{CB} = +33.33 \quad \text{FEM}_{CD} = -\frac{0.4(20)^2}{8} = -20.00\]
- Joint B is unbalanced by \(50.00 - 33.33 = +16.67\); distribute \(-7.14\) to BA and \(-9.52\) to BC. Joint C is unbalanced by \(33.33 - 20.00 = +13.33\); distribute \(-7.62\) to CB and \(-5.71\) to CD.
- Carry over half of the distributed moments in span BC: \(-3.81\) to BC and \(-4.76\) to CB. Nothing is carried to the pins.
- Rebalance the joints, carry over again, and continue (table below).
- After four cycles the moments are \(M_{BA} = -M_{BC} = 44.04\) and \(M_{CB} = -M_{CD} = 23.97\ \text{kip·ft}\), within 0.2 percent of the converged values.
Answer: The converged support moments are 44.0 kip·ft hogging over B and 24.0 kip·ft over C, exactly the force method results for the same pattern in lesson 2. Four cycles of arithmetic replaced two simultaneous equations, and the table shows how load on BC drives moment into B.
| Step | BA | BC | CB | CD |
|---|---|---|---|---|
| DF | 0.429 | 0.571 | 0.571 | 0.429 |
| FEM | 50.00 | −33.33 | 33.33 | −20.00 |
| Distribute | −7.14 | −9.52 | −7.62 | −5.71 |
| Carry over | −3.81 | −4.76 | ||
| Distribute | 1.63 | 2.18 | 2.72 | 2.04 |
| Carry over | 1.36 | 1.09 | ||
| Distribute | −0.58 | −0.78 | −0.62 | −0.47 |
| Carry over | −0.31 | −0.39 | ||
| Distribute | 0.13 | 0.18 | 0.22 | 0.17 |
| Sum | 44.04 | −44.04 | 23.97 | −23.97 |
Convergence is fast when the carryover pathways are short and the distribution factors are moderate. Each cycle here reduces the unbalance by a factor of \(0.571 \times 0.5 = 0.29\). Joints connected through very stiff members converge more slowly, and in that case releasing the joints one at a time (Gauss-Seidel style) speeds things up.
Checking the result
Moment distribution is a sequence of small additions, and arithmetic slips are the main risk. Three checks catch nearly all of them. First, every joint must balance in the final sums. Second, the change in moment at each end of a member (final minus fixed-end) can be checked against the slope-deflection equation: the rotations it implies must be the same for every member meeting at a joint. Third, the moments obtained should match the patterns you expect: the fully loaded spans either side of B should produce a larger hogging moment over B than the all-spans case, and they do (59.4 compared with 54.0).
Frames without sway
For a braced frame, or a symmetric frame under symmetric load, moment distribution proceeds exactly as for beams. Every rigid joint gets distribution factors from all the members that meet there, columns included, and columns with fixed bases receive carryovers to their bases. A column with a pinned base uses the modified stiffness \(3EI/L\), just like the end span of a beam.
For the garage end frame of lesson 6 (fixed bases, columns 20 ft, beam 60 ft with twice the column I), the stiffnesses at corner B are \(K_{BA} = 4EI_c/20 = 0.20EI_c\) and \(K_{BC} = 4(2EI_c)/60 = 0.133EI_c\), giving distribution factors of 0.60 to the column and 0.40 to the beam. Under the symmetric roof load the beam's far end rotates equally and oppositely, which halves its effective stiffness; using that symmetric stiffness \(2EI/L\) for the beam, one distribution gives the exact corner moment of 184.5 kip·ft found in lesson 6.
Frames with sway
Moment distribution cannot let joints translate, because every step holds the joints in position. Sway is handled by superposition in two stages.
- Stage 1, no sway. Add an imaginary horizontal restraint at the beam level to stop sway, and distribute the fixed-end moments of the loads. Compute the column shears and the force R that the restraint must provide.
- Stage 2, sway. Remove the loads, impose an arbitrary sway \(\Delta'\) with the joints locked (which induces fixed-end moments \(-6EI\Delta'/h^2\) at both ends of every column), distribute these, and compute the column shears and the restraint force \(R'\) they correspond to.
- Combine: final moments = stage 1 + \((R/R')\) times stage 2, chosen so the imaginary restraint force is canceled.
For the garage frame under 6.75 kip wind, stage 1 has no fixed-end moments at all, so the restraint carries the whole 6.75 kips. In stage 2, choose a sway giving fixed-end moments of \(-100\) kip·ft at every column end. Distribution with factors 0.60 and 0.40, and carryover to the bases, converges to \(-50.0\) kip·ft at the column tops and \(-75.0\) kip·ft at the bases. The column shears are \(2(50.0 + 75.0)/20 = 12.5\) kips, so the scale factor is \(6.75/12.5 = 0.54\), and the final moments are \(-27.0\) and \(-40.5\) kip·ft, matching lesson 6.
A frame with n independent sways needs n separate sway stages and n simultaneous equations for the scale factors, which removes much of the method's appeal. For multi-story unbraced frames, the matrix stiffness method is the practical choice.
Solving it in code
Iteration is what computers do best. The program below runs the same table automatically, releasing both joints in each cycle and stopping when the carryovers fall below 0.005. Change the span loads to try the other patterns from lesson 2, or change one EI to see how a stiffer span attracts moment.
# Moment distribution (Hardy Cross) for the three-span corridor beam A-B-C-D
# Ends A and D are pins: the end spans use the modified stiffness 3EI/L and no carryover to the pin.
L = [20.0, 20.0, 20.0] # spans (ft)
EI = [1.0, 1.0, 1.0] # relative EI
w = [1.0, 1.0, 0.4] # factored load on each span (kip/ft): live load on AB and BC only
# member ends at the two interior joints: (span, end) with end 0 = left, 1 = right
K = [3 * EI[0] / L[0], 4 * EI[1] / L[1], 4 * EI[1] / L[1], 3 * EI[2] / L[2]] # BA, BC, CB, CD
DF = [K[0] / (K[0] + K[1]), K[1] / (K[0] + K[1]), K[2] / (K[2] + K[3]), K[3] / (K[2] + K[3])]
# fixed-end moments, clockwise positive; end spans already released at the pin (wL^2/8)
M = [w[0] * L[0] ** 2 / 8, -w[1] * L[1] ** 2 / 12, w[1] * L[1] ** 2 / 12, -w[2] * L[2] ** 2 / 8]
print("distribution factors BA %.3f BC %.3f | CB %.3f CD %.3f" % tuple(DF))
print("%-10s %9s %9s %9s %9s" % ("", "BA", "BC", "CB", "CD"))
print("%-10s %9.2f %9.2f %9.2f %9.2f" % ("FEM", M[0], M[1], M[2], M[3]))
for cycle in range(1, 30):
# balance joint B and joint C at the same time, then carry over half to the far ends
uB = M[0] + M[1]; uC = M[2] + M[3]
d = [-DF[0] * uB, -DF[1] * uB, -DF[2] * uC, -DF[3] * uC]
co = [0.0, 0.5 * d[2], 0.5 * d[1], 0.0] # BC <- half of CB, CB <- half of BC
M = [M[i] + d[i] + co[i] for i in range(4)]
if cycle <= 4:
print("%-10s %9.2f %9.2f %9.2f %9.2f" % ("cycle %d" % cycle, M[0], M[1], M[2], M[3]))
if max(abs(x) for x in co) < 0.005:
break
uB = M[0] + M[1]; uC = M[2] + M[3] # final balance, no carryover
M = [M[0] - DF[0] * uB, M[1] - DF[1] * uB, M[2] - DF[2] * uC, M[3] - DF[3] * uC]
print("%-10s %9.2f %9.2f %9.2f %9.2f (after %d cycles)" % ("final", M[0], M[1], M[2], M[3], cycle))
print("support moments: B = %.2f kip*ft, C = %.2f kip*ft (hogging)" % (M[0], M[2]))distribution factors BA 0.429 BC 0.571 | CB 0.571 CD 0.429
BA BC CB CD
FEM 50.00 -33.33 33.33 -20.00
cycle 1 42.86 -46.67 20.95 -25.71
cycle 2 44.49 -43.13 24.76 -23.67
cycle 3 43.91 -44.22 23.75 -24.14
cycle 4 44.04 -43.93 24.06 -23.97
final 44.00 -44.00 24.00 -24.00 (after 7 cycles)
support moments: B = 44.00 kip*ft, C = 24.00 kip*ft (hogging)The first four printed cycles reproduce the rows of the hand table (each printed row includes that cycle's distribution and carryover), and the final line shows the converged values. Seven cycles reach full precision; hand calculation rarely needs more than three or four for design accuracy.
Common mistakes
MistakeUsing \(4EI/L\) for a member whose far end is a pin and also carrying over to the pin.
InsteadEither use \(3EI/L\) with no carryover and propped-cantilever fixed-end moments, or use \(4EI/L\) and balance the pin each cycle; do not mix them.
MistakeDistributing the unbalanced moment with its own sign.
InsteadDistribute the negative of the unbalanced moment so that the joint balances.
MistakeCarrying over to a fixed support and then distributing there.
InsteadA fixed support absorbs moment; it receives carryovers but is never released.
MistakeApplying moment distribution to a swaying frame without a sway correction.
InsteadUse the two-stage method: no-sway with a restraint, then a scaled sway stage.
Summary and key terms
- Stiffness \(4EI/L\) (far end fixed) or \(3EI/L\) (far end pinned); distribution factors \(K_i/\sum K\) at each joint.
- Carryover factor \(+1/2\) toward a fixed or locked end, zero toward a pin.
- Lock, release, distribute the negative of the unbalance, carry over, repeat, and sum.
- Results converge to the slope-deflection and force method answers.
- Sway needs a two-stage correction: no-sway with a restraint plus a scaled sway stage.
- Moment distribution
- An iterative displacement method that balances joint moments by distributing and carrying over.
- Distribution factor
- The share of an unbalanced joint moment taken by one member, equal to its stiffness over the joint total.
- Carryover factor
- The ratio of the far-end moment to the near-end moment when the near end rotates.
- Unbalanced moment
- The sum of the member end moments at a joint that is not in equilibrium.
- Modified stiffness
- The stiffness 3EI/L of a member whose far end is pinned.
- Sway correction
- The scaled sway stage added to a no-sway analysis to remove the imaginary restraint.
- Convergence
- The progressive reduction of the unbalance to a negligible value.
Practice problems
Work each problem on paper first, then reveal the answer to check.
Find the distribution factors at a joint where a beam with \(I = 2I_0\), \(L = 8\) m (far end fixed) meets a column with \(I = I_0\), \(L = 4\) m (base pinned).
Show answer
\(K_{\text{beam}} = 4(2)/8 = 1.0\), \(K_{\text{col}} = 3(1)/4 = 0.75\); DF 0.571 to the beam and 0.429 to the column.
What is the distribution factor at a fixed support? At a free pin?
Show answer
Zero at the fixed support; 1.0 at the pin.
Why is the fixed-end moment of an end span taken as \(wL^2/8\) when the modified stiffness is used?
Show answer
The pin has already been released, so the span starts as a propped cantilever whose fixed-end moment is \(wL^2/8\).
By what factor does the unbalance fall each cycle in the corridor beam example?
Show answer
About \(0.571 \times 0.5 = 0.29\).
In the sway stage for the garage frame, if the imposed fixed-end moments were \(-50\) kip·ft instead of \(-100\), what would the scale factor be?
Show answer
1.08: the stage 2 shears halve, so the factor doubles; the final moments are unchanged.
How many sway stages does a two-story unbraced frame need?
Show answer
Two, with two simultaneous equations for the scale factors.
Lesson quiz · 5 questions
Score 60% or more to complete this lesson.
Create a free account to save your progress, take quizzes and earn a certificate.