2. LS-DYNA solver fundamentals for occupant safety

Restraint system models — airbags, seat belts, retractors, pretensioners, and the occupant dummy they act on — are solved in LS-DYNA with the explicit dynamics method. Before you can trust a single belt-force curve, you need to understand four solver-level decisions that dominate both runtime and physical fidelity: how the explicit time step is formed, how contact is detected and enforced, how hourglassing is controlled in reduced-integration shells and solids, and when mass scaling is acceptable. This section builds the working knowledge needed to configure those four items deliberately rather than by default.

Explicit time integration and the critical time step

LS-DYNA advances the solution with the central difference method. Nodal accelerations are computed from the assembled force vector, then velocities and displacements are updated explicitly. There is no global stiffness matrix factorization and no iteration for equilibrium, so each cycle is cheap — but the scheme is conditionally stable. The stable time step for a linear elastic element is

dt_crit = 2 / omega_max = L_c / c
c = sqrt(E / rho)          (solid / shell membrane wave speed)
L_c = characteristic element length
dt = TSSFAC * dt_crit      (TSSFAC default 0.9, *CONTROL_TIMESTEP)

Two consequences matter for restraint models. First, the time step is governed by the smallest element in the entire model, not the average one. A single 1.5 mm trim strip or a sliver element in a seat frame can force the whole job to run at a fraction of the intended step. Second, the step scales with the wave speed, so stiff, low-density materials are expensive. Steel at E = 210 GPa and rho = 7.85e-9 t/mm³ gives c ≈ 5170 mm/ms; a 5 mm characteristic length yields dt_crit ≈ 0.97 µs, and with TSSFAC = 0.9 the working step is about 0.87 µs. A 120 ms frontal event therefore needs roughly 138,000 cycles.

Practical controls: set *CONTROL_TIMESTEP with DTINIT left at 0 so LS-DYNA computes it, keep TSSFAC between 0.85 and 0.9 for crash work, and enable ISDO=1 only when you have verified the smallest element. Inspect the "smallest timestep" report in d3hsp at initialization and again at termination; if the step collapses mid-run, an element has distorted, and that is a mesh or contact problem, not a timestep setting problem.

Contact algorithms for belt, bag, and dummy interaction

Occupant models are contact-dominated. A typical driver-side model contains belt-to-dummy, bag-to-dummy, bag-to-steering-wheel, dummy-to-seat, and dummy-to-knee-bolster interactions, each with different geometry and stiffness. LS-DYNA offers three families that cover these cases.

TypeTypical use in restraint modelsKey settings
*CONTACT_AUTOMATIC_SINGLE_SURFACESelf-contact of the folded airbag, dummy self-contactSOFT=1, DEPTH=2, FS/FD friction
*CONTACT_AUTOMATIC_SURFACE_TO_SURFACEBag-to-dummy, dummy-to-seat, belt-to-dummySOFT=2 for dissimilar stiffness, SST/MST thickness
*CONTACT_AUTOMATIC_NODES_TO_SURFACEBelt shell nodes against dummy segmentsSOFT=1, segment-based option SBOPT

Penalty-based contact is the default: penetration generates a restoring force proportional to the penetration depth and the interface stiffness, which LS-DYNA derives from the element bulk modulus and characteristic length. If the penalty stiffness is too low relative to the contacting materials, you see visible penetration and noisy force traces; if it is too high, the contact stiffness drives the time step down. SOFT=1 and SOFT=2 replace the default stiffness with a segment-based formulation that is far more robust for foam, fabric, and airbag fabric against rigid or stiff targets — this is the standard choice for bag-to-dummy and belt-to-dummy.

Friction is not cosmetic. Belt slip over the dummy chest and pelvis determines belt force distribution and submarining. Set a static friction coefficient FS around 0.2–0.3 for belt-to-clothing and verify that the belt does not slide unrealistically. Also set DEPTH to at least 2 so that contact is searched through the full shell thickness, and check the contact energy in glstat: a large or oscillating contact energy indicates penetration or chattering.

Hourglass control in reduced-integration elements

Shells and solids in LS-DYNA use one-point (reduced) integration by default because it is fast. The cost is zero-energy deformation modes — hourglass modes — that produce no strain and therefore no resisting force. Left uncontrolled, they grow and corrupt the solution, typically appearing as a checkerboard pattern in the airbag or seat foam.

Control is set per-part with *HOURGLASS and referenced by *PART. For restraint models:

  • IHQ=4 (stiffness form, Flanagan-Belytschko) is the usual choice for airbag fabric and belt webbing; it is robust and adds little cost.
  • IHQ=6 with QM=0.05 is common for foam and dummy flesh, where stiffness-based control can over-stiffen the material response.
  • Keep the hourglass coefficient QM between 0.03 and 0.10. Values above 0.15 artificially stiffen the part; values near zero let the modes grow.

Monitor hourglass energy in glstat and matsum. As a working rule, hourglass energy should stay below 5% of the total internal energy for the part, and below 10% for the whole model. If it exceeds that, refine the mesh, switch to a fully integrated formulation (ELFORM=16 for shells, ELFORM=2 for solids), or adjust QM — in that order of preference.

Mass scaling decisions

Mass scaling adds nonphysical mass to small or stiff elements to raise their stable time step. It is a legitimate tool, but in occupant models it directly changes inertia, which is exactly what a restraint system is designed to manage. The rule is simple: scale only what is necessary, and never scale the dummy or the belt.

Two modes are available in *CONTROL_TIMESTEP:

*CONTROL_TIMESTEP
$  DTINIT  TSSFAC  ISDO   TS LIMIT
       0.0     0.9     0   0.0
$  DT2MS  (negative = scale only elements below target step)
   -1.0e-6
$  MS1ST  (0 = scale once at start, 1 = scale every cycle)

A target step of 1.0 µs (DT2MS = -1.0e-6) is a reasonable starting point for a full vehicle occupant model. With MS1ST=0, mass is added once at initialization and held constant, which keeps the added mass predictable. With MS1ST=1, mass is recomputed each cycle, which can hide a collapsing element but produces a time-varying mass that is harder to justify.

Always check the added-mass report in d3hsp. The added mass should be under 1–2% of the total model mass, and it must not be concentrated in the dummy, belt, or airbag. If a single part forces the scaling, fix that part's mesh instead of scaling the whole model.

Mass scaling the dummy changes its effective mass and therefore its acceleration response. If the added mass on the dummy exceeds roughly 0.5%, the resulting injury criteria are no longer defensible. Remesh the offending part or accept a smaller time step.
Explicit Solver Decision Chain for a Restraint Model Time Step dt = TSSFAC · L_c / c c = sqrt(E/rho) smallest element governs check d3hsp step report Contact penalty stiffness SOFT=1 / SOFT=2 FS, FD friction watch contact energy Hourglass IHQ=4 shells IHQ=6 foam QM = 0.03–0.10 keep < 5% internal E Mass Scaling DT2MS = -1e-6 MS1ST = 0 added mass < 2% never scale dummy if step collapses or energy is nonphysical → revisit mesh, contact, or scaling Energy Balance Check (glstat / matsum) Internal baseline Kinetic decreasing Hourglass < 5% Contact stable Added mass < 2% Illustrative proportions — verify against your own glstat and matsum output

Putting the four decisions together

These four settings interact. A contact penalty that is too stiff lowers the time step; a lower time step tempts you to mass-scale; mass scaling changes the inertia that the belt and bag must manage; and hourglassing in the scaled part can mask the resulting error. The disciplined workflow is to fix the mesh first, choose contact formulations appropriate to each interface, set hourglass control per material type, and only then apply the minimum mass scaling needed to reach a practical step — verifying added mass, hourglass energy, and contact energy in glstat before interpreting any occupant response.

A quick sanity check before a long run: confirm the initial time step in d3hsp, confirm added mass is under 2%, and confirm no part has hourglass energy above 5% of its internal energy at 10 ms. If all three pass, the solver setup is sound enough to evaluate restraint performance.