2. Full-Width Frontal Crash Model Assembly and Contact Definition
Why Assembly and Contact Definition Decide the Injury Result
In a full-width frontal crash (FWFC), the vehicle strikes a rigid wall with 100% overlap, so both longitudinal rails, the bumper beam, and the firewall load path engage almost simultaneously. That symmetry is exactly what makes contact definition unforgiving: any initial penetration between the barrier face and the front structure, or between the dummy and the restraint system, produces a spurious contact force spike in the first few milliseconds that propagates into the occupant response and corrupts chest deflection, HIC, and femur load readings. This case assembles the full-width model, defines the complete contact set, and runs a short stability check before any dummy is added.
Model Assembly: Coordinate Convention and Component Placement
Fix the reference frame before touching any geometry. Use a right-handed SAE-style vehicle coordinate system: X positive forward (toward the barrier), Y positive to the vehicle's left, Z positive upward, origin on the ground plane at the vehicle centerline, midway between the axles. Every component, the barrier, and the initial velocity vector must be expressed in this frame; mixing conventions is the most common source of a model that "looks right" but loads asymmetrically.
Place the rigid wall as a planar rigid body whose impact face is normal to X, positioned so the gap to the foremost vehicle node is a small, deliberate clearance (for example 5 mm) rather than zero. A zero or negative gap means the barrier is already touching or embedded in the bumper at t = 0, which the contact algorithm resolves as an impulsive force. Set the initial velocity on the whole vehicle set as a single *INITIAL_VELOCITY with VX = -v (for a 50 km/h test, v ≈ 13.89 m/s), applied to a node set that includes every deformable and rigid part of the vehicle but excludes the barrier.
*NODE
$ origin at ground, vehicle centerline, mid-axle
$ X forward, Y left, Z up
*PART
$ ... vehicle body, rails, bumper beam, firewall, subframe ...
*MAT_RIGID
$ barrier: planar wall, impact face normal to +X
$ RO = 7850, E = 2.1e11, NU = 0.3
$ CMO = 1 (constrained), CON1 = 7 (all DOF fixed)
*INITIAL_VELOCITY
$ NSID = vehicle_all, NSIDEX = 0
$ VX = -13.89, VY = 0.0, VZ = 0.0
Keep the barrier fully constrained (CON1 = 7) so it cannot translate or rotate; a barrier that drifts under load silently changes the overlap and invalidates the test. Confirm that the vehicle's total mass and center of gravity match the build sheet before proceeding — a mis-set mass changes the deceleration pulse and therefore every injury metric downstream.
Contact Set: Self-Contact and Barrier Contact
Define two contact families. The first is vehicle self-contact, which governs how the front structure crushes into itself: rails folding against the firewall, the bumper beam wrapping, the hood buckling onto the cowl. Use a single-surface or automatic general contact with a friction coefficient around 0.1–0.3 for steel-on-steel, and set a thickness offset so shell mid-surfaces do not falsely penetrate. The second is barrier contact, a surface-to-surface definition between the barrier face (master) and the vehicle front structure (slave), with the same friction and a penetration check enabled.
*CONTACT_AUTOMATIC_SINGLE_SURFACE
$ SSID = vehicle_body_set
$ FS = 0.2, FD = 0.2
$ SOFT = 1, SBOPT = 3, DEPTH = 2
*CONTACT_AUTOMATIC_SURFACE_TO_SURFACE
$ SSID = vehicle_front_set, MSID = barrier_face_set
$ FS = 0.2, FD = 0.2
$ SOFT = 2, SBOPT = 4, DEPTH = 5
$ PENCHK = 1
SOFT = 1 or 2 activates penalty stiffness scaling for thin shells, which prevents the classic "shell passes through shell" artifact during rail folding. PENCHK = 1 makes the solver report initial penetrations at t = 0 instead of silently pushing nodes apart. Set DEPTH to a value larger than the largest expected shell thickness so contact is detected before surfaces actually cross.
*CONTROL_TERMINATION with ENDTIM = 0.0 and inspect the initial-penetration summary in the message file. Any reported penetration greater than roughly one shell thickness should be corrected by geometry offset or by adjusting the initial gap, not by increasing SOFT.Reading the Contact Stability Check
After the zero-time check is clean, run a short preliminary simulation — 5 to 10 ms is enough to expose contact instability without waiting for a full event. Watch three signals: the contact energy (should rise smoothly and stay a small fraction of internal energy), the number of slave nodes in contact (should grow monotonically as the barrier engages), and the barrier reaction force (should start near zero and build without a spike at the first time step). A force spike at t ≈ 0 is the signature of initial penetration; a sawtooth force trace indicates contact chatter from an under-resolved mesh or an over-stiff penalty.
Failure Symptoms and Corrections
| Symptom | Likely cause | Correction |
|---|---|---|
| Force spike at first time step | Barrier embedded in bumper at t = 0 | Increase initial gap; re-run PENCHK check |
| Sawtooth contact force | Under-resolved shell mesh or over-stiff penalty | Refine front-structure mesh; lower SOFT scaling |
| Asymmetric crush despite symmetric wall | Mixed coordinate conventions or off-center origin | Re-verify X/Y/Z frame and origin placement |
| Barrier drifts under load | Rigid body not fully constrained | Set CON1 = 7 on the barrier part |
| Shells pass through each other | Contact thickness offset too small | Increase DEPTH beyond max shell thickness |
Pre-Run Checklist
- Coordinate frame fixed:
Xforward,Yleft,Zup, origin at ground/centerline/mid-axle. - Barrier face normal to
X, fully constrained, initial gap ≈ 5 mm. - Single
*INITIAL_VELOCITYon the vehicle set only,VX = −13.89 m/s. - Self-contact (
SINGLE_SURFACE) and barrier contact (SURFACE_TO_SURFACE) both defined with friction andPENCHK = 1. - Zero-time penetration summary inspected; no penetration exceeds one shell thickness.
- 10 ms stability run: contact energy small, contact node count monotonic, no
t ≈ 0force spike.