2. Crashworthiness fundamentals
Before a single parameter is exposed in a Python model, the engineer must decide what the model is supposed to reproduce. Crashworthiness is not a single scalar target; it is a set of coupled physical responses that a vehicle body must satisfy simultaneously. This chapter establishes the four quantities that dominate parametric crash model development: absorbed energy, structural intrusion, the deceleration pulse transmitted to occupants, and the regulatory load cases that define the boundary conditions of the simulation.
Energy Absorption and the Force–Displacement Curve
During a frontal impact, the kinetic energy of the moving vehicle must be converted into irreversible deformation work. For a vehicle of mass m at initial velocity v0, the total energy to be managed is:
E_kin = 0.5 * m * v0^2
For a 1500 kg vehicle at 56 km/h (15.56 m/s), this equals approximately 181.5 kJ. That energy is absorbed by controlled plastic collapse of crash boxes, longitudinal rails, and the firewall region. The absorption capacity is characterized by the force–displacement curve F(s), and the absorbed energy up to a given stroke is the integral:
E_abs(s) = ∫ F(s) ds (from 0 to s)
Two derived metrics matter for parametric studies. The mean crush force F_mean = E_abs / s_max determines how much stroke is required for a given energy level. The peak force F_peak determines the deceleration spike and the loads transferred to the occupant compartment. A well-designed crash structure keeps F_peak / F_mean low — typically below 1.5 for a progressive folding crash box — so that the pulse stays flat and the occupant restraint system can be tuned to a predictable deceleration level.
In a parametric model, the force–displacement response is often represented by a piecewise function with parameters for initial peak, plateau force, and densification onset. Changing wall thickness t, trigger geometry, or material yield stress σ_y shifts these parameters, and the Python model propagates those shifts into the pulse and intrusion predictions.
Intrusion and Occupant Compartment Integrity
Intrusion is the displacement of structural members into the occupant survival space. It is measured at specific reference points: brake pedal rearward displacement, steering column displacement, toe pan intrusion, and dash panel intrusion. Regulatory and consumer-test limits are expressed as maximum allowable values at these points.
Intrusion is not simply a function of absorbed energy; it depends on where the energy is absorbed. A rail that collapses progressively ahead of the firewall protects the compartment, while a rail that buckles globally transmits deformation rearward. In parametric terms, the model must track the load path: the fraction of impact force carried by the upper load path (hood, upper rail) versus the lower load path (bumper beam, lower rail, subframe).
R = F_upper / F_total. For a typical frontal offset case, a balanced design keeps R between 0.3 and 0.5. If R drifts outside this band, intrusion at the dash panel or the rocker typically increases even when total absorbed energy is unchanged.The Deceleration Pulse
The deceleration pulse a(t) is the acceleration history measured at the vehicle center of gravity or at a seat track reference point. It is the primary input to occupant restraint models (airbag timing, seat belt load limiter, pretensioner). The pulse shape is determined by the force–displacement curve and the vehicle mass:
a(t) = F(t) / m
Three pulse characteristics drive restraint design: peak deceleration, pulse duration, and time to peak. A short, high-amplitude pulse requires fast airbag deployment; a long, low-amplitude pulse allows more occupant ride-down. In parametric studies, the pulse is often idealized as a trapezoid or a half-sine with parameters (a_peak, t_rise, t_plateau, t_fall), and the Python model maps structural parameters to these pulse parameters.
It is critical to keep the sign convention consistent. Throughout this course, deceleration is positive when the vehicle is slowing down (i.e., acceleration vector opposing the direction of travel). The crash pulse is therefore plotted as a positive quantity, and the occupant deceleration is compared against it to assess ride-down efficiency.
Regulatory and Consumer Load Cases
Parametric studies are only meaningful when anchored to defined load cases. The most common frontal cases are summarized below. Values are given as typical reference conditions; always verify against the current regulation text for the target market.
| Load Case | Impact Velocity | Overlap | Barrier | Primary Metric |
|---|---|---|---|---|
| FMVSS 208 (full frontal) | 56 km/h | 100% | Rigid wall | Occupant injury criteria |
| ECE R94 / Euro NCAP ODB | 64 km/h | 40% | Deformable barrier | Intrusion + injury |
| Euro NCAP MPDB | 50 km/h | 50% | Mobile progressive deformable | Intrusion + compatibility |
| IIHS small overlap | 64 km/h | 25% | Rigid barrier | Intrusion + occupant |
Each case stresses a different structural mechanism. Full frontal loads both rails symmetrically and tests total energy absorption. Offset deformable barrier (ODB) concentrates load on one rail and the subframe, testing load-path balance and dash panel intrusion. Small overlap bypasses the rail entirely and loads the wheel, suspension, and hinge pillar, making it the most demanding case for occupant compartment integrity.
From Physics to Parametric Inputs
The figure below maps the four crashworthiness quantities to the structural parameters that a Python parametric model would expose. It shows how a change in a design variable propagates through the force–displacement response into the pulse and intrusion metrics, and how the regulatory load case selects which metrics are evaluated.
Practical Implications for Parametric Modeling
When building the Python model, each of the four quantities becomes a computed output or a constraint. Energy absorption is computed from the integrated force–displacement curve. Intrusion is computed from the residual stroke after the crush zone is exhausted. The deceleration pulse is derived from F(t)/m. The load case supplies the initial velocity, barrier stiffness, and overlap fraction.
A typical parametric workflow proceeds as follows. First, define the design variable vector x = [t, σ_y, trigger_depth, rail_gauge, R]. Second, for each sample, compute the force–displacement curve using an analytical or surrogate crush model. Third, integrate to obtain E_abs and check that it exceeds E_kin for the target load case. Fourth, compute the pulse and intrusion metrics. Fifth, evaluate against the load-case limits and either accept the design or feed the result back into the sampling loop.
F_mean and reduces stroke, which shortens the pulse and raises a_peak. That may satisfy energy absorption but violate the deceleration limit. The parametric model must evaluate all four simultaneously, not sequentially.The next chapter will translate these physical quantities into the concrete Python data structures and solver interfaces used throughout the rest of the course.