In engineering and physics, a spring system or spring network is a model of physics described as a graph with a position at each vertex and a spring of given stiffness and length along each edge. This generalizes Hooke's law to higher dimensions. This simple model can be used to solve the pose of static systems from crystal lattice to springs. A spring system can be thought of as the simplest case of the finite element method for solving problems in statics. Assuming linear springs and small deformation (or restricting to one-dimensional motion) a spring system can be cast as a (possibly overdetermined) system of linear equations or equivalently as an energy minimization problem.
Consider the simple case of three nodes, in one dimension , connected by two springs. If the nominal lengths, L, of the springs are known to be 1 and 2 units respectively, i.e. , then the system can be solved as follows:
The stretching of the two springs is given as a function of the positions of the nodes by
relating each degree of freedom to the direction each spring pulls on it.
The forces on the springs are
where W is a diagonal matrix giving the stiffness of every spring. Then the force on the nodes is given by left multiplying by , which we set to zero to find equilibrium:
which gives the linear equation:
.
Now, the matrix is singular, because all solutions are equivalent up to rigid-body translation. Let us prescribe a Dirichlet boundary condition, e.g., .