4. Implement Trolley Mass, Inertia, and Suspension Representation

Why the Trolley Model Matters in MPDB

In the Euro NCAP Mobile Progressive Deformable Barrier (MPDB) test, the trolley is not a passive fixture — it is a moving body with a defined mass, a defined mass distribution, and a suspension system that lets the barrier face pitch and translate during engagement. If the trolley's total mass, center of gravity (CG), inertia tensor, or suspension stiffness is wrong, the barrier face will load the vehicle differently than the reference test, and every downstream metric (occupant deceleration, barrier intrusion, compatibility assessment) becomes non-representative. This case configures the trolley as a rigid body with the correct inertial properties and a simplified but kinematically faithful suspension/wheel representation, then verifies CG and inertia against the published MPDB trolley specification.

Reference Trolley Specification (Example Values)

The values below are a teaching example consistent with the MPDB trolley concept. Always substitute the actual values from the Euro NCAP MPDB test specification and your barrier supplier's data sheet before running a certification-grade model.

PropertySymbolExample valueUnitNotes
Total trolley mass (incl. barrier face)m1400kgRigid body mass in the solver
CG longitudinal position (from front axle)x_cg1.05mMeasured rearward from front axle line
CG vertical position (above ground)z_cg0.52mAffects pitch response
CG lateral positiony_cg0.00mSymmetric
Roll inertiaIxx520kg·m²About longitudinal axis
Pitch inertiaIyy1850kg·m²Dominant for frontal impact
Yaw inertiaIzz1900kg·m²About vertical axis
WheelbaseL2.60mFront-to-rear axle
Suspension vertical stiffness (per axle)k_s180kN/mEquivalent linear spring
Suspension damping (per axle)c_s12kN·s/mEquivalent linear damper

Building the Trolley Rigid Body

The trolley body is modeled as a single rigid body whose mass and inertia are defined about its CG, not about the origin. Most explicit solvers (LS-DYNA, Radioss, Abaqus/Explicit) accept a *PART_INERTIA-style card or an equivalent keyword where you supply mass, CG coordinates, and the full inertia tensor. The critical discipline is that the CG coordinates and inertia tensor must be expressed in the same coordinate system as the part's local frame, and that the tensor is about the CG — not about the origin.

*PART_INERTIA
$#     pid       secid       mid     eosid      hgid      grav    adpopt      tmid
         1         1         1         0         0         0         0         0
$#      xc        yc        zc        tm        ir    nodeid     iop
    1.0500    0.0000    0.5200    1400.0    0.0000         0         0
$#     ixx       ixy       ixz       iyy       iyz       izz
    520.0       0.0       0.0    1850.0       0.0    1900.0

Two checks are non-negotiable before you proceed:

  • Mass closure: the sum of all trolley components (chassis, barrier face, wheels, suspension links) must equal the target total mass. If you model the barrier face as a separate deformable part, its mass must be included in the total, and the rigid body mass must be reduced accordingly.
  • Tensor symmetry and positive-definiteness: Ixx, Iyy, Izz must all be positive, and the off-diagonal terms must satisfy the triangle inequality (e.g., Ixx + Iyy ≥ Izz). A non-physical tensor will cause solver instability or spurious rotation.

Suspension and Wheel Representation

The MPDB trolley's suspension is not a detailed multi-link model — it is a kinematic abstraction that lets the barrier face pitch and heave during impact while keeping the wheels on the ground. A practical representation is a rigid axle with two vertical spring-damper elements per axle, connected between the chassis and the wheel hubs. The wheels themselves can be modeled as rigid cylinders with a contact definition against the ground plane, or as non-rotating rigid bodies if the test is purely frontal and wheel rotation is not of interest.

Key parameters to set:

  • Spring stiffness per axle: derived from the target static deflection. If the trolley sits at ride height with a known corner load, k_s = corner_load / static_deflection. For a 1400 kg trolley with 50/50 load split, each axle carries 700 kg → 6.87 kN per corner. A 40 mm static deflection gives k_s ≈ 172 kN/m per corner, or ~344 kN/m per axle if modeled as a single equivalent spring.
  • Damping: choose a damping ratio ζ ≈ 0.3–0.5 for the heave mode. c_s = 2ζ√(k_s·m_axle). For m_axle = 700 kg and k_s = 344 kN/m, critical damping is 2√(344000·700) ≈ 31 kN·s/m; at ζ = 0.4, c_s ≈ 12.4 kN·s/m.
  • Bump stops: add a stiff nonlinear spring that engages after ~60 mm of compression to prevent the chassis from bottoming out through the suspension during the impact pulse.
If your solver supports it, model the suspension as a *MAT_SPRING_ELASTIC plus *MAT_DAMPER_VISCOUS pair in parallel, with a *MAT_SPRING_NONLINEAR_ELASTIC bump stop in parallel. This keeps the model stable and lets you tune stiffness without re-meshing.

Verifying CG and Inertia Against Specification

After assembly, run a short initialization-only simulation (zero velocity, gravity on, 50 ms) and extract the trolley's CG and inertia from the solver's rigid body output. Compare against the specification table. The acceptance criteria are:

  • CG position within ±10 mm of the specified x, y, z values.
  • Principal inertias within ±5% of the specified Ixx, Iyy, Izz.
  • No spurious rotation or translation of the trolley during the initialization run (angular velocity < 0.01 rad/s, linear velocity < 0.01 m/s).

If the CG is off, the most common causes are: a component mass omitted from the total, a component positioned at the wrong coordinate, or the barrier face mass double-counted. If the inertia is off, check whether the tensor was entered about the origin instead of the CG, or whether a component's own inertia was neglected.

MPDB Trolley: Mass, CG, Inertia and Suspension Configuration Ground plane Trolley Chassis (rigid body) m = 1400 kg (incl. barrier face) Barrier Face Front axle Rear axle k_s, c_s k_s, c_s CG x_cg = 1.05 m z_cg = 0.52 m Inertia Tensor (about CG) Ixx = 520 kg·m² Iyy = 1850 kg·m² Izz = 1900 kg·m² Off-diagonals = 0 (symmetric) Check: Ixx+Iyy ≥ Izz ✓ Verification Criteria CG: ±10 mm Inertia: ±5% ω < 0.01 rad/s (init) v < 0.01 m/s (init) Run 50 ms init-only check Wheelbase L = 2.60 m

Common Failure Symptoms and Fixes

SymptomLikely causeFix
Trolley pitches excessively during impactPitch inertia too low, or CG too highRe-check Iyy against spec; verify z_cg
Trolley bounces off groundSuspension too stiff or bump stop too aggressiveReduce k_s, soften bump stop engagement
Barrier face rotates relative to chassisBarrier face not rigidly tied to chassisAdd rigid connection or merge nodes at interface
CG drifts during init runMass inconsistency between partsSum all part masses; check for omitted components
Solver instability at t=0Non-physical inertia tensorVerify positive-definiteness and triangle inequality
Do not skip the initialization-only run. A trolley that looks correct in the GUI can still have a CG offset of tens of millimeters if a component mass was entered in the wrong unit or a part was assigned to the wrong coordinate system. The 50 ms zero-velocity check catches this before you invest in a full 150 ms impact simulation.

Deliverable: Trolley Configuration Checklist

Use this checklist to confirm the trolley model is ready for vehicle integration:

  • Total mass = 1400 kg (or spec value), with barrier face mass included and not double-counted.
  • CG at x = 1.05 m, y = 0.00 m, z = 0.52 m (or spec values), verified from solver output.
  • Inertia tensor entered about CG, symmetric, positive-definite, within ±5% of spec.
  • Suspension springs and dampers defined per axle, with bump stops engaging after ~60 mm.
  • Wheels modeled as rigid bodies with ground contact; no initial penetration.
  • Initialization run (50 ms, zero velocity, gravity on) shows no spurious motion.
  • Barrier face rigidly connected to chassis; no relative rotation at interface.

Once these checks pass, the trolley is ready for the alignment and contact setup in the next stage of the MPDB model build.