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
or divergence

Reduce
increment size

Convergence in few
iterations

Increase
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
Separate counts for
SDIs and non-SDIs

Status (.sta) file


for the previous
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

Hard contact

Compliant
Non-compliant
Penetration
distance

Gap 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
active contact
constraints

Newton
iterations

Yes

No

(Reduce increment
size and try again)

Identify changes
3
in contact
constraint status

Form and
solve system
of equations

Determine if
tending toward
convergence

No

Check if
solution has
converged

(At least one


convergence criterion
is not satisfied)

Modeling Contact with Abaqus/Standard

End
increment
Yes
(Within
convergence
tolerances)

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)

Calculate the stiffness, imposing contact constraints accordingly. Form


the system of equations and pass through the equation solver.

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
active contact
constraints

Newton
iterations

Yes

No

(Reduce increment
size and try again)

Identify changes
3
in contact
constraint status

Form and
solve system
of equations

Determine if
tending toward
convergence

No

Check if
solution has
converged

(At least one


convergence criterion
is not satisfied)

Modeling Contact with Abaqus/Standard

End
increment
Yes
(Within
convergence
tolerances)

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 smallsliding contact problems.


Linear elastic geometrically nonlinear finite-sliding
contact problems.

Materially nonlinear geometrically nonlinear finitesliding contact problems.

Modeling Contact with Abaqus/Standard

Less effective

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
contact
Time to factorize is
greater than to obtain the
right-hand side solutions

Without
contact
iterations

With
contact
iterations

Wallclock time (min.)

177

97

# SDIs

10

# Contact iterations

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
Gasket behavior

# Contact
iterations
# Equilibrium
iterations
Wallclock time speedup
factor with contact iterations

Elasticplastic

Linear

1.47

5.20

Modeling Contact with Abaqus/Standard

Plastic strain
in gasket

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
DISCON ITERS ITERS
ITERS
1
1
1
1
1
2
2
1
1
0
1
1
3
1
1
10
0
10
3
2
1
7
1
8
3
3
1U
9
0
9
3
3
2
5
0
5
3
4
1
3
1
4
3
5
1
2
3
5
3
6
1
3
2
5
3
7
1
4
1
5
3
8
1
6
1
7
3
9
1
3
4
7
3
10
1U
4
0
4
3
10
2
7
1
8
3
11
1
3
2
5
.
.
.

TOTAL
TIME/
FREQ
1.00
2.00
2.01
2.02
2.02
2.02
2.03
2.04
2.05
2.07
2.10
2.14
2.14
2.16
2.18

STEP
TIME/LPF

INC OF
TIME/LPF

1.00
1.00
0.0100
0.0200
0.0200
0.0238
0.0294
0.0378
0.0505
0.0695
0.0979
0.141
0.141
0.157
0.181

1.000
1.000
0.01000
0.01000
0.01500
0.003750
0.005625
0.008438
0.01266
0.01898
0.02848
0.04271
0.06407
0.01602
0.02403

Modeling Contact with Abaqus/Standard

DOF
IF
MONITOR RIKS
0.000
0.000
-0.000600
-0.00120
-0.00120
-0.00142
-0.00176
-0.00227
-0.00303
-0.00417
-0.00588
-0.00844
-0.00844
-0.00940
-0.0108

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.


CONTACT PAIR (ASURF,BSURF) NODE 171 IS NOW SLIPPING.
:
:

*PRINT, CONTACT=YES causes this detailed printout.

(Useful for troubleshooting)

Slave nodes that slip; stick/slip


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

:
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.
CONTACT PAIR (ASURF,BSURF) NODE 165 OPENS. CONTACT PRESSURE/FORCE IS -1.03301E+006.
CONTACT PAIR (CSURF,DSURF) NODE 363 OPENS. CONTACT PRESSURE/FORCE IS -3.43767E+006.
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

Incompatibilities
detected in the
assumed contact
state SDI

L4.36

Contact Diagnostics (Text)


Message file, Step 3, Increment 6 (cont'd):
CONVERGENCE CHECKS FOR SEVERE DISCONTINUITY ITERATION

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

Convergence checks
for contact state

MAX. CONTACT FORCE ERROR -4184.86 AT NODE 363 OF CONTACT PAIR (CSURF,DSURF)
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

LARGEST INCREMENT OF DISP.

-7.783E-04

AT NODE

329

DOF

LARGEST CORRECTION TO DISP.

-1.684E-05

AT NODE

337

DOF

FORCE

EQUILIBRIUM NOT ACHIEVED WITHIN TOLERANCE.

AVERAGE MOMENT

ALL MOMENT

110.

TIME AVG. MOMENT

Not only is the contact incompatibility


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

RESIDUALS ARE ZERO

LARGEST INCREMENT OF ROTATION

1.847E-33

AT NODE

100

DOF

LARGEST CORRECTION TO ROTATION

6.454E-34

AT NODE

300

DOF

THE MOMENT

Convergence checks
for equilibrium

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
CONVERGENCE
CONVERGENCE
CONVERGENCE

CHECKS
CHECKS
CHECKS
CHECKS

FOR
FOR
FOR
FOR

SEVERE DISCONTINUITY ITERATION


SEVERE DISCONTINUITY ITERATION
EQUILIBRIUM ITERATION
1
EQUILIBRIUM ITERATION
2

2 ...
3 ...

No SDIs in these
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
LARGEST
LARGEST
LARGEST

FORCE
5.244E+03
TIME AVG. FORCE
RESIDUAL FORCE
-1.98
AT NODE
135
INCREMENT OF DISP.
-7.809E-04
AT NODE
129
CORRECTION TO DISP.
1.063E-08
AT NODE
135
THE FORCE
EQUILIBRIUM EQUATIONS HAVE CONVERGED

AVERAGE MOMENT
109.
TIME AVG. MOMENT
ALL MOMENT
RESIDUALS ARE ZERO
LARGEST INCREMENT OF ROTATION
1.925E-33
AT NODE
100
LARGEST CORRECTION TO ROTATION
-6.933E-38
AT NODE
100
THE MOMENT
EQUILIBRIUM EQUATIONS HAVE CONVERGED

3.120E+03
DOF 1
DOF 2
DOF 2

88.8
DOF
DOF

Modeling Contact with Abaqus/Standard

6
6

You might also like