Computational Engineering / How the stiffness method works
Assembly and boundary conditions
Adding element contributions into the global matrix, and what striking out a row physically means.
Lesson review: expert verification remains open
This lesson has received a full-context editorial review and a check of its technical explanations. Selected arithmetic has been checked separately. This is not independent engineering sign-off.
Checks needed for project use
- A computational engineering reviewer must check algorithms, convergence claims, statistical assumptions and numerical examples beyond the cases explicitly recorded.
- Specialist review of each solver formulation, force-recovery load terms and normalised convergence tolerances remains required.
These are educational models and exercises. Check their assumptions before using the results. The full technical content and every diagram have not yet been independently verified.
Concrete and steel calculations retain their stated first-generation Eurocode teaching basis. Use the standards and amendments specified for your project; do not mix generations without an appropriate design basis.
Read the lesson register and outstanding review notesWhy this matters
Assembly adds each element contribution to the relevant global degrees of freedom. Boundary conditions then distinguish prescribed displacements from unknown ones. Working through both steps explains why missing connections and inadequate restraint can prevent a unique solution.
By the end of this lesson you should be able to
- Assemble a global matrix by scattering element contributions into their degrees of freedom
- Explain the rigid-body modes of an unrestrained, free-floating elastic assembly
- Apply restraints by striking out rows and columns and say what that asserts
- Recognise a mechanism as a failed factorisation rather than as a mysterious error
Assembly
Number the degrees of freedom, express each element matrix in common axes and add its entries to the corresponding global rows and columns. A shared node receives contributions from each connected element. Its movement depends on the complete structure, not just its diagonal entry. A completely disconnected active degree of freedom gives a zero row: if its load is non-zero there is no equilibrium solution, and if its load is zero its displacement is undetermined.
Rigid-body modes
A free-floating elastic assembly can translate or rotate without strain. The corresponding non-zero displacement vectors satisfy Ku = 0, making K singular. This statement concerns an assembly without grounding stiffness or imposed restraints; an unreduced matrix that already includes ground springs need not be singular.
Prescribed displacements
For a degree of freedom fixed at zero displacement, remove its row and column from the system used to solve the free displacements. Retain the full equations to recover reactions afterwards. For a non-zero prescribed displacement, such as settlement, also subtract its coupling contribution from the free load vector: Kff uf = ff − Kfc uc.
Unloaded free directions
A truss under vertical load may still have an undetermined horizontal rigid-body translation. Identify the real support arrangement and the intended analysis. Do not assume foundation friction or add a design restraint merely to obtain a solution. A documented reference constraint can remove an unloaded rigid-body freedom in an appropriate free-body calculation, but it must not introduce a spurious load path or conceal a physical mechanism.
Try it
Boundary condition explorer
A three-bar triangle with a vertical load at the apex. Hold and release each support direction and watch what the factorisation does.
Node A restraints
Node B restraints
A plane structure needs at least three independent restraints. Fewer and the reduced matrix is still singular; more and the structure becomes externally indeterminate.
- Restrained directions
- 3
- Equations to solve
- 3
- Factorisation
- succeeded
- Failed at
- —
- Condition number
- 6.7
15.2 of 16 digits survive
Exactly three restraints: statically determinate externally. The reactions follow from statics alone and do not depend on any member stiffness.
- Force in AC
- -100.0 kN
- Force in BC
- -100.0 kN
- Force in AB
- 80.0 kN
compression
compression
tension
Try these
- Release every restraint. The model is free to translate and rotate, and the factorisation fails on the first free degree of freedom.
- Hold only Ax and Ay. Two restraints prevent translation and not rotation about A — the structure spins.
- Hold Ax, Ay and By. Three restraints, determinate, and the member forces are what statics gives.
- Add Bx as well. It still solves, the member forces change, and the change came from a restraint the real structure may not have.
What this shows: A mechanism is a failed factorisation with a name attached — the solver can tell you which direction has no stiffness, and that is more useful than adding restraint until it runs.
Check yourself
A first-order linear elastic plane-frame model is fully restrained at both column bases but fails on a zero pivot. Which of these could explain the failure?
Practice
A plane truss has 9 nodes. Each node has 2 translational degrees of freedom. Three degrees of freedom are restrained. How many equations does the reduced system contain?
Practice
Three bars meet at a node. Their axial stiffnesses along the x direction contribute 40 000, 25 000 and 15 000 kN/m to that node's horizontal diagonal entry. What is the diagonal entry, in kN/m?
Check yourself
Why does striking out a row and column represent a support correctly?
Check yourself
A model has too few restraints and the solver reports a zero pivot. What has it found?
Summary
- Assembly adds each element's entries into the rows and columns its degrees of freedom own
- A disconnected node leaves a zero row, which is the equation 0 = f
- A free-floating elastic assembly without grounding stiffness has rigid-body null modes
- A restraint deletes a row and a column: one unknown was already known
- A failed factorisation names a direction — use it rather than restraining until it stops