3. Recover from Element Distortion in Explicit Crash Simulation

Why element distortion terminates an explicit crash run

In an explicit crash simulation, the stable time step is governed by the smallest characteristic element length in the mesh: Δt ≈ Lc/c, where c is the dilatational wave speed. When an element distorts severely under impact loading, its characteristic length collapses toward zero, the critical time step shrinks, and LS-DYNA either reduces the time step until the run becomes impractical or aborts with a negative-volume or "element has distorted excessively" message. The practical task is therefore not simply to "make the mesh finer" but to locate the specific region where distortion originates, decide whether the cause is under-integrated hourglassing, genuine mesh coarseness in a high-gradient zone, or a material/contact artifact, and then apply the smallest intervention that restores stability without corrupting the physics.

Reading the termination message and locating the culprit

A typical explicit crash termination looks like this in the messag or d3hsp file:

 *** Error 40509 (SOL+509)
 negative volume in solid element #  184223 cycle     4127
    time = 3.2184E-03

The element ID is the single most valuable piece of information. Two immediate follow-ups are required:

  1. Confirm the element is a solid (ELFORM 1, 2, or −1) and note its part ID from the model database.
  2. Check whether the run had already reported hourglass energy growth before the abort. A rising hourglass-to-internal-energy ratio (often flagged in glstat as hourglass energy) above roughly 5–10% is a strong indicator that under-integrated elements are the root cause rather than pure mesh coarseness.

To isolate the distorted region, write a small keyword snippet that dumps the element's connectivity and current coordinates at the failure cycle, or use LS-PrePost's Element > Identify with the reported ID. In practice, the distorted element almost always sits in a zone of high shear or compression — a crash box corner, a spot-weld vicinity, or a contact interface — not in the bulk of the structure.

Before changing anything, save the failed run's d3hsp, glstat, and matsum. The hourglass energy history and the element ID together tell you whether you are fighting hourglassing or a genuinely under-resolved mesh — these require different fixes.

Choosing between hourglass control and mesh refinement

The decision is diagnostic, not stylistic. Use the following logic:

  • Hourglass energy dominates and the element is a reduced-integration solid (ELFORM 1) or shell (ELFORM 2): the element is likely hourglassing. Switch to a more robust formulation (ELFORM −1 or −2 for solids, ELFORM 16 for shells) or add stiffness-based hourglass control via *CONTROL_HOURGLASS with IHQ=4 (Flanagan-Belytschko stiffness form) and a coefficient QM in the 0.05–0.10 range. Start at 0.05; excessive QM stiffens the response artificially.
  • Hourglass energy is low but the element is in a high-gradient zone and its characteristic length is far below its neighbors: refine the mesh locally, or switch the part to a distortion-tolerant formulation. A single sliver element next to a coarse block is a classic trigger.
  • The element is at a contact interface and shows penetration or inversion: the cause may be contact, not the element itself — check *CONTACT thickness and consider SOFT=1 or SOFT=2 before touching the mesh.
Element Distortion Triage — Explicit Crash Model Termination: negative volume element #184223, cycle 4127 Read glstat hourglass energy ratio hourglass / internal energy at failure cycle Hourglass ratio > 5–10%? YES Hourglass control IHQ=4, QM=0.05 or ELFORM −1 / 16 NO Mesh refinement local refine sliver or contact SOFT=1 Re-run and verify hourglass < 5%, no negative volume, energy balance Stable run → accept or refine further if still unstable, revisit material / contact

Applying hourglass control in the keyword deck

If the diagnostic points to hourglassing, add a global hourglass control card and, where the part is critical, override the element formulation. A minimal, self-contained snippet:

*CONTROL_HOURGLASS
$#   ihq        qh
         4      0.05
*PART
$#                                                                         title
crash_box_inner
$#     pid     secid       mid     eosid      hgid      grav    adpopt      tmid
         7         7         7         0         0         0         0         0
*SECTION_SOLID
$#   secid    elform       aet
         7        -1         0

Here IHQ=4 selects the Flanagan-Belytschko stiffness-based hourglass control, and QM=0.05 is a conservative coefficient. Switching the section to ELFORM=-1 (fully integrated solid) removes hourglassing entirely at the cost of roughly 2–3× the CPU per element and a smaller stable time step; use it only on the small distorted part, not the whole model. For shells, ELFORM=16 is the fully integrated counterpart.

Applying local mesh refinement

If hourglass energy is low, the element is genuinely too coarse or too skewed. Two practical moves:

  • Refine the sliver: split the offending element and its immediate neighbors so the aspect ratio drops below roughly 5:1 and the characteristic length is comparable to adjacent elements. In LS-PrePost, use Mesh > Element > Split or re-mesh the part with a target size matched to the local gradient.
  • Re-mesh the part with a size field: if the distortion is spread across a crash box, a uniform refinement to 60–70% of the original edge length in that part is usually enough to restore stability without exploding the model size.

After refinement, re-check the stable time step. A finer mesh reduces Δt, so the run may need more cycles; confirm the total simulated time is still reached within the wall-clock budget.

Verification criteria

A recovered run is not simply one that finishes. Confirm all of the following before accepting the result:

CheckAcceptance criterionWhere to look
Hourglass energy< 5% of internal energy throughoutglstat
Negative volumeNo Error 40509 in messagmessag / d3hsp
Energy balanceTotal energy conserved within ~1%glstat
Physical responseForce–displacement curve matches baseline trendrcforc / nodout
Time stepNo sudden collapse of Δt before terminationglstat
Do not raise QM above ~0.10 to "force" a run to finish. Excessive hourglass stiffness adds artificial energy and can mask a genuine mesh or contact defect, producing a stable but physically wrong result. If a small QM does not fix it, the cause is almost certainly mesh or contact, not hourglassing.

Common failure symptoms and their fixes

  • Run aborts within the first few cycles: likely an initial penetration or a degenerate element from meshing — check *CONTACT and element quality before touching hourglass control.
  • Hourglass energy climbs steadily then aborts: classic under-integration — apply IHQ=4 with QM=0.05, or switch the part to ELFORM=-1.
  • Distortion localized at a spot weld or contact edge: refine locally and consider SOFT=1 on the contact to reduce spurious penetration forces.
  • Time step collapses gradually: a sliver element is shrinking — refine or remove it; do not rely on mass scaling to hide it.

With the element ID from the termination message, the hourglass energy history from glstat, and the decision path above, the fix is usually a single targeted change rather than a wholesale re-mesh — and the verification table confirms the recovered run is physically credible, not merely numerically alive.