2. LS-DYNA load case taxonomy
A DFMEA is only as good as the load cases it reasons about. If the analysis team models a bracket as a static linear case while the field failure mode is a high-strain-rate impact, the failure mode will be scored against the wrong physics, the wrong severity, and the wrong detection control. This chapter builds the taxonomy that connects LS-DYNA solver choice and load-case construction to DFMEA line items, so that each failure mode is evaluated against a load case that actually reproduces its physics.
Solver formulation first: what implicit and explicit actually buy you
LS-DYNA offers two time-integration families, and the choice is a physics decision before it is a software decision. The explicit solver advances the solution with a central-difference scheme and a critical time step governed by the smallest element and the wave speed:
dt_crit ≈ L_e / c, c = sqrt(E / ρ) (1D bar approximation)
*CONTROL_TIMESTEP
$# dtinit tssfac isdo tslimn dt2ms lctm erode ms1st
0.0 0.9 0 0.0 0.0 0 0 0
For a steel part with E = 210 GPa and ρ = 7.85e-9 t/mm³, c ≈ 5.17 mm/ms. A 2 mm characteristic element gives dt ≈ 0.39 µs, so a 50 ms event needs roughly 130,000 cycles — cheap per cycle, expensive in total, but unconditionally stable for contact and large deformation. The implicit solver solves a global stiffness system each increment and is unconditionally stable for linear problems, making it the right tool for static stiffness, modal, and long-duration quasi-static response where inertia is negligible.
The practical rule: explicit when the event is short, highly nonlinear, contact-dominated, or rate-sensitive; implicit when the response is smooth, inertia-free, and you need static equilibrium or eigenvalues. Mixed problems — a quasi-static crush that must be run explicitly — are handled by time scaling and energy-balance checks, not by switching solvers mid-run.
The load-case families and their DFMEA relevance
The taxonomy below is organized by the physical regime each family reproduces, because that regime determines which failure modes are even observable.
| Load-case family | Typical LS-DYNA setup | Failure modes it can expose | DFMEA relevance |
|---|---|---|---|
| Quasi-static | Implicit, or explicit with time scaling; *CONTROL_IMPLICIT_STATIC or *LOAD_RIGID_BODY ramp | Yielding, buckling, stiffness shortfall, permanent set | Severity from functional loss; detection via stiffness/strength margin |
| Dynamic (low-rate) | Explicit or implicit transient; *BOUNDARY_PRESCRIBED_MOTION with velocity curve | Resonance, fatigue initiation, joint loosening | Occurrence tied to duty-cycle exposure |
| Impact | Explicit; *CONTACT_AUTOMATIC_SURFACE_TO_SURFACE, strain-rate material cards | Local yielding, perforation, delamination, brittle fracture | Severity high; detection weak without test correlation |
| Crash / occupant | Explicit; *MAT_024 with rate effects, *CONSTRAINED_NODAL_RIGID_BODY, accelerometer output | Collapse mode, intrusion, energy absorption shortfall | Severity regulatory; occurrence from fleet exposure |
| Durability | Implicit static + fatigue post-processing, or explicit with cycle counting | Crack initiation, high-cycle fatigue, wear | Occurrence dominant; detection via inspection interval |
Two distinctions matter most for DFMEA scoring. First, impact and crash are not the same case: impact is a localized, often small-mass event (dropped tool, stone strike, foreign-object damage) where local strain rate and contact pressure dominate; crash is a system-level event where global collapse mode, intrusion, and energy partitioning dominate. A DFMEA that lists "impact" as a single line item will under-score the crash severity and over-score the impact occurrence. Second, durability is a different failure mechanism, not a longer dynamic run — it requires cycle counting and a fatigue model, and its detection controls are inspection-based rather than simulation-based.
Quasi-static cases: making explicit behave like implicit
When contact or large deformation forces an explicit run for a quasi-static problem, the standard technique is to scale the load duration so that kinetic energy stays a small fraction of internal energy. A reproducible example: a 200 mm steel bracket loaded to 15 kN over a physical 2 s. Running explicitly at real time would need ~5 million cycles; instead, compress the ramp to 20 ms and monitor energy:
*CONTROL_ENERGY
$# hgen rwen slnten rylen
2 2 2 2
*DATABASE_GLSTAT
$# dt
0.0001
*LOAD_RIGID_BODY
$# lcidd lciddof lciddir
1 1 3
The acceptance criterion is the ratio of kinetic to internal energy in glstat: keep it below roughly 5% throughout the ramp, and confirm that the reaction force at the support matches the applied load within a few percent at the end of the ramp. If kinetic energy spikes, the ramp is too fast — lengthen it or add mass scaling with a documented target time step. This is the check that separates a defensible quasi-static result from a dynamic artifact, and it belongs in the DFMEA detection column as a simulation-verification control.
Impact and crash: rate effects and contact definition
For impact cases, the material card must carry rate sensitivity. A common error is to run a 10 m/s impact with a rate-insensitive *MAT_024 and report a strain that is 30–40% higher than a rate-sensitive model would give. Use *MAT_024 with the LCSS curve referencing a *DEFINE_CURVE of effective stress versus effective plastic strain rate, and verify that the strain rate in the critical element falls inside the calibrated range. Contact definition is equally decisive: *CONTACT_AUTOMATIC_SURFACE_TO_SURFACE with a sensible SOFT option and a friction coefficient consistent with the interface (0.1–0.3 for lubricated steel, 0.6–0.8 for dry). A crash case additionally needs an accelerometer output at the occupant reference point and an energy-absorption check — the internal energy of the crush zone should account for the majority of the initial kinetic energy, with hourglass energy below 5%.
Durability: from stress history to DFMEA occurrence
Durability load cases are built by extracting stress histories from the quasi-static or dynamic runs and feeding them to a fatigue model. In LS-DYNA this is typically a sequence of implicit static solves at load extremes, followed by *DATABASE_ELOUT extraction and an external fatigue tool. The DFMEA-relevant output is not a single stress but a damage ratio at the critical location, compared against the design target (for example, damage < 1.0 at the required cycle count with a safety factor of 2). Occurrence scoring should then reference the duty-cycle exposure — how many cycles the field population actually sees — rather than the simulation result alone.
Mapping load cases to DFMEA line items: a worked pattern
The taxonomy becomes useful when each DFMEA failure mode is explicitly bound to a load case and a verification criterion. Consider a steel mounting bracket with three identified failure modes: (1) plastic deformation under a 15 kN static proof load, (2) fracture under a 10 m/s stone impact, and (3) fatigue cracking at the weld toe over 10⁶ cycles. The mapping is:
- Mode 1 → quasi-static case, implicit or scaled explicit, acceptance: no element exceeds yield at 15 kN, and the KE/IE ratio stays below 5% if explicit.
- Mode 2 → explicit impact case with rate-sensitive
*MAT_024, acceptance: no perforation and peak strain below the calibrated failure strain; verify strain rate in the critical element is within the test-calibrated range. - Mode 3 → static load extremes plus fatigue post-processing, acceptance: damage ratio < 1.0 at 10⁶ cycles with a factor of 2.
Each acceptance criterion then becomes the detection control in the DFMEA, and its rigor determines the detection score. A mode verified only by a rate-insensitive impact run should not receive a strong detection rating, because the model does not reproduce the governing physics. This is the central discipline of the chapter: the load case must be physically faithful to the failure mode before its result can justify a DFMEA score.
glstat and confirm the kinetic-to-internal energy ratio stayed below 5% for the full ramp. If it did not, the result is a dynamic artifact, not a static response — lengthen the ramp or apply documented mass scaling and re-run.