“A prism or solid cylinder of glass, steel, wood or other breakable material which is capable of sustaining a very heavy weight when applied longitudinally is, as previously remarked, easily broken by the transverse application of a weight which may be much smaller in proportion as the length of the cylinder exceeds its thickness.”
— Galileo Galilei, Dialogues Concerning Two New Sciences, Second Day, 1638, translated by Henry Crew and Alfonso de Salvio, 1914
The continuum model of Chapter 8.9 is complete but expensive. 8.9.14 is a coupled system of partial differential equations for three displacement components over a three-dimensional domain, and it can, practically, only be solved numerically. Yet most structural members are not general three-dimensional bodies. They are long and thin, and a long thin body deforms in a way we can predict in advance.
This prediction is the whole content of beam theory. We do not derive a new physics for bending. We take the continuum model, impose an assumption about how the cross section moves, and marvel at how the three-dimensional problem collapse into a single ordinary differential equation in one variable. Everything that follows, drops out of 8.7.3, 8.6.1 and 8.7.8 once that assumption is in place. Torsion, plate theory and shell theory are built the same way, each from its own kinematic assumption.
The assumptions
Four assumptions define the Euler-Bernoulli beam, also known as the engineering beam theory. The deformations are assumed to be small, so that the linear strain measure 8.7.3 applies. The material is linearly elastic. Poisson effects are neglected, so that the axial stress follows the one-dimensional Hooke’s law \(\sigma = E\varepsilon\) rather than the full 8.9.7. Finally, and this is the assumption that does the work, every cross section remains plane and perpendicular to the neutral axis during deformation.
The last assumption is a statement about geometry, and it is what Figure 8.16.1 illustrates. Longitudinal lines in the beam become curved, while lines that were vertical stay straight and merely rotate. Somewhere between the top and the bottom is a surface that neither stretches nor shortens: the neutral plane, whose intersection with the plane of bending is the neutral axis. For a homogeneous beam the neutral axis passes through the centroid of the cross section, which is why the second moment of area is always taken about the centroid.
Although the Euler-Bernoully theory involves many assumptions and simplifications, it provides accurate prediction for many important practical engineering problems.
Figure 8.16.1: Longitudinal lines curve while cross sections stay straight and rotate. The neutral axis, dashed, neither stretches nor shortens.
Kinematics
Let \(x\) run along the beam, \(y\) across it in the plane of bending and \(z\) out of that plane, with the \(x\) axis along the neutral axis of the undeformed beam. The deflection\(w(x)\) is the displacement of the neutral axis in the \(y\) direction, positive upward. Consider a material point \(P\) at \(\bm r_P = [x_P, y_P, z_P]^\mathsf{T}\) before deformation, as in Figure 8.16.2. Its cross section moves with the axis by \(w\) and turns through an angle \(\theta\).
(a) Before bending, the point \(P\) at \((x_P, y_P)\) on the cross section at \(x_P\).
(b) After bending. The section moves with the axis by \(w\) and turns from the vertical by the same angle \(\theta\) that the axis turns from the horizontal. The drawing follows 8.16.1.
Figure 8.16.2: A material point \(P\) before and after bending, drawn to the same scale.
Reading the dimensions off the after panel, the point has moved to
The rotation angle is not independent, and 8.16.1 already shows why. A point on the neutral axis has \(y_P = 0\), so it moves straight up by \(w\) and not sideways, and the deformed axis is the curve \(y = w(x)\), the graph of the deflection. Its slope is read off the graph as for any function. Seen closely enough the axis is straight, and over a short run \(dx\) it rises \(dw\) along the hypotenuse \(ds\) of the right triangle in Figure 8.16.3. The angle \(\theta\) between the axis and the horizontal lies opposite the rise and next to the run, so
\[
\tan\theta = \frac{dw}{dx} = w'
\tag{8.16.2}\]
Figure 8.16.3: A close look at the deflected axis near a point \(A\). Over the run \(dx\) the axis rises \(dw\), so its tangent makes the angle \(\theta\) with \(\tan\theta = dw/dx\). The cross section, drawn thick, stays at right angles to the tangent and is turned by the same \(\theta\) from the vertical.
The cross section is held at right angles to that tangent. Two lines at a right angle turn together, like the two arms of a set square, so when the tangent has turned \(\theta\) from the horizontal the section has turned the same \(\theta\) from the vertical. This is the angle in 8.16.1.
The angles are small. A beam in service rarely deflects more than about \(1/300\) of its span, which for a simply supported beam under a uniform load gives a largest slope near \(w' = 0.01\). At that slope \(\tan\theta\) and \(\theta\) differ by \(\theta^3/3 \approx 3\cdot 10^{-7}\) and \(\cos\theta\) differs from 1 by \(\theta^2/2 = 5\cdot 10^{-5}\), so we may take \(\sin\theta \approx \theta \approx \tan\theta = w'\) and \(\cos\theta \approx 1\). The displacement of \(P\) becomes
A three-dimensional vector field has been reduced to one scalar function \(w(x)\) of one variable. Everything else in this chapter is bookkeeping applied to 8.16.3.
Curvature
How sharply the beam bends is measured by the curvature of its axis. An element \(ds\) of the deflected axis lies on a circle of radius \(\rho\) about the centre of curvature, Figure 8.16.4, and seen from that centre it spans the angle \(d\theta\), so that \(ds = \rho\,d\theta\).
Figure 8.16.4: An element \(ds\) of the deflected axis on its circle of curvature, with the radius \(\rho\), the angle \(d\theta\) it spans, the slope angle \(\theta\) and the deflection \(w\).
The curvature is the rate at which the slope angle turns along the axis,
This is the small-slope limit of the exact curvature of a plane curve, \(\kappa = w''/(1 + w'^2)^{3/2}\). The curvature is positive when the axis bends upward, with the centre of curvature above it as in the figure.
Strain and stress
The strain is the symmetric part of the displacement gradient, 8.7.3,
\[
\bm\varepsilon = \tfrac12\left(\nabla\bm u + \nabla\bm u^\mathsf{T}\right)
\]
applied to 8.16.3. We let SymPy form both instead of differentiating nine entries by hand.
x, y, z = sp.symbols('x y z', real=True)E_mod = sp.symbols('E', positive=True)w = sp.Function('w')(x)uu = sp.Matrix([-y*sp.diff(w, x), w, 0])XX = sp.Matrix([x, y, z])grad_u = uu.jacobian(XX)eps = sp.simplify((grad_u + grad_u.T)/2)ltx(r"\nabla \bm u =", grad_u, r",\qquad \bm\varepsilon = \tfrac12(\nabla\bm u +\nabla\bm u^\mathsf{T}) =", eps)
The displacement gradient has two non-zero entries, but its symmetric part has only one. The off-diagonal terms \(-w'\) and \(+w'\) cancel exactly, which is the algebraic signature of the perpendicularity assumption: the cross section rotates rigidly with the axis, and a rigid rotation produces no strain. What survives is a single axial strain, which with 8.16.4 reads
proportional to the distance from the neutral axis and to the curvature of the beam. Fibres above the neutral axis (\(y > 0\)) shorten when the curvature is positive, fibres below it stretch, and the fibre on the axis does neither, which is what earned it the name.
The geometry of the bent beam gives the same strain without the displacement gradient, which makes a check on the continuum route. In Figure 8.16.5 a piece \(\Delta x\) of the beam bends into an arc that spans the angle \(\Delta\theta\) about the centre of curvature. The neutral axis keeps its length, \(\rho\,\Delta\theta = \Delta x\). A fibre at the height \(y\) lies nearer the centre, on the radius \(\rho - y\), so its length becomes \((\rho - y)\,\Delta\theta\) and its strain is
Figure 8.16.5: A piece \(\Delta x\) of the beam before and after bending. The neutral axis keeps its length \(\rho\,\Delta\theta = \Delta x\), while the fibre at the height \(y\) is shortened to \((\rho - y)\,\Delta\theta\).
The difference between the fibre strain and the entry \(\varepsilon_{xx}\) of the displacement gradient, with \(w'' = 1/\rho\), should vanish.
Code
rho, dtheta = sp.symbols(r'rho \Delta\theta', positive=True)eps_fibre = ((rho - y)*dtheta - rho*dtheta)/(rho*dtheta) # the fibre of the figureeps_continuum = eps[0, 0].subs(sp.diff(w, x, 2), 1/rho) # from the displacement gradientltx(r"\varepsilon_{\text{fibre}} - \varepsilon_{xx} =", sp.simplify(eps_fibre - eps_continuum))
\[
\boxed{\sigma_{xx} = -E y \frac{d^2 w}{dx^2}}
\tag{8.16.6}\]
The stress varies linearly through the depth of the section, from maximum compression at one surface through zero at the neutral axis to maximum tension at the other. Material near the neutral axis is barely worked at all, which is why I-beams and box sections put their material at the extremes and why a hollow tube is so much more efficient in bending than a solid rod of the same mass.
Why the one-dimensional Hooke’s law
The displacement field 8.16.3 makes every strain but \(\varepsilon_{xx}\) zero, and the generalized Hooke’s law 8.9.7 applied to that strain state does not give \(\sigma_{xx} = E\varepsilon_{xx}\). With \(\operatorname{tr}\bm\varepsilon = \varepsilon_{xx}\) and the Lamé parameters of 8.9.6 it gives
and no shear stress, since there is no shear strain.
Code
nu = sp.symbols('nu', positive=True)mu_lame = E_mod/(2*(1+ nu)) # @eq-lamelam_lame = E_mod*nu/((1+ nu)*(1-2*nu))# the generalized Hooke's law applied to the strain of the beamsigma_full = sp.simplify(2*mu_lame*eps + lam_lame*eps.trace()*sp.eye(3))ltx(r"\bm\sigma = 2\mu\bm\varepsilon +\lambda\operatorname{tr}(\bm\varepsilon)\bm I =", sigma_full)
The factor \(\lambda + 2\mu\) is the stiffness of a material that is prevented from contracting sideways, \(35~\%\) above \(E\) for \(\nu = 0.3\), and the lateral stresses \(\sigma_{yy}\) and \(\sigma_{zz}\) are what prevents it. Neither fits a beam. Its upper and lower surfaces and its sides carry no load, so \(\sigma_{yy}\) and \(\sigma_{zz}\) vanish there, and in a slender beam they stay negligible throughout. 8.16.7 is sometimes called the plane stress form of Hooke’s law, but it describes the opposite state: a strain confined to one direction, with stress in all three.
The kinematic assumption and the free surfaces therefore contradict each other, and beam theory settles the conflict in favour of the stresses. It sets \(\sigma_{yy} = \sigma_{zz} = 0\), which leaves the one-dimensional law 8.6.1, \(\sigma_{xx} = E\varepsilon_{xx}\). The price is that the lateral strains \(-\nu\varepsilon_{xx}\) of the real beam are missing from 8.16.3; they change the shape of the cross section a little but not the bending.
The same displacement field produces a second contradiction. It has \(\gamma_{xy} = 0\) and therefore \(\tau_{xy} = G\gamma_{xy} = 0\), while the shear force \(T = \iint \tau_{xy}\,dA\) is not zero wherever the moment varies. The shear stress is recovered from equilibrium in Transverse shear stress below, and the Timoshenko-Ehrenfest beam removes the contradiction by letting the cross section shear. Both inconsistencies are what reducing a three-dimensional body to a line costs, and for a long beam neither changes the bending stress or the deflection noticeably.
Internal forces and the second moment of area
The stress distribution 8.16.6 must be statically equivalent to the internal forces on the cut, Figure 8.16.6. A strip \(dA = dy\,dz\) at the height \(y\) carries the force \(\sigma_{xx}\,dA\) at the lever arm \(y\) from the neutral axis.
Figure 8.16.6: The axial stress on a cut through a beam with positive moment \(M\), compressive above the neutral axis and tensile below it, and a strip \(dA\) of the cross section \(A\) at the height \(y\).
We take the moment on a face with outward normal \(+x\) as positive anticlockwise, the sense of Figure 8.16.6. Its resultant about the \(z\) axis is the stress times its lever arm integrated over the cross section,
\[
\begin{aligned}
M &= \iint -y\,\sigma_{xx}\,dy\,dz = \iint E y^2 \frac{d^2 w}{dx^2}\,dy\,dz \\
&= E\frac{d^2 w}{dx^2} \underbrace{\iint y^2\,dy\,dz}_{I}
\end{aligned}
\]
where the curvature came out of the integral because it does not vary over the cross section. The remaining integral is a purely geometric property,
\[
\boxed{I = \iint y^2\, dy\, dz}
\tag{8.16.8}\]
the second moment of area about the neutral axis, with units of length to the fourth power. This gives the moment-curvature relation
\[
\boxed{M = EI \frac{d^2 w}{dx^2} = \frac{EI}{\rho}}
\tag{8.16.9}\]
in which the product \(EI\) appears as a single quantity, the bending stiffness. Material and geometry enter only through their product, so a stiffer material and a deeper section are interchangeable as far as deflection is concerned.
Eliminating the curvature between 8.16.6 and 8.16.9 gives the result that every engineer knows,
where \(W\) is the section modulus, the single number that determines how much moment a section can carry at a given stress. Values of \(I\) and \(W\) for standard sections are tabulated in every handbook, and a CAD system reports them for arbitrary sections directly. For a rectangle of width \(b\) and height \(h\) the integral is elementary.
The height enters \(I\) cubed. Doubling the height of a beam makes it eight times stiffer and four times stronger, while doubling its width does neither more than doubling. This single fact governs almost every decision about how to orient a structural member.
⚠ Note
The second moment of area must be taken about the axis you are bending about. A rectangular section bent about its strong axis and about its weak axis differ by \((h/b)^2\) in stiffness, and mixing the two up is the most common error in beam calculations.
Equilibrium of a slice
8.16.9 relates the moment to the deflection, but nothing yet relates the moment to the applied load. That link comes from equilibrium, applied not to the whole beam but to a slice of length \(dx\) carrying a distributed load \(q\) per unit length, Figure 8.16.7. The internal forces on the left face of the slice are a normal force \(N\), a shear force \(T\) and a bending moment \(M\), and on the right face each has changed by its own derivative times \(dx\).
Figure 8.16.7: Internal forces on a slice of length \(dx\) in the sign convention of this chapter. The load \(q\) is positive upward. On the left face, whose outward normal is \(-x\), the normal force \(N\) pulls outward, the shear force \(T\) acts upward and the moment \(M\) turns clockwise. On the right face each acts the opposite way and has grown by its derivative times \(dx\).
Vertical force equilibrium of the slice and moment equilibrium about the centre of its right face, with anticlockwise moments positive, read
and dropping the term of second order in \(dx\) leaves the change in shear force as the applied load and the change in bending moment as the shear force,
\[
\frac{dT}{dx} = q, \qquad \frac{dM}{dx} = T
\tag{8.16.12}\]
These two relations are worth committing to memory in their own right, because they say that the shear diagram is the integral of the load and the moment diagram is the integral of the shear. A moment diagram has a maximum wherever the shear crosses zero, and the shear jumps by exactly the size of any point load.
Two standard cases show both rules. A cantilever with a point load at the free end carries no distributed load, so \(T\) is constant and \(M\) is linear in \(x\): zero at the free end and largest at the clamped end, where a downward tip force \(P\) gives \(M = -PL\). A simply supported beam with a uniformly distributed load has \(T\) linear in \(x\) and zero at midspan, so the moment peaks there, and a downward load of magnitude \(q_0\) gives \(M_{\max} = q_0L^2/8\) while \(M\) vanishes at both supports.
The elastic line equation
Now assemble the pieces. Substituting the moment-curvature relation 8.16.9 into 8.16.12 twice gives
the elastic line equation, a fourth-order ordinary differential equation for the deflection. The three-dimensional continuum problem has been reduced to this. Everything that made the general problem hard, the coupling between displacement components and the two extra spatial dimensions, was eliminated by the kinematic assumption.
Because 8.16.13 is obtained by differentiating 8.16.9, the intermediate derivatives are all quantities we have names for. Integrating downward from the load gives a ladder,
so a single solution of 8.16.13 produces the shear diagram, the moment diagram, the rotation and the deflection at once, together with the bending stress through 8.16.10. There is no need to draw shear and moment diagrams by hand as a separate exercise: they are derivatives of the answer.
⚠ Note
The sign convention used here takes \(q\) positive in the \(+y\) direction, that is upward. A downward load of magnitude \(q_0\) enters as \(q = -q_0\). Handbooks differ, and a sign convention that disagrees with the tabulated formula is the usual reason a hand calculation and a table disagree.
Boundary conditions
A fourth-order equation needs four conditions, two at each end. At each end there are four quantities available, and exactly two of them may be prescribed: the deflection, the slope, the moment and the shear force. Which two depends on the support.
The pairing follows a simple rule: a support that prevents a motion prescribes the corresponding kinematic quantity, and one that permits it prescribes the corresponding force quantity instead. A clamped end prevents both translation and rotation, so \(w = 0\) and \(w' = 0\). A pinned or roller support prevents translation but permits rotation, so \(w = 0\) and \(M = 0\). A free end prevents nothing, so \(M\) and \(T\) are prescribed, taking the values of whatever external moment and force are applied there, and zero if none are.
Figure 8.16.8: Three common supports and the pair of boundary conditions each one prescribes.
Two examples show how the conditions are read off a drawing, Figure 8.16.9. The cantilever in Figure 8.16.9 (a) is clamped at \(x = 0\), which prescribes the deflection and the slope, and free at \(x = L\), where nothing prevents the motion and so the moment and the shear are prescribed instead. No couple acts at the tip, so \(M(L) = 0\). The shear equals the tip load with the sign that 8.16.12 gives it: the shear force runs from \(T(L)\) just inside the end to zero beyond it, and a jump of \(+P\) for the upward force leaves \(T(L) = -P\). The simply supported beam in Figure 8.16.9 (b) has a deflection of zero at both supports, a moment of zero at the pinned end and a moment equal to the applied couple at the other, \(M(L) = M_0\) for an anticlockwise \(M_0\).
(a) A cantilever with an upward tip force.
(b) A simply supported beam with an end couple.
Figure 8.16.9: The boundary conditions of two beams under a downward line load \(q_0\).
Example 1: A cantilever under its own distributed load
A cantilever of length \(L\) is clamped at \(x = 0\) and free at \(x = L\), carrying a uniformly distributed downward load of magnitude \(q_0\), as in Figure 8.16.10. Determine the deflection, and the tip deflection in particular.
Figure 8.16.10: A cantilever of length \(L\) clamped at \(x = 0\), under a downward line load \(q_0\).
The clamp fixes the deflection and the slope, and the free end carries no moment and no shear. With \(q = -q_0\) for the downward load the model is
\[ \begin{aligned}w(x) &=\dfrac{q_{0} x^{2} \left(- 6 L^{2} + 4 L x - x^{2}\right)}{24 E I}\\ w(L) &=- \dfrac{L^{4} q_{0}}{8 E I}\end{aligned} \]
The tip deflection is \(-q_0 L^4/(8EI)\), negative because the beam sags in the direction the load pushes it, and matching the tabulated elementary case. The fourth power of the length is the reason cantilevers are so sensitive to their span: doubling the reach of an overhang increases its droop sixteenfold.
The whole ladder 8.16.14 follows by differentiation, so the shear and moment diagrams cost nothing extra.
\[ \begin{aligned}\theta(x) &=\dfrac{q_{0} x \left(- 3 L^{2} + 3 L x - x^{2}\right)}{6 E I}\\ M(x) &=\dfrac{q_{0} \left(- L^{2} + 2 L x - x^{2}\right)}{2}\\ T(x) &=q_{0} \left(L - x\right)\end{aligned} \]
Both diagrams are exact and both make sense at a glance. The moment is largest in magnitude at the clamp, where it equals \(-q_0L^2/2\), the moment of the whole load about the support. The shear at the clamp is \(q_0 L\), the entire applied load, positive because the clamp pushes up on the left end of the beam, and both fall to zero at the free tip as the boundary conditions demanded.
Piecewise beams and matching conditions
8.16.13 assumes that \(q(x)\) is a smooth function of position, and real beams rarely oblige. A point load, an intermediate support, a step in cross section or an applied couple all break the beam into segments, within each of which the load is smooth but across which the solution is not.
The remedy is to write one differential equation per segment and to join the solutions with matching conditions, which the Swedish literature calls skarvvillkor. Each additional segment brings four more constants and therefore needs four more conditions, and the interface supplies exactly four. Two are kinematic: the beam does not break apart and does not develop a kink, so the deflection and the slope are continuous. Two are static: the internal moment and shear are continuous except for any concentrated moment or force applied at the joint, which enters as a jump.
For a joint at \(x = a\) carrying a downward point load \(P\) and no applied couple, the four conditions are
\[
\begin{array}{ll}
w_1(a) = w_2(a) & \text{no separation}\\[4pt]
w_1'(a) = w_2'(a) & \text{no kink}\\[4pt]
M_1(a) = M_2(a) & \text{no applied couple}\\[4pt]
T_1(a) - T_2(a) = P & \text{shear jumps by the point load}
\end{array}
\tag{8.16.16}\]
The last line is the one to check, on a simply supported beam of span \(L\) with a central point load that should deflect \(PL^3/(48EI)\). Both segments are unloaded and both ends pinned,
P = sp.symbols('P', positive=True)w1f, w2f = sp.Function('w_1'), sp.Function('w_2')gen1 = sp.dsolve(sp.Eq(E_s*I_s*sp.diff(w1f(x), x, 4), 0), w1f(x)).rhsgen2 = sp.dsolve(sp.Eq(E_s*I_s*sp.diff(w2f(x), x, 4), 0), w2f(x)).rhsC_1 =sorted(gen1.free_symbols - {x, E_s, I_s}, key=lambda s: s.name)gen2 = gen2.subs({c: sp.Symbol('D'+ c.name[1:]) for c in C_1})C_2 =sorted(gen2.free_symbols - {x, E_s, I_s}, key=lambda s: s.name)M_1, M_2 = E_s*I_s*sp.diff(gen1, x, 2), E_s*I_s*sp.diff(gen2, x, 2)T_1, T_2 = E_s*I_s*sp.diff(gen1, x, 3), E_s*I_s*sp.diff(gen2, x, 3)a = L/2equations = [gen1.subs(x, 0), M_1.subs(x, 0), # pinned at 0 gen2.subs(x, L), M_2.subs(x, L), # pinned at L (gen1 - gen2).subs(x, a), # continuity of y (sp.diff(gen1, x) - sp.diff(gen2, x)).subs(x, a), # continuity of slope (M_1 - M_2).subs(x, a), # continuity of moment (T_1 - T_2).subs(x, a) - P] # shear jumpsol = sp.solve(equations, C_1 + C_2, dict=True)[0]w_mid = sp.simplify(gen1.subs(sol).subs(x, a))ltx(r"w\!\left(\tfrac{L}{2}\right) =", w_mid)
\[ w\!\left(\tfrac{L}{2}\right) =- \dfrac{L^{3} P}{48 E I} \]
The result is \(-PL^3/(48EI)\), downward and of exactly the tabulated magnitude, so the sign convention in 8.16.16 is the right one.
Example 2: A propped cantilever with an interior load
We now solve a case that no elementary table covers. A beam is pinned at \(x = 0\), clamped at the far end, and carries a downward point load \(P\) where its two segments meet, at \(x = L_1\). The second segment has length \(L_2\), as in Figure 8.16.11. The structure is statically indeterminate, so equilibrium alone cannot find the reactions and the deflection must be solved for first.
Figure 8.16.11: A beam pinned at \(x = 0\) and clamped at the far end, with the point load \(P\) where the segments \(L_1\) and \(L_2\) meet.
\[ w_1(x) =\dfrac{L_{2}^{2} P x \left(- 3 L_{1}^{3} - 6 L_{1}^{2} L_{2} - 3 L_{1} L_{2}^{2} + 3 L_{1} x^{2} + 2 L_{2} x^{2}\right)}{12 E I \left(L_{1}^{3} + 3 L_{1}^{2} L_{2} + 3 L_{1} L_{2}^{2} + L_{2}^{3}\right)} \]
With the symbolic solution in hand we insert a specific design. Take a square steel section \(100 \times 100~\text{mm}\), so that \(I = bh^3/12\) and the extreme fibre sits at \(c = 50~\text{mm}\), with \(L_1 = 1000~\text{mm}\), \(L_2 = 2000~\text{mm}\) and \(P = 1000~\text{N}\).
The largest deflection is \(0.14~\text{mm}\) downward and the largest bending stress is \(3.1~\text{MPa}\), so this section is enormously oversized for the load, which is what we would expect from a \(100~\text{mm}\) square carrying a kilonewton. Plotting the four diagrams together shows the structure of the solution.
Figure 8.16.12: Deflection, shear force, bending moment and bending stress for the propped cantilever. The dotted line marks the joint.
The shear is piecewise constant, as it must be when no distributed load acts, and it jumps by exactly \(P\) at the joint. The moment is piecewise linear, peaks at the joint where the shear changes sign, and is negative at the clamp because the beam curves the other way there. The bending stress is the moment scaled by \(c/I\), so it is the moment diagram in different units, and it passes through zero at the inflection point where the curvature reverses. That point is where the top surface of the beam stops being in compression and starts being in tension, which matters when the two surfaces are made of different materials or when only one of them is welded.
⚠ Note
This is exactly the calculation the beam solver laboratory automates. Building a configurator around the code above, with the boundary conditions and loads as inputs, gives an interactive elastic line solver; the beam configurator near the end of the chapter is one.
Example 3: A cantilever with several loads
A beam taken from the finite element literature [1, Example 10.1] shows how far the piecewise approach goes without any change of method. The cantilever in Figure 8.16.13 is clamped at \(x = 0\) and free at \(x = L_1 + L_2 + L_3\), with \(L_1 = L_3 = 4~\text{m}\) and \(L_2 = 3~\text{m}\), and its bending stiffness is \(EI = 10^4~\text{Nm}^2\). A downward line load \(q_0 = 1~\text{N/m}\) covers the first two spans. The point loads are \(P_1 = 10~\text{N}\) downward at \(x = L_1\), \(P_2 = 5~\text{N}\) upward at \(x = L_1 + L_2\) and \(P_3 = 20~\text{N}\) downward at the tip, where an anticlockwise couple \(M_3 = 20~\text{Nm}\) also acts. Determine the deflection and the internal forces.
Figure 8.16.13: The cantilever of Example 3, loaded by \(q_0\) over the first two spans, the point loads \(P_1\), \(P_2\) and \(P_3\) and the couple \(M_3\) at the tip.
The loads split the beam into three segments, with joints at \(a = L_1\) and \(b = L_1 + L_2\) and the free end at \(L = L_1 + L_2 + L_3\). Each segment obeys 8.16.13,
with four constants of its own. The clamp, 8.16.16 at the joints with \(P_1\) down and \(P_2\) up, and the loaded free end of Figure 8.16.9 give the twelve conditions
The two reactions at the clamp check against statics. The shear at the clamp is the vertical reaction, the sum of all the loads, \(q_0(L_1 + L_2) + P_1 - P_2 + P_3\), and the moment there balances the moments of the loads and the couple about the clamp. With the numbers of the example the shear at the clamp is \(7 + 10 - 5 + 20 = 32~\text{N}\) upward. The deflection and the slope at the second joint and at the tip are the nodal unknowns that the two-element finite element model of the original example solves for, there called \(w_2\), \(\theta_2\), \(w_3\) and \(\theta_3\). That model returns exactly these values, because its cubic elements reproduce the elastic line exactly at the nodes of a beam with constant \(EI\).
Figure 8.16.14: Deflection, shear force and bending moment of the cantilever in Example 3. The dotted lines mark the joints, where the shear steps by \(P_1\) and \(P_2\).
Transverse shear stress
The Euler-Bernoulli kinematics produced a strain tensor with a single non-zero entry, so it predicts \(\varepsilon_{xy} = 0\) and hence, through \(\tau = G\gamma\), a transverse shear stress of exactly zero. Yet 8.16.12 plainly contains a shear force \(T\), and a force cannot be transmitted by a stress that is zero. The two statements contradict each other.
The contradiction is a consequence of the perpendicularity assumption, which forbids the cross section from shearing while the equilibrium of the beam requires it to. The standard resolution is to accept the kinematics for computing the bending stress and to obtain the shear stress from equilibrium instead. Take a slice of length \(\Delta x\) and cut it horizontally at some height, keeping the portion above the cut. The axial stress 8.16.10 acts on both ends of that portion, and because the moment changes across the slice the two are not equal. The imbalance must be carried by a shear stress \(\sigma_{yx}\) on the horizontal cut.
Writing the two axial resultants and the shear force on the horizontal face,
where \(Q\) is the first moment of the area lying beyond the cut, taken about the neutral axis. The symmetry \(\sigma_{xy} = \sigma_{yx}\) that we proved in Chapter 8.7 is what allows the horizontal shear computed here to be read as the vertical shear on the cross section.
The distribution is instructive. At the top and bottom surfaces the area beyond the cut vanishes, so \(Q = 0\) and the shear stress is zero, as it must be on a free surface. At the neutral axis \(Q\) is largest, so the shear stress peaks there, exactly where the bending stress vanishes. For a rectangular section the profile is parabolic with a peak magnitude of \(\tfrac{3}{2}T/A\), fifty percent above the average.
Code
xi, T_sym = sp.symbols('xi T', real=True)# first moment of the area above the cut at height xi, about the neutral axisQ_rect = b * sp.integrate(y, (y, xi, h_sec/2))tau_rect = sp.simplify(-T_sym*Q_rect/(I_rect*b)) # @eq-shear-stress-beamltx(r"Q(\xi) &=", sp.simplify(Q_rect),r"\\\tau(\xi) &=", tau_rect,r"\\\tau(0) &=", sp.simplify(tau_rect.subs(xi, 0)), aligned=True)
\[ \begin{aligned}Q(\xi) &=\dfrac{b \left(h^{2} - 4 \xi^{2}\right)}{8}\\ \tau(\xi) &=\dfrac{3 T \left(- h^{2} + 4 \xi^{2}\right)}{2 b h^{3}}\\ \tau(0) &=- \dfrac{3 T}{2 b h}\end{aligned} \]
With \(A = bh\) the peak magnitude is \(\tfrac{3}{2}T/A\) as claimed, and the minus sign is that of 8.16.17. In a slender beam the bending stress is much larger than this, which is why shear rarely governs the design of a long beam and often governs a short deep one.
The Timoshenko-Ehrenfest beam
The contradiction in the previous section is resolved properly by weakening the kinematic assumption. Keep the requirement that cross sections remain plane, but drop the requirement that they remain perpendicular to the neutral axis. The rotation of the cross section then becomes an independent function \(\psi\), related to the slope of the axis by
\[
\psi = w' + \varphi
\]
where \(\varphi\) is the additional shear rotation. The displacement field 8.16.3 becomes
\[
\bm u = \begin{bmatrix} -y\,\psi \\ w \\ 0 \end{bmatrix}
\tag{8.16.18}\]
and the same \(\bm\varepsilon = \tfrac12(\nabla\bm u + \nabla\bm u^\mathsf{T})\) applied to it now yields a strain tensor with a shear entry that no longer cancels.
Code
x, y, z = sp.symbols('x y z', real=True) # the coordinates again; x was reused for the examplesXX = sp.Matrix([x, y, z])psi = sp.Function('psi')(x)w_t = sp.Function('w')(x)uu_t = sp.Matrix([-y*psi, w_t, 0])grad_t = uu_t.jacobian(XX)eps_t = sp.simplify((grad_t + grad_t.T)/2)ltx(r"\nabla\bm u =", grad_t, r",\qquad \bm\varepsilon =", eps_t)
The axial strain is now \(\varepsilon_{xx} = -y\,d\psi/dx\), driven by the gradient of the section rotation rather than by the curvature of the axis, and the shear strain is
Integrating the stresses over the cross section as before gives the two internal force relations
\[
M = EI\frac{d\psi}{dx}, \qquad T = kAG\gamma
\tag{8.16.19}\]
in which \(k\) is a shear correction factor. It is needed because the assumption of a plane cross section forces the shear stress to be uniform through the depth, whereas 8.16.17 says it is parabolic. The factor \(k\) smears the real distribution into an equivalent uniform one. Asking that the uniform shear stress \(T/(kA)\) store the same strain energy as the parabolic distribution of 8.16.17 gives \(k = 5/6\) for a rectangle. Cowper [2] derived \(k\) from the three-dimensional equations of elasticity instead and found \(k = 10(1+\nu)/(12+11\nu)\) for a rectangle, \(0.85\) for \(\nu = 0.3\), together with values for other sections. It is not an exact quantity, and different authors derive different values from different equivalence criteria.
Substituting 8.16.19 into the slice equilibrium 8.16.12 gives the governing pair
The first equation is solved for \(\psi\) and the second then integrated for \(w\), which introduces a fourth constant, so the Timoshenko beam still needs four boundary conditions. The deflection comes out as the Euler-Bernoulli answer plus a shear correction proportional to \(EI/(kAG)\); Wang, Reddy and Lee [3] give these relations between the two theories for the common beams and plates.
where \(r = \sqrt{I/A}\) is the radius of gyration of the section, a length of the order of its depth. Since \(E/G = 2(1+\nu) \approx 2.6\) by 8.9.5, the correction is a few times the square of the depth-to-span ratio. A beam ten times longer than it is deep gets a correction of a few percent and the Euler-Bernoulli model is entirely adequate. A beam three times longer than it is deep gets a correction approaching thirty percent, and a beam as deep as it is long is not a beam at all and should be modelled as a two-dimensional continuum.
When the beam model applies
Every result in this chapter descends from 8.16.3, so every result inherits its limitations. The model assumes that the cross section moves rigidly, which fails near a point where load is introduced, near a support, near a hole and near an abrupt change of section, because in those regions the cross section warps. Saint-Venant’s principle, Section 8.3.9, says that the disturbance decays within a distance of the order of the section depth, so the beam solution is accurate everywhere except in short zones around the discontinuities. Those zones are exactly where a finite element model earns its cost, and they are where the stress concentrations of a real design live.
The model also assumes bending in one plane about a principal axis of the section. Loading a section obliquely, or loading an unsymmetric section at all, couples bending about the two axes and, for open thin-walled sections, couples bending to torsion as well.
What we have gained is worth the restrictions. A partial differential equation for a vector field over a volume became an ordinary differential equation for a scalar on a line, solvable in closed form, differentiable into every quantity a designer needs, and cheap enough to put inside an optimisation loop. That trade, a kinematic assumption in exchange for a dimensional reduction, is the pattern behind every structural theory, and recognising it as a special case of the continuum model of Chapter 8.9 rather than as a separate subject is what makes the pattern visible.
The beam configurator
Available at mechanics.ju.se/marimo/beams, the configurator solves the elastic line for a beam on any number of supports, with point loads, couples and a trapezoidal distributed load on every segment, for a choice of cross section and with either theory. It draws the deformed beam with its support reactions, the bending and shear stresses and the diagrams. Its examples are the elementary cases of Björk’s formula book [4], each compared with the book’s formulas, and choosing the Timoshenko-Ehrenfest theory for a short, deep beam shows the shear angle of the previous section directly.
Dahlberg [5] treats the same beam theory in Swedish, with many worked examples, and Adeeb’s open online textbook [6] covers the same ground in English. The elementary cases that designers look up, a cantilever or a simply supported beam under point loads, couples and distributed loads, are tabulated with their reactions, moments, deflections and rotations in Björk’s formula book [4]. The beam configurator above solves every one of them, compares its results with the book’s formulas, and solves as easily the combinations the tables leave out. Where the beam model stops applying, the finite element method takes over; Ottosen and Petersson [7] introduce it from the same continuum model.