2. Fundamentals of occupant kinematics and restraint system mechanics

Understanding how an occupant moves during a crash — and how the seatbelt system manages that motion — is the foundation of every restraint performance analysis. This chapter establishes the mechanical framework: belt geometry determines how forces enter the occupant, load paths determine where those forces travel through the vehicle structure, and force–time histories reveal whether the restraint system is performing as designed. These three concepts are inseparable in practice, and Python-based analysis treats them as an integrated data pipeline.

2.1 Occupant Kinematics: The Motion Before the Force

Occupant kinematics describes the displacement, velocity, and acceleration of the occupant's body segments relative to the vehicle interior during a crash event. In a frontal impact, the vehicle decelerates rapidly while the unbelted occupant continues forward at the pre-crash velocity. The seatbelt's primary job is to couple the occupant to the vehicle's deceleration profile as early and as smoothly as possible.

Three kinematic phases are conventionally recognized:

  • Free travel phase — from impact onset until the belt engages the occupant. The occupant moves forward at approximately constant velocity. The duration depends on belt slack, webbing stiffness, and initial occupant position.
  • Ride-down phase — the belt is engaged and the occupant decelerates with the vehicle. This is where the restraint system does its work. The force–time history is dominated by this phase.
  • Rebound phase — after peak deceleration, stored elastic energy in the belt and occupant tissues pushes the occupant rearward. Rebound management affects secondary impact risk.

For analysis purposes, we model the occupant as a lumped mass at the center of gravity (CG) of the torso, with the belt acting as a spring–damper element. This simplification is valid for frontal impacts below approximately 60 km/h, where torso rotation is limited. The equation of motion for the occupant mass m is:

m · a(t) = -k · x(t) - c · v(t) + F_external(t)

where x(t) is occupant displacement relative to the vehicle, v(t) is velocity, a(t) is acceleration, k is the effective belt stiffness, c is the damping coefficient from belt friction and tissue compliance, and F_external(t) represents forces from the seat, knee bolster, or airbag. In Python, this is solved numerically using a time-stepping scheme (e.g., Runge–Kutta 4th order) with a time step of 0.1 ms or smaller to capture peak forces accurately.

2.2 Belt Geometry and Its Effect on Load Distribution

Belt geometry defines the spatial relationship between the belt anchorages, the occupant's body, and the vehicle structure. The key geometric parameters are:

  • D-ring height and position — determines the shoulder belt angle across the torso. A D-ring too low causes the belt to slide off the shoulder; too high causes neck contact.
  • Buckle stalk length and angle — affects lap belt fit across the pelvis. The lap belt should engage the anterior superior iliac spine (ASIS), not the abdomen.
  • Anchor positions — outboard and inboard lap anchors define the lap belt angle. The retractor anchor defines the shoulder belt path.
  • Belt wrap angle — the angle between the belt and the occupant's torso surface at the D-ring. This directly affects the effective stiffness and the force vector applied to the chest.

Geometric misalignment changes the force vector. If the shoulder belt is angled 15° from the horizontal instead of the nominal 10°, the vertical component of the belt force increases, potentially causing submarining or excessive chest deflection. In Python, we represent belt geometry as a set of 3D coordinates and compute the belt path length and wrap angle using vector algebra. The effective stiffness k is then adjusted based on the actual wrap angle:

k_effective = k_nominal · (1 + α · tan(θ_wrap))

where α is an empirical coefficient (typically 0.2–0.4 for standard webbing) and θ_wrap is the wrap angle in radians. This is a simplified model, but it captures the first-order effect that geometry has on restraint performance.

2.3 Load Paths: From Belt to Body to Vehicle

Load paths describe how forces travel from the belt through the occupant's body and into the vehicle structure. There are two primary load paths in a three-point belt system:

  • Shoulder belt path — force enters at the D-ring, travels down the shoulder belt to the retractor and buckle. The occupant's chest and clavicle absorb the force, which is then transferred to the vehicle through the retractor anchor and buckle anchor.
  • Lap belt path — force enters at the lap anchors, travels across the pelvis, and is transferred to the vehicle through the outboard and inboard lap anchor points. The pelvis is the primary load-bearing structure.

The load path is only as strong as its weakest component. If the retractor anchor is mounted on a thin sheet metal panel, the panel may deform under load, allowing the belt to pay out and increasing occupant excursion. In analysis, we model each load path as a series of stiffness elements. The total compliance is the sum of individual compliances:

C_total = C_belt + C_anchor + C_structure + C_occupant

where C_belt is webbing compliance, C_anchor is anchor bracket compliance, C_structure is vehicle structure compliance, and C_occupant is occupant tissue compliance. Python can compute these from measured force–displacement data or from finite element results.

2.4 Force–Time Histories: The Signature of Restraint Performance

The force–time history is the most direct indicator of how the restraint system is performing. It is measured using load cells at the belt anchors or at the retractor, or inferred from occupant acceleration data. A typical frontal impact force–time history has three distinct regions:

  • Ramp-up — force rises as the belt engages and the occupant begins to decelerate. The slope depends on belt stiffness and occupant mass.
  • Peak force — the maximum force transmitted through the belt. This is the critical value for injury risk assessment. For a 50th percentile male, peak shoulder belt force in a 40 km/h frontal impact typically ranges from 4–7 kN.
  • Unloading — force decreases as the occupant rebounds and the belt relaxes. The unloading slope is influenced by damping and friction.

In Python, we load force–time data from a CSV file, apply a low-pass Butterworth filter (cutoff frequency 100–200 Hz per SAE J211), and extract key metrics: peak force, time to peak, impulse (area under the curve), and loading rate. These metrics are then compared against design targets or regulatory limits.

Practical example: A 50th percentile male occupant (78 kg) in a 40 km/h frontal sled test. Belt stiffness k = 120 kN/m, damping c = 1.2 kN·s/m. The simulation predicts peak shoulder belt force of 5.8 kN at 65 ms, with an impulse of 0.42 kN·s. If the measured peak force exceeds 7.0 kN, the belt may be too stiff or the load path too rigid — consider adding a load limiter or softening the anchor bracket.

2.5 Integrated Analysis Workflow

The three concepts — kinematics, load paths, and force–time histories — are analyzed together in a single Python workflow. The typical sequence is:

  1. Define belt geometry from CAD coordinates (anchor points, D-ring, buckle).
  2. Compute effective belt stiffness and wrap angle.
  3. Build a lumped-mass occupant model with the belt as a spring–damper.
  4. Solve the equation of motion for occupant displacement and velocity.
  5. Compute belt force from the spring–damper model.
  6. Compare the simulated force–time history against measured sled test data.
  7. Adjust geometry or stiffness parameters to meet injury criteria targets.

The following SVG illustrates the relationship between belt geometry, load paths, and the resulting force–time history for a frontal impact scenario.

Belt Geometry, Load Paths, and Force–Time History Belt Geometry Torso Pelvis D-ring Shoulder belt Lap belt Buckle Retractor θ_wrap Load Paths Vehicle Structure Outboard anchor Inboard anchor Retractor anchor Pelvis (lap belt load) Chest (shoulder belt load) C_total = C_belt + C_anchor + C_structure + C_occupant Force–Time History Time (ms) Force (kN) 2 4 6 20 40 60 80 100 Peak: 5.8 kN at 65 ms Ramp-up Unloading Impulse = 0.42 kN·s

The left panel shows the geometric parameters that define belt fit: D-ring position, wrap angle, and anchor locations. The center panel traces the two primary load paths — shoulder belt to retractor anchor and lap belt to outboard/inboard anchors — and the compliance elements in series. The right panel shows the resulting force–time history with the three characteristic regions: ramp-up, peak, and unloading. Together, these three views form the complete mechanical picture that Python analysis operates on.

Analysis tip: When comparing simulated and measured force–time histories, always align the time origin at impact onset (T0). A 5 ms misalignment can shift the peak force by 10–15% and lead to incorrect conclusions about restraint performance.

Common pitfall: Do not assume belt stiffness is constant. Webbing stiffness increases with load due to weave tightening, and the effective stiffness seen by the occupant depends on the wrap angle and the compliance of the anchor and structure. Always validate the lumped-parameter model against at least one sled test before using it for parametric studies.

With these fundamentals established, subsequent chapters will build on this framework to implement full Python-based simulations, including belt load limiting, pretensioner effects, and airbag interaction. The key takeaway is that belt geometry, load paths, and force–time histories are not independent — they form a single mechanical system where a change in any one parameter propagates through the others.