Section 5.3 of Chapter 5: 2D Beam Element, Linear Case
Isoparametric Two-Node Beam Element — Timoshenko Beam Model
A linear isoparametric formulation, reduced integration, and a simple correction for the transverse-shear response.
2D beamIsoparametricShear lockingMATLAB
01
Model and interpolation
A straight, prismatic two-node beam element of constant cross-section is analysed in the global xy plane. Small strains, small displacements, and linear elastic material behaviour are assumed [1].
The local reference frame is (xˉ,yˉ). The xˉ axis coincides with the neutral axis of the beam, while yˉ is a principal axis of the cross-section.
Figure 1. Global and local coordinate systems and positive element displacement components.Figure 2. Timoshenko kinematic quantities at a cross-section: normal rotation φ, cross-section rotation ψ, and shear angle β.
Each node has three degrees of freedom: the local displacements uˉ,vˉ (or u,v in the global frame) and the rotation ψ of the cross-section.
The beam equations in the local reference frame are:
⎩⎨⎧dxˉdψβφφ=EIM=GA0T=dxˉdvˉ=ψ+β
The notation is retained exactly: φ is the rotation of the normal, ψ is the rotation of the cross-section, and the shear angle is:
β=φ−ψ
For the Timoshenko beam model, the angular nodal degree of freedom is ψ, the rotation of the cross-section, not φ, the rotation of the normal.
With the natural coordinate ξ∈[−1,1], the local coordinate, linear shape functions, and displacement interpolation are:
Here N, T, and M are the axial force, shear force, and bending moment. E and G are Young's modulus and the shear modulus; A, A0, and I are the cross-sectional area, effective shear area, and second moment of area.
03
Stiffness matrices
The element stiffness matrix in the local frame is [2]
Because the displacement and rotation interpolations are linear, exact integration produces shear locking and makes a slender beam artificially stiff. Better results are obtained with one-point Gauss integration at ξ=0:
The factor γ scales the one-point shear contribution according to the bending-to-shear stiffness ratio. It is a dimensionless correction; no additional derivation is required for its use here.
Using one-point Gauss integration together with the correction factor γ, the stiffness matrix becomes identical to the expression obtained for the Timoshenko beam element presented in Section 5.2. This equality holds although Section 5.2 uses a cubic interpolation for the transverse displacement vˉ.
05
Numerical examples
Example 1. Consider a cantilever with L=100mm, E=2×105MPa, G=E/2.5, and rectangular cross-section 5mm×20mm. The force F=104N is applied at the free end, perpendicular to the undeformed beam axis; the axial force is H=35N.
The exactly integrated element kˉelA converges only for a relatively large number of elements. The one-point element kˉelB converges much faster, while the corrected element kˉelC gives the Section 5.2 result for any mesh.
Figure 3. Free-end vertical displacement versus the number of beam elements. Exact integration exhibits shear locking; one-point integration converges much faster, and the corrected formulation reproduces the Section 5.2 result.
Example 2. For the same cantilever and cross-section under the end couple C=106Nmm, the loading is pure bending and the physical shear force is zero. With three exactly integrated elements, kˉelA gives vmax=3.89mm instead of the correct value
vmax=2EICL2=7.5mm
The excessive stiffness is caused by a spurious shear force that varies linearly within each element. Its average resultant contribution over the finite element is zero, and it is also zero at the element midpoint ξ=0. One-point Gauss integration samples this midpoint and therefore eliminates the spurious shear contribution in pure bending. Consequently, kˉelB gives zero shear force and the exact displacement vmax=7.5mm.
Figure 4. Spurious shear force along an exactly integrated isoparametric beam element in the pure-bending example.
06
MATLAB programs
The package contains four commented files. gen.m defines the model; stiff.m assembles the corrected one-point element; stress.m recovers N, T, and M; and main.m runs the analysis and plots the results.
Tested in MATLAB R2024a. The code uses standard MATLAB syntax and is expected to be compatible with newer MATLAB versions. No additional toolbox is required.