Why the solver reports a singular stiffness matrix
The most common solver failure — what singularity means mechanically, the six causes in order of frequency, and how to find yours in minutes.
Troubleshooting 5 min read
A singular stiffness matrix means the model can move without any load being applied. The structure contains a mechanism: some combination of displacements meets no resistance, so there is no unique solution to and the solve stops.
This is nearly always a modelling problem, and nearly always one of six things.
Find it fast
The model is checked for mechanisms before it is solved, and a load case that would push one is not sent to the solver; the other cases still solve. The finding is named by its cause, in the status bar's Diagnostics:
| Finding | Means |
|---|---|
| Mechanism — hinges let N12 move | Releases at a node leave it free, cause 1 or 6 below |
| Mechanism — N7 is free in Y | Nothing holds that node in that direction, cause 2 |
| Mechanism — part of the structure is loose | A piece connected to nothing else, cause 3 |
| M4 is free to spin on its own | Torsion or axial force released at both ends — a warning, not a mechanism; cause 1 |
| Nearly a mechanism | Not singular, but so badly conditioned the answer means nothing |
Show motion animates the mechanism in the viewer, bars rigid and kinking at the hinges, with the cause marked, so you can see what moves rather than infer it from a degree of freedom. Where the cure is obvious, the finding offers it as one click: Make M4 rigid at N12, Hold N7 in Y. Every mechanism is also listed in a viewer's quantity menu under Mechanisms, beside the analyses, to step through like modes, and the report's stability line says whether the structure was checked and found sound.
On a large model the automatic check is skipped above 20 000 free degrees of freedom to keep editing quick; it still runs on Solve, on Check now, and whenever a case fails. The list below is a matter of recognising which cause you are looking at.
1. A member released at both ends
The most common finding by a distance, and usually not a singular matrix any more:
- Torsion or axial force released at both ends. Nothing resists the member spinning about its own axis, or sliding along it. The solver holds that motion still and the check warns M4 is free to spin on its own. Results exist; a load along that motion — a torque on the member, say — has no answer, and the case reports a residual that does not close.
- Bending released at both ends, at nodes nothing else restrains. The node's rotation has no stiffness. The solver locks it too (see cause 4), which is harmless unless a moment is applied there.
A beam pinned in bending at both ends between columns that run continuously through the nodes is the normal case: the columns hold the nodes.
Fix: keep torsion, or the axial force, rigid at one end. A member that carries only axial force can also be a bar, which has no rotations to release.
2. The structure is not restrained in every direction
Every global direction needs restraint somewhere. A frame with all supports pinned in the vertical plane may have nothing resisting movement out of plane.
Fix: check all six global directions. A 2D frame modelled in 3D needs out-of-plane restraint even if nothing loads it in that direction. Restrain it at supports, or restrain the out-of-plane degrees of freedom of the whole model if the analysis is genuinely planar.
3. Members that do not connect
Two members that appear to meet but end at slightly different points share no node. Whatever they were supposed to brace is now unbraced.
Fix: look for duplicate nodes very close together, and for member ends that stop short. Snapping to existing nodes when drawing prevents this — see Drawings and snapping.
4. Rotations nothing holds
The nodes of a pure truss, or a node where every member is released in bending, have rotations with no stiffness at all. The solver locks them before it solves and lists them on the Stats tab as Free rotations locked, so they never make the matrix singular. The 2D Truss model type removes them altogether.
Fix: none needed, unless a moment is applied at such a node: it has nothing to act on, and the load is lost. Move the moment to a node a beam holds, or make the connection continuous.
5. An element with no stiffness
A member with no section assigned, a material with zero modulus, or a surface with zero thickness contributes nothing to the matrix. Everything relying on it is unrestrained.
Fix: check that every member has both a section and a material, and that the material's is not zero.
6. A mechanism in the structure itself
Sometimes the model is right and the structure is a mechanism: a rectangular frame with four pinned joints and no bracing, a floor plate with no in-plane restraint, a wall supported at one edge only.
Fix: this is an engineering answer, not a software one. Add the bracing, the moment connection or the restraint that the real structure has and the model does not.
Near-singular: it solves, but the answer is nonsense
Sometimes the matrix is not quite singular and the solve completes with enormous displacements — millimetres in the thousands, or a warning about conditioning. The usual causes:
| Cause | Fix |
|---|---|
| A very soft spring holding something that should be supported | Use a real support |
| A very stiff spring next to normal members | Use fixity instead of a huge stiffness |
| A section or material entered in the wrong units | Check , and magnitudes |
| An almost-mechanism — a member nearly released at both ends | As cause 1 |
The mechanism check reports the last of these as Nearly a mechanism, and Show weakest motion animates the shape that is barely held. If a soft support is deliberate, It's intended acknowledges the finding.
Prevention
- Draw with snapping, always.
- Use bars for axial-only members, and keep torsion at one end of anything released.
- Restrain all six global directions before applying any load.
- Solve under self-weight alone as soon as the geometry is complete, before any real loading exists. A mechanism in a two-member model takes seconds to find; the same mechanism in a finished model takes an afternoon.
Something wrong or unclear on this page? Tell us, and it gets corrected.