You are on page 1of 37

Contact Logic and Diagnostics Tools

Lecture 4
L4.2

Overview

Newton Method
The Contact Algorithm
Contact Iterations
Contact Diagnostics (Visual)
Contact Diagnostics (Text)

Understanding the logic that Abaqus uses to solve contact problems is


helpful for:
Understanding output
Troubleshooting convergence problems
Tools are available in Abaqus/CAE to visualize contact output.
This greatly simplifies the troubleshooting process.

Modeling Contact with Abaqus/Standard


Newton Method
L4.4

Newton Method

The Newton method is an iterative method used to solve nonlinear


problems.
Given:
Desired load P
Ability to evaluate f(u) and K(u)
Find:
us, such that f(us) = P

Modeling Contact with Abaqus/Standard


L4.5

Newton Method

The Newton method, however, is not guaranteed to converge.


Example in which Newton iterations diverge:
Load Goal: find this point

P
Diverging!
Applied load
Displacement
Starting point
Load applied in 1 increment

Increase the likelihood of convergence by decreasing load increment.


Use multiple load increments to achieve desired total load.
Load Load

P
P1
Displacement Displacement

Half load in 1st increment Remaining load in 2nd incr.

Modeling Contact with Abaqus/Standard


L4.6

Newton Method

Abaqus automatically adjusts the load increment size.


Goal: Find converged solution robustly and efficiently with respect to the
number of iterations.
Basic idea: Track convergence rate in order to determine when to
increase or decrease load increment size.
User suggests increment size; Abaqus tries to optimize it.

Slow convergence Reduce


or divergence increment size

Convergence in few Increase


iterations increment size

Modeling Contact with Abaqus/Standard


L4.7

Newton Method

Contact causes kinks in the load vs. displacement curve.


There is a slope discontinuity upon change in contact status.
As a result, contact changes interrupt overall convergence rate tracking.

Undeformed shape
3. Compress tip
2. Contact
rigid surface
1. Bend beam

P
Deformed shape
(Mises stress contours)
Challenging for
Newton method!

Modeling Contact with Abaqus/Standard


L4.8

Newton Method

Severe discontinuity iterations (SDIs)


An SDI is an iteration during which contact constraints change state
(open/closed, stick/slip)
Idea is to filter out contact effects from convergence rate tracking
The logic to adjust the increment size treats SDIs separately
Status (.sta) file Separate counts for
for the previous SDIs and non-SDIs
example (beam
contact) 1st attempt did not
convergereduce Dt

2nd attempt at first


incr. converges

Increase Dt due to
fast convergence

DP = (Dt/T) Pfinal Converged incr. with


contact activated
Total step
time=1.0 Trend toward larger
Dt after contact is
established
Modeling Contact with Abaqus/Standard
The Contact Algorithm
L4.10

The Contact Algorithm

Hard contact pressure vs. overclosure:


Contact
pressure Compliant
Non-compliant
Hard contact

Gap distance Penetration


distance
Penetration for
open contacts
Tensile stress for
closed contacts

Default behavior: SDIs do not block convergence


Convert SDI: small penetrations/tensile stresses trigger contact status
changes (& SDIs) but do not necessarily block convergence
Without Convert SDI
Contact status changes (SDIs) block convergence

Modeling Contact with Abaqus/Standard


L4.11

The Contact Algorithm

Schematic of behavior within an increment (default behavior)

Begin
increment

Identify initially Form and Identify changes


1 active contact 2 solve system 3 in contact
constraints of equations constraint status
Newton
Yes iterations

Determine if Check if
End
5 tending toward 4 solution has
increment
No convergence No converged Yes

(Reduce increment (At least one (Within


size and try again) convergence criterion convergence
is not satisfied) tolerances)

Modeling Contact with Abaqus/Standard


L4.12

The Contact Algorithm

Default contact algorithm (refer to flowchart on previous page):


1 Determine the initial contact state at each point (closed or open).
For first increment of a step, based on initial model state; otherwise,
based on solution extrapolation (if any)

2 Calculate the stiffness, imposing contact constraints accordingly. Form


the system of equations and pass through the equation solver.

3 Are contact pressures and clearances consistent with the assumed


contact state?
Contact status changes (open/closed or stick/slip) often cause
significant changes to the system of equations
Iterations with contact status changes are flagged as severe
discontinuity iterations (SDIs)

Modeling Contact with Abaqus/Standard


L4.13

The Contact Algorithm

4 Has convergence been achieved?


By default, Abaqus quantifies the contact incompatibilities
associated with SDIs. These incompatibilities must be sufficiently
small to achieve convergence with respect to the contact state.
Also have to ensure that the force residuals and solution corrections
are sufficiently small to achieve equilibrium.
If the contact state and equilibrium conditions satisfy their respective
convergence criteria, the increment is complete.
5 If convergence is not achieved, is it likely to be achieved?
Abaqus evaluates trends, such as the number of contact status
changes in successive iterations, to determine whether or not to
continue iterating or cut back the increment size.
If convergence is likely, update the contact constraints based on 3
and the stiffness, and re-solve the system of equations; otherwise,
try again with a smaller increment size.

Modeling Contact with Abaqus/Standard


L4.14

The Contact Algorithm

The default limit on total SDIs per


increment is 50.
In principle not necessary to
limit the number of severe
discontinuity iterations.
Sophisticated criteria determine
whether iteration should be
continued or terminated.
The default limit for the
maximum number of severe
discontinuity iterations is 50,
which in practice should always
be more than the actual number
of iterations in an increment.

Modeling Contact with Abaqus/Standard


Contact Iterations
L4.16

Contact Iterations

Contact iterations can be used instead of regular severe discontinuity


iterations to speed up computations.
Regular severe discontinuity iterations involve costly assembly and
factorization of the global stiffness matrix.
With contact iterations, the displacement correction is obtained by
changing only the global right-hand side of the matrix equation.
When the number of contact elements changing status from
open to closed and vice versa is small, this approach is more
effective.
Abaqus determines automatically whether contact iterations are
more efficient than regular SDIs.
Contact iterations can be especially effective for the solution of large
linear elastic frictionless contact problems that require many severe
discontinuity iterations.

Modeling Contact with Abaqus/Standard


L4.17

Contact Iterations

Schematic of behavior within an increment with contact iterations

Begin
increment 3a

Identify initially Form and Identify changes


1 active contact 2 solve system 3 in contact
constraints of equations constraint status
Newton
Yes iterations

Determine if Check if
End
5 tending toward 4 solution has
increment
No convergence No converged Yes

(Reduce increment (At least one (Within


size and try again) convergence criterion convergence
is not satisfied) tolerances)

Modeling Contact with Abaqus/Standard


L4.18

Contact Iterations

Contact algorithm with contact iterations:


3a Are contact pressures and clearances consistent with the assumed
contact state?
When the number of contact elements changing status from open to
closed and vice versa is small, "contact iterations" are an effective
alternative to regular SDIs
Perform "nested" iterations without re-assembling and re-factoring
the global stiffness matrix
Stiffness changes due only to contact state changes; effect
introduced through RHS of the matrix equation
Continue until no changes in contact state or number of contact
iterations is exhausted

Modeling Contact with Abaqus/Standard


L4.19

Contact Iterations

Range of effectiveness
Most effective
Linear elastic geometrically linear small-sliding
contact problems.

Materially nonlinear geometrically linear small-


sliding contact problems.

Linear elastic geometrically nonlinear finite-sliding


contact problems.

Materially nonlinear geometrically nonlinear finite-


sliding contact problems.
Less effective

Modeling Contact with Abaqus/Standard


L4.20

Contact Iterations

Usage:
*SOLUTION TECHNIQUE,
TYPE=CONTACT ITERATIONS
correction_factor, n_max
where
correction_factor = factor on
the upper limit of the number of
contact status changes to solve,
for the contact iteration to be
effective; and

n_max = maximum number of


contact iterations per trial

Modeling Contact with Abaqus/Standard


L4.21

Contact Iterations

Example: engine bulkhead with


1.4 M dofs
Many bodies, connected by
contact pairs and *TIE
Contact iteration improves the
solution time
Linear elastic
(NLGEOM=NO)
Frictionless, small-sliding Without With
contact contact contact
iterations iterations
Time to factorize is
greater than to obtain the Wallclock time (min.) 177 97
right-hand side solutions
# SDIs 10 2

# Contact iterations 8

Modeling Contact with Abaqus/Standard


L4.22

Contact Iterations

Example: engine block with 2.6 M dofs


Only nonlinearities are elastic-plastic
gasket and small-sliding contact
Contact to be resolved in many areas
(gasket, bolts, rings, etc.)
Also run with linear gasket behavior
NLGEOM=NO

Elastic-
Gasket behavior Linear
plastic
# Contact
4 7
iterations
Plastic strain
# Equilibrium
5 1 in gasket
iterations
Wallclock time speedup
1.47 5.20
factor with contact iterations

Modeling Contact with Abaqus/Standard


L4.23

Contact Iterations

Limitations:
can be used only with the static solution procedure;
require the use of the direct sparse solver;
cannot be used with coupled analyses with the separated solution
technique;
cannot be used with sparse format matrix input and assemblage; and
the following features cannot use contact iterations:
contact with friction
points that are permitted to violate contact conditions
points that are released from contact by overconstraint checks
debond contact

Modeling Contact with Abaqus/Standard


Contact Diagnostics (Visual)
L4.25

Contact Diagnostics (Visual)

Contact diagnostics example using Abaqus/CAE


Reference: Example Problem 1.3.4, Deep drawing of a cylindrical cup

Modeling Contact with Abaqus/Standard


L4.26

Contact Diagnostics (Visual)

Visual diagnostics are available in the Visualization module of


Abaqus/CAE.

Step 3, Increment 6: 5 iterations (3


involve SDIs)

Modeling Contact with Abaqus/Standard


L4.27

Contact Diagnostics (Visual)

Constrained nodes want


to open: incompatible
contact state

Toggle on to see the locations


in the model where the contact
state is changing.

Modeling Contact with Abaqus/Standard


L4.28

Contact Diagnostics (Visual)

Slave nodes that slip; stick/slip


messages cause SDIs only if
Lagrange friction is used or if
slip reversal occurs.

Modeling Contact with Abaqus/Standard


L4.29

Contact Diagnostics (Visual)

Contact incompatibilities are


quantified: max force
error for constrained nodes

The contact force error is


larger than the time-average
force (=3137; will see this
shortly) contact
incompatibility too large

Modeling Contact with Abaqus/Standard


L4.30

Contact Diagnostics (Visual)

Contact incompatibilities are


quantified: max penetration
error for unconstrained nodes

The maximum penetration error is


much smaller than the
displacement correction (=1.68e-5)

Modeling Contact with Abaqus/Standard


L4.31

Contact Diagnostics (Visual)

Not only is the contact incompatibility


too large, but force equilibrium has not
been achieved either.

The force residual is larger


than the time-average force,
as is the estimated contact
force error (seen previously)

Modeling Contact with Abaqus/Standard


L4.32

Contact Diagnostics (Visual)


4 additional iterations are required, two of which
are SDIs (involve contact incompatibilities).
In the final iteration, both the contact and
equilibrium checks pass and the increment
converges.

Modeling Contact with Abaqus/Standard


Contact Diagnostics (Text)
L4.34

Contact Diagnostics (Text)

Contact diagnostics example using the message ( .msg) file


Reference: Example Problem 1.3.4, Deep drawing of a cylindrical cup
Status (.sta) file:
SUMMARY OF JOB INFORMATION:
MONITOR NODE: 200 DOF: 2
STEP INC ATT SEVERE EQUIL TOTAL TOTAL STEP INC OF DOF IF
DISCON ITERS ITERS TIME/ TIME/LPF TIME/LPF MONITOR RIKS
ITERS FREQ
1 1 1 1 1 2 1.00 1.00 1.000 0.000
2 1 1 0 1 1 2.00 1.00 1.000 0.000
3 1 1 10 0 10 2.01 0.0100 0.01000 -0.000600
3 2 1 7 1 8 2.02 0.0200 0.01000 -0.00120
3 3 1U 9 0 9 2.02 0.0200 0.01500 -0.00120
3 3 2 5 0 5 2.02 0.0238 0.003750 -0.00142
3 4 1 3 1 4 2.03 0.0294 0.005625 -0.00176
3 5 1 2 3 5 2.04 0.0378 0.008438 -0.00227
3 6 1 3 2 5 2.05 0.0505 0.01266 -0.00303
3 7 1 4 1 5 2.07 0.0695 0.01898 -0.00417
3 8 1 6 1 7 2.10 0.0979 0.02848 -0.00588
3 9 1 3 4 7 2.14 0.141 0.04271 -0.00844
3 10 1U 4 0 4 2.14 0.141 0.06407 -0.00844
3 10 2 7 1 8 2.16 0.157 0.01602 -0.00940
3 11 1 3 2 5 2.18 0.181 0.02403 -0.0108
.
.
.

Modeling Contact with Abaqus/Standard


L4.35

Contact Diagnostics (Text)

Message file, Step 3, Increment 6:

INCREMENT 6 STARTS. ATTEMPT NUMBER 1, TIME INCREMENT 1.266E-02


CONTACT PAIR (ASURF,BSURF) NODE 167 IS NOW SLIPPING. Slave nodes that slip; stick/slip
CONTACT PAIR (ASURF,BSURF) NODE 171 IS NOW SLIPPING. messages cause SDIs only if
: Lagrange friction is used or if
slip reversal occurs.
: *PRINT, CONTACT=YES causes this detailed printout.
: (Useful for troubleshooting)
:
CONTACT PAIR (ASURF,BSURF) NODE 153 OPENS. CONTACT PRESSURE/FORCE IS -830689..
CONTACT PAIR (ASURF,BSURF) NODE 161 OPENS. CONTACT PRESSURE/FORCE IS -1.43706E+006. Incompatibilities
detected in the
CONTACT PAIR (ASURF,BSURF) NODE 165 OPENS. CONTACT PRESSURE/FORCE IS -1.03301E+006.
assumed contact
CONTACT PAIR (CSURF,DSURF) NODE 363 OPENS. CONTACT PRESSURE/FORCE IS -3.43767E+006.
state SDI
CONTACT PAIR (ESURF,FSURF) NODE 309 IS NOW SLIPPING.
5 SEVERE DISCONTINUITIES OCCURRED DURING THIS ITERATION.
4 POINTS CHANGED FROM CLOSED TO OPEN

Due to slip reversal 1 POINTS CHANGED FROM STICKING TO SLIPPING

Modeling Contact with Abaqus/Standard


L4.36

Contact Diagnostics (Text)

Message file, Step 3, Increment 6 (cont'd):

CONVERGENCE CHECKS FOR SEVERE DISCONTINUITY ITERATION 1

MAX. PENETRATION ERROR -8.1463E-009 AT NODE 331 OF CONTACT PAIR (ESURF,FSURF)


Convergence checks
MAX. CONTACT FORCE ERROR -4184.86 AT NODE 363 OF CONTACT PAIR (CSURF,DSURF)
for contact state
THE ESTIMATED CONTACT FORCE ERROR IS LARGER THAN THE TIME-AVERAGED FORCE.

AVERAGE FORCE 5.350E+03 TIME AVG. FORCE 3.137E+03


LARGEST RESIDUAL FORCE -1.200E+04 AT NODE 333 DOF 2
Convergence checks
for equilibrium
LARGEST INCREMENT OF DISP. -7.783E-04 AT NODE 329 DOF 2
LARGEST CORRECTION TO DISP. -1.684E-05 AT NODE 337 DOF 2
FORCE EQUILIBRIUM NOT ACHIEVED WITHIN TOLERANCE. Not only is the contact incompatibility
too large, but force equilibrium has
not been achieved either
AVERAGE MOMENT 110. TIME AVG. MOMENT 89.0
ALL MOMENT RESIDUALS ARE ZERO
LARGEST INCREMENT OF ROTATION 1.847E-33 AT NODE 100 DOF 6
LARGEST CORRECTION TO ROTATION 6.454E-34 AT NODE 300 DOF 6
THE MOMENT EQUILIBRIUM EQUATIONS HAVE CONVERGED

Modeling Contact with Abaqus/Standard


L4.37

Contact Diagnostics (Text)

Four additional iterations are required; the first two are SDIs (involve
contact incompatibilities).
In the final iteration both the contact and equilibrium checks pass and
the increment converges.
CONVERGENCE CHECKS FOR SEVERE DISCONTINUITY ITERATION 2 ...
CONVERGENCE CHECKS FOR SEVERE DISCONTINUITY ITERATION 3 ...
CONVERGENCE CHECKS FOR EQUILIBRIUM ITERATION 1 No SDIs in these
CONVERGENCE CHECKS FOR EQUILIBRIUM ITERATION 2 iterations

MAX. PENETRATION ERROR -1.24301E-015 AT NODE 331 OF CONTACT PAIR (ESURF,FSURF)


MAX. CONTACT FORCE ERROR -9.94745E-005 AT NODE 331 OF CONTACT PAIR (ESURF,FSURF)
THE CONTACT CONSTRAINTS HAVE CONVERGED.

AVERAGE FORCE 5.244E+03 TIME AVG. FORCE 3.120E+03


LARGEST RESIDUAL FORCE -1.98 AT NODE 135 DOF 1
LARGEST INCREMENT OF DISP. -7.809E-04 AT NODE 129 DOF 2
LARGEST CORRECTION TO DISP. 1.063E-08 AT NODE 135 DOF 2
THE FORCE EQUILIBRIUM EQUATIONS HAVE CONVERGED

AVERAGE MOMENT 109. TIME AVG. MOMENT 88.8


ALL MOMENT RESIDUALS ARE ZERO
LARGEST INCREMENT OF ROTATION 1.925E-33 AT NODE 100 DOF 6
LARGEST CORRECTION TO ROTATION -6.933E-38 AT NODE 100 DOF 6
THE MOMENT EQUILIBRIUM EQUATIONS HAVE CONVERGED

Modeling Contact with Abaqus/Standard

You might also like