4. Building a multibody occupant model
In MADYMO, a multibody (MB) occupant model is assembled from rigid bodies connected by kinematic joints, with the passive restraint system represented by contacts and belts. Unlike a finite element (FE) dummy, which derives its response from a deformable mesh, an MB dummy derives its kinematics from body inertias, joint properties, and contact stiffness. This makes the MB approach computationally cheap and numerically robust, but it also means that every joint, contact, and belt path must be explicitly defined and validated. This section walks through the four decisions that dominate MB occupant model quality: which dummy database to load, how to set joint stiffness, how to define contacts, and how to route the belt.
Dummy database selection
MADYMO ships with validated dummy databases under the installation directory, typically share/dummies/. The most common MB occupants are the Hybrid III family (50th percentile male, 5th percentile female, 95th percentile male) and the THOR-MB model. Each database is a set of .xml files describing body segments, joint degrees of freedom, inertia properties, and default contact characteristics. Selection is driven by the regulatory or consumer test protocol, not by preference:
- Frontal impact, FMVSS 208 / Euro NCAP — Hybrid III 50th percentile male MB dummy is the baseline. Use the 5th percentile female for small-occupant out-of-position studies.
- Advanced frontal, THOR — THOR-MB provides more biofidelic thorax and pelvis response, but requires more careful joint tuning and is not interchangeable with Hybrid III corridors.
- Side impact — ES-2re or WorldSID MB models, which have different rib and pelvis structures.
Load the database with INCLUDE statements rather than copying files, so that version updates propagate cleanly:
<INCLUDE FILE="dummies/hybrid3_50f/hybrid3_50f.xml"/>
<INCLUDE FILE="dummies/hybrid3_50f/hybrid3_50f_contacts.xml"/>
After inclusion, verify the model tree in MADYMO's model checker: the body count, joint count, and total mass should match the database documentation (Hybrid III 50th male ≈ 77.7 kg). A mismatch almost always means a duplicate or missing include.
Joint stiffness and damping
MB dummy joints are not rigid constraints; they are compliant elements defined by a torque–angle characteristic. In MADYMO this is expressed as a CHARACTERISTIC of type JOINT_STIFFNESS referenced by the joint, plus optional damping. The characteristic is a piecewise-linear table of torque versus relative rotation, and it is the primary tuning knob for matching certification corridors.
For a neck joint, a typical Hybrid III flexion characteristic might be:
CHARACTERISTIC
ID = "neck_flexion"
TYPE = JOINT_STIFFNESS
X = 0.0, 0.1, 0.2, 0.3, 0.4 ! rad
Y = 0.0, 8.0, 22.0, 45.0, 80.0 ! N·m
END
Two practical rules apply. First, keep the characteristic monotonic; a non-monotonic table causes the solver to oscillate and produces non-physical joint chatter. Second, add damping proportional to the joint's expected angular velocity — for the neck, 0.5–2.0 N·m·s/rad is a reasonable starting range. Damping that is too high masks the stiffness response and makes the head lag the torso unrealistically.
Joint stiffness is validated by running a pendulum or sled certification test and comparing the joint torque–angle curve against the regulatory corridor. If the peak torque is low, increase the Y values; if the curve is too stiff at small angles, add an intermediate point rather than scaling the whole table.
Contact definitions
Contacts in MADYMO MB models are defined between a body and a surface (or between two bodies) using a contact characteristic. The characteristic specifies the force–penetration relationship, usually a nonlinear elastic curve with hysteresis for unloading. For dummy-to-airbag and dummy-to-seat contacts, the standard approach is:
- Define the contact surface geometry (plane, ellipsoid, or FE mesh) on the target object.
- Assign a
CONTACT_CHARACTERISTICwith a force–penetration table. - Reference the characteristic from a
CONTACTorCONTACT_MB_MBdefinition.
A representative dummy-to-airbag characteristic uses a stiffness of roughly 50–200 N/mm at low penetration, rising steeply beyond 30 mm. The exact values depend on the airbag's internal pressure and venting, so they are usually calibrated against a sled test rather than taken from a textbook. For dummy-to-seat contacts, a softer characteristic (10–40 N/mm) is typical because the foam compresses.
Belt routing
The seat belt is modeled as a BELT element: a series of belt segments passing through BELT_SLIPRING and BELT_RETRACTOR definitions, anchored at fixed points on the vehicle structure. Routing determines how the belt interacts with the dummy, and it is the most common source of unrealistic belt forces.
The recommended workflow is:
- Define anchor points from the CAD or test measurement (D-ring, buckle, outboard anchor, retractor).
- Insert sliprings at the D-ring and buckle so the belt can slide and change direction.
- Add a retractor with a force-limiting characteristic if the restraint is load-limited.
- Define belt-to-dummy contacts using the dummy's belt contact surfaces, not generic body surfaces.
A typical retractor definition with a 4 kN force limiter and 50 mm pre-tensioner stroke:
BELT_RETRACTOR
ID = "retractor_driver"
CHARACTERISTIC = "fl_4kN"
PRETENSIONER = "pret_50mm"
END
Belt routing is validated by checking that the belt lies flat against the dummy's chest and pelvis, that the shoulder belt passes over the clavicle rather than the neck, and that the lap belt sits below the iliac crest. A belt that crosses the neck produces a spurious neck moment; a lap belt above the iliac crest causes submarining. Both are visible in the animation and in the belt force time history as an early, sharp rise.
Putting it together: a minimal build sequence
A reproducible MB occupant build follows this order. First, include the dummy database and confirm mass and joint count. Second, override the default joint characteristics with your calibrated tables — do not edit the database files in place. Third, define the seat and airbag surfaces and attach contact characteristics. Fourth, route the belt and verify it lies flat in the initial position. Fifth, run a short settling simulation (50–100 ms) with gravity to check that the dummy does not drift or penetrate the seat before impact.
Typical failure symptoms and their causes: a dummy that sinks into the seat indicates contact stiffness too low or a missing seat contact; a belt that slides off the shoulder indicates a missing or misplaced slipring; a head that snaps back unnaturally indicates neck damping too high or a non-monotonic stiffness table. Each of these is diagnosed from the animation and the corresponding force or torque time history, not from the solver log alone.
parameters.xml file for all tunable values — joint stiffness IDs, contact stiffness, belt anchor coordinates — and include it at the top of the model. This makes corridor re-calibration a one-file edit and keeps the model reproducible across team members.The MB occupant model is only as good as its joint, contact, and belt definitions. Database selection sets the baseline, joint stiffness controls the kinematic response, contacts govern interaction with the environment, and belt routing determines restraint loading. Validate each against measured corridors before combining them, and the resulting model will be both fast and defensible.