Contact & Nonlinear Analysis — Overview
Contact formulations, friction models, convergence strategies, and practical guidance for bolted joints, interference fits, and forming simulations.
Articles in This Section
1. Why Contact Is Inherently Nonlinear
Contact problems are among the most nonlinear phenomena in solid mechanics. Unlike a linear spring that has a fixed stiffness regardless of deformation, the contact interface changes its character completely based on the current state: surfaces are either in contact or separated, and within the contact region, material can stick or slip depending on the local friction state.
Three interacting sources of nonlinearity make contact problems particularly challenging for FEA solvers:
- Status nonlinearity: Each contact node is either "open" (free) or "closed" (constrained). This binary change creates a discontinuous stiffness landscape — tiny displacements can flip hundreds of nodes between states, causing sudden jumps in the global stiffness matrix.
- Geometric nonlinearity: As bodies deform and slide, the contact geometry evolves. The contact normal direction and contact area change continuously throughout the analysis, requiring incremental updates to the contact constraint equations.
- Friction (tangential) nonlinearity: The transition between stick and slip introduces a yield-like nonlinearity: below the friction limit (\(|f_t| \leq \mu p\)) the contact point is stuck and stiff; above it, sliding occurs with constant tangential force \(f_t = \mu p\). This sudden switch between regimes must be resolved iteratively at every increment.
Because of these combined nonlinearities, even a "simple" bolted joint model with 10 contact pairs can require hundreds of Newton–Raphson iterations and remain prone to convergence difficulties if not set up carefully.
2. Contact Formulations
Node-to-Surface (NTS)
The slave nodes are constrained not to penetrate the master surface, but the master surface nodes are not reciprocally constrained. NTS is the oldest and most widely supported formulation. Its key weakness is that contact pressure is computed only at slave nodes, leading to pressure spikes and oscillations with coarse or non-matching meshes. It also fails the patch test on non-conforming meshes. In Abaqus it is specified via TYPE=NODE TO SURFACE.
Surface-to-Surface (STS)
Both surfaces participate symmetrically. Contact constraints are enforced at integration points distributed across the entire contact region, providing smoother pressure distributions and passing the patch test on non-matching meshes. STS is the default in modern Abaqus and ANSYS versions. It is somewhat more expensive per iteration but significantly more robust for curved or non-conforming surfaces — especially relevant for machined bearing races, gasket seating surfaces, and formed sheet metal.
Mortar Contact
The mortar method (also called segment-to-segment contact) integrates contact constraints over the overlap area between opposing mesh segments using a variational formulation. It provides optimal convergence rates with mesh refinement — particularly valuable for quadratic (second-order) elements where NTS and standard STS lose accuracy at non-conforming interfaces. Mortar contact handles large sliding and non-matching meshes with minimal pressure oscillation and is available in Code_Aster, PERMAS, Simulia Abaqus (as part of the general contact algorithm), and newer ANSYS Mechanical releases.
3. Normal Contact: Hard vs. Softened Contact
The normal contact condition enforces that bodies cannot penetrate each other. The two main enforcement strategies differ in how strictly this is applied:
Hard Contact (Lagrange Multiplier / Augmented Lagrangian)
Perfect non-penetration is enforced: contact pressure is zero when separated, and any positive value when in contact. Mathematically this is a Karush–Kuhn–Tucker complementarity condition:
\[ g_n \geq 0, \quad p_n \geq 0, \quad g_n \cdot p_n = 0 \]
where \(g_n\) is the gap and \(p_n\) is the contact pressure. Hard contact is the most physically accurate representation but causes the most convergence difficulty because the effective stiffness changes discontinuously at the contact boundary.
Softened (Penalty) Contact
A penalty stiffness \(k_n\) is introduced: a small penetration \(\delta_n\) is allowed and generates a contact pressure \(p_n = k_n \delta_n\). This "elastic foundation" approach significantly improves convergence because the stiffness changes smoothly with penetration depth, at the cost of allowing physically unrealistic — but numerically small — interpenetration. Typical penalty stiffnesses are set at 10–100 times the stiffness of the adjacent element per unit area. Excessively high penalty values approximate hard contact but re-introduce convergence problems.
The augmented Lagrangian method bridges both approaches: it uses a penalty predictor to estimate the contact force, then corrects it iteratively to approach the exact constraint. This balances accuracy and convergence robustness and is the recommended default in most production analyses.
| Method | Penetration allowed | Convergence | Typical use |
|---|---|---|---|
| Hard (Lagrange multiplier) | None | Difficult | Exact constraint needed |
| Softened (penalty) | Small (controlled) | Good | General contact, fast convergence needed |
| Augmented Lagrangian | Near-zero (corrected) | Very good | Recommended default for most analyses |
4. Tangential Contact: Friction Models
Coulomb Friction
The most widely used model. The tangential (friction) force magnitude is bounded by the normal contact pressure times the friction coefficient \(\mu\):
\[ |\mathbf{f}_t| \leq \mu \, p_n \]
Stick when \(|\mathbf{f}_t| < \mu p_n\), slide when equality holds. The friction coefficient is typically determined experimentally; indicative values: steel-on-steel (dry) 0.15–0.30, rubber-on-concrete 0.6–0.8, PTFE-coated interfaces 0.04–0.10.
Coulomb + Exponential Decay (Velocity-Dependent)
Static friction coefficient \(\mu_s\) is higher than kinetic \(\mu_k\). The transition is modelled with exponential decay as a function of slip velocity:
\[ \mu(v) = \mu_k + (\mu_s - \mu_k)\,e^{-d_c\, v} \]
where \(d_c\) is a decay constant. This model is important for stick-slip analysis, squeak and rattle noise prediction, geotechnical sliding problems, and seismic isolator performance.
Rough / No-Slip (Bonded in Shear)
Sets \(\mu \to \infty\) effectively — once nodes are in contact, no tangential slip is permitted. Used for brazed joints, adhesive interfaces, and other scenarios where relative motion is physically impossible. In Abaqus this is the ROUGH friction option; in ANSYS it corresponds to the "bonded" contact type in the tangential direction.
Anisotropic Friction
In deep drawing of sheet metal or composite fibre-matrix interfaces, friction is directionally dependent. Two different coefficients are specified for orthogonal tangential directions. Available in Abaqus via the ANISOTROPIC friction option on the *FRICTION card.
5. Convergence Challenges: Chattering and Over-Constraint
Contact Chattering
Chattering occurs when a contact node oscillates between open and closed states across consecutive Newton–Raphson iterations. The solver cannot converge because the residual changes sign each iteration. In the Abaqus log this manifests as repeated "too many attempts" cut-backs with residuals that never decrease monotonically. Common causes:
- Very high penalty stiffness creating an over-stiff contact — the correction overshoots
- Unstable initial configuration where surfaces start deeply interpenetrating
- Load increments too large relative to the contact zone stiffness
- Mismatched mesh density creating stress concentrations at individual contact nodes
- Abrupt geometry changes (sharp corners) at the contact boundary
Remedies: Reduce the time increment (often by 5–10×), use softened or augmented Lagrangian contact, smooth sharp edges in the contact surface geometry, add contact stabilisation (viscous damping) active only in the first few increments, or use the ADJUST option to remove initial overclosure before the first increment.
Over-Constraint
Over-constraint happens when the same degree of freedom is constrained by multiple independent contact or kinematic constraints simultaneously. Common sources:
- Three-body contact: edge of a washer touching both bolt shank and plate simultaneously
- Coincident contact pairs combined with additional
*TIEconstraints on the same interface - General contact with manually defined contact pairs at the same location
- Symmetry boundary conditions applied to nodes that are also contact slaves
Solvers typically emit warnings about over-constrained DOFs and may produce spurious reaction forces. Resolution: use a single consistent constraint formulation for each interface and systematically remove redundant constraints.
6. Large Sliding vs. Small Sliding
| Feature | Small Sliding | Large (Finite) Sliding |
|---|---|---|
| Contact normal direction | Fixed at initial configuration | Updated every increment |
| Computational cost | Lower (contact tracking cheaper) | Higher (contact search every increment) |
| Valid for | Bolted joints, slight relative motion, press fits | Forming, rolling, large deformation, seals |
| Consequence of wrong choice | Silent wrong answer — no convergence error | Correct (conservative choice) |
A critical practical point: using small sliding for a large-sliding problem does not produce a convergence error — it silently gives incorrect results as the fixed contact normals become misaligned with actual surface orientation during deformation. Verify the maximum relative tangential displacement: if it exceeds roughly 5–10% of the contact zone characteristic dimension, switch to finite sliding.
7. Engineering Applications
Bolted Joints
Bolted joint simulation requires modelling bolt pre-tension (via *BOLT LOAD or an equivalent pre-strain step), frictional contact between flange faces, and bearing contact at the bolt-hole interface. The key structural output is the joint separation load — the external force magnitude at which the interface opens — and the contact stress distribution in the clamped region. Using a tied (bonded) contact instead of frictional contact can overestimate separation load by 40–60% and produces an unconservative design.
Interference Fits (Press Fits)
A shaft pressed into a bore with positive interference creates hoop and radial stresses that provide the clamping force. FEA must accommodate the initial geometric overlap and allow surfaces to redistribute stress as the assembly is loaded. The ADJUST or INTERFERENCE ramping option in Abaqus is essential — attempting to impose the full interference in one increment almost always causes divergence. A gradual ramp over 20–100 sub-increments is typical for a 0.05–0.2 mm interference.
Sheet Metal Forming (Stamping / Deep Drawing)
Blank-holder, punch, and die contact pairs interact simultaneously in a deep drawing simulation. Finite sliding is mandatory. The friction coefficient between blank and tooling governs material flow: higher \(\mu\) restricts inward flow and increases tearing risk. Tribological models with pressure-dependent \(\mu\) (Coulomb + exponential) are essential for accurate thickness distribution prediction. A full 3D forming simulation may involve millions of contact status updates per time increment.
Gaskets and Seals
Sealing analysis tracks contact pressure distribution and contact area. Minimum contact pressure must exceed a material-specific threshold to prevent leakage. Softened contact with hyperelastic material models (rubber O-rings) or gasket element crush curves (spiral wound metal gaskets) captures the compliant interface behaviour accurately. Contact pressure contour plots are the primary design verification output.
Concept Q&A — Student & Professor
Professor, I keep hearing that contact is "the hardest thing in FEA." Why is it so much harder than, say, a nonlinear material analysis?
Because with a nonlinear material, state changes smoothly — stress follows a continuous curve along the plastic hardening law. But with contact, the state is binary: either two surfaces are touching or they're not. One tenth of a millimetre of displacement can completely flip hundreds of constraint equations in the global stiffness matrix. Newton–Raphson iteration struggles with this kind of discontinuity. It's like trying to find the root of a function that has step jumps instead of smooth curves — standard gradient methods lose their footing.
So what exactly is "chattering"? My simulations keep failing with that warning and I don't know how to fix it.
Chattering is when a contact node flips between open and closed on every Newton–Raphson iteration, so the solver never converges. Iteration 1: node A is open, the solver computes a correction that pushes it into contact. Iteration 2: node A is now closed, which over-stiffens the local region, so the solver bounces it back open. This cycle repeats indefinitely. The most effective first fix is to reduce your time increment dramatically — often by a factor of 10 — so each increment only closes a few nodes at a time instead of a whole zone snapping shut simultaneously.
What about node-to-surface vs. surface-to-surface? Textbooks say surface-to-surface is better, but older models at work still use node-to-surface. Is it really that different?
For simple flat-on-flat contact with matching meshes, the difference in contact pressure might be only 2–5%. But for curved surfaces or non-conforming meshes, node-to-surface can generate severe pressure spikes. It enforces the constraint only at discrete slave nodes, not across the whole contact zone. Think of pressing a flat plate onto a curved surface: surface-to-surface gives you a smooth pressure patch, node-to-surface gives you a series of concentrated point forces with oscillating pressure between them. If you're sizing a component based on peak contact pressure — like a cam lobe or a journal bearing — those artificial peaks from NTS can lead to significant over-engineering.
What's the mortar method? I've seen it mentioned in some advanced papers but it sounds very mathematical.
The intuition is actually simple, even though the math is involved. Standard surface-to-surface contact checks constraints at a set of discrete integration points. Mortar contact integrates the constraint over the entire overlapping area between opposing mesh segments — it's a continuous integral rather than a finite set of point checks. This naturally handles non-matching meshes without the pressure oscillations from discrete sampling. For quadratic elements especially, mortar converges to the exact answer at the best theoretical rate as you refine the mesh. In practice, use it when you have expensive higher-order elements and need accurate pressure for things like Hertzian contact or bearing analysis. For most everyday bolted joints, surface-to-surface is fine.
For a bolted flange, what friction coefficient should I use? Does the exact value matter much?
It matters enormously for the slip load but less so for the contact stress distribution. The bolt pre-tension creates a clamping force; friction between the mating flanges resists relative sliding. The slip load — the external force at which the joint slides — scales roughly linearly with friction coefficient. Comparing \(\mu\) = 0.1 (well-lubricated, coated) vs. \(\mu\) = 0.3 (dry machined steel), you get approximately a 3× difference in slip resistance. In structural joints where sliding causes fatigue damage, getting this right is safety-critical. Always try to obtain \(\mu\) from the actual surface condition of your assembly — machined, painted, zinc-plated, anodized — rather than a generic textbook average.
What about hard contact vs. softened contact? I've been told to always use hard contact, but my simulations converge much better with softened contact. Am I compromising accuracy?
Not if you set the penalty stiffness correctly. Hard contact in the strict Lagrange multiplier sense adds unknowns to the system and creates a saddle-point linear algebra problem that is intrinsically harder to solve. Softened contact with a sufficiently high penalty gives contact pressures essentially identical to hard contact, with penetrations of only fractions of a micron — physically negligible. The rule of thumb is penalty stiffness = 10–50 times the element stiffness per unit area of the adjacent solid. Too low: significant penetration, wrong pressure. Too high: chattering returns. The augmented Lagrangian option in Abaqus is the formal "best of both worlds" approach — use it as your default for production work.
For forming simulations like stamping, what's the biggest mistake beginners make with contact?
Two big ones. First: using small sliding instead of large (finite) sliding. In a deep draw, the blank slides hundreds of millimetres relative to the die. If you use small sliding — which fixes contact normals at the initial configuration — the normals quickly become misaligned with the actual deformed surface and the contact force direction is completely wrong. There's no convergence warning; you just get incorrect thickness distributions. Second: meshing the tooling (punch and die) too coarsely because they're "rigid." But large die facets cause the blank to "bump" over element edges, creating artificial stress oscillations in the thickness output. The die mesh should be at least as fine as the blank mesh at the contact region.
When I set up general contact in Abaqus, it automatically finds all surfaces. Is that always a good idea, or is it better to define pairs manually?
General contact is a powerful convenience but comes with overhead. It checks every possible surface pair in your model for potential contact every increment. For a complex assembly with 30+ parts, this is invaluable — manually defining every pair is error-prone and time-consuming. For a simple two-body problem, an explicit contact pair definition is faster and gives you more control over penalty parameters. The key risk with general contact: it uses default penalty parameters that may be poorly suited to your specific material stiffness ratios. In a model mixing titanium structural parts with thin rubber seals, the auto-penalty tuned for titanium can be 1000× too stiff for the rubber, causing chattering. Always review the contact property assignments even when using general contact.
For an interference fit simulation, my model always diverges when I start with the shaft geometry slightly larger than the bore. What's going wrong?
Classic problem. When you start with initial geometric overlap, the contact algorithm sees surfaces already deeply interpenetrating — effectively an infinite contact force at time zero. Two fixes: First, use Abaqus's INTERFERENCE parameter in the contact interaction definition, which ramps the interference from zero to its full value gradually across the step, typically in 20–100 increments. Second, use ADJUST=OVERCLOSURE to move the slave surface to barely touching at the start and then impose the "press-in" displacement as a controlled load. Never try to slam in a 0.1 mm interference in a single increment — the solver will always cut the increment back to near-zero and eventually give up. The ramp approach gives the material time to redistribute stresses incrementally.
One last thing — what is "over-constraint" and how do I recognise it in my model?
Over-constraint is when the same degree of freedom is being controlled by two or more independent constraints simultaneously — it's the structural equivalent of trying to set a variable to two different values at once. It typically shows up as spurious reaction forces, warning messages like "over-constrained DOF detected," or wildly oscillating contact pressures that don't make physical sense. Common causes: using a *TIE constraint at the same location as a contact pair; three-body contact where a corner node touches two different surfaces; symmetry planes applied to contact slave nodes. The fix is always to identify which constraints conflict and remove the redundant one — usually the *TIE or the MPC, keeping the physically correct contact definition.
Related Topics
Geometric Nonlinearity Material Nonlinearity Fatigue Analysis Fracture Mechanics Linear Static Analysis Error Database Verification & ValidationAuthor: NovaSolver Contributors (Anonymous Engineers & AI) — Last updated: March 2026