HomeArticlesPhysics & Mechanics

Spring Networks and the Maxwell Rigidity Criterion

Count degrees of freedom, count constraints, and a random lattice of springs tells you in advance whether it will be floppy or rigid — before you even push on it.

mysimulator teamUpdated June 2026≈ 8 min read▶ Open the simulation

Some networks of springs are floppy no matter how stiff the springs are

Take a 2D network of point masses connected by an irregular, random arrangement of Hookean springs and pull on one edge. Depending purely on how many springs connect to how many nodes — not on how stiff any individual spring is — the network either deforms freely with almost no resistance, or it resists like a genuine elastic solid. This is not a statement about material properties; it is a statement about counting. James Clerk Maxwell worked out the underlying logic in 1864, originally for analysing trusses and frames in structural engineering, and the same counting argument now underpins the modern theory of amorphous solids, biological gels, and the jamming transition covered elsewhere on this site.

Counting freedoms against constraints

A network of N point masses in d dimensions has roughly d·N degrees of freedom (minus a handful for overall translation and rotation, which don't count as internal deformation). Each spring, as long as it is under tension or compression, removes one degree of freedom by fixing the distance between its two endpoints to first order — it is one geometric constraint. The network's average coordination number z (mean number of springs meeting at a node) directly sets the ratio of constraints to freedoms:

degrees of freedom  ≈ d · N
number of springs    = z · N / 2        (each spring is shared by 2 nodes)

Maxwell count:  N_constraints - N_freedoms  =  (z/2 - d) · N

z < 2d   →  UNDER-constrained: floppy modes exist — the network can deform for FREE
z = 2d   →  ISOSTATIC: exactly balanced — the critical/marginal point, z_c = 2d
z > 2d   →  OVER-constrained: no floppy modes — the network is genuinely RIGID
live demo · a random spring network deforming under load near z_c● LIVE

In two dimensions z_c = 4: below an average of four springs per node, the network has more freedoms than constraints, and there exist entire modes of deformation — floppy modes — that cost zero elastic energy to first order, no matter how stiff the individual springs are. Push on a below-threshold network and it just rearranges its geometry along one of these free directions. Above z_c, every possible deformation stretches at least one spring, so every deformation costs energy — the network resists, and it has a genuine, finite elastic (shear) modulus.

The modulus near the threshold

Right at z_c the elastic modulus is exactly zero, and just above it, it grows as a power law of the excess coordination, Δz = z − z_c:

G  ~  k · Δz          (shear modulus, near z_c, for central-force spring networks)

k  = individual spring stiffness
Δz = z - z_c   (excess coordination above the isostatic point)

This is the same style of critical scaling seen at the jamming point for granular packings, and for good reason: both are examples of rigidity percolation — a network acquiring global mechanical stability from a purely local, geometric counting condition, once enough constraints have accumulated. The isostatic point, z = 2d, is the marginal case in both problems, which is why the two topics keep reusing each other's mathematics despite describing physically different systems (a fixed spring network vs. a packing of freely moving discs).

Where floppy modes actually matter

This counting argument is the working theory behind why some covalent glasses form easily and others don't: Phillips and Thorpe showed that glass-forming ability in networks like Ge-As-Se correlates strongly with the average atomic coordination sitting near the isostatic threshold, where the network is flexible enough to relax into a disordered, low-stress amorphous state but still rigid enough to hold together. It also describes biological fibre networks — collagen, fibrin, the cytoskeleton — whose measured stiffness rises sharply once cross-link density crosses a percolation-like threshold, and it is why engineers analysing a truss or a bicycle frame instinctively count triangles: a triangle (three nodes, three bonds) is exactly isostatic in 2D, which is precisely why triangulated structures are the default choice for rigid frames.

Simulating a random network

Building a test network is simple: place nodes (on a lattice or at random), connect a controlled fraction p of the possible nearest-neighbour bonds as Hookean springs, apply a small boundary strain, and relax the interior with damped dynamics or direct energy minimisation to measure the resulting stress.

// Hookean spring force between connected nodes i, j
const dx = pos[j].x - pos[i].x, dy = pos[j].y - pos[i].y;
const dist = Math.hypot(dx, dy);
const stretch = dist - restLength[i][j];
const f = k * stretch;                 // Hooke's law
applyForce(i, j, f, direction = (dx, dy) / dist);
// average z = 2 * (number of bonds) / (number of nodes)

Frequently asked questions

What exactly does the Maxwell criterion count?

It compares the number of degrees of freedom in a network of point masses (roughly d·N in d dimensions, for N nodes, ignoring rigid-body motion) against the number of independent constraints imposed by the springs (roughly one constraint per bond). A network is at least as constrained as it has freedoms exactly when its average coordination number z equals 2d — that is the isostatic point, z_c = 2d, which is 4 in two dimensions and 6 in three.

Why isn't the transition perfectly sharp at z_c in a real finite network?

Maxwell's counting is a global, average statement, but rigidity is a local, geometric property, and in a finite disordered network some regions can be locally over- or under-constrained even when the global average sits exactly at z_c. Isostaticity is an idealisation that becomes exact only in the limit of an infinitely large, statistically homogeneous network; real, finite spring networks show a rounded crossover rather than a mathematically sharp jump.

Does this really describe real materials, or just idealized spring networks?

It is the working model behind rigidity percolation theory, used to understand the mechanics of covalent glasses (where average bond coordination predicts glass-forming ability), fibre networks like collagen and cytoskeletal actin (biological tissue stiffness), and it shares its isostatic point with the jamming transition in granular and colloidal packings — the same z = 2d counting argument that appears in the granular-jamming article on this site.

Try it live

Everything above runs in your browser — open Spring Network and change the parameters while it is running. Nothing is installed, nothing is uploaded, the whole model lives in one tab.

▶ Open Spring Network simulation

What did you find?

Add reproduction steps (optional)