3. Simulation data sources
Correlation work begins with a deceptively simple question: which simulation data are we actually comparing against the test? In crash simulation, the answer is rarely a single file. An explicit finite element (FE) run produces a directory of outputs, each with different time sampling, spatial resolution, and physical meaning. Choosing the wrong channel, the wrong sampling rate, or the wrong coordinate convention will corrupt the correlation before any metric is computed. This section covers where explicit solver data comes from, how LS-DYNA structures its output, and how to extract result channels that are physically comparable to test measurements.
Why Explicit Solvers Produce the Data They Do
Crash simulation is dominated by transient, high-rate, nonlinear events: contact, buckling, rupture, and large deformation. Explicit time integration advances the solution with a central-difference scheme, where the stable time step is governed by the smallest element and the material wave speed:
dt_stable ≈ L_min / c, c = sqrt(E / ρ)
For a typical steel shell element with characteristic length L_min = 5 mm, E = 210 GPa, and ρ = 7.85e-9 tonne/mm³, the wave speed is about 5.17 mm/ms, giving a stable step near 0.97 µs. A 120 ms event therefore requires on the order of 10⁵ time steps. This matters for correlation because the solver writes output at user-specified intervals, not at every step. The output interval, not the integration step, determines the effective sampling rate of your simulated signal.
Two consequences follow. First, if the test data are sampled at 10 kHz (0.1 ms) but the simulation writes state every 1 ms, the simulated peak may be missed entirely. Second, filtering must be applied consistently: test accelerometers are typically filtered per SAE J211, and the simulation output must be filtered with the same class and cutoff before comparison.
LS-DYNA Output Families
LS-DYNA organizes results into distinct output families, each controlled by its own keyword and written to a separate file. Understanding the family is the first step in extraction.
| Output family | Keyword | Typical file | Content and correlation use |
|---|---|---|---|
| State database | *DATABASE_BINARY_D3PLOT |
d3plot |
Full-field state (stress, strain, displacement, plastic strain) at discrete times; used for deformation and intrusion correlation. |
| Time-history, ASCII | *DATABASE_ASCII_* |
nodout, elout, secforc, rcforc |
Nodal kinematics, element results, section forces, contact forces; the primary source for channel-by-channel correlation. |
| Time-history, binary | *DATABASE_BINARY_D3THDT |
d3thdt |
Binary time histories for selected nodes/elements; compact and fast to post-process. |
| Interface/contact force | *DATABASE_BINARY_RCFORC |
rcforc |
Resultant contact forces per interface; used for barrier force and occupant load-path correlation. |
| Energy | *DATABASE_GLSTAT, *DATABASE_MATSUM |
glstat, matsum |
Global and material energy balance; used to validate the run before correlation. |
The d3plot file is the workhorse for spatial correlation, while ASCII time-history files are the workhorse for signal correlation. A common mistake is to extract a nodal acceleration from d3plot by differentiating displacement; this amplifies numerical noise and produces a signal that cannot be compared to a filtered accelerometer. Prefer the solver-computed acceleration from nodout or a dedicated accelerometer element.
Extracting Channels for Correlation
Correlation requires that the simulated channel and the test channel share the same physical quantity, location, direction, and sign convention. The extraction workflow below is written for a frontal impact model with a vehicle body and a rigid barrier.
- Define the measurement point. Identify the test sensor location, for example a left B-pillar base accelerometer. In the model, locate the nearest node or define a nodal set. Record the node ID and its coordinates.
- Fix the coordinate convention. LS-DYNA uses a global Cartesian system. Define the vehicle
+Xas forward,+Yas left,+Zas up, and state this explicitly. Test accelerometers are often mounted with a polarity that must be reconciled; a sign flip is a frequent root cause of poor correlation. - Request the correct output. Add the node to a set and request acceleration and velocity:
*DATABASE_ASCII_NODOUT
$# dt lcdt binary dthdf
0.1 0 0 0
*SET_NODE_LIST_TITLE
B_PILLAR_BASE_ACCEL
$# sid da1 da2 da3 da4
1
$# nid1 nid2 nid3 nid4
10234
*DATABASE_HISTORY_NODE_SET
$# id1 id2 id3 id4
1
Here dt = 0.1 ms matches a 10 kHz test sampling rate. The nodout file will then contain time, X/Y/Z displacement, velocity, and acceleration for node 10234 at each interval.
- Extract and align. Parse the
nodoutblock for the node, build a time vector, and interpolate both test and simulation onto a common time base. A typical alignment uses the time of first barrier contact ast = 0. - Filter consistently. Apply the same SAE J211 filter class to both signals. For a B-pillar base channel, CFC 60 is common; for a lower leg channel, CFC 180. Never filter one signal and not the other.
- Check the run before trusting the channel. Inspect
glstatfor energy balance andmatsumfor negative or excessive internal energy. A run with hourglass energy above roughly 5% of internal energy is not a reliable correlation baseline.
Practical rule: if the simulated peak acceleration is more than about 20% above the test peak and the pulse shape is otherwise similar, suspect the output sampling interval or the filter before suspecting the model. Re-run with a finer dt and re-compare.
From Raw Output to Correlation-Ready Data
The figure below summarizes how a single LS-DYNA run feeds multiple correlation channels, and where each channel is extracted from.
Common Extraction Pitfalls and How to Detect Them
Three failure modes account for most correlation problems at the data-source stage. First, sampling mismatch: the simulated signal is written too coarsely and misses the peak. Symptom: simulated peak is consistently lower than test, and refining dt changes the result. Second, sign and axis mismatch: the test channel is positive in compression while the simulation reports tension-positive. Symptom: the two curves are near mirror images. Third, unverified run: hourglass energy or negative internal energy indicates the model is not physically sound, and no amount of signal processing will fix it.
Do not compare an unfiltered simulation acceleration to a CFC-filtered test acceleration. The unfiltered signal will contain high-frequency content that inflates peak values and produces a false mismatch. Always confirm the filter class and cutoff applied to each side of the comparison.
Correlation Data Extraction Checklist
| Item | What to confirm | Typical value / example |
|---|---|---|
| Output interval | Matches or exceeds test sampling rate | dt = 0.1 ms for 10 kHz test |
| Node / element ID | Nearest to test sensor, correct set membership | Node 10234, set ID 1 |
| Coordinate convention | Axis and sign documented and consistent | +X forward, +Y left, +Z up |
| Filter | Same class and cutoff on both signals | CFC 60 for B-pillar base |
| Time zero | Aligned to first barrier contact | t = 0 at contact |
| Run quality | Energy balance acceptable | Hourglass < 5% of internal energy |
With these channels extracted and verified, the correlation stage can proceed on a sound footing. The next step is to define the comparison metrics and tolerances that will be applied to these aligned, filtered signals.