Stable Constrained Dynamics

Maxime Tournier, Matthieu Nesme, Benjamin Gilles, François Faure

ACM Transactions on Graphics (Proceedings of SIGGRAPH), 2015

Our method improves stability and step size for the simulation of constraint-based objects subject to high tensile forces, isolated or coupled with other types of objects. Bow: stiff 3D frame, 1D inextensible string, rigid arrow ; Trampoline: soft lateral springs, inextensible textile ; Knee: complex assembly of rigid bodies and stiff unilateral springs ; Ragdoll: rigid body assembly.


We present a unification of the two main approaches to simulate deformable solids, namely elasticity and constraints. Elasticity accurately handles soft to moderately stiff objects, but becomes numerically hard as stiffness increases. Constraints efficiently handle high stiffness, but when integrated in time they can suffer from instabilities in the nullspace directions, generating spurious transverse vibrations when pulling hard on thin inextensible objects or articulated rigid bodies. We show that geometric stiffness, the tensor encoding the change of force directions (as opposed to intensities) in response to a change of positions, is the missing piece between the two approaches. This previously neglected stiffness term is easy to implement and dramatically improves the stability of inextensible objects and articulated chains, without adding artificial bending forces. This allows time step increases up to several orders of magnitude using standard linear solvers.