1. Diagnose Initial Penetration in Surface-to-Surface Contact

Why Initial Penetration Matters in Surface-to-Surface Contact

In LS-DYNA, a surface-to-surface contact definition (*CONTACT_AUTOMATIC_SURFACE_TO_SURFACE or its tied/eroding variants) builds its contact search at the start of the run. If slave nodes are already inside the master surface at time zero, the solver reports an initial penetration warning and either pushes nodes out over the first few cycles or leaves them stuck, depending on SOFT, IGNORE, and the penetration depth relative to the contact thickness. The result is a spurious contact force spike, an energy imbalance, or a completely missed contact. Diagnosing this before a full run is far cheaper than debugging a diverged solution.

Three independent causes produce the same warning, and each requires a different fix:

  • Part positioning — the two parts genuinely overlap in space because of a modeling or assembly error.
  • Contact thickness offset — the parts are geometrically separated, but the shell thickness or SST/MST offsets make the effective contact surfaces overlap.
  • Segment orientation — the master segment normals point the wrong way, so the search treats the "outside" as "inside."

Reading the Warning Before Touching the Model

A typical message in messag or d3hsp looks like this:

*** Warning 30062 (INI+62)
Initial penetration of slave node 18422
  into master segment 9031
  penetration = 2.41E-01
  slave part ID = 3, master part ID = 7

Extract three facts from it: the penetration magnitude, the slave node ID, and the master segment ID. The magnitude tells you whether this is a thickness-scale artifact (comparable to shell thickness) or a real geometric overlap (much larger). The node and segment IDs let you locate the exact spot in the model. If the warning lists hundreds of nodes on the same part pair, the cause is systematic (positioning or orientation), not a single stray node.

Set IGNORE = 1 only as a temporary diagnostic. It suppresses the warning but does not remove the penetration; the contact force at those nodes will still be wrong. Use it to confirm the warning is the only issue, then fix the geometry.

Checking Part Positioning

Before any contact tuning, verify that the parts are actually where you think they are. Two quick checks:

  1. In LS-PrePost, use Measure between a slave node and the nearest master segment and compare with the reported penetration. If the measured gap is positive but the warning says penetration, the problem is thickness or orientation, not position.
  2. Check the *PART / *DEFINE_TRANSFORMATION chain. A common error is a transformation applied twice, or a *INCLUDE_TRANSFORM that shifts a part by one shell thickness. Confirm the final coordinates by writing a *NODE dump after transformation and inspecting a few nodes near the contact interface.

If the parts truly overlap, translate the offending part along the interface normal by the measured overlap plus a small clearance (typically 0.5–1× the shell thickness). Do not "fix" it by increasing contact thickness — that hides the overlap and adds stiffness.

Checking Contact Thickness Offsets

For shell and solid elements, LS-DYNA offsets the contact surface by a thickness. The relevant parameters are SST (slave thickness, default 1.0) and MST (master thickness, default 1.0), plus SFST/SFMT scale factors. If two shells are modeled at their mid-surfaces with a 2 mm gap but each has 2 mm thickness, the effective surfaces overlap by 2 mm even though the nodes are separated. The warning then reports a penetration equal to the thickness overlap.

Diagnostic procedure:

  • Compute the expected effective gap: gap_eff = gap_geom − 0.5·(t_slave·SST + t_master·MST). If gap_eff < 0, you have a thickness-induced penetration.
  • If the geometry is correct and the parts should just touch, set SST and MST to match the actual shell thickness, or reduce them to 0.5 if the model is mid-surface based and you want contact at the mid-plane.
  • For solid elements, thickness offset is usually zero; if you see penetration on solids, suspect positioning or orientation instead.

Checking Segment Orientation

Surface-to-surface contact uses the master segment normal to decide which side is "outside." If a shell part has inverted normals, the solver sees the slave as penetrating from the wrong side. This is the most common cause of "penetration" warnings on parts that are visibly separated.

Verify orientation in LS-PrePost with Shell Normals display, or check the sign of the segment normal against the vector from the master segment centroid to the nearest slave node. If the dot product is negative for most nodes, the master normals are flipped. Fix by reversing the shell normals (Element → Normal → Reverse) or by swapping the slave/master designation in the contact definition if the geometry allows.

Warning 30062: Initial Penetration Read magnitude, slave node ID, master segment ID Measure geometric gap at reported node gap_geom vs. reported penetration gap_geom < 0 Real overlap Check *PART / *INCLUDE_TRANSFORM gap_geom > 0 Not a position issue Check thickness / orientation Compute effective gap with thickness gap_eff = gap_geom − 0.5·(t_s·SST + t_m·MST) gap_eff < 0 Thickness overlap Adjust SST / MST / SFST / SFMT gap_eff > 0 Thickness OK Proceed to orientation check Check master segment normal direction dot(normal, centroid→slave node) < 0 ? negative Inverted normals Reverse shell normals positive Orientation OK Re-check IGNORE / SOFT Verify with a short run (t = 0 → 1 ms) No Warning 30062 · contact energy ≈ 0 at t=0 · no force spike Then launch the full simulation Geometric / orientation fault Thickness parameter fault Check passed

Applying the Fix and Verifying

Once the cause is identified, apply the corresponding correction and confirm it with a short diagnostic run rather than a full simulation. A 1 ms run with *CONTROL_TERMINATION set to 1.0 and a small DTMIN is enough to see whether the warning disappears and whether contact energy stays near zero at t = 0.

Verification criteria for the diagnostic run:

CheckExpected resultIf it fails
Warning 30062 in messagAbsentRe-inspect the same node/segment pair
Contact energy at t = 0≈ 0 (below 0.1% of internal energy)Residual penetration or wrong SOFT
Contact force at reported nodeNo spike in first few cyclesThickness still overlapping
Global energy ratioHourglass < 5%, no negative sliding energyContact definition still inconsistent
Do not combine fixes blindly. If you translate a part and reduce SST, you may create a gap that the contact never closes, producing a silent loss of contact. Change one variable at a time and re-run the diagnostic.

Quick Reference: Symptom → Cause → Fix

  • Penetration ≈ shell thickness, parts visibly separated → thickness offset. Set SST/MST to actual thickness or 0.5 for mid-surface models.
  • Penetration much larger than thickness, many nodes on one part pair → positioning. Check *INCLUDE_TRANSFORM and *DEFINE_TRANSFORMATION for double application.
  • Penetration on a part that looks correctly placed, single-sided shells → inverted normals. Reverse shell normals or swap slave/master.
  • Warning persists after all three checks → inspect SOFT and IGNORE; a soft=2 penalty contact can mask a real overlap that a segment-based contact would flag.

Running these three checks in order — position, thickness, orientation — resolves the vast majority of initial penetration warnings before they contaminate a full simulation.