Choosing Penalty vs. Augmented Lagrange in ANSYS Mechanical Contact Modeling
Learn how to decide between penalty and Augmented Lagrange contact formulations in ANSYS Mechanical, set up the contact pair, and verify results with a practical two‑block compression test.
05 Jul 2025, 12:06 UTC

Desired Outcome
Accurately enforce bonded or frictional interfaces in a finite element analysis while maintaining numerical stability and reasonable memory usage.
Prerequisites
- ANSYS Mechanical (2025 R1 or later) installed on a machine with sufficient RAM for the model size.
- Basic familiarity with creating geometry, meshing, and applying loads in the ANSYS Workbench environment.
- Access to the
Mechanicalproject and the ability to edit contact settings.
Procedure
- Define the Contact Pair
- In the
Modeltree, right‑clickContact→New Contact Pair. - Choose the
Surface to Surfacetype for two distinct parts. - Assign the contacting surfaces (e.g.,
BlockA.TopandBlockB.Bottom). - Set the
Contact Formulationto eitherPenaltyorAugmented Lagrangebased on the decision table below.
- In the
- Configure Penalty Parameters (if selected)
- In the
Contact Pairproperties, open thePenaltytab. - Specify a
Contact Stiffness(e.g.,1e6for a typical steel interface). The value should be high enough to prevent penetration but not so high that it causes ill‑conditioning. - Optionally, enable
Automatic Penalty Stiffnessfor a quick estimate, but review the suggested value.
- In the
- Configure Augmented Lagrange Parameters (if selected)
- Open the
Augmented Lagrangetab in theContact Pairproperties. - Define the
Multiplier Field(e.g.,Multiplier). - Set the
Penalty Coefficient(e.g.,1e5) to control the conditioning of the multiplier equations. - Choose the
Multiplier Initializationmethod (default is zero).
- Open the
- Mesh Refinement Near Interfaces
- Right‑click the mesh of each part →
Insert Mesh Control. - Apply a
Refinementto the contacting surfaces with a factor of 2–3, ensuring element size≤ 1/10of the expected contact gap. - Generate the mesh.
- Right‑click the mesh of each part →
- Apply Loads and Boundary Conditions
- Apply a known load (e.g., a compressive force of 100 kN on
BlockAtop). - Fix the opposite side of
BlockBto prevent rigid body motion.
- Apply a known load (e.g., a compressive force of 100 kN on
- Run the Analysis
- Set the solver to
Static, GeneralorNonlinearas appropriate. - Click
Solveand monitor theSolution Statuspanel.
- Set the solver to
Expected Checks
- Contact Gap: In the post‑processing
Resulttree, viewContact Gap. Acceptable penetration is≤ 1e-6 mfor most engineering cases. - Reaction Forces: Verify that the sum of reaction forces equals the applied load within a tolerance of
0.5 %. - Solver Residuals: Residuals should drop below
1e-6for the last iteration. If not, consider adjusting the penalty or multiplier values. - Iteration Count: Excessive iterations (> 20 for a linear problem) may indicate ill‑conditioning.
Recovery Options
- Adjust Penalty Stiffness
- If penetration is too large, increase the penalty stiffness by a factor of 10.
- If residuals are high, reduce it gradually.
- Refine Mesh Near Contact
- Increase the refinement factor or add an additional
Mesh Controlelement layer. - Re‑run the analysis to observe changes in contact gap and residuals.
- Increase the refinement factor or add an additional
- Switch Formulation
- If the penalty method leads to poor conditioning, switch to Augmented Lagrange and re‑run.
- Conversely, if memory usage is high with Augmented Lagrange, revert to penalty with a moderate stiffness.
- Check Contact Surface Quality
- Ensure surfaces are planar and aligned; mis‑aligned meshes can create artificial gaps.
- Use the
Contact Checktool to visualize potential penetration.
Practical Example: Two‑Block Compression Test
Below is a concise APDL script that demonstrates the key steps for a two‑block compression test using both formulations. Replace placeholder names with your actual part IDs.
! Create parts
/Preproc
ET, 1, SOLID185
! Define geometry for BlockA and BlockB
! (Geometry creation omitted for brevity)
!
! Mesh the parts with refinement at contact surfaces
MESH, ALL
!
! Define contact pair
CP, 1, 1, 2
! For Penalty formulation
CP, 1, PENALTY, 1e6
!
! For Augmented Lagrange formulation
! CP, 1, AUGLAG, 1e5
!
! Apply loads and boundary conditions
D, 1, ALL, 0
S, 1, FORCE, 100e3
!
! Solve
SOLVE
FINISH
After running, use the post‑processing commands PRINT, GAP, 1 and PRINT, REAC, 1 to extract the contact gap and reaction forces for verification.
Decision Table: Penalty vs. Augmented Lagrange
| Aspect | Penalty | Augmented Lagrange |
|---|---|---|
| Constraint Enforcement | Approximate; depends on stiffness | Exact (within solver tolerance) |
| Numerical Conditioning | Sensitive to stiffness; high values cause ill‑conditioning | Better conditioning due to multiplier field |
| Memory Footprint | Lower (no additional DOFs) | Higher (extra multiplier DOFs) |
| Implementation Simplicity | Very simple | Requires setting multiplier field |
| Best For | Large models where memory is a concern and contact gaps are small | High‑accuracy contact problems, especially where penetration must be strictly zero |
Summary
Choosing between penalty and Augmented Lagrange in ANSYS Mechanical hinges on the trade‑off between enforcement accuracy and computational resources. Start with a modest penalty stiffness and a coarse mesh to gauge convergence. If penetration persists or residuals remain high, switch to Augmented Lagrange or refine the mesh. Always validate the contact gap and reaction forces against expected physics before finalizing the model.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.