DAE in one paragraph
For an unconstrained rigid body, Newton’s second law gives ODEs in position and velocity. Add a constraint — a pin joint, a slider, a gear mesh — and the equations of motion now contain both ODEs and algebraic relations that the configuration must satisfy at every instant. The combined system is a differential-algebraic equation. The index counts how many times the constraint equations must be differentiated to recover an ODE.
Mechanical multi-body systems with holonomic constraints (geometric constraints on positions only) are typically index-3:
- Differentiate once → constraint becomes a velocity-level relation.
- Differentiate twice → constraint becomes an acceleration-level relation.
- Differentiate three times → the system is recoverable as an ODE.
Why index-3 is hard
The natural form of the equations of motion for a constrained system is the augmented Lagrange formulation:
M q̈ + Cqᵀ λ = F
C(q) = 0
where q is the generalised position, M is the mass matrix, C(q)
are the holonomic constraints, Cq is the constraint Jacobian, λ is
the Lagrange-multiplier vector, and F are applied forces. The
constraint C(q) = 0 lives at the position level — three orders below
the dynamics. Naive integration of the ODE part alone lets C(q)
drift; constraint stabilisation is required to keep ‖C‖ bounded
across long simulations.
Solver structure
Our dynamics layer integrates the augmented system directly:
[M Cqᵀ] [q̈] [F − γ]
[Cq 0 ] [λ ] = [γq]
where γ is a quadratic-velocity term and γq is the second
derivative of the constraint. At every integration step:
- Position-level Newton-Raphson solve enforces
C(q) = 0. - Velocity-level projection enforces
Cq q̇ = 0. - The augmented linear system above gives
q̈andλsimultaneously. - RK45 advances the (q, q̇) state.
- Stabilisation keeps the position and velocity constraints satisfied to machine precision.
The reward for the bookkeeping: λ falls out of the solver as joint
reaction forces in Newtons, directly usable for fatigue analysis and
bearing sizing — no post-processing.
Why this matters
Most introductory MBSD treatments either:
- Reduce the index to 1 by analytical elimination of the constraints (only feasible for textbook examples), or
- Use penalty methods that add stiff springs at the constraint level (numerically badly conditioned, kills RK45 step-size).
Our solver goes through the augmented index-3 form directly because:
- The four classical filters in synthesis (Grashof, transmission angle, branch, order) have direct readings on the index-3 quantities.
- λ is a primary output, not a derived one. Joint forces in Newtons arrive without an additional model.
- The same solver runs the practica four-bar, the engine NVH chain, and the quarter-car suspension. One implementation, three benchmarks.
See also
- Lagrange multiplier — the
λin the augmented system, exposed as joint reaction force. - Four-bar linkage — the canonical index-3 example.
- Practica case study — full solver pipeline end-to-end.