Skip to content

Contact and Embedding

Use the contact analysis and embedding functions for problems in which independent parts come into contact and transmit load or slide relative to each other, or for problems in which one part must be represented as embedded in another. Contact analysis applies constraints to prevent penetration and transmit frictional forces at contact surfaces, while embedding represents a fully constrained connection between parts.

FrontISTR contact analysis is configured by combining a contact type, solution algorithm, contact-pair definition, and step-wise activation. Embedding uses the contact framework to constrain nodes on the embedded side to elements on the host side.

Overview

It is useful to organize contact analysis by selecting the following items in sequence.

Selection Axis Options Role
Contact type Small-sliding contact, finite-sliding contact, tied constraint Determines how relative motion, separation, and sliding between contact surfaces are permitted.
Solution algorithm SLAGRANGE, ALAGRANGE Determines how contact constraints are incorporated into the linear system and nonlinear iterations.
Contact damping Disabled, enabled Determines whether to apply damping forces as the contact surfaces approach, suppressing oscillation of the contact state.
Contact pair NODE-SURF, SURF-SURF Determines the representation of the slave and master sides. Pair definitions are specified in the mesh data.
Friction Frictionless, Coulomb friction Specifies tangential resistance using a coefficient of friction.
Activation !STEP CONTACT line Activates a contact group or embedding group for each step.

In the input data, define contact conditions with !CONTACT and select the solution method with !CONTACT_ALGO. Parameters for tuning contact detection are grouped under !CONTACT_PARAM. To handle initial interference gradually, use !CONTACT_INTERFERENCE as well.

Embedding is defined with !EMBED and is activated for each step through the same CONTACT line used for contact. For elimination of contact degrees of freedom and linear-solver treatment of multi-point constraints, see Solver and Preconditioning.

Choosing a Contact Analysis Method

Choose the contact type according to the relative motion of the contact surfaces and the purpose of the analysis. Use small-sliding contact when sliding is limited and large updates of the contact location are not required. Use finite-sliding contact for large deformation or large relative sliding. Use a tied constraint when parts must remain permanently connected without sliding or separation.

For the solution algorithm, first consider the standard Lagrange multiplier method (SLAGRANGE). If the constraint accuracy needs to be improved through outer iterations, consider the augmented Lagrange multiplier method (ALAGRANGE). With ALAGRANGE, AUGITER specifies the number of augmented Lagrange iterations.

When friction is considered, specify a coefficient of friction for each contact pair. A contact pair with a friction coefficient of 0 is treated as frictionless. Because friction affects convergence, specify it only for contact pairs that require it.

Only surfaces of first-order elements are supported as contact surfaces. Inputs that use surfaces of higher-order elements as contact surfaces are not supported. When using contact in an analysis with higher-order elements, model the contact surfaces so that they can be represented equivalently by first-order element surfaces.

Small-Sliding Contact

Small-sliding contact is a contact type that assumes changes in the contact location are small. In the input data, specify it with !CONTACT INTERACTION=SSLID.

For problems in which relative sliding between contact surfaces is small, small-sliding contact can make contact detection more stable. It handles changes in contact state and separation, but does not assume large movement of corresponding contact points as finite-sliding contact does.

Small-sliding contact supports both frictionless contact and contact with Coulomb friction. Contact on higher-order element surfaces is not supported.

Finite-Sliding Contact

Finite-sliding contact is a contact type that updates corresponding contact points as deformation progresses. In the input data, specify it with !CONTACT INTERACTION=FSLID.

Use finite-sliding contact for large deformation, large relative sliding between parts, or migration of the contact location far from its initial position. A bucket search is used to find corresponding contact points, allowing the contact location to be updated during the analysis.

INTERACTION=GLUED is a compatibility specification and is handled internally as finite-sliding contact. Finite-sliding contact supports both frictionless contact and contact with Coulomb friction.

Tied Constraint

A tied constraint is a contact type that permanently connects the surfaces specified by a contact pair. In the input data, specify it with !CONTACT INTERACTION=TIED.

A tied constraint permits neither sliding nor separation. It is useful when connecting meshes with different element sizes or when regions created as separate parts should behave as a single body in the analysis.

Embedding constrains nodes on the embedded side to host elements, so its input targets differ from those of a tied constraint, which connects the two surfaces of a contact pair. Use embedding when a group of nodes must be constrained inside surrounding elements.

Embedding

Embedding constrains a node group on the embedded side to an element group on the host side. In the input data, define the embedding pair with !EMBED PAIR in the mesh data, and specify the pair name and group ID with !EMBED in the analysis control data.

In an embedding pair, SLAVE_GRP is the node group on the embedded side, and MASTER_GRP is the element group on the host side. Use this function when a group of nodes must be rigidly constrained within surrounding solid elements.

Embedding is assembled according to the global contact-solution setting. Normally, consider SLAGRANGE first. When using ALAGRANGE, check the penalty coefficient and the convergence of the outer iterations. Friction is not supported. Step-wise activation uses the same mechanism as contact: in !STEP, specify the group ID on the CONTACT line.

Solution Algorithms

The contact solution algorithm is specified with !CONTACT_ALGO. It is independent of the contact type and is used to change how the constraints for the same contact pair are solved.

TYPE=SLAGRANGE is the standard Lagrange multiplier method. It incorporates contact degrees of freedom into the linear system and treats the constraint equations directly. It is a standard, stable choice and should also be considered first when embedding is used.

TYPE=ALAGRANGE is the augmented Lagrange multiplier method. It combines a penalty term with outer iterations to satisfy the constraints. It can be considered when higher contact-constraint accuracy is required, but because AUGITER adds outer iterations, the computational cost and convergence behavior must be checked.

For elimination of contact degrees of freedom, combinations with direct solvers and iterative solvers, and MPC treatment methods, see Solver and Preconditioning.

Contact Damping

Some analyses fail to converge because the state repeatedly switches between contact and non-contact from one iteration to the next. Contact damping suppresses this oscillation by applying a damping force proportional to the increment of relative displacement in the normal direction as a contact surface approaches the master surface. It is controlled by two quantities: the magnitude of the damping and the distance over which the damping acts.

When damping is enabled, contact-surface nodes whose distance to the master surface is within the activation distance enter a proximity state. Nodes in the proximity state are not subject to the contact constraint and receive only the damping force. The damping becomes stronger as the distance approaches 0 and vanishes when the activation distance is reached.

Both the onset of contact and separation pass through the proximity state. A non-contact node first enters the proximity state when it comes within the activation distance, and then enters the contact state as it moves closer. When a node in contact separates under tensile force, it first returns to the proximity state and becomes non-contact when the distance exceeds the activation distance. The proximity state exists only when an activation distance is specified; in analyses without contact damping, nodes transition directly between the non-contact and contact states.

The damping coefficient is a numerical-stabilization parameter, and if it is too large, the damping force can remain in the solution. As a guideline, use values on the order of 1.0e-3 to 1.0e-2, and increase the value only when convergence cannot be obtained. The activation distance should be sufficiently small relative to the element size on the contact surface. If it is too large, nodes that are not actually in contact can receive damping forces, changing when contact begins.

In the input data, in !CONTACT, specify the damping coefficient with DAMP_ALPHA and the activation distance with DAMP_GACT.

Contact-Pair Definition

A contact pair is a mesh-data specification that defines which slave side contacts which master side. In the input data, define the pair name, slave group, and master group with !CONTACT PAIR, and reference the pair name from !CONTACT in the analysis control data.

TYPE=NODE-SURF is a node-to-surface representation in which the slave side is specified as a node group and the master side as a surface group. It directly represents problems in which a group of nodes contacts a surface.

TYPE=SURF-SURF specifies both the slave and master sides as surface groups. Internally, a node group is generated from the slave surface group and the pair is converted to node-to-surface contact. Use this representation when the slave surface should be managed as a surface group.

Contact-Detection Parameters

Contact-detection parameters are numerical thresholds used for contact search and switching contact states. In the input data, define a named parameter set with !CONTACT_PARAM, and in !CONTACT, reference it using CONTACTPARAM.

Representative parameters include the normal clearance CLEARANCE, CLR_SAME_ELEM for elements that are already in contact, and TENSILE_FORCE for separation detection. The default value of CLEARANCE is 0.01.

For standard analyses, the default contact-detection parameters are generally sufficient. Adjust them only when problems occur, such as oscillation of the contact state, unintended switching of contact points, or instability in the initial contact search. See the keyword reference for parameter values and the ordering of data lines.

Resolving Contact Interference

Contact-interference resolution is a function that gradually changes the amount of interference or separation for a model whose contact surfaces interfere in the initial state. It is specified with !CONTACT_INTERFERENCE.

Use TYPE=SLAVE or TYPE=MASTER to select whether interference resolution is referenced to the slave or master side. END specifies the time at which interference resolution finishes, and each contact pair is assigned an initial position initial_pos and an end position end_pos.

This function is useful when parts geometrically interfere in the model but that interference should be reproduced in the analysis as an initial contact state or press-fit state. Abruptly removing the interference can degrade convergence, so vary it gradually within the step.

See Also