2. LS-DYNA Solver Fundamentals for Crashworthiness

Full vehicle crash simulation is a transient dynamic problem. The structure is loaded by an impact event lasting roughly 80–150 ms, deformations are large, contacts change continuously, and material behavior often enters the plastic and failure regime. LS-DYNA is built around an explicit time integration scheme that is well suited to this class of problem, but the solver's stability, accuracy, and cost are all controlled by a small set of numerical decisions. This section explains those decisions: explicit time integration, time step control, mass scaling, hourglass control, contact algorithms, and the material models that carry the physics of a crash.

Explicit time integration

The equation of motion at time tn is written as M an = Fextn − Fintn, where M is the lumped mass matrix, a is nodal acceleration, and the right-hand side is the net force. Because M is diagonal, no matrix inversion is required: accelerations are obtained by simple division, then velocities and displacements are updated with a central difference scheme:

a_n   = M^-1 (F_ext,n - F_int,n)
v_n+1/2 = v_n-1/2 + a_n * dt_n
x_n+1   = x_n + v_n+1/2 * dt_n+1/2

This is conditionally stable. The critical time step is approximately dtcr = 2/ωmax, where ωmax is the highest natural frequency of the discretized mesh. In practice LS-DYNA estimates it from element size and wave speed, dte = Le/c, with c = √(E/ρ) for a bar. The consequence is important: the smallest element in the model governs the time step for the entire model. A single 1 mm element in a 5 mm mesh can reduce the stable step by a factor of five and multiply run time accordingly.

Time step control

LS-DYNA computes the step from the minimum over all elements and applies a scale factor, *CONTROL_TIMESTEP with TSSFAC (default 0.9 for solid elements). A typical steel shell model with 5 mm elements has c ≈ 5.1 mm/ms, giving dte ≈ 0.98 µs and a working step near 0.9 µs. For a 120 ms event that is roughly 133,000 cycles. Two controls matter most:

  • DTINIT — optional fixed initial step; useful when the model contains a very small element that will be deleted early.
  • DTMIN — the minimum step below which the run terminates. If the step collapses, the model is telling you an element has become too small or distorted.

Monitor the time step in d3hsp and messag. A steadily decreasing step is a warning sign, not a normal condition.

Mass scaling

Mass scaling adds non-physical mass to small or stiff elements so that their stable step increases. It is a trade-off: added mass changes inertia and can alter the crash response if overused. Two forms are common:

  • Selective mass scaling (*CONTROL_TIMESTEP, DT2MS negative) — only elements below the target step are scaled. This is the preferred approach for crash models.
  • Global mass scaling — scales the whole model; rarely appropriate for full vehicle work.

A practical rule is to keep added mass below 1–2% of total model mass and to verify it in the mass summary. If a target step of 1 µs requires 8% added mass, the better fix is usually mesh improvement, not more scaling.

Hourglass control

Reduced-integration solid and shell elements are efficient but suffer zero-energy hourglass modes. LS-DYNA offers several formulations; for crashworthiness, IHQ = 4 (Flanagan–Belytschko stiffness form) with a coefficient around 0.03–0.10 is a common starting point. Type 6 is stiffer and can over-stiffen thin shells. Check hourglass energy in glstat: it should stay below about 5% of internal energy. A rising hourglass energy with a falling time step usually means the mesh is too coarse in a bending-dominated region.

Contact algorithms

Contact is where most crash models fail. The two workhorses are:

  • *CONTACT_AUTOMATIC_SINGLE_SURFACE — each part searches against all others; robust for self-contact and complex assemblies.
  • *CONTACT_AUTOMATIC_SURFACE_TO_SURFACE — explicit master/slave pairs; better control of thickness and friction.

Key parameters include SOFT (soft constraint penalty, useful when materials have very different stiffness), FS and FD (static and dynamic friction), and DEPTH for initial penetration. Always check the initial penetration report; unresolved penetrations produce large spurious forces in the first milliseconds.

Material models

Crashworthiness relies on a small set of material cards. *MAT_PIECEWISE_LINEAR_PLASTICITY (MAT_024) is the standard for mild and high-strength steels, with a true stress–plastic strain curve and strain-rate scaling via LCSS. *MAT_PLASTIC_KINEMATIC (MAT_003) adds kinematic hardening and is useful for cyclic loading. For aluminum and some high-strength steels, *MAT_024 with a rate-dependent curve is often sufficient. Failure is usually handled with *MAT_ADD_EROSION or a plastic strain limit, but erosion must be used carefully because it removes load paths.

Explicit Crash Solver: Stability, Cost, and Physics Controls Explicit Time Integration M a = F_ext − F_int lumped mass, no solve v ← v + a·dt central difference x ← x + v·dt update geometry F_int from elements stress, hourglass, contact dt = TSSFAC · L_e / c smallest element governs next cycle ~133k cycles for 120 ms Stability & Cost Controls Mass Scaling DT2MS < 0 → selective keep added mass < 1–2% Hourglass Control IHQ = 4, QH ≈ 0.03–0.10 hourglass energy < 5% IE Contact AUTOMATIC_SINGLE_SURFACE SOFT, FS, FD, DEPTH Time Step TSSFAC = 0.9 (solids) DTMIN guards collapse Diagnostics glstat · messag · d3hsp Material Models MAT_024 Piecewise linear plasticity true stress–plastic strain LCSS for strain-rate scaling MAT_003 Plastic kinematic kinematic hardening cyclic / reverse loading Failure MAT_ADD_EROSION plastic strain limit removes load paths — use with care Typical Steel Inputs E = 210 GPa, ρ = 7.85e-9 t/mm³ ν = 0.3, σ_y ≈ 350 MPa c ≈ 5.1 mm/ms 5 mm shell → dt ≈ 0.9 µs

Putting the controls together

A workable starting configuration for a full vehicle model with 5 mm shell elements and a 120 ms event is shown below. These values are a reasonable teaching baseline, not a validated result for any specific vehicle.

*CONTROL_TIMESTEP
$  DTINIT   TSSFAC   ISDO   TSLIMT   DT2MS   LCTM   ERODE   MS1ST
   0.0      0.9      0      0.0     -1.0e-3   0      0       0

*CONTROL_HOURGLASS
$  IHQ   QH
   4     0.05

*CONTACT_AUTOMATIC_SINGLE_SURFACE
$  SSID   MSID   SSTYP   MSTYP   SBOXID  MBOXID  SPR     MPR
   0      0      0       0       0       0       0       0
$  FS     FD     DC     VC     VDC     PENCHK  BT      DT
   0.15   0.10   0.0    0.0    0.0     0       0.0     0.0
$  SFS    SFM    SST    MST    SFST    SFMT    FSF     VSF
   1.0    1.0    0.0    0.0    1.0     1.0     1.0     1.0
$  SOFT   SOFSCL LCIDAB MAXPAR PENMAX  THKOPT  SHLTHK SNLOG
   1      0.1    0       0.0    0.0     0       0       0

After the first run, inspect three things before looking at deformation: the mass summary (added mass percentage), the hourglass energy in glstat, and the minimum time step history in messag. If added mass exceeds 2%, refine the offending mesh. If hourglass energy exceeds 5% of internal energy, refine the bending region or adjust QH. If the time step drops sharply, find the element responsible using the d3hsp element report.

Practical rule: the smallest element in the model sets the cost of the entire run. Before adding mass scaling, check whether a single small element — often a fillet, a bolt hole, or a poorly meshed bracket — is the real cause of a short time step.
Common pitfall: using global mass scaling to fix a local mesh problem. This adds mass everywhere, changes the inertia of the vehicle, and can make the crash pulse look acceptable while the structural response is wrong. Prefer selective scaling and fix the mesh.

With these controls understood, the next step is to connect them to the actual vehicle model: how the mesh, materials, contacts, and boundary conditions are assembled into a deck that runs stably and produces a physically meaningful crash response.