4. Tune Penalty Stiffness for Stable Contac

Why Penalty Stiffness Matters in Metal Forming Contact

In a penalty-based contact formulation, LS-DYNA resists penetration by inserting a spring between the slave node and the master segment. The stiffness of that spring is derived from the contact stiffness of the underlying elements, scaled by a penalty factor. Too soft, and the blank sinks visibly into the die — the forming result is wrong and the tool may appear to "leak" material. Too stiff, and the contact force oscillates, the explicit time step collapses, and the run terminates with a negative volume or an energy error. The task in this case is to find the penalty scale that keeps penetration within an acceptable tolerance while preserving a stable time step for a shell-based metal forming pair.

The default penalty stiffness for a segment is computed from the bulk modulus and the element characteristic length, roughly k = f_s · K · A / L, where K is the bulk modulus, A the segment area, L the characteristic length, and f_s the scale factor. LS-DYNA exposes this through SLSFAC on *CONTROL_CONTACT and through the per-contact PENALTY / STIFF options on the *CONTACT card. The practical lever is not a single number but the combination of a global scale and a local stiffness option, and the two interact with the stable time step.

Diagnosing the Current Contact Behavior

Before touching any factor, establish the baseline. A typical symptom set for a too-soft penalty in a deep-draw pair looks like this: the blank shows visible penetration into the punch radius in the animation, the contact force reported in glstat is smooth but the punch force is lower than the hand calculation, and the blank thins less than expected at the die entry. For a too-stiff penalty, the same model shows a sawtooth in the contact energy curve, a time step that drops by an order of magnitude after first contact, and often a "negative volume in solid element" or "out-of-range velocity" message.

Run a short probe first. Set TERMINATION to a small time (for example 2 ms of a 20 ms stroke), request RCFORC and SLEOUT in *DATABASE_BINARY_D3PLOT, and add *DATABASE_ASCII output for glstat and rcforc. The two numbers to read are the maximum penetration depth (from the contact output or from a node-to-segment distance in the d3plot) and the minimum time step after contact. These two values define the tuning window.

A useful rule of thumb for shell forming: acceptable penetration is on the order of 5–10% of the shell thickness. If the blank is 1.0 mm thick, keep penetration below about 0.05–0.1 mm. Anything larger means the penalty is too soft for the tool radius involved.

Adjusting the Penalty Scale and Stiffness Option

The tuning procedure is iterative and should change one lever at a time. Start from the default SLSFAC = 0.1 and the default stiffness option, then increase the scale in steps of 2× until penetration falls into the tolerance band or the time step becomes unacceptable. The table below shows a representative progression for a 1.0 mm mild-steel blank drawn over a 6 mm punch radius, with a target penetration of 0.08 mm.

RunSLSFACStiffness optionMax penetration (mm)Min time step (µs)Observation
10.1default0.310.42Visible sink at punch radius
20.2default0.170.40Still above tolerance
30.4default0.090.36Near tolerance, stable
40.8default0.050.21Within tolerance, step dropping
50.8SOFT=10.060.33Soft option recovers step

Run 4 shows the classic trade-off: penetration is now acceptable but the time step has fallen by half, which roughly doubles the wall-clock cost. The SOFT option on the contact card changes how the stiffness is computed — SOFT=1 uses a stiffness based on the slave mass and the global time step rather than the element bulk modulus, which is far less sensitive to thin or distorted segments. Applying SOFT=1 at the same SLSFAC recovers most of the time step while keeping penetration inside the band. This is the preferred resolution for shell forming where the blank is thin relative to the tool radius.

*CONTROL_CONTACT
$   SLSFAC    RWPNAL    ISLCHK    SHLTHK    PENOPT    THKCHG    ORIEN
       0.8       0.0         1         1         1         0         1
$   USRSTR    USRFRC    NSBCS     INTERM    XPENE     SSTHK     ECDT
         0         0        10         0         4         0         1

*CONTACT_FORMING_ONE_WAY_SURFACE_TO_SURFACE
$   SSID      MSID      SSTYP     MSTYP     SBOXID    MBOXID    SPR
         1         2         3         3         0         0         0
$   FS        FD        DC        VC        VDC       PENCHK    BT
       0.1       0.1       0.0       0.0       0.0         0         0
$   SFS       SFM       SST       MST       SFST      SFMT      FSF
       1.0       1.0       0.0       0.0       1.0       1.0       1.0
$   VSF       VSS       DEPTH     BSYS      SBOXID    NSBCS     SOFT
       1.0       1.0         2         0         0        10         1
$   SOFSCL    LCIDAB    MAXPAR    SBOPT     DEPTH     BSORT     FRCFRQ
       0.5         0         1.025        2         2         0         1

Two details in this card deserve attention. First, SOFT=1 is paired with SOFSCL=0.5, which scales the soft stiffness; the combination is what produced run 5. Second, DEPTH=2 activates the depth-based penalty that accounts for the shell thickness, which is important when the blank is thin and the punch radius is small. Without DEPTH, the segment stiffness ignores the through-thickness geometry and the penalty is systematically too soft at the radius.

Reading the Result and Confirming Stability

After the adjustment, verify three things in the output. The glstat contact energy should rise smoothly and then plateau — a sawtooth or a step indicates the penalty is still too stiff. The rcforc punch force should match a hand estimate within a few percent; for a 1.0 mm blank drawn to 30 mm depth, a peak punch force in the range of 40–60 kN for this geometry is plausible, and a value far below that range is a sign of residual penetration. Finally, the minimum time step in glstat should stay within about 20% of the pre-contact value; a larger drop means the penalty is dominating the step and the run will be expensive.

Do not raise SLSFAC above about 1.0 for shell forming without also enabling SOFT=1 or SOFT=2. Above that range the default stiffness becomes dominated by the bulk modulus of thin segments, the contact force oscillates, and the run frequently terminates with a negative volume in the blank. If penetration is still too large at SLSFAC = 1.0 with a soft option, the real problem is usually mesh density at the punch radius, not the penalty factor.
Penalty Tuning Window: Penetration vs. Time Step Penalty scale factor (SLSFAC) Normalized value 0.1 0.2 0.4 0.6 0.8 1.0 1.5 penetration tolerance band penetration min time step time step with SOFT=1 chosen operating point SLSFAC = 0.8, SOFT = 1 penetration depth time step (default stiffness) time step (SOFT=1)

Practical Checklist for the Tuning Pass

  • Record baseline penetration and minimum time step from a short probe run before changing anything.
  • Increase SLSFAC in 2× steps; stop when penetration enters the 5–10% thickness band.
  • If the time step drops more than about 20%, switch the contact stiffness option to SOFT=1 (or SOFT=2 for solid blanks) and re-tune SOFSCL.
  • Enable DEPTH=2 for thin shells over small tool radii so the penalty accounts for through-thickness geometry.
  • Confirm the result with a smooth contact energy curve, a punch force consistent with a hand estimate, and a stable minimum time step.
  • If penetration remains excessive at SLSFAC = 1.0 with a soft option, refine the mesh at the punch radius rather than pushing the penalty further.

The final card for this pair uses SLSFAC = 0.8, SOFT = 1, SOFSCL = 0.5, and DEPTH = 2. That combination keeps penetration near 0.06 mm on a 1.0 mm blank, holds the minimum time step within about 20% of the pre-contact value, and produces a smooth contact energy history — the three signatures that the penalty is neither too soft nor too stiff for this forming pair.