2. LS-DYNA solver environment for crash simulation
Side impact simulation in LS-DYNA is fundamentally a transient dynamic problem. The loading is impulsive, the deformation is highly nonlinear, and the contact between the moving barrier, the door trim, the side airbag, and the occupant occurs over tens of milliseconds. Understanding how the explicit solver advances time, how contact is enforced, and which material models are appropriate is therefore not background theory — it directly determines whether the model runs stably and whether the occupant responses are physically meaningful.
Explicit Time Integration
LS-DYNA uses the central difference method for explicit time integration. The equations of motion are not solved simultaneously; instead, accelerations are computed from the current forces, velocities are updated, and displacements are advanced one step at a time. For a lumped-mass system, the update at step n follows the standard sequence:
a_n = M^(-1) * (F_ext,n - F_int,n)
v_(n+1/2) = v_(n-1/2) + a_n * dt
x_(n+1) = x_n + v_(n+1/2) * dt
Because the mass matrix M is diagonal, no matrix inversion or factorization is required. This is why explicit LS-DYNA scales well on large models with millions of elements. The trade-off is conditional stability: the time step must not exceed the Courant limit, approximately the smallest element characteristic length divided by the wave speed in that material.
dt_crit = L_min / c, c = sqrt(E / rho)
For a typical steel door beam with E = 210 GPa, rho = 7.85e-9 t/mm^3, the wave speed is about 5.17 mm/ms. A 5 mm element therefore gives a critical step near 9.7e-4 ms. LS-DYNA reports the actual step in the d3hsp file and prints a warning when mass scaling is active. In side impact models, small elements in the door trim or seat structure often control the step, so selective mass scaling is commonly applied to those parts rather than the whole model. A practical target is to keep the added mass below 1–2% of the total model mass; the d3hsp output lists the percentage added per part, which is the first thing to check when a run becomes unexpectedly slow.
*CONTROL_TIMESTEP with DTINIT set to a value slightly below the reported critical step, and enable TSSFAC = 0.9 for a safety margin. Monitor the mass-scaling summary in d3hsp after every model change.Contact Algorithms for Side Impact
Side impact involves several simultaneous contact interfaces: barrier-to-door, door-to-occupant, airbag-to-occupant, and occupant-to-seat. LS-DYNA offers penalty-based, kinematic, and tied contact types. For crash simulation, penalty methods are the default because they conserve energy reasonably and handle complex geometry without requiring matching meshes.
The most common choices are *CONTACT_AUTOMATIC_SINGLE_SURFACE for self-contact within a deformable assembly, and *CONTACT_AUTOMATIC_SURFACE_TO_SURFACE for explicit pairs such as the barrier and the door outer panel. The automatic options generate contact segments from the shell elements at runtime, so the mesh does not need to be pre-processed into contact surfaces. Key parameters include:
SOFT— set to 1 or 2 for soft constraint penalty, which is more stable when materials have very different stiffnesses, such as foam against steel.FSandFD— static and dynamic friction coefficients. For painted steel against foam, values around 0.2–0.3 are typical; for occupant-to-seat fabric, 0.3–0.5.DEPTH— search depth for contact detection. Increase it when large relative sliding is expected, but be aware that it increases cost.SST/MST— optional thickness offsets for shell contact, useful when the physical sheet thickness matters for the gap.
A frequent failure mode is initial penetration. If the barrier is modeled overlapping the door at time zero, the penalty force spikes and the model may become unstable. LS-DYNA reports initial penetrations in the messag file; these should be resolved by adjusting geometry or by using *CONTACT_AUTOMATIC_SURFACE_TO_SURFACE with IGNORE = 1 only as a temporary diagnostic measure, not as a final fix.
Material Models Relevant to Side Impact
Side impact engages a specific set of materials: high-strength steel in the door beam and B-pillar, foam in the door trim and seat, and the airbag fabric. Each requires a different constitutive treatment.
| Component | Typical Material Card | Key Inputs |
|---|---|---|
| Door beam / B-pillar | *MAT_PIECEWISE_LINEAR_PLASTICITY (MAT_024) | Density, Young's modulus, Poisson ratio, yield stress, effective stress–strain curve, strain rate parameters |
| Door trim foam | *MAT_LOW_DENSITY_FOAM (MAT_057) | Density, stress–strain curve in compression, hysteresis flag, damping |
| Seat foam | *MAT_MODIFIED_HONEYCOMB (MAT_126) | Density, Young's modulus, Poisson ratio, yield stress, volumetric response |
| Airbag fabric | *MAT_FABRIC (MAT_034) | Density, Young's modulus, Poisson ratio, stress–strain curve, porosity |
For the steel components, strain rate sensitivity is important because side impact loading occurs at strain rates on the order of 10–1000 s⁻¹. MAT_024 supports rate-dependent yield through the Cowper–Symonds parameters C and P, or through a table of curves at different rates. If rate data are unavailable, a reasonable starting point for mild steel is C = 40 and P = 5, but these should be replaced with coupon-test data whenever possible.
Foam materials are the most sensitive to input quality. MAT_057 requires a uniaxial compression stress–strain curve that captures the initial elastic rise, the plateau, and the densification region. A common error is to truncate the curve before densification, which causes the foam to behave unrealistically softly at large compression. The curve should extend to at least 80% strain. The HU parameter controls hysteresis and is typically set to 0.1–0.5 for seat foam.
*MAT_ELASTIC for foam in a side impact model. It cannot capture the plateau and densification that dominate the occupant's lateral excursion. The resulting occupant kinematics will be far too stiff and the injury criteria will be meaningless.Putting the Solver Environment Together
The three elements above are not independent. The time step determines how many cycles the contact algorithm must evaluate, and the contact stiffness depends on the material models on both sides of the interface. A soft foam against a stiff steel door beam, for example, requires SOFT = 1 in the contact definition to avoid excessive penalty stiffness. Similarly, if mass scaling is applied to foam elements to raise the time step, the added mass changes the inertia of the trim and can alter the occupant's lateral loading.
A practical workflow for setting up the solver environment is:
- Build the mesh and assign material models with complete, rate-appropriate curves.
- Define contact interfaces and check the
messagfile for initial penetrations. - Run a short initialization (e.g., 5 ms) with
*CONTROL_TERMINATIONset low and inspect thed3hspfor the critical time step and mass-scaling percentage. - If the step is too small, apply selective mass scaling to the controlling parts and re-check the added mass.
- Run the full event and monitor the
glstatandmatsumfiles for energy balance and hourglass energy.
The energy balance is the primary health check. Total energy should remain approximately constant, and hourglass energy should stay below 5% of internal energy. If hourglass energy grows, the likely causes are under-integrated shell elements with insufficient stiffness control, or contact forces that are too stiff relative to the element stiffness. In side impact models, the door trim and seat foam are the usual locations where this appears.
The diagram above summarizes how the three solver components interact. The time step sets the resolution of the contact search, the contact stiffness must be compatible with the material stiffness on both sides, and the material models determine both the wave speed and the penalty scale. When a side impact model fails — whether through negative volume, excessive hourglass energy, or non-physical occupant excursion — the cause is usually found at one of these three interfaces, not in the occupant restraint logic itself.