JP | EN | ZH
TOPStructural AnalysisMultibody Dynamics
NovaSolver · Mechanism Simulation

Multibody Dynamics (MBD)
Joints, Constraints & Flexible Body Motion

A robot arm, an automobile suspension, a satellite antenna deployment mechanism — these systems consist of multiple rigid or flexible bodies connected by joints, driven by actuators, and limited by contacts. Multibody dynamics simulates the motion of these interconnected systems under realistic loads and constraints.

6 DOF Rigid Bodies Constraint Equations Craig-Bampton CMS MSC ADAMS
Tweet Share

What is Multibody Dynamics?

Conventional structural FEM analyses a deformable body whose overall motion is small. MBD analyses the large-angle rotation and translation of interconnected bodies — each body may itself be either rigid (no deformation) or flexible — constrained by joints and acted on by forces, torques, springs, and dampers. The goal is to compute time-history of positions, velocities, accelerations, joint reaction forces, and (for flexible bodies) internal stresses.

The fundamental difference from structural FEM: MBD uses generalized coordinates plus constraint equations (algebraic), yielding a mixed Differential-Algebraic Equation (DAE) system rather than purely differential ODEs.

Concept Walkthrough — Q&A

🧑‍🎓

I need to simulate a car door hinge mechanism — the door swings open, stop at 90°, and I want joint forces. Should I use regular FEM or MBD?

🎓

MBD is the right tool here. Regular FEM handles deformation but assumes small overall rigid body motion. Your door swings through 90° of rotation — that's the opposite: large rigid body motion with (hopefully) small structural deformation. MBD models the door and body as rigid or semi-rigid bodies connected by a revolute hinge joint that constrains 5 of the 6 relative DOF, leaving 1 rotation free. You drive the analysis with a motion profile or an applied opening force. The output gives you hinge pin forces, door velocity, and if needed you can feed those forces back into a detailed FEM stress analysis of the hinge bracket.

🧑‍🎓

You said each rigid body has 6 DOF. How does the system equation get set up for multiple bodies connected by joints?

🎓

Start with N bodies, each with 6 DOF (3 translational, 3 rotational) — that's 6N coordinates total. Each joint adds constraint equations that remove DOF. A revolute joint removes 5 DOF; a ball-and-socket (spherical) joint removes 3; a prismatic joint removes 5 (keeps only one translation). The net system DOF = 6N minus the number of constraint equations. The equations of motion are typically assembled using Lagrange's equations with multipliers:

\[ \begin{bmatrix} M & \Phi_q^T \\ \Phi_q & 0 \end{bmatrix} \begin{bmatrix} \ddot{q} \\ \lambda \end{bmatrix} = \begin{bmatrix} Q \\ \gamma \end{bmatrix} \]

Here \(q\) are generalized coordinates, \(\Phi_q\) is the constraint Jacobian, \(\lambda\) are the Lagrange multipliers (physically: the constraint reaction forces at joints), \(Q\) is the applied force vector, and \(\gamma\) is the kinematic acceleration term. This is a DAE — solving it requires specialised integrators (like Gear's method or the HHT-I3 method) that maintain constraint drift under control.

🧑‍🎓

What's the difference between Lagrange equations and Newton-Euler equations for MBD? Which do real codes use?

🎓

Both formulations are equivalent — they produce the same trajectories. The conceptual difference: Lagrange equations work in generalised (possibly minimal) coordinates and naturally eliminate constraint forces from the dynamics — you only solve for the free DOF. This is elegant and efficient for simple chain topologies (like a robot arm). Newton-Euler equations work directly with Cartesian positions and orientations plus explicit constraint force terms. They produce larger systems (including constraint forces as unknowns) but handle arbitrary topologies — closed loops, parallel mechanisms — more naturally. Modern MBD codes like MSC ADAMS use the Newton-Euler + Lagrange multiplier approach (the "augmented" formulation) because it handles closed kinematic loops and redundant constraints robustly without special treatment.

🧑‍🎓

When do I need flexible bodies in MBD? What's the Craig-Bampton method?

🎓

Rigid body MBD is accurate when structural deformations are small compared to the mechanism's range of motion. You need flexible multibody dynamics when deformation affects the motion trajectory — for example, a long robotic arm whose tip deflects under load, changing the end-effector position; or an automotive leaf spring whose bending compliance is essential to the suspension kinematics. The Craig-Bampton Component Mode Synthesis (CMS) method reduces the FEM body to a compact superelement: you retain a set of "fixed-interface normal modes" (vibration modes with joints fixed) plus "constraint modes" (static shapes due to unit displacement at each joint DOF). Together, these maybe 50–200 modes represent the flexible body in the MBD simulation with a tiny fraction of the full FEM DOF count. This is the standard approach in ADAMS Flex, SIMPACK, and Abaqus/Explicit flexible-body coupling.

🧑‍🎓

What joint types are available, and how do I decide which to use?

🎓

The standard library covers most mechanisms. A revolute joint (hinge) constrains all DOF except one rotation — door hinges, crankshafts, wheel hubs. A prismatic joint allows only one translational DOF — hydraulic cylinders, drawer slides. A spherical joint (ball-and-socket) allows all three rotations but no translation — steering tie rods, universal joints. A cylindrical joint allows one rotation and one co-axial translation — a nut on a threaded rod. A planar joint constrains one translation and two rotations — a part sliding on a flat surface. Beyond standard joints, modern codes support bushing elements (springs and dampers in all 6 DOF), friction, and clearance joints — critical for realistic mechanism analysis. In automotive suspension, for example, rubber bushings with frequency-dependent stiffness are modelled as ADAMS bushing elements between subframe and body.

Joint Types — DOF Reference Table

Joint Type Free DOF Constraints Typical Use
Revolute (hinge) 1 (Rz) 5 Door hinge, crankshaft
Prismatic (slider) 1 (Tx) 5 Hydraulic cylinder, piston
Spherical (ball) 3 (Rx, Ry, Rz) 3 Tie rod, universal joint
Cylindrical 2 (Tx, Rz) 4 Threaded fastener engagement
Planar 3 (Tx, Ty, Rz) 3 Part sliding on flat surface
Fixed 0 6 Rigid weld, bonded interface

Craig-Bampton Flexible Body Reduction

The Craig-Bampton method condenses a full FEM model (millions of DOF) into a compact modal representation for use in MBD:

\[ \{u\} = [\Phi_n\;\Psi_c]\begin{bmatrix} q_n \\ u_c \end{bmatrix} \]

where \(\Phi_n\) are the fixed-interface normal modes (vibration mode shapes computed with joint DOF fixed), \(\Psi_c\) are constraint modes (static deflection shapes for unit displacement at each joint node), \(q_n\) are modal amplitudes, and \(u_c\) are boundary (joint interface) DOF — kept exactly. The resulting reduced model captures structural flexibility with typically 20–100 modes while retaining full accuracy at the joints where forces are exchanged.

Software Comparison

MSC ADAMS

Industry standard for automotive MBD. Full vehicle dynamics, suspension analysis, flexible body (Adams Flex via Craig-Bampton). Co-simulation with MATLAB/Simulink for control systems.

SIMPACK

Railway, wind turbine, and drivetrain specialist. High-frequency dynamics up to audible range. Strong gear and bearing modelling capabilities. Owned by Dassault.

Abaqus Connector Elements

FEM-native approach: CONNECTOR elements with REVOLUTE, CARTESIAN, BEAM connection types. Works within Abaqus/Explicit or Standard. Good for moderate mechanism complexity within a detailed FEM model.

ANSYS Rigid Dynamics

Workbench-integrated MBD. Joints from Mechanical. Fast rigid body solver; results feed directly into Transient Structural for stress. Common in aerospace mechanism analysis.

Practical Tips

  • Check for redundant constraints: adding a fixed joint between two bodies already constrained by two revolute joints may over-constrain the model. Most MBD solvers will flag this, but it can cause solver failures or incorrect reaction forces.
  • Use bushings instead of ideal joints for NVH: ideal revolute joints produce infinite stiffness at zero displacement. For noise and vibration analysis, replace them with frequency-dependent bushing elements with realistic stiffness and damping.
  • Validate rigid body assumptions first: run the mechanism as purely rigid to get motion and joint forces. Only add Craig-Bampton flexibility where you need local stress or where compliance affects kinematics.
  • Co-simulation for controls: link your MBD model to MATLAB/Simulink or a dedicated controls environment to simulate actuator dynamics, sensor feedback, and control algorithms in the loop.
  • Gravity direction: always verify your global gravity vector is correct. A surprising number of errors in mechanism analysis trace to gravity acting in the wrong direction.
Author: NovaSolver Contributors (Anonymous Engineers & AI)
Cross-topics: Transient Dynamics · Contact Analysis · Modal Analysis · Geometric Nonlinearity