In short
Matrix methods recast classical structural analysis (consistent deformation, slope-deflection, moment distribution) into matrix algebra, so that a whole frame, truss or grid is solved by forming matrices and solving one set of simultaneous equations. The two formulations are the flexibility (force) method, which takes redundant forces as unknowns, and the stiffness (displacement) method, which takes joint displacements as unknowns and is the basis of every commercial package (STAAD.Pro, ETABS, SAP2000, MIDAS, RSTAB). It is a compulsory core paper in B.E./B.Tech Civil (AICTE model curriculum, "Structural Analysis II" / "Advanced Structural Analysis") and a reliable 6-10 mark block in GATE CE, ESE and state PSC-AE papers. In interviews with L&T, Tata Projects, AECOM, Jacobs, WSP, AFCONS and design consultancies, candidates are asked what the software is actually doing - stiffness assembly, boundary conditions, why results look wrong - rather than hand calculations.
Explained
Why matrix methods, and the two formulations
- Classical methods solve one unknown at a time and do not scale; matrix methods write equilibrium, compatibility and the force-displacement law once and solve them together, so the same code handles 5 members or 50,000.
- Every method rests on three sets of relations: equilibrium (forces), compatibility (continuity of displacements), and constitutive/stiffness relations (linear elastic, small deflection, superposition valid).
- Flexibility (force) method: unknowns are redundant forces; number of equations = static indeterminacy Ds. Equations come from compatibility.
- Stiffness (displacement) method: unknowns are joint displacements; number of equations = kinematic indeterminacy Dk (degrees of freedom). Equations come from equilibrium at joints.
- The two are dual: for the same released/restrained set, [k] = [f]⁻¹. Both give identical results for linear elastic structures.
- Why stiffness won: choosing redundants and forming a flexibility matrix needs judgement and cannot be automated easily; the stiffness method is purely mechanical - assemble element matrices by node numbers, apply supports, solve.
Indeterminacy and degrees of freedom (the input to both methods)
- Static indeterminacy Ds = number of independent force unknowns beyond equilibrium equations; plane truss Ds = m + r − 2j, plane frame Ds = 3m + r − 3j (m members, r reaction components, j joints), space frame Ds = 6m + r − 6j. Subtract internal releases (an internal hinge in a plane frame reduces Ds by 1 per released moment).
- Kinematic indeterminacy Dk = number of unrestrained joint displacement components. Plane frame Dk = 3j − r (two translations + one rotation per joint); plane truss Dk = 2j − r; space frame Dk = 6j − r.
- If members are taken axially rigid (usual hand assumption for frames), subtract one DOF per such member: a single-storey single-bay fixed portal has Dk = 3×4 − 6 = 6, reduced to 3 (θB, θC, sway Δ).
- Rule of thumb for hand work: use the flexibility method when Ds < Dk (e.g. a two-span beam), the stiffness method when Dk < Ds (e.g. a multi-storey frame with axially rigid members).
- Both Ds and Dk are needed only to size the matrices; the matrix procedure itself does not change with the numbers.
Flexibility (force) method, step by step
- Compute Ds and choose Ds redundants {X} (a reaction, an internal moment, a bar force). The remaining structure - the released/primary structure - must be stable and determinate.
- Analyse the released structure under the applied loads; find displacements {ΔL} at the released coordinates (unit-load method, moment-area, or standard results).
- Apply a unit value of each redundant in turn on the released structure and find displacements at all coordinates → flexibility matrix [f], where f_ij = displacement at i due to unit force at j.
- Compatibility: the real displacement at each released coordinate must equal its actual value (zero for a rigid support, δ for a settlement): {ΔL} + [f]{X} = {Δ_actual}.
- Solve {X} = [f]⁻¹({Δ_actual} − {ΔL}); then superpose: final force = load-case value + Σ X_i × (unit-case value).
- f_ij = ∫ (m_i m_j / EI) dx + ∫ (n_i n_j / AE) dx + ∫ (t_i t_j / GJ) dx - bending usually dominates in beams and frames, axial terms dominate in trusses.
- [f] is symmetric (Maxwell-Betti reciprocal theorem) and positive definite - a useful check before inverting.
- Advantages: small matrix when Ds is small; redundant forces come out directly; good for arches, rings and cable structures.
- Limitations: choice of released structure is not unique and a poor choice makes [f] ill-conditioned; not programmable in a general way; support settlement and temperature need care.
Stiffness (displacement) method and element matrices
- Number the joints, then number the DOFs - unrestrained first (1…n), restrained last is the convention that makes partitioning easy.
- Write each member's element stiffness matrix in its local axes; transform to global axes with [k] = [T]ᵀ[k′][T].
- Assemble the global stiffness matrix [K] by adding each element's terms into the rows/columns of its own DOF numbers (direct stiffness / code-number technique).
- Form the load vector {P}: joint loads applied directly; member loads converted to equivalent joint loads = minus the fixed-end forces (FEMs).
- Apply boundary conditions and solve {Δ} = [K]⁻¹{P} for the free DOFs.
- Back-substitute: member end forces {F} = [k]{δ} + {FEF}; support reactions from the restrained-DOF rows.
- Axial (truss) element, local: (AE/L) × [[1, −1], [−1, 1]].
- Plane truss element, global (4×4): (AE/L) × [[c², cs, −c², −cs], [cs, s², −cs, −s²], [−c², −cs, c², cs], [−cs, −s², cs, s²]], where c = cos θ, s = sin θ.
- Beam element (4×4) for DOFs v₁, θ₁, v₂, θ₂ - see the formula box; the rotational sub-matrix (4EI/L, 2EI/L) is exactly slope-deflection in matrix form.
- Plane frame element (6×6) = axial 2×2 + flexural 4×4 combined; grid element uses bending + torsion (GJ/L); space frame element is 12×12.
- [K] is symmetric, banded and sparse; before supports are applied it is singular (rigid-body modes), which is why an unrestrained model refuses to solve.
- Boundary conditions: (a) elimination - delete rows/columns of restrained DOFs (exact, standard in hand work); (b) penalty - add a very large stiffness at the DOF (easy to code, used for springs and elastic supports); (c) Lagrange multipliers for constraints.
- Prescribed support settlement δ: either add its contribution as an equivalent load {P} = −[K_fs]{δ_s}, or solve the partitioned system; temperature rise and lack of fit enter as fixed-end forces (axial member: F = EAαΔT).
Computer implementation and practical issues
- Half bandwidth B = (largest difference in node numbers within any element + 1) × DOF per node; solution effort ≈ n·B², so node numbering matters - number across the short direction of a building.
- Storage and solvers: banded/skyline storage, Cholesky or Gauss elimination for static problems; iterative (PCG) solvers for very large models.
- Static condensation eliminates DOFs with no mass/load (used to reduce a building to lateral DOFs in seismic analysis); substructuring solves large models in parts.
- Rigid offsets, master-slave constraints and rigid diaphragms tie DOFs together - the way floor slabs are modelled in ETABS for IS 1893 analysis.
- Releases (hinged member ends, pinned truss members in a frame model) are applied by modifying the element matrix, not by deleting the member.
- Limitations: linear elastic, small displacement, superposition assumed. Geometric nonlinearity (P-Δ, as required for sway frames in IS 800:2007) needs a geometric stiffness matrix [K_G]; material nonlinearity needs incremental/plastic analysis; stability gives the eigenproblem ([K] + λ[K_G]){Δ} = 0 and dynamics gives [M]{ü} + [K]{u} = {F(t)}.
- Standards and practice: matrix analysis produces the forces that are then designed to IS 456:2000 (RCC), IS 800:2007 (steel, limit state), IS 875 Parts 1-5 (loads), IS 1893 (Part 1):2016 (seismic) and IS 13920:2016 (ductile detailing). Codes prescribe loads, load combinations and modelling assumptions (effective stiffness, cracked-section properties, torsion), not the matrix algebra; always check which code revision applies to the project.
- Matrix methods are the direct ancestor of the finite element method: a bar/beam element is a one-dimensional finite element with exact shape functions; FEM generalises the same [k]{δ} = {F} to plates, shells and solids.
Key points
- Flexibility method - unknowns are redundant forces; equations from compatibility; size = Ds.
- Stiffness method - unknowns are joint displacements; equations from equilibrium; size = Dk; basis of all software.
- Duality - [k] = [f]⁻¹ for a corresponding set of coordinates; both methods give identical linear-elastic results.
- Ds - plane truss m + r − 2j; plane frame 3m + r − 3j; space frame 6m + r − 6j.
- Dk - plane frame 3j − r; reduce by one per axially rigid member in hand analysis.
- Flexibility coefficient f_ij - displacement at coordinate i due to unit force at j; [f] symmetric by Maxwell-Betti.
- Stiffness coefficient k_ij - force at i due to unit displacement at j, all others held zero; [K] symmetric.
- Element to global - [k] = [T]ᵀ[k′][T]; direction cosines c and s build the truss 4×4 matrix.
- Assembly - add element terms into global rows/columns by DOF (code) numbers; overlapping terms sum at shared joints.
- Equivalent joint loads - member loads are replaced by minus their fixed-end forces; FEFs are added back when recovering member forces.
- Singular [K] - an unrestrained structure has rigid-body modes; supports must be applied before inversion.
- Boundary conditions - elimination (exact), penalty (large spring), or Lagrange multipliers.
- Banded and sparse - half bandwidth B = (max node-number difference + 1) × DOF/node; good numbering cuts solution time.
- Settlement and temperature - enter as prescribed displacements or as fixed-end forces (EAαΔT axially), with no change in [K].
- Member force recovery - {F} = [k]{δ} + {FEF}; truss bar force = (AE/L)(cΔu + sΔv).
- Static condensation - removes unwanted DOFs while preserving stiffness; used for lateral-load and dynamic models.
- Choose by size - Ds < Dk → flexibility; Dk < Ds → stiffness; computers always use stiffness.
- Extensions - [K_G] for P-Δ and buckling, [M] for dynamics, FEM for 2D/3D continua.
Formulas and examples
Flexibility method: {ΔL} + [f]{X} = {Δ_actual} → {X} = [f]⁻¹({Δ_actual} − {ΔL}). X = redundant force (kN or kN·m), f in mm/kN or rad/kN·m, ΔL = displacement of released structure at the redundant coordinate.
f_ij = ∫ (m_i m_j / EI) dx + ∫ (n_i n_j / AE) dx (+ ∫ t_i t_j / GJ dx for torsion). m, n, t = BM, axial force and torque due to unit force at i or j.
Stiffness method: {P} = [K]{Δ}; {Δ} = [K]⁻¹{P}; [k] = [f]⁻¹; {F}member = [k]{δ} + {FEF}.
Axial element (local): [k′] = (AE/L) | 1 −1 ; −1 1 |, A in mm², E in N/mm², L in mm → k in N/mm (÷1,000 for kN/mm).
Plane truss element (global, DOF u_i v_i u_j v_j): [k] = (AE/L) | c² cs −c² −cs ; cs s² −cs −s² ; −c² −cs c² cs ; −cs −s² cs s² |, c = cos θ, s = sin θ.
Beam element (DOF v₁ θ₁ v₂ θ₂): [k] = (EI/L³) | 12 6L −12 6L ; 6L 4L² −6L 2L² ; −12 −6L 12 −6L ; 6L 2L² −6L 4L² |, EI in kN·m², L in m.
Rotational (slope-deflection) form: M_near = (4EI/L)θ_near + (2EI/L)θ_far − (6EI/L²)Δ + FEM.
Standard FEMs: UDL w over span L → wL²/12 each end; central point load W → WL/8; settlement Δ (both ends fixed) → 6EIΔ/L².
Transformation: {δ′} = [T]{δ}; [k]global = [T]ᵀ[k′][T]; [T] orthogonal, so [T]⁻¹ = [T]ᵀ.
Temperature/lack of fit: axial fixed-end force F = E A α ΔT (α in /°C); half bandwidth B = (ΔN_max + 1) × DOF per node.
Example 1 - Indeterminacy and matrix sizes. Single-bay single-storey portal frame, both supports fixed: m = 3, j = 4, r = 6.
- Ds = 3m + r − 3j = 9 + 6 − 12 = 3 → flexibility method needs a 3×3 matrix.
- Dk = 3j − r = 12 − 6 = 6; with the three members taken axially rigid, Dk = 6 − 3 = 3 (θB, θC, sway Δ).
- A plane truss with m = 11, j = 6, r = 3: Ds = 11 + 3 − 12 = 2; Dk = 2×6 − 3 = 9. Here the flexibility method (2×2) is far quicker by hand, while software still solves the 9×9 stiffness system.
Example 2 - Flexibility method, propped cantilever. Span L = 6 m fixed at A, roller at B, UDL w = 20 kN/m, EI = 30,000 kN·m² constant. Redundant X = vertical reaction at B (Ds = 1).
- Released structure = cantilever fixed at A. Downward deflection at B: ΔL = wL⁴/(8EI) = 20 × 6⁴ / (8 × 30,000) = 25,920/240,000 = 0.108 m.
- Flexibility: f = L³/(3EI) = 216/(3 × 30,000) = 0.0024 m/kN (upward per unit upward force).
- Compatibility (net deflection zero): −0.108 + 0.0024 X = 0 → X = 45 kN (= 3wL/8 = 3×20×6/8 ✓).
- Moment at A = wL²/2 − X·L = 360 − 270 = 90 kN·m hogging (= wL²/8 ✓). Deflection at B is zero by construction; mid-span sagging moment = 45×3 − 20×3²/2 = 135 − 90 = 45 kN·m.
Example 3 - Stiffness method, continuous beam (2 DOF). Beam A-B-C: A fixed, B and C simple supports (rollers); AB = 6 m, BC = 4 m, EI = 30,000 kN·m², UDL 20 kN/m on AB only. Unknown DOFs: θB (1), θC (2). Anticlockwise moments positive.
- Stiffness terms: k₁₁ = 4EI/6 + 4EI/4 = 20,000 + 30,000 = 50,000; k₁₂ = k₂₁ = 2EI/4 = 15,000; k₂₂ = 4EI/4 = 30,000 (kN·m/rad).
- FEMs on AB: M_AB = −wL²/12 = −60, M_BA = +60 kN·m. Equivalent joint loads: P₁ = −60, P₂ = 0.
- Equations: 50,000 θB + 15,000 θC = −60; 15,000 θB + 30,000 θC = 0 → θC = −0.5 θB.
- Substituting: (50,000 − 7,500) θB = −60 → θB = −60/42,500 = −1.4118 × 10⁻³ rad; θC = +7.059 × 10⁻⁴ rad.
- Member forces: M_BA = 60 + 20,000(−1.4118e−3) = 60 − 28.24 = +31.76 kN·m; M_AB = −60 + 10,000(−1.4118e−3) = −74.12 kN·m; M_BC = 30,000θB + 15,000θC = −42.35 + 10.59 = −31.76 kN·m; M_CB = 15,000θB + 30,000θC = −21.18 + 21.18 = 0 ✓ (simple support).
- Checks: ΣM at B = 31.76 − 31.76 = 0 ✓; the moment at the simply supported end C is zero ✓.
Example 4 - Truss element matrix and bar force. Diagonal member: A = 1,200 mm², E = 2 × 10⁵ N/mm², L = 4 m = 4,000 mm, inclined with c = 0.8, s = 0.6 (3-4-5 geometry).
- AE/L = 1,200 × 2×10⁵ / 4,000 = 60,000 N/mm = 60 kN/mm.
- c² = 0.64, s² = 0.36, cs = 0.48 → stiffness terms 60 × 0.64 = 38.4, 60 × 0.36 = 21.6, 60 × 0.48 = 28.8 kN/mm, arranged with the sign pattern of the 4×4 matrix above.
- If node i is fixed and node j displaces u = +0.5 mm, v = −1.2 mm: bar force = (AE/L)(cΔu + sΔv) = 60 × (0.8×0.5 + 0.6×(−1.2)) = 60 × (0.40 − 0.72) = −19.2 kN, i.e. 19.2 kN compression. Stress = 19,200/1,200 = 16 N/mm².
Example 5 - Direct stiffness assembly, stepped bar. Nodes 1-2-3 in a line; element 1 (1-2) has AE/L = 100 kN/mm, element 2 (2-3) has AE/L = 50 kN/mm. Node 1 fixed, axial load P = 60 kN at node 3.
- Assembled [K] (DOF u₁, u₂, u₃) = | 100 −100 0 ; −100 150 −50 ; 0 −50 50 |. Delete row/column 1 (u₁ = 0) → | 150 −50 ; −50 50 |.
- Solve: 150u₂ − 50u₃ = 0 and −50u₂ + 50u₃ = 60 → u₃ = u₂ + 1.2; 150u₂ − 50u₂ − 60 = 0 → u₂ = 0.6 mm, u₃ = 1.8 mm.
- Element forces: F₁ = 100(0.6 − 0) = 60 kN; F₂ = 50(1.8 − 0.6) = 60 kN; reaction at node 1 = −100 × 0.6 = −60 kN ✓ equilibrium.
| Feature | Flexibility (force) method | Stiffness (displacement) method |
|---|---|---|
| Unknowns | Redundant forces {X} | Joint displacements {Δ} |
| Number of equations | Ds (static indeterminacy) | Dk (degrees of freedom) |
| Equations written from | Compatibility of displacements | Equilibrium at joints |
| Matrix formed | Flexibility [f] | Stiffness [K] |
| Needs released structure | Yes - choice by judgement | No - restrained (fixed-joint) state is unique |
| Suits determinate structures | Not applicable (Ds = 0) | Yes, works unchanged |
| Programmability | Poor | Excellent - element-by-element assembly |
| Hand use | Arches, rings, low-Ds beams | Frames, grids, trusses with few DOFs |
| Classical equivalent | Consistent deformation, Castigliano II | Slope-deflection, moment distribution |
Where it is used
- Building design consultancies (L&T Construction, Tata Consulting Engineers, AECOM, WSP, Jacobs, Sterling Engineering): ETABS/STAAD.Pro models of RCC and steel frames analysed by the direct stiffness method, then designed to IS 456, IS 800, IS 1893 and IS 13920.
- Bridges and infrastructure: NHAI and MoRTH projects, metro viaducts (DMRC, MMRDA) - grillage and space-frame stiffness models for live-load distribution, staged construction and prestress effects.
- Industrial and power structures: pipe racks, boiler support steel, transmission towers (space truss stiffness models) for BHEL, NTPC, Power Grid and EPC contractors.
- Software and R&D roles: structural analysis code development (Bentley, Autodesk, SkyCiv, Indian start-ups), finite element solver teams, and academic research at IITs/NITs on nonlinear and dynamic extensions.
- Job roles and exams: structural design engineer, analysis engineer, proof-checker, peer reviewer; GATE CE, ESE (Civil), state AE/JE, and PSU recruitment (NTPC, NHPC, SAIL) through GATE scores.
- Forensic and retrofit work: re-analysing an existing frame with reduced member stiffnesses or removed members to assess residual capacity.
Interview questions
- Q: Why does commercial software use the stiffness method and not the flexibility method? A: The stiffness method needs no choice of redundants - element matrices are assembled mechanically by node numbers - and it works for determinate, indeterminate and unstable-check cases alike, making it fully programmable.
- Q: What do a stiffness coefficient and a flexibility coefficient mean physically? A: k_ij is the force needed at coordinate i to produce a unit displacement at j with all other coordinates held at zero; f_ij is the displacement at i caused by a unit force at j with no other loads.
- Q: Why is the global stiffness matrix singular before boundary conditions are applied? A: The unrestrained structure can undergo rigid-body translation and rotation at zero force, so [K] has zero-energy modes and cannot be inverted until supports remove them.
- Q: Why is the stiffness matrix always symmetric? A: By Betti-Maxwell reciprocity for a linear elastic structure, k_ij = k_ji; it also follows from the strain energy being a quadratic form in the displacements.
- Q: How are member loads such as a UDL handled when the unknowns are joint displacements? A: The member is first held with fixed ends, its fixed-end forces computed, and the negatives of those forces applied as equivalent joint loads; the FEFs are added back during member-force recovery.
- Q: How do you decide between the two methods for a hand calculation? A: Compare Ds with Dk - use flexibility if Ds is smaller (e.g. a two-span beam, Ds = 2), stiffness if Dk is smaller (e.g. a multi-storey frame with axially rigid members).
- Q: What is the relation between [k] and [f]? A: For the same set of coordinates on a restrained element, they are inverses, [k] = [f]⁻¹; the flexibility matrix exists only for a stable (restrained) structure.
- Q: What is the role of the transformation matrix? A: It converts local member displacements and forces to global axes using direction cosines; since [T] is orthogonal, the global element stiffness is [T]ᵀ[k′][T].
- Q: How does support settlement enter the stiffness method? A: As a prescribed displacement - either partition the equations and move [K_fs]{δ_s} to the load side, or apply the member fixed-end forces 6EIδ/L² and 12EIδ/L³; [K] itself is unchanged.
- Q: Why does node numbering affect solution time? A: It sets the half bandwidth B = (maximum node-number difference in an element + 1) × DOF per node, and banded solution effort grows roughly as n·B², so poor numbering can slow a large model dramatically.
- Q: Where do matrix methods stop being valid? A: They assume linear elastic material, small displacements and superposition; P-Δ, buckling, plastic hinges and large deflections need a geometric stiffness matrix or incremental nonlinear analysis.
- Q: How is the matrix stiffness method related to the finite element method? A: A bar or beam element is a one-dimensional finite element with exact shape functions; FEM uses the identical assemble-and-solve procedure with approximate shape functions for plates, shells and solids.
Common mistakes
- Mixing up Ds and Dk, or forgetting to reduce Dk for axially rigid members, so the matrix is the wrong size from the start.
- Forgetting to add fixed-end forces back when recovering member forces - giving a fixed-ended beam under UDL zero end moments.
- Sign-convention drift: using clockwise-positive for FEMs and anticlockwise-positive in the stiffness matrix within the same problem.
- Assembling the element matrix into the wrong global rows/columns, especially when restrained DOFs are not numbered last, and not checking that [K] came out symmetric.
- Inconsistent units - EI in kN·m² with L in mm, or A in mm² with L in m - which silently changes answers by factors of 1,000.
- Taking cos θ and sin θ from the wrong end of a truss member (direction must run from the near node to the far node of that element).
- Trusting software output without equilibrium checks - verifying ΣV, ΣH, ΣM and a rough hand estimate catches most modelling errors (missing releases, unconnected nodes, wrong supports).
Related topics
Structural analysis: determinate and indeterminate structures · Structural dynamics basics · Tall buildings, shear walls and lateral loads · Steel structures design (IS 800) · Reinforced concrete design (IS 456) · Bridge engineering