Contact Constraint Enforcement Methods in Abaqus/Explicit
Abaqus/Explicit
uses two different methods to enforce contact constraints:
The kinematic contact algorithm uses a kinematic predictor/corrector
contact algorithm to strictly enforce contact constraints (for example, no
penetrations are allowed).
The penalty contact algorithm has a weaker enforcement of contact
constraints but allows for treatment of more general types of contact.
Contact pairs in
Abaqus/Explicit
use kinematic enforcement by default, but penalty enforcement can be specified
for individual contact pairs. General contact always uses penalty enforcement.
Both methods conserve momentum between the contacting bodies.
A summary of the default kinematic algorithm that Abaqus/Explicit uses to enforce contact with the contact pair algorithm is presented below. It is a
predictor/corrector algorithm and, therefore, has no influence on the stable time increment.
It is easier to describe the algorithm by first considering a pure main-secondary contact
pair.
Kinematic Enforcement of Contact Conditions in a Pure Main-Secondary Contact Pair
In this case in each increment of the analysis Abaqus/Explicit first advances the kinematic state of the model into a predicted configuration without
considering the contact conditions. Abaqus/Explicit then determines which secondary nodes in the predicted configuration penetrate the main
surfaces. The depth of each secondary node's penetration, the mass associated with it, and
the time increment are used to calculate the resisting force required to oppose
penetration. For hard contact, this is the force which, had it been applied during the
increment, would have caused the secondary node to exactly contact the main surface. The
next step depends on the type of main surface used.
When the main surface is formed by element faces, the resisting forces of all the secondary nodes
are distributed to the nodes on the main surface. The mass of each contacting
secondary node is also distributed to the main surface nodes and added to their mass
to determine the total inertial mass of the contacting interfaces. Abaqus/Explicit uses these distributed forces and masses to calculate an acceleration correction
for the main surface nodes. Acceleration corrections for the secondary nodes are then
determined using the predicted penetration for each node, the time increment, and the
acceleration corrections for the main surface nodes. Abaqus/Explicit uses these acceleration corrections to obtain a corrected configuration in which
the contact constraints are enforced.
In the case of an analytical rigid main surface, the resisting forces of all secondary nodes are
applied as generalized forces on the associated rigid body. The mass of each
contacting secondary node is added to the rigid body to determine the total inertial
mass of the contacting interfaces. The generalized forces and added masses are used to
calculate an acceleration correction for the analytical rigid main surface.
Acceleration corrections for the secondary nodes are then determined by the corrected
motion of the main surface.
When using hard kinematic contact, it is still possible with the pure main-secondary algorithm
for the main surface to penetrate the secondary surface in the corrected configuration
(see Figure 1).
Using a sufficiently refined mesh on the secondary surface will minimize such penetrations.
Softened kinematic contact will allow penetrations since corrections are made to satisfy
the pressure-overclosure relationship at the secondary nodes, not the condition of zero
penetration.
Kinematic Enforcement of Contact Conditions in a Balanced Main-Secondary Contact Pair
The kinematic contact algorithm for a balanced main-secondary contact pair applies acceleration
corrections that are linear combinations of pure main-secondary corrections calculated in
exactly the same manner as outlined above. One set of corrections is calculated
considering one surface as the main surface, and the other corrections are calculated
considering that same surface as the secondary surface. Abaqus/Explicit then applies a weighted average of the two values. The exact weighting for each
correction depends on the weighting factor specified for the contact pair (see Contact Surface Weighting). The default
for balanced main-secondary contact is to weight each correction equally.
Hard kinematic contact will minimize the penetration of the surfaces. However, after the initial
weighted correction is applied, it is possible to still have some penetration of the
surfaces. Therefore, Abaqus/Explicit uses a second contact correction to resolve any remaining overclosure in a balanced
main-secondary contact pair that uses hard kinematic contact. Both main-secondary
assignment combinations are again considered, but weighting factors are not used when
combining the contributions to form the second applied acceleration correction. It is
possible that small gaps between the contacting surfaces will be created during the second
correction if there was some residual penetration after the first correction: the
magnitude of the gaps after the second correction will generally be much smaller than the
penetration after the first correction. The effect of the second correction is illustrated
in Figure 2 to Figure 5.
The second contact correction described above is not conducted in the case when a softened
kinematic contact formulation is used. This may lead to penetration values that may not be
exactly synchronized with the pressure-overclosure curve. Moreover, the frictional shear
forces (if any) may not reflect the specified coefficient of friction exactly when
non-sticking sliding occurs. Use a pure main-secondary kinematic formulation to avoid
these inaccuracies.
Energy Considerations for Hard Kinematic Contact
The kinematic contact algorithm strictly enforces contact constraints and
conserves momentum. To achieve these qualities with a discretized model, some
energy is absorbed upon impact. For example, consider a linear elastic beam
modeled with several elements that impacts a rigid wall as shown in
Figure 6.
The kinetic energy of the leading node is absorbed by the contact algorithm
upon impact. A stress wave passes through the truss, and the truss eventually
rebounds from the wall. The kinetic energy after the rebound is smaller than
before the impact because of the contact node's energy loss upon impact. As the
mesh is refined, this energy loss is reduced because the mass and kinetic
energy of the leading node of the truss become less significant.
Contact forces can also exert negative external work upon impact since
contact forces act over the entire increment in which impact occurs, including
the fraction of the increment prior to impact. The opposing contact forces,
which are equal in magnitude, act over different distances, thereby exerting a
nonzero net work. The net external work of these forces is negative, and the
absolute value of the net external work does not exceed the contact node's
kinetic energy loss upon impact. These energies are insignificant in most
models but can be significant in high-speed impacts, where high mesh refinement
near the contact interface is recommended.
Penalty Contact Algorithm
The penalty contact algorithm results in less stringent enforcement of
contact constraints than the kinematic contact algorithm, but the penalty
algorithm allows for treatment of more general types of contact (for example,
contact between two rigid bodies). The penalty contact method is well suited
for very general contact modeling, including the following situations:
multiple contacts per node,
contact between rigid bodies, and
contact of surfaces also involved in other types of constraints (such as
MPCs).
Since the penalty algorithm introduces additional stiffness behavior into a
model, this stiffness can influence the stable time increment.
Abaqus/Explicit
automatically accounts for the effect of the penalty stiffnesses in the
automatic time incrementation, although this effect is usually small, as
discussed below.
The penalty enforcement method is always used by the general contact
algorithm. For contact pairs, you can specify the penalty method as an
alternative to the default kinematic enforcement method. When the penalty
method is chosen for enforcing contact constraints in the normal direction, it
is also used to enforce sticking friction (see
Frictional Behavior).
Penalty Enforcement of Contact Conditions for Pure Main-Secondary Surface Weighting
The penalty contact algorithm searches for secondary node penetrations in the current
configuration, including node-into-face, node-into-analytical rigid surface, and
edge-into-edge penetrations. For node-to-face contact, forces that are a function of the
penetration distance are applied to the secondary nodes to oppose the penetration, while
equal and opposite forces act on the main surface at the penetration point. The main
surface contact forces are distributed to the nodes of the main faces being penetrated.
For node-to-analytical rigid surface contact, forces that are a function of the
penetration distance are applied to the secondary nodes to oppose the penetration, while
equal and opposite forces act on the analytical rigid surface at the penetration point.
The contact forces acting at the penetration point of the analytical rigid surface result
in equivalent forces and moments at the reference node of the rigid body corresponding to
the analytical rigid surface. For edge-to-edge contact, the opposing contact forces are
distributed to the nodes of the two contacting edges.
As with the pure main-secondary kinematic contact algorithm, there is no resistance to main
surface nodes penetrating secondary surface faces with the pure main-secondary penalty
contact algorithm. Using a sufficiently refined mesh on the secondary surface will help
correct this problem.
Penalty Enforcement of Contact Conditions for Balanced Main-Secondary Surface Weighting
The penalty contact algorithm for balanced main-secondary contact surfaces computes contact
forces that are linear combinations of pure main-secondary forces calculated in the manner
outlined above. One set of forces is calculated considering one surface as the main
surface, and the other forces are calculated considering that same surface as the
secondary surface. Abaqus/Explicit then applies a weighted average of the two values. The weighting used with each set of
forces depends on the weighting factor specified for the surfaces (see Contact Formulation for General Contact in Abaqus/Explicit and Contact Formulations for Contact Pairs in Abaqus/Explicit). The default for balanced main-secondary
contact pairs and general contact is to weight each of the two sets of forces equally.
Constant or Nonlinear Penalty Stiffness
The penalty stiffness is typically a constant "spring" stiffness that relates the contact
pressure or force to the penetration distance. However, nonlinear contact
pressure-overclosure behavior occurs by default for contact involving low-density foam and
elastomeric foam materials. For these cases, the slope of the contact pressure-overclosure
curve increases after an underlying foam material stiffens significantly under
compression. The nonlinear contact pressure-overclosure curve evolves as penetration
increases and remains in effect as penetration decreases. Therefore, the net work done by
normal contact forces (aside from contact damping effects) is approximately zero after a
complete contact cycle from initial touching to contact opening, regardless of whether the
penalty stiffness is constant or nonlinear.
Scaling the Penalty Stiffness
The constant or nonlinear penalty stiffness curve is chosen automatically by Abaqus/Explicit for hard penalty contact, such that the effect on the time increment is minimal yet the
allowed penetration is not significant in most analyses. The default penalty stiffness is
based on a representative stiffness of the underlying elements. A scale factor is applied
to this representative stiffness to set the default penalty. Consequently, the penetration
distance will typically be greater than the parent elements' elastic deformation normal to
the contact interface. In purely elastic problems this penetration can affect the stress
solution significantly, as demonstrated in The Hertz contact problem.
When element or node-based rigid bodies are involved in contact
interactions, for numerical stability reasons
Abaqus/Explicit
will compute penalties at each contacting node on the rigid body by considering
the overall inertia properties of the body. Consequently, the contact penalties
will be different from the case when these elements were not converted to rigid
and, thus, the penetrations in the two cases may be different.
You can specify a factor by which to scale the default constant or nonlinear penalty stiffnesses,
as described in Contact Controls for General Contact in Abaqus/Explicit and Contact Controls for Contact Pairs in Abaqus/Explicit. This scaling may affect the automatic time
incrementation. Use of a large scale factor is likely to increase the computational time
required for an analysis because of the reduction in the time increment that is necessary
to maintain numerical stability.
Choosing between the Kinematic and Penalty Contact Algorithms
The penalty contact algorithm can model some types of contact that the kinematic contact
algorithm cannot. Element-based rigid surfaces are not restricted to acting only as main
surfaces within the penalty algorithm as they are within the kinematic algorithm. Thus, the
penalty method allows modeling of contact between rigid surfaces, except when both surfaces
are analytical rigid surfaces or when both surfaces are node-based.
The penalty contact algorithm must be used for all contact pairs involving a
rigid body if a linear constraint equation, multi-point constraint,
surface-based tie constraint, or connector element is defined for a node on the
rigid body. For all other cases,
Abaqus/Explicit
enforces equations, multi-point constraints, tie constraints, embedded element
constraints, and kinematic constraints (defined using connector elements)
independently of contact constraints; therefore, if a degree of freedom
participates in a linear constraint equation, multi-point constraint, tie
constraint, embedded element constraint, or kinematic constraint in addition to
a contact constraint, the contact constraint will usually override these
constraints (see the discussion in
Conflicts with Multi-Point Constraints).
Hence, the penalty contact algorithm is recommended if these constraints need
to be strictly enforced.
Impact is plastic when the default hard, kinematic contact algorithm is used
and the kinetic energy of the contacting nodes is lost. This loss in energy is
insignificant for a refined mesh but can be significant with a coarse mesh.
Penalty contact and softened kinematic contact introduce numerical softening to
the contact enforcement analogous to adding elastic springs to the contact
interface, which means that these algorithms do not dissipate energy upon
impact (the energy stored in the springs is recoverable). This distinction
between the algorithms is particularly apparent if a point mass with no force
acting upon it impacts a fixed rigid wall: with penalty contact and softened
kinematic contact the point mass will bounce away, but with hard kinematic
contact the point mass will stick to the wall.
A further difference between kinematic and penalty contact is that the
critical time increment is unaffected by kinematic contact but can be affected
by penalty contact. For hard penalty contact, default penalty stiffnesses are
chosen such that the stable time increments of the deformable parent elements
of contact surface facets are effectively reduced by approximately 4% for
increments in which contact forces are being transmitted; default penalty
stiffnesses of node-based surface nodes require a 1% decrease in the
element-by-element time increment to ensure numerical stability. Penalty
stiffnesses between rigid bodies are chosen by default to have no effect on the
stable time increment. If the default penalty stiffnesses are overridden by a
penalty scale factor or softened contact behavior (see
Contact Pressure-Overclosure Relationships),
the time increment is modified based on the maximum stiffness active in the
contact interface. Increasing the penalty stiffnesses may decrease the stable
time increment significantly (see
Table 1).
If the overall stable time increment is not controlled by elements on the
contact interface, the penalty contact algorithm usually will not affect the
time increment.
Penalty contact and softened kinematic contact cannot be used with the
breakable bond model; hard kinematic contact must be used for this model.
Table 1. Effect of scale factor on time increment.
Penalty scale factor
Lower bound to ratio of the time
increment with contact divided by the time increment without contact