1. DOE fundamentals for restraint design
In LS-DYNA restraint design, a single run of a frontal or side impact model can take hours to days, and the number of tunable parameters is large: airbag vent diameter, inflator mass-flow scaling, seatbelt load-limiter force, pretensioner firing time, anchor point coordinates, and material strain-rate factors, to name a few. Design of Experiments (DOE) is the discipline that lets you extract the maximum amount of causal information from a deliberately chosen, finite set of such runs. The DOE matrix is the concrete artifact that encodes which combination of parameter values each run must use. This chapter establishes the vocabulary and the workflow logic that the remaining 29 chapters build on.
Factors: the design variables you are allowed to change
A factor is an input variable whose effect on the outcome you want to quantify. In restraint studies, factors fall into a few practical families:
- Geometric factors — airbag module position, vent hole diameter, D-ring location, knee-bolster standoff.
- Constitutive and material factors — belt webbing stiffness scale, load-limiter force level, foam
*MAT_LOW_DENSITY_FOAMstress scale. - Time-history factors — pretensioner trigger time, inflator pressure-curve time scaling, adaptive vent opening delay.
- Discrete/algorithmic factors — contact type selection, hourglass control, element formulation for the belt.
Not every parameter should become a factor. A useful screening rule is: a factor must be (a) physically adjustable within the design space, (b) plausibly influential on at least one response, and (c) representable by a single scalar or a small set of discrete choices in the input deck. Parameters that are fixed by regulation, packaging, or supplier agreement are held constant and recorded in the study log rather than varied.
Levels: the values each factor takes
A level is a specific value assigned to a factor. Two-level designs (often coded −1 and +1) are the workhorse for screening; three-level designs (−1, 0, +1) are needed when curvature or a quadratic response is suspected. Levels must be chosen from engineering reality, not convenience. For a load limiter, a two-level setting of 3.0 kN and 4.5 kN is defensible; 0.5 kN and 20 kN is not, because the low level would produce a slack belt and the high level would violate the occupant's chest deflection target regardless of other factors.
Levels are usually expressed in coded form for the matrix and in engineering units for the LS-DYNA input. The mapping is linear:
coded = (actual - center) / half_range
actual = center + coded * half_range
Example: load limiter force, center = 3.75 kN, half_range = 0.75 kN
level -1 -> 3.00 kN
level 0 -> 3.75 kN
level +1 -> 4.50 kN
Keeping this mapping in a separate table is essential: the matrix generator works in coded space, while the deck writer substitutes engineering values into *DEFINE_CURVE or *PARAMETER entries.
Responses: what you measure after the run
A response is a scalar output extracted from the LS-DYNA results. Restraint responses are typically peak or time-windowed quantities:
| Response | Typical extraction | Direction of interest |
|---|---|---|
| HIC36 | Head acceleration resultant, 36 ms window | minimize |
| Chest deflection | Peak rib deflection (mm) | minimize |
| Nij (neck injury) | Normalized neck injury criterion | minimize |
| Belt force | Peak shoulder-belt tension (kN) | minimize |
| Bag pressure | Peak internal pressure (kPa) | observe / constrain |
| Head excursion | Forward head travel (mm) | constrain |
Responses must be defined before the matrix is generated, because the extraction script and the matrix share the same run identifiers. A response that cannot be extracted automatically from nodout, rcforc, or a *DATABASE_ASCII file is a liability in a 30-run study; define the extraction path first, then commit to the response.
Why matrix generation is the pivot of the study
The DOE matrix is a table whose rows are runs and whose columns are factors, with each cell holding a coded level. Its structure determines what you can and cannot conclude. A full factorial 24 design (four factors, two levels) requires 16 runs and estimates all main effects and all interactions. A fractional factorial 24-1 design requires 8 runs but aliases the four-factor interaction with the mean and confounds two-factor interactions with each other. A Latin Hypercube or D-optimal design is appropriate when factors are continuous and you intend to fit a response surface.
The matrix generator's job is therefore threefold: (1) select a design structure consistent with the number of runs you can afford, (2) produce the coded run table with correct randomization and blocking, and (3) emit run identifiers that the LS-DYNA deck writer and the response extractor both consume. In practice this means a small script that reads a factor definition file and writes a CSV plus a set of per-run include files.
From matrix to LS-DYNA deck: the substitution contract
The matrix is only useful if each row can be turned into a runnable deck without manual editing. The standard pattern is to parameterize the deck with *PARAMETER and drive those parameters from a per-run include file:
*PARAMETER
LL_FORCE = 3.75
VENT_DIA = 45.0
PRET_TIME = 12.0
BAG_SCALE = 1.00
*INCLUDE
run_007_params.k
The generator writes run_007_params.k containing the engineering-unit values for that row. The deck itself is never edited between runs, which eliminates a large class of transcription errors and makes the study auditable. The same run identifier (run_007) is used for the output directory, the response CSV row, and the post-processing log.
Workflow overview
The figure below shows how the four DOE elements connect to the LS-DYNA execution loop. Factors and levels define the design space; the matrix generator produces the run table; the deck writer substitutes engineering values; the solver produces responses; and the response table feeds the statistical analysis that closes the loop back to factor selection.
A worked screening example
Suppose a frontal 50 km/h sled model has four candidate factors: load-limiter force (LL), vent diameter (VD), pretensioner time (PT), and bag mass-flow scale (BS). You can afford 16 runs. A 24 full factorial fits exactly and estimates all main effects and all six two-factor interactions. The generator produces 16 rows in coded space; row 7 might read LL=+1, VD=-1, PT=+1, BS=-1, which the deck writer converts to LL_FORCE=4.50, VENT_DIA=40.0, PRET_TIME=14.0, BAG_SCALE=0.90.
After the 16 runs, the response table is analyzed with a standard effects plot. If the LL main effect on chest deflection dominates and the LL×PT interaction is small, you can fix PT at its center value and run a focused 3-level study on LL alone to locate the optimum. If the LL×PT interaction is large, the two factors must be tuned jointly, and a response-surface design (central composite or Box-Behnken) is the correct next step. This decision — which factors to keep, which to fix, and which design to run next — is the real output of the first DOE cycle, and it is only defensible if the matrix, the deck substitution, and the response extraction were all traceable to the same run identifiers.
What the matrix does not do
The matrix does not validate the model, does not choose physically meaningful levels, and does not interpret the results. Those remain engineering judgments. What the matrix does is make the study reproducible: given the factor definition file, the generator seed, and the deck template, any engineer can regenerate the exact run set and confirm that the reported effects correspond to the runs actually executed. That reproducibility is the foundation on which the remaining chapters — design selection, aliasing, response-surface fitting, and robustness checks — are built.