About Contact Interactions

This section presents an overview of the contact analysis capabilities in Abaqus.

This page discusses:

Available Contact Algorithms in Abaqus

Abaqus provides more than one approach for defining contact. Abaqus/Standard includes the following approaches for defining contact:

  • general contact;

  • contact pairs; and

  • contact elements.

Abaqus/Explicit includes the following approaches for defining contact:

  • general contact; and

  • contact pairs.

Each approach has somewhat unique advantages and limitations.

The remainder of this section is organized as follows:

  • first, discuss common aspects of the surface-based contact-definition approaches (i.e., contact pairs and general contact);

  • next, provide an overview of the contact definition approaches in Abaqus/Standard and the contact definition approaches in Abaqus/Explicit;

  • finally, discuss compatibility between the contact algorithms in Abaqus/Standard and Abaqus/Explicit.

Defining a Surface-Based Contact Simulation

A contact simulation using contact pairs or general contact is defined by specifying:

  • surface definitions for the bodies that could potentially be in contact;

  • the surfaces that interact with one another (the contact interactions);

  • any nondefault surface properties to be considered in the contact interactions;

  • the mechanical and thermal contact property models, such as the pressure-overclosure relationship, the friction coefficient, or the contact conduction coefficient;

  • any nondefault aspects of the contact formulation; and

  • any algorithmic contact controls for the analysis.

In many cases you do not need to explicitly specify many of the aspects listed above because the default settings are usually appropriate.

Surfaces

Surfaces can be defined at the beginning of a simulation or upon restart as part of the model definition (see About Surfaces). Abaqus has five classifications of contact surfaces:

Surfaces of the same type can be combined to create new surfaces (see Operating on Surfaces). However, with regard to contact a combined surface can be used only with general contact in Abaqus/Explicit.

When the general contact algorithm is used, Abaqus also provides a default all-inclusive, automatically defined surface that includes all element-based surface facets (in Abaqus/Standard and in Abaqus/Explicit), all crack surfaces for enriched elements (in Abaqus/Standard only), all analytical rigid surfaces (in Abaqus/Explicit only), and all Eulerian materials (in Abaqus/Explicit only) in the model.

Contact Interactions

Contact interactions for contact pairs and general contact are defined by specifying surface pairings and self-contact surfaces. General contact interactions typically are defined by specifying self-contact for the default surface, which allows an easy, yet powerful, definition of contact. (Self-contact for a surface that spans multiple bodies implies self-contact for each body as well as contact between the bodies.)

At least one surface in an interaction must be a non-node-based surface, and at least one surface in an interaction must be a non-analytical rigid surface. Additional restrictions and guidelines for contact surfaces are discussed for each contact definition approach. The definition of contact pairs is discussed in detail in About Contact Pairs in Abaqus/Standard and About Contact Pairs in Abaqus/Explicit. The definition of general contact interactions is discussed in detail in About General Contact in Abaqus/Standard and About General Contact in Abaqus/Explicit.

Surface Properties

Nondefault surface properties (such as thickness and, in some cases, offset) can be defined for particular surfaces in a contact model. In addition, you can control which edges of a surface will be included in the general contact domain in Abaqus/Explicit. Surface properties for contact pairs are discussed in Assigning Surface Properties for Contact Pairs in Abaqus/Standard and Assigning Surface Properties for Contact Pairs in Abaqus/Explicit. Surface properties for general contact are discussed in Surface Properties for General Contact in Abaqus/Standard and Assigning Surface Properties for General Contact in Abaqus/Explicit.

Contact Properties

Contact interactions in a model can refer to a contact property definition, in much the same way that elements refer to an element property definition. By default, the surfaces interact (have constraints) only in the normal direction to resist penetration. The other mechanical contact interaction models available depend on the contact algorithm and whether Abaqus/Standard or Abaqus/Explicit is used (see About Mechanical Contact Properties). Some of the available models are:

The thermal, thermal-electrical, and pore-fluid surface interaction models available in Abaqus are discussed in Thermal Contact Properties, Electrical Contact Properties, and Pore Fluid Contact Properties, respectively.

Contact interaction models are defined as model data except for contact pairs in Abaqus/Explicit, in which case they are defined as history data. Information on assigning contact properties to contact pairs can be found in Assigning Contact Properties for Contact Pairs in Abaqus/Standard and Assigning Contact Properties for Contact Pairs in Abaqus/Explicit. Information on assigning contact properties to general contact interactions can be found in Contact Properties for General Contact in Abaqus/Standard and Assigning Contact Properties for General Contact in Abaqus/Explicit.

The crush stress associated with the CZone analysis capability is specified as a material property and has the effect of limiting the contact stress under specific circumstances discussed in CZone Analysis.

Numerical Controls

The default algorithmic controls for contact analyses are usually sufficient, but you can adjust numerical controls for some special cases. For example, depending on the contact algorithm used, the numerical controls for the contact formulation, the main and secondary roles for the contact surfaces, and the sliding formulation are provided. Information on contact formulations and numerical methods used by the contact algorithms is provided in Contact Formulations in Abaqus/Standard and Contact Formulations for Contact Pairs in Abaqus/Explicit. The available numerical controls for the various contact algorithms are discussed in Numerical Controls for General Contact in Abaqus/Standard, Adjusting Contact Controls in Abaqus/Standard, Contact Controls for General Contact in Abaqus/Explicit, and Contact Controls for Contact Pairs in Abaqus/Explicit.

Contact Simulation Capabilities in Abaqus/Standard

Abaqus/Standard provides the following approaches for defining contact interactions: general contact, contact pairs, and contact elements. Contact pairs and general contact both use surfaces to define contact; comparisons of these approaches are provided later in this section. Contact elements are provided for certain interactions that cannot be modeled with either general contact or contact pairs; however, it is generally recommended to use general contact or contact pairs if possible.

Capabilities of Contact Pairs and General Contact in Abaqus/Standard

Contact pairs and general contact combine to provide the following capabilities in Abaqus/Standard:

  • Contact between two deformable bodies. The structures can be either two- or three-dimensional, and they can undergo either small or finite sliding. Examples of such problems include the assembly of a cylinder head gasket and the slipping between two components of a threaded connector.

  • Contact between a rigid surface and a deformable body. The structures can be either two- or three-dimensional, and they can undergo either small or finite sliding. Examples of such problems include metal forming simulations and analyses of rubber seals being compressed between two components.

  • Finite-sliding self-contact of a single deformable body. An example of such a problem is a complex rubber seal that folds over on itself.

  • Small-sliding or finite-sliding interaction between a set of points and a rigid surface. These models can be either two- or three-dimensional. An example of this type of problem is the pull-in of an underwater cable that is resting on the seabed, with the seabed modeled as a rigid surface.

  • Contact between a set of points and a deformable surface. These models can be either two- or three-dimensional. An example of this class of contact problem is the design of a bearing where one of the bearing surfaces is modeled with substructures.

  • Problems where two separate surfaces need to be “tied” together so that there is no relative motion between them. This modeling technique allows for joining dissimilar meshes.

  • Coupled thermomechanical interaction between deformable bodies with finite relative motion. The analysis of a disc brake is an example of such a problem.

  • Coupled thermal-electrical-structural interaction between deformable bodies with finite relative motion. An example of this type of problem is the analysis of resistance spot welding.

  • Coupled pore fluid-mechanical interaction between bodies. An example of this type of problem is the analysis of the interfaces between layered soil material at a waste disposal site.

Coupled thermomechanical and coupled thermal-electrical-structural interactions can be included in any of the above examples as long as both of the surfaces are deformable.

Choosing between General Contact or Contact Pairs in Abaqus/Standard

For most contact problems you have a choice of whether to define contact interactions using general contact or contact pairs. In Abaqus/Standard the distinction between general contact and contact pairs lies primarily in the user interface, the default numerical settings, and the available options. The general contact and contact pair implementations share many underlying algorithms.

The contact interaction domain, contact properties, and surface attributes are specified independently for general contact, offering a more flexible way to add detail incrementally to a model. The simple interface for specifying general contact allows for a highly automated contact definition; however, it is also possible to define contact with the general contact interface to mimic traditional contact pairs. Conversely, specifying self-contact of a surface spanning multiple bodies with the contact pair user interface (if the surface-to-surface formulation is used) mimics the highly automated approach often used for general contact.

In Abaqus/Standard traditional pairwise specifications of contact interactions may result in more efficient analyses as compared to an all-inclusive self-contact approach to defining contact. Therefore, there is often a trade-off between ease of defining contact and analysis performance.

Default Settings for General Contact and Contact Pairs

Differences in default settings for general contact and contact pairs in Abaqus/Standard include the following:

  • Contact formulation: By default, general contact uses the finite-sliding, surface-to-surface formulation supplemented by the finite-sliding, edge-to-surface; finite-sliding, edge-to-edge; and finite-sliding, vertex-to-surface formulations. For crack surfaces on enriched elements, edges and vertices are deactivated. In addition, you can specify the small-sliding tracking approach over portions of the general contact domain. Edges and vertices are deactivated over regions where small sliding is active. Contact pairs use the finite-sliding, node-to-surface formulation by default. See Contact Formulations in Abaqus/Standard for a discussion of contact formulations.

  • Treatment of shell thickness and offset: General contact automatically accounts for thicknesses and offsets associated with shell-like surfaces regardless of the finite-sliding (default) or the small-sliding tracking approaches. Contact pairs that use the finite-sliding, node-to-surface formulation do not account for shell thicknesses and offsets. See Surface Properties for General Contact in Abaqus/Standard and Assigning Surface Properties for Contact Pairs in Abaqus/Standard for discussions of surface properties for contact in Abaqus/Standard.

  • Contact constraint enforcement: General contact uses the penalty method to enforce the contact constraints by default. Contact pairs that use the finite-sliding, node-to-surface formulation use a Lagrange multiplier method to enforce contact constraints by default in most cases. See Contact Constraint Enforcement Methods in Abaqus/Standard for a discussion of contact constraint enforcement methods.

  • Treatment of initial overclosures: General contact eliminates initial overclosures with strain-free adjustments by default. Contact pairs treat initial overclosures as interference fits to be resolved in the first increment of the analysis by default. See Contact Initialization for General Contact in Abaqus/Standard, Modeling Contact Interference Fits in Abaqus/Standard, and Contact Initialization for Contact Pairs in Abaqus/Standard for more information on contact initialization in Abaqus/Standard.

  • Main-secondary assignments: General contact automatically assigns pure main and secondary roles for most contact interactions and automatically assigns balanced main-secondary roles to other contact interactions. Contact between opposing surfaces of a crack on enriched elements supports only the balanced main-secondary approach. The user must assign main and secondary roles for most contact pairs. See Numerical Controls for General Contact in Abaqus/Standard and Choosing the Main and Secondary Surface Roles in a Two-Surface Contact Pair for discussions of main and secondary roles for contacting surfaces.

Capabilities Available Only for General Contact in Abaqus/Standard

The following capabilities are available only for general contact in Abaqus/Standard (they are not available for contact pairs in Abaqus/Standard):

Capabilities Available Only for Contact Pairs in Abaqus/Standard

The following capabilities are available only for contact pairs in Abaqus/Standard (they are not available for general contact in Abaqus/Standard):

  • Contact involving rigid surfaces defined with user subroutine RSURFU.

  • The finite-sliding, node-to-surface contact formulation or a node-based surface specified with the finite-sliding, surface-to-surface contact formulation (the latter automatically reverts to the finite-sliding, node-to-surface contact formulation).

  • Interactions using small-sliding approximations where the secondary surface is node based or if the secondary is made of structural elements like beams, pipes, trusses and frames, tied contact.

  • Debonding.

  • Pressure-penetration loading.

  • Local definitions of some numerical contact controls.

  • Symmetric model generation.

A single analysis can include general contact and contact pair definitions. General contact automatically avoids processing contact interactions that are treated by contact pairs.

Using Contact Elements in Contact Simulations

Abaqus/Standard provides a library of contact elements that can be used to model certain classes of problems. Examples of such problems are:

  • Contact interaction between two pipelines or tubes modeled with pipe, beam, or truss elements where one pipe lies inside the other (such as a J-tube pull in offshore piping installation) or the pipes lie next to each other (available in both two and three dimensions; see Tube-to-Tube Contact Elements). Alternatively, this category of problems can be simulated using general contact with the beam-to-beam formulation.

  • Contact between two nodes along a fixed direction in space. An example of such a problem is the interaction of a piping system with its supports (see Gap Contact Elements).

  • Simulations using axisymmetric elements with asymmetric deformations, CAXAn and SAXAn elements. See Contact Modeling If Asymmetric-Axisymmetric Elements Are Present for details.

  • Heat transfer analyses where the heat flow is one-dimensional. An example of such a problem is the heat flow in a piping system that is discontinuous. The thermal interaction in this problem is one-dimensional, so no surfaces can be defined (see Gap Contact Elements).

Defining a Contact Simulation Using Contact Elements

The steps required for defining a contact simulation using contact elements are similar to those needed when defining a surface-based contact simulation:

  • create the contact elements or slide lines;

  • assign element section properties to the contact elements;

  • associate sets of contact elements with the slide lines if applicable; and

  • define the contact property models for the contact elements.

The contact property models for contact elements are identical to those used for surface-based contact.

Contact Simulation Capabilities in Abaqus/Explicit

Abaqus/Explicit provides two algorithms for modeling contact interactions. The general (“automatic”) contact algorithm allows very simple definitions of contact with very few restrictions on the types of surfaces involved. The contact pair algorithm has more restrictions on the types of surfaces involved and often requires more careful definition of contact; however, it allows for some interaction behaviors that currently are not available with the general contact algorithm. The general contact and contact pairs algoirthms in Abaqus/Explicit differ by more than the user interface; in general they use completely separate implementations with many key differences in the designs of the numerical algorithms.

The two contact algorithms combine to provide the following capabilities in Abaqus/Explicit:

  • Contact between rigid and/or deformable bodies.

  • Contact of a body with itself.

  • Finite-sliding or small-sliding contact.

  • Contact with eroding bodies (due to element failure). A node-based surface must be used to model the eroding body if contact pairs are used. General contact allows element-based surfaces to be defined on eroding bodies, so contact between any number of eroding bodies can be modeled.

  • General constitutive models for the contact behavior, including user-defined models through user subroutines, relating constraint pressure and shear traction to penetration distance and relative tangential motion.

  • Thermal interaction at the surface of a body; for example, conductive heat transfer.

  • Contact between Eulerian material and Lagrangian bodies.

  • Contact between DEM or SPH particles and other Lagrangian surfaces.

  • Contact among DEM particles.

  • CZone analysis to model crushing of laminated composites due to contact.

  • A friction coefficient defined in terms of average surface temperature and/or field variables.

Choosing between General Contact or Contact Pairs in Abaqus/Explicit

Contact definitions are not entirely automatic with the general contact algorithm but are greatly simplified. The generality of this algorithm is primarily in the relaxed restrictions on the surfaces that can be used in contact. The general contact algorithm in Abaqus/Explicit allows the following (none of which are allowed with the contact pair algorithm in Abaqus/Explicit):

  • A surface can span unattached bodies.

  • More than two surface facets can share a common edge (allowing “T-intersections” in shells, for example).

  • A surface can include deformable and rigid regions; furthermore, the rigid regions need not be from the same rigid body.

  • A surface can have mixed parent element types; for example, adjacent surface facets can be on shell and solid elements.

  • A surface can be based on combinations of surfaces of the same type.

  • An element-based surface can be defined on the interior of solid bodies for use in modeling erosion due to element failure.

  • A surface can be defined on the exterior of an Eulerian material instance (see Eulerian Surface Definition).

Other benefits of the general contact algorithm in Abaqus/Explicit include the following:

  • The general contact algorithm does not place any restrictions on the domain decomposition for domain level parallelization (see Parallel Execution in Abaqus/Explicit). The contact pair algorithm significantly degrades parallel performance in most cases.

  • The general contact algorithm can enforce edge-to-edge contact for geometric feature edges, perimeter edges of structural elements, and edges defined by beam and truss elements, unlike the contact pair algorithm.

  • The general contact algorithm is the only option for enforcing contact between Eulerian materials and Lagrangian bodies (see Interactions).

  • The general contact algorithm is the only option for enforcing contact involving DEM or SPH particles (see Discrete Element Method and Smoothed Particle Hydrodynamics).

  • General contact can be used to simulate crushing of laminated composites in a CZone analysis (see CZone Analysis). With this approach, contact, shell element and material modeling aspects are integrated to model crush fronts at an impact location with less mesh dependence than other damage and failure techniques.

  • The general contact algorithm eliminates problematic, nonphysical “bull-nose” extensions that may arise at shell surface perimeters in the contact pair algorithm.

  • With the general contact algorithm each secondary node can see contact with multiple facets per increment; with the contact pair algorithm each secondary node can see contact with only one facet per increment unless multiple surface pairings are specified. Likewise, each contact edge can see contact with multiple edges per increment when the general contact algorithm is used.

  • The general contact algorithm has some built-in smoothing for element-based surfaces that can be beneficial for modeling contact near corners.

  • The general contact algorithm, unlike the contact pair algorithm, removes contact faces and contact edges from the contact domain and, if an interior surface is defined, activates newly exposed surface faces as elements fail. Thus, element-based surfaces can be used to describe eroding solids. This allows contact between multiple eroding solids to be modeled since a node-based surface does not need to be defined on the eroding solid.

  • Contact state information (such as the proper contact normal orientation for double-sided surfaces) is transferred across step boundaries in the general contact algorithm even if the contact domain is modified; in the contact pair algorithm, contact state information is transferred across step boundaries only for contact pairs with no modifications.

  • The contact interaction domain, contact properties, and surface attributes are specified independently for the general contact algorithm, offering a more flexible way to add detail incrementally to a model.

  • The general contact algorithm, unlike the penalty enforcement method in the contact pair algorithm, does not place any restrictions on the domain decomposition parallelization for the thickness and midsurface offset of shells and membranes.

  • The general contact algorithm in Abaqus/Explicit has been developed to minimize the need for algorithmic controls.

See Knee bolster impact with general contact, Crimp forming with general contact, and Collapse of a stack of blocks with general contact for example analyses that use the general contact algorithm.

Although the general contact algorithm is more powerful and allows for simpler contact definitions, the contact pair algorithm must be used in certain cases where more specialized contact features are desired. The following features are available in Abaqus/Explicit only when the contact pair algorithm is used:

In addition, the general contact algorithm in Abaqus/Explicit places more restrictions on adaptive meshing than the contact pair algorithm (see Defining ALE Adaptive Mesh Domains in Abaqus/Explicit). The choice of contact algorithm may affect the speedup factor if loop-level parallelization is used: the contact pair algorithm includes some loop-level parallelization, while the general contact algorithm has no loop-level parallelization.

The two contact algorithms can be used together in the same Abaqus/Explicit analysis. The general contact algorithm automatically avoids processing interactions that are treated by the contact pair algorithm.

Compatibility between Abaqus/Standard and Abaqus/Explicit

There are fundamental differences in the mechanical contact algorithms in Abaqus/Standard and Abaqus/Explicit even though the input syntax is similar. The main differences are the following:

  • Contact pair and general contact definitions in Abaqus/Standard are model definition data (although contact pairs can be removed for a portion of the analysis and added back to the model in a later step of the analysis, as discussed in Removing and Reactivating Contact Pairs). In the contact pair algorithm in Abaqus/Explicit contact constraints are history definition data (see Abaqus Model Definition); in the general contact algorithm in Abaqus/Explicit contact definitions can be either model or history data.

  • Abaqus/Standard typically uses a pure main-secondary relationship for the contact constraints; whereas Abaqus/Explicit typically uses balanced main-secondary contact by default. This difference is primarily due to overconstraint issues unique to Abaqus/Standard.

  • The contact formulations in Abaqus/Standard and Abaqus/Explicit differ in many respects due to different convergence, performance, and numerical requirements:

    • Abaqus/Standard provides surface-to-surface, edge-to-surface, and vertex-to-surface formulations, which Abaqus/Explicit does not;

    • Abaqus/Standard and Abaqus/Explicit both provide node-to-surface formulations, but some details associated with surface smoothing, etc. differ in the respective implementations.

  • The constraint enforcement methods in Abaqus/Standard and Abaqus/Explicit differ in some respects. For example, both analysis codes provide penalty constraint methods, but the default penalty stiffnesses differ (this is primarily due to the effect of the penalty stiffness on the stable time increment for Abaqus/Explicit).

  • The small-sliding contact capability in Abaqus/Standard transfers the load to the main nodes according to the current position of the secondary node, but the small-sliding contact capability in Abaqus/Explicit always transfers the load through the anchor point due to a numerical limitation associated with the implementation.

  • Abaqus/Explicit can account for the thickness and midsurface offset of shells and membranes in the contact penetration calculations (although in some cases changes in the thickness upon deformation are not accounted for in the contact calculations). Abaqus/Standard cannot account for the thickness and offset of shells and membranes when using the finite-sliding, node-to-surface contact formulation (but can account for the original thickness and offset in all other contact formulations).

As a result of these differences, contact definitions specified in an Abaqus/Standard analysis cannot be imported into an Abaqus/Explicit analysis and vice versa (see Transferring Results between Abaqus/Explicit and Abaqus/Standard). However, in many cases you can successfully respecify a contact definition in an import analysis.