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.

Functional 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 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 CONTACT line of !STEP 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 multipoint 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 INTERACTION=SSLID in !CONTACT.

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 INTERACTION=FSLID in !CONTACT.

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 INTERACTION=TIED in !CONTACT.

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: specify the group ID on the CONTACT line of !STEP.

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 and iterative solvers, and MPC treatment methods, see Solver and Preconditioning.

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 reference it using CONTACTPARAM in !CONTACT.

Representative parameters include the normal clearance CLEARANCE, CLR_SAME_ELEM for elements that are already in contact, TENSILE_FORCE for separation detection, and BOX_EXP_RATE for expanding the search box. 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.