Abaqus/Explicit
provides two algorithms for modeling contact and interaction problems: the
general contact algorithm and the contact pair algorithm. See
About contact interactions
for a comparison of the two algorithms. This section describes how to include
general contact in an
Abaqus/Explicit
analysis, how to specify the regions of the model that may be involved in
general contact interactions, and how to obtain output from a general contact
analysis.
The general contact algorithm in
Abaqus/Explicit:
is specified as part of the model or history definition of the model;
allows very simple definitions of contact with very few restrictions
on the types of surfaces involved;
uses sophisticated tracking algorithms to ensure that proper contact
conditions are enforced efficiently;
can be used simultaneously with the contact pair algorithm (i.e., some
interactions can be modeled with the general contact algorithm, while others
are modeled with the contact pair algorithm);
can be used with two-dimensional, axisymmetric, and three-dimensional
surfaces;
can be used only in mechanical finite-sliding contact analyses; and
does not support kinematic constraint enforcement (contact constraints
are enforced with the penalty method).
A convenient method of specifying the contact domain is using cropped
surfaces. Such surfaces can be used to perform “contact in a box” by using a
contact domain that is enclosed in a specified rectangular box in the original
configuration. For more information, see
Operating on surfaces.
In addition,
Abaqus/Explicit
automatically defines an all-inclusive surface that is convenient for
prescribing the contact domain, as discussed later in this section. The
all-inclusive automatically defined surface includes all element-based surface
facets as well as all analytical rigid surfaces and surfaces on all Eulerian
materials.
The general contact algorithm generates contact forces to resist
node-into-face, node-into-analytical rigid surface, and edge-into-edge contact
penetrations. The primary mechanism for enforcing contact is node-to-face
contact (the only mechanism used in the contact pair algorithm). If analytical
rigid surfaces are present in the contact domain, the general contact algorithm
also enforces node-to-analytical rigid surface contact.
General contact can be used for a two-dimensional (plane strain, plane
stress, or axisymmetric) model, in which case node-into-face and
node-into-analytical rigid surface contact is considered.
Considerations for edge-to-edge contact
The general contact algorithm also considers edge-to-edge contact, which is
very effective in enforcing contact that cannot be detected as penetrations of
nodes into faces. For example, contact between beam segments and shell
perimeter edges (see
Figure 1)
usually is detected only as edge-to-edge contact.
The terminology “contact edges” refers to feature edges of surface facets
(on both shells and solids) as well as to segments representing beam and truss
elements. The contact edges representing beam and truss elements have a
circular cross-section, regardless of the actual cross-section of the beam or
truss element. The radius of a contact edge representing a truss element is
derived from the cross-sectional area specified on the truss section definition
(it is equal to the radius of a solid circular section with an equivalent
cross-sectional area). For beams with circular cross-sections, the radius of
the contact edge is equivalent to the section radius. For beams with
non-circular cross-sections, the radius of the contact edge is equal to the
radius of a circumscribed circle around the section. If connected edges have
different radii, a nodal radius is first computed as the minimum radius of the
adjacent contact edges, and the radius of the edge cross-section is
interpolated linearly over the length of the contact edge from the nodal
values. Shell element edges reflect the shell thickness in the normal direction
and do not extend past the perimeter (similar to shell nodes and facets). Some
numerical rounding of features occurs for both node-to-facet and edge-to-edge
contact.
To model contact between edges that are not cylindrical in shape, surface
elements can be attached to the edge nodes using surface-based tie constraints
and node-to-face contact can be defined between the surface elements (see
Surface elements).
This technique is useful for modeling geometric details important to the
contact definition that are not modeled with the underlying element geometry.
Surface elements can also be defined around shell elements in which
Abaqus
has reduced the contact thickness (i.e., if the thickness exceeds the surface
facet edge lengths or diagonal lengths) so that the true surface thickness can
be modeled. However, using surface elements with general contact requires a
physically reasonable mass to be associated with the surface element nodes, and
care must be taken not to alter the bulk mass properties when transferring mass
to the surface elements from the underlying elements.
By default, when a surface is used in a general contact interaction, all
applicable facets, analytical rigid surfaces, nodes, perimeter edges, and beam
and truss segments are included in the contact definition. You can control
which feature edges are considered for edge-to-edge contact, as discussed in
Assigning surface properties for general contact in Abaqus/Explicit.
Geometric feature edges and perimeter edges do not have to be included
explicitly in a surface definition (by using edge identifiers) for them to be
considered for edge-to-edge contact.
Eulerian-Lagrangian contact
The general contact algorithm also enforces contact between Eulerian
materials and Lagrangian surfaces. This algorithm automatically compensates for
mesh size discrepancies to prevent penetration of Eulerian material through the
Lagrangian surface. The all-inclusive surface that is defined by
Abaqus/Explicit
can be used to enforce contact between all Eulerian materials and all
Lagrangian bodies in a model; you can also specify individual Eulerian surfaces
in the contact domain (see
Eulerian surface definition).
Eulerian-Lagrangian contact is enforced only for Lagrangian surfaces defined on
solid and shell elements. Other surface types, such as beam edges and
analytical rigid surfaces, are ignored. Contact interactions between Eulerian
materials and interactions due to Eulerian material self-contact are handled
naturally by the Eulerian formulation; these interactions do not require a
general contact definition. See
Interactions
for more information.
Contact involving DEM or
SPH particles
The general contact algorithm enforces the following types of contact
involving DEM or
SPH particles:
contact between DEM or
SPH particles and other Lagrangian surfaces;
and
If a general contact definition does not appear in a step, any general
contact definition active in the previous step will be propagated to the
current step.
For convenience, general contact can be defined as model data. A general
contact definition specified as model data is considered to be defined in the
initial step, or “Step 0,” of the analysis; it can be modified or removed in
Step 1 or later steps.
Removing general contact definitions
You can remove the previously specified general contact definition and specify a new one. Contact
state information (such as the proper contact normal orientation for double-sided
surfaces) is transferred across step boundaries for interactions that are part of both the
old and the new contact definitions. Only *CONTACT, OP=NEW can be used to re-introduce
interactions that were part of prior contact exclusions.
Modifying general contact definitions
Alternatively, you can make changes to an existing general contact definition. In this case the
existing general contact definition remains active and any additional information
specified is appended to the general contact definition. Prior contact exclusions cannot
be converted into contact inclusions with this method.
Contact state information (such as the proper contact normal orientation for
double-sided surfaces) is transferred across step boundaries even if the
contact domain is modified.
Example
Each part of a general contact definition is considered independently when
it is modified. For example, the following contact definition is specified in
Step 1 (the individual options are discussed later in this section):
You specify the regions of the model that can potentially come into contact
with each other by defining general contact inclusions and exclusions. Only one
contact inclusions definition and one contact exclusions definition are allowed
per step.
All contact inclusions in an analysis are applied first, then all contact
exclusions are applied, regardless of the order in which they are specified.
The contact exclusions take precedence over the contact inclusions. The general
contact algorithm will consider only those interactions specified by the
contact inclusions definition and not specified by the contact exclusions
definition.
General contact interactions typically are defined by specifying
self-contact for the default automatically generated surface provided by
Abaqus/Explicit.
All surfaces used in the general contact algorithm can span multiple unattached
bodies, so self-contact in this algorithm is not limited to contact of a single
body with itself. For example, self-contact of a surface that spans two bodies
implies contact between the bodies as well as contact of each body with itself.
Specifying contact inclusions
Define contact inclusions to specify the regions of the model that should be
considered for contact purposes.
Specifying “automatic” contact for the entire model
You can specify self-contact for a default unnamed, all-inclusive surface
defined automatically by
Abaqus/Explicit.
This default surface contains, with the exceptions noted below, all exterior
element faces, all analytical rigid surfaces and all edges based on beam and
truss elements in the model, as well as the nodes attached to these faces and
edges; in addition, feature edges are included according to the user-specified
criteria (see
Assigning surface properties for general contact in Abaqus/Explicit).
This is the simplest way to define the contact domain. With this approach
contact is modeled for all node-to-facet, node-to-analytical rigid surface, and
edge-to-edge interactions of the nodes, facets, analytical rigid surfaces, and
contact edges of the default surface. This default surface does not include the
following:
Nodes that cannot be part of an element-based surface; for example,
nodes attached only to point masses or connectors.
Faces, edges, and nodes that belong only to cohesive elements. In
fact, this default surface is generated as if cohesive elements were not
present. See
Modeling with cohesive elements
for further discussion of contact modeling issues related to cohesive elements.
Specifying individual contact interactions
Alternatively, you can define the general contact domain directly by
specifying the individual contact surface pairings. Self-contact will be
modeled only if the two surfaces specified in a pair overlap (or are identical)
and will be modeled only in the overlapping region.
Multiple surface pairings can be included in the contact domain. At least
one surface in each pair must be either an element-based surface or an
analytical rigid surface.
Examples
The following input specifies that contact should be enforced between the
default all-inclusive, automatically generated surface and
surface_2, including self-contact in any overlap
regions:
The following input can be used to introduce a node-based surface
containing point masses to the contact domain as well as specify self-contact
for the default all-inclusive, automatically generated surface:
You can refine the contact domain definition by specifying the regions of
the model to exclude from contact.
The primary motivation for specifying contact exclusions is to avoid
physically unreasonable contact interactions. For example, a finite element
model may contain multiple forming tools, but not all of the tools participate
in the forming process simultaneously; you can specify contact exclusions to
prevent certain tools from participating in the contact model in certain steps.
You do not need to be concerned with specifying contact exclusions for parts
of the model that are not likely to interact, since these exclusions typically
will have minimal effect on computational performance.
Contact will be ignored for all the surface pairings specified, even if
these interactions are specified directly or indirectly in the contact
inclusions definition.
Multiple surface pairings can be excluded from the contact domain. At least
one surface in each pair must be either an element-based surface or an
analytical rigid surface. Keep in mind that surfaces can be defined to span
multiple unattached bodies, so self-contact exclusions are not limited to
exclusions of single-body contact.
You cannot exclude only one side of shell-like surfaces. If a side label
(SPOS or
SNEG) is used in defining an element-based
shell-like surface and that surface is excluded from contact,
Abaqus/Explicit
will exclude all faces associated with these elements.
Automatically generated contact exclusions
Abaqus/Explicit
automatically generates contact exclusions for general contact in some
situations.
Contact exclusions are generated automatically for interactions that
are defined with the contact pair algorithm or surface-based tie constraints to
avoid redundant (and possibly inconsistent) enforcement of these interaction
constraints. For example, if a contact pair is defined for
surface_1 and
surface_2 and “automatic” general contact is
defined for the entire model,
Abaqus/Explicit
would generate a contact exclusion for general contact between
surface_1 and
surface_2, so that interactions between these
surfaces would be modeled only with the contact pair algorithm. These
automatically generated contact exclusions are in effect only during the steps
in which the contact pair algorithm or surface-based tie constraint
interactions are active.
Abaqus/Explicit
automatically generates contact exclusions for self-contact of each rigid body
in the model, because it is not possible for a rigid body to contact itself.
When you specify pure main-secondary contact surface weighting for a particular general contact
surface pair, contact exclusions are generated automatically for the main-secondary
orientation opposite to that specified (see Contact formulation for general contact in Abaqus/Explicit for more information on this type of
contact exclusion).
The general contact algorithm, unlike the contact pair algorithm,
activates and deactivates contact faces and contact edges in the contact domain
based on the failure status of the underlying elements. See
Modeling surface erosion
below for details.
Examples
The following input specifies that the contact domain is based on
self-contact of an all-inclusive, automatically generated surface but that
contact (including self-contact in any overlap regions) should be ignored
between the all-inclusive, automatically generated surface and
surface_2:
General contact allows the use of element-based surfaces to model surface erosion for analyses
that include material failure. If an appropriate “interior” or “eroding” surface is
defined (as discussed in Generating an interior surface automatically), the surface topology evolves to match the exterior of the elements that have not
failed. Because of reduced memory usage, eroding surfaces are preferred over interior
surfaces. Alternatively, if only one of the bodies can erode, a node-based surface can be
used to model surface erosion; this approach can be used with either the general contact
or contact pair algorithms. However, even if only one body can erode, it is recommended to
define an element-based surface for the eroding body to avoid the usual limitations of
node-based surfaces (see Node-based surface definition).
The general contact algorithm modifies the list of contact faces and contact
edges that are active in the contact domain based on the failure status of the
underlying elements (element failure is discussed in
Dynamic failure models).
General contact considers a face only if its underlying element has not failed
and it is not coincident with a face from an adjacent element that has not
failed; thus, exterior faces are initially active, and interior faces are
initially inactive. Once an element fails, its faces are removed from the
contact domain, and any interior faces that have been exposed are activated. A
contact edge is removed when all the elements that contain the edge have
failed. New contact edges are not created as elements erode. Based on this
algorithm, the active contact domain evolves during the analysis as elements
fail (see
Figure 2
for an example of an eroding solid).
You can control whether contact nodes remain in the contact domain after all
the surrounding elements have failed. By default, these nodes remain in the
contact domain and act as free-floating point masses that can experience
contact with faces that are still part of the contact domain. You can specify
that nodes of element-based surfaces should erode (i.e., be removed from the
contact domain) once all contact faces and contact edges to which they are
attached have eroded. Further discussion of this technique, including reasons
for and against nodal erosion, can be found in
Contact controls for general contact in Abaqus/Explicit.
Erosion of surfaces specified on solid elements
For a solid element mesh consisting of elements that may fail, every currently exposed face can
potentially be involved in contact. Defining eroding contact surfaces and including them
in the general contact domain includes the following steps:
Define an element set named ELERODE that contains all
of the solid elements in the model that refer to a material failure model.
Create an eroding surface named SURFERODE for this
element set, as described in Creating surfaces on solid, continuum shell, and cohesive elements. The general contact algorithm activates and deactivates faces as necessary as
elements fail and the free surface evolves.
Explicitly include this surface in the contact domain. Defining “automatic” general
contact for the entire model is not sufficient because the contact domain created when
this method is used does not include any interior faces. Therefore, you must define
the pairwise interactions with the erodable surface explicitly in the contact
inclusions definition, as outlined in Table 1 and Table 2.
Table 1. Contact inclusions definitions.
Contact inclusions
Input file syntax
Self-contact for the default all-inclusive surface specifies
contact between every exterior face in the model
,
Contact between the default all-inclusive surface and
SURFERODE specifies contact between every
exterior face and SURFERODE
, SURFERODE
Self-contact for SURFERODE
specifies self-contact between the eroding bodies
SURFERODE,
Table 2. Contact inclusions definitions in
Abaqus/CAE.
Contact inclusions
Abaqus/CAE
syntax
Self-contact for the default all-inclusive surface specifies
contact between every exterior face in the model
First Surface: (All*); Second Surface: (Self)
Contact between the default all-inclusive surface and
SURFERODE specifies contact between every
exterior face and SURFERODE
First Surface: (All*); Second Surface: SURFERODE
Self-contact for SURFERODE
specifies self-contact between the eroding bodies
First Surface: SURFERODE; Second Surface: (Self)
Alternatively, you could create a more concise definition of the same
contact domain by first defining a surface named
SURFALL that includes all exterior faces in the
entire model and all interior faces of element set
ELERODE. In this case, since all faces (exterior
and interior) in the contact domain are defined in one surface, there is no
need to define contact explicitly between the exterior and interior faces. It
would be adequate to specify only self-contact for
SURFALL.
Abaqus/Explicit
automatically computes a nonzero contact thickness associated with interior
faces based on element dimensions, and this default value cannot be changed via
a surface property assignment.
Erosion of surfaces specified on structural elements
For structural elements, the general contact algorithm checks the
underlying elements of the faces (or “contact edges” on beam and truss
elements) for failure. Once the underlying element fails, the face is removed.
As with solids, feature edges on structural elements are removed once all of
the surrounding faces have failed. A perimeter edge (e.g., on the perimeter of
a shell element mesh) is removed once the face it is connected to fails. New
perimeter edges are not created to conform to the new perimeter created by the
removal of a face.
Output
The surfaces that compose the general contact domain are available as output
in addition to the contact analysis output variables.
General contact domain and component surfaces in
Abaqus/Explicit
Abaqus/Explicit
generates the following internal surfaces when a general contact domain is
defined:
General_Contact_Faces_Stepk,
General_Contact_Edges_Stepk,
and
General_Contact_Nodes_Stepk,
where k is the
step number.
General_Contact_Nodes_Stepk
contains only nodes in the general contact domain that are not included in the
other two surfaces. For example,
General_Contact_Faces_Step2 would contain all
surface faces (interior and exterior) that were initially included in the
general contact domain for Step 2. These surfaces contain the contact faces,
edges, and nodes that were included in the contact domain at the beginning of
the step and are not modified to reflect surface erosion.
Abaqus/Explicit
generates the following internal surfaces associated with “component surfaces”:
General_Contact_Faces_Stepk_Compm
and
General_Contact_Edges_Stepk_Compm,
where m is the automatically assigned “component
number.” Each feature edge component surface,
General_Contact_Edges_Stepk_Compm,
has a subset of face edges (satisfying the feature edge criteria) of the
corresponding face component surface,
General_Contact_Faces_k_Compk.
The face component surfaces have no nodes in common with each other.
Abaqus/Explicit
also generates internal surfaces associated with general contact when material
names are used to identify regions where nondefault contact properties or
surface properties are assigned, as discussed in
Assigning contact properties
and
Assigning surface properties.
These internal surfaces are named
_MATSURF_Material
Name_, where Material
Name corresponds to the name of the material specified for the
property assignment.
Internal surfaces can be viewed using display groups
in
the Visualization module
of
Abaqus/CAE
(see the
Introduction).
The internal surface names used by
Abaqus/Explicit
should not appear in the input file.
General contact output variables
You can write the contact surface variables associated with general contact
interactions to the
Abaqus
output database (.odb) file (see
Writing surface output to the output database
for more information). The available variables are contact pressure, normal
contact force, frictional force, and whole surface resultant quantities (i.e.,
force, moment, center of pressure, and total area in contact).
Field output
The generic variables CSTRESS and
CFORCE are valid field output requests
for general contact in Abaqus/Explicit. If CSTRESS is requested for the
general contact domain, the variables
CPRESS (contact pressure) and
CSHEARMAG (magnitude of the frictional
shear stress) are available in the output database and can be
contoured in Abaqus/CAE. If CFORCE is requested for
the general contact domain, the variables
CNORMF (normal contact force) and
CSHEARF (shear contact force) are
available in the output database and can be plotted as vectors in
a symbol plot in Abaqus/CAE.
For general contact CPRESS is calculated as the magnitude of the net contact normal force
(the CNORMF vector) per unit area (it is an unsigned value). This
convention for reporting contact pressure is different from the convention used
for contact pairs. The direction of action of the net contact pressure for
general contact can be determined by examining a plot of CNORMF.
CNORMF and CSHEARF are resultant force quantities. If a double-sided surface is
contacted on both sides, the resultant force is a vector sum of the force from
each side of the surface (for example, the contact normal force will be zero
for a double-sided surface that is pinched with equal and opposite forces on
each side of the surface).
Some small noise in contact stress and contact force output is likely near
the perimeters of thin shells. This behavior is expected and does not
negatively impact the overall solution.
Displacement field output (U) for the entire model is written to the output database
automatically when any of the contact field output variables are requested.
Several output variables associated with quantities computed at secondary nodes or edge nodes
are also available, with generic output variable names
CDISP,
CSLIPR, and
CTANDIR. These output variables are
not available for Eulerian-Lagrangian contact or contact involving particles. If these
generic output variables names are requested, the specific output variables written as
field output are as follows:
Contact “displacements” (opening distance and accumulated slips) CDISP: COPEN, CSLIPEQ, CSLIP1, and CSLIP2;
Contact slip rates CSLIPR: CSLIPRMAG, CSLIPR1, and CSLIPR2;
Contact tangent directions CTANDIR: CTANDIR1, and CTANDIR2.
COPEN is reported only for secondary or edge
nodes in contact or very close to being in contact. The accumulated slip variables
remain constant when a node is out of contact. The slip rate and tangent direction
output variables are reported only for secondary or edge nodes in contact.
CSLIPEQ represents the total slip
length at a secondary or edge node while in contact. Incremental contributions to
CSLIP1 and
CSLIP2 are computed as the scalar
product of the incremental relative nodal displacement vector and the respective local
tangent direction, (CTANDIR1) or (CTANDIR2).
The algorithm used to establish and evolve local tangent directions for
general contact is described in
Local tangent directions for contact.
As local tangent directions for contact evolve across increments, previously
accumulated slip components are resolved into the new local system before
incremental contributions are added to them.
For two-dimensional or axisymmetric analyses, the components in the local
tangent 2-direction for the contact output variables such as CSLIP2, CSLIPR2, and CTANDIR2 have no physical meaning and, therefore, are not provided.
History output
Several whole surface contact force-derived variables are available as
history output. You can specify the surface from which the contact force
resultants will be calculated.
Force distributions on the surface due to general contact are used to
calculate the surface force resultants; forces due to contact pair interactions
are not included and must be output separately. The contact state of a surface
is output as a set of force (CFN, CFS, and CFT) and moment (CMN, CMS, and CMT) resultants with respect to the origin. Additional variables
give the center of force (XN, XS, and XT) on the surface (defined as the point closest to the centroid
of the surface that lies on the line of action of the resultant force for which
the resultant moment is minimal). The last letter of each variable name denotes
which contact force distribution on the surface is used to calculate the
resultant: the letter N denotes that the normal contact forces are used to
derive the resultant quantity; the letter S denotes that the shear contact
forces are used to derive the resultant quantity; and the letter T denotes that
the sum of the normal and shear contact forces are used to derive the resultant
quantity.
Each total moment output variable will not necessarily equal the cross
product of the respective center of force vector and resultant force vector.
Forces acting on two different nodes of a surface may have components acting in
opposite directions, such that these nodal force components generate a net
moment but not a net force; therefore, the total moment may not arise entirely
from the resultant force. The center of force output variables tend to be most
meaningful when the surface nodal forces act in approximately the same
direction.
The total area in contact at a given time can be requested using output
variable CAREA, defined as the sum of all the facets where there is contact
force. The contact area reported by CAREA is generally slightly larger than the true contact area for
reasonably meshed contact surfaces; therefore, interpretation of CAREA should be done with care. The discrepancy between the CAREA output and the true contact area decreases as the mesh density
increases. Using contact inclusions or exclusions to limit CAREA output to smaller contact surfaces may also reduce the
discrepancy in some cases. Since the CAREA output is an approximation of the true contact area, deriving
force or stress values using this output may not yield accurate values;
requesting contact force and stress directly is the most appropriate way to
obtain accurate results.
Requesting element output when modeling surface erosion
When modeling the erosion of surfaces, it is useful to request additional
element field output of the element status (output variable STATUS). Failed elements (with an element status of zero) can then be
excluded from the display group in
the Visualization module of Abaqus/CAE
so that the active contact surface can be identified and contact results on the
active contact surface can be viewed.
Extending the range for which contact opening output is provided for
gaps
To reduce computational costs, detailed computations to monitor potential
points of interaction are avoided by default where surfaces are separated by a
distance greater than the minimum gap distance at which contact forces (or
thermal fluxes, etc.) may be transmitted. Therefore, contact opening (COPEN) output is typically not provided where surfaces are opened by
more than a small amount compared to surface facet dimensions. You can extend
the range for which
Abaqus/Explicit
provides contact opening output; COPEN will be provided up to gap distances equal to a specified
“tracking thickness.” Using this control may increase computational cost due to
extra contact tracking computations, especially if you specify a large tracking
thickness value.