ANSYS uses several real constants and KEYOPTs to control contact behavior using surface-to-surface contact elements. For more information in addition to what is presented here, refer to the individual contact element descriptions in the Elements Reference.
If you decide the real constant and KEYOPT settings you have specified for a particular contact pair are not appropriate, you can use the CNCHECK,RESET command to reset all values back to their default settings. Some real constants and key options are not affected by this command; see CNCHECK for details.
Two real constants, R1 and R2, are used to define the geometry of the target surface elements. The remaining are used by the contact surface elements.
R1 and R2 define the target element geometry.
FKN defines a normal contact stiffness factor.
FTOLN is a factor based on the thickness of the element which is used to calculate allowable penetration.
ICONT defines an initial closure factor (or adjustment band).
PINB defines a "pinball" region.
PMIN and PMAX define an allowable penetration range for initial penetration.
TAUMAX specifies the maximum contact friction.
CNOF specifies the positive or negative offset value applied to the contact surface.
FKOP specifies the stiffness factor applied when contact opens or the damping coefficient for standard contact.
FKT specifies the tangent contact stiffness factor.
COHE specifies the cohesion sliding resistance.
TCC specifies the thermal contact conductance coefficient.
FHTG specifies the fraction of frictional dissipated energy converted into heat.
SBCT specifies the Stefan-Boltzmann constant.
RDVF specifies the radiation view factor.
ECC specifies the electric contact conductance or capacitance per unit area.
FHEG specifies the fraction of electric dissipated energy converted into heat.
FACT specifies the ratio of static to dynamic coefficients of friction.
DC specifies the decay coefficient for static/dynamic friction.
SLTO controls maximum sliding distance when MU is nonzero and the tangent contact stiffness (FKT) is updated at each iteration (KEYOPT(10) = 1 or 2) or when KEYOPT(2) = 3.
TNOP specifies the maximum allowable tensile contact pressure.
TOLS adds a small tolerance that extends the edge of the target surface.
MCC specifies the magnetic contact permeance (3-D only).
Real constant defaults can vary depending on the environment you are working in. The following table compares the default values between ANSYS and the ANSYS Workbench. See your ANSYS sales representative for more information about ANSYS Workbench.
Table 3.1 Summary of Real Constant Defaults in Different Environments
|Real Constants||Description||ANSYS Default||ANSYS Workbench Default|
|1||R1||Radius associated with target geometry |
Radius associated with target geometry
Superelement thickness 
|3||FKN||Normal penalty stiffness factor||1|||
|4||FTOLN||Penetration tolerance factor||0.1||0.1|
|5||ICONT||Initial contact closure||0||0|
|7||PMAX||Upper limit of initial penetration||0||0|
|8||PMIN||Lower limit of initial penetration||0||0|
|9||TAUMAX||Maximum friction stress||1.00E+20||1.00E+20|
|10||CNOF||Contact surface offset||0||0|
|12||FKT||Tangent penalty stiffness factor||1||1|
|14||TCC||Thermal contact conductance||0|||
|15||FHTG||Frictional heating factor||1||1|
|17||RDVF||Radiation view factor||1||n/a|
|18||FWGT||Heat distribution weighing factor||0.5||0.5|
|19||ECC||Electric contact conductance||0||n/a|
|20||FHEG||Joule dissipation weighting factor||1||n/a|
|22||DC||Exponential decay coefficient||0||0|
|23||SLTO||Allowable elastic slip||1%||1%|
|25||TOLS||Target edge extension factor|||||
|26||MCC||Magnetic contact permeance||0||n/a|
10% of target length for NLGEOM,OFF.
2% of target length for NLGEOM,ON.
R1 and R2 are used to define the target element geometry. See Defining Target Element Geometry and the target element descriptions (TARGE169 and TARGE170) for details on how they are used for different geometries.
|GUI:||Main Menu> Preprocessor> Real Constants|
For the real constants FKN, FTOLN, ICONT, PINB, PMAX, PMIN, FKOP, FKT, SLTO, and TNOP, you can specify either a positive or negative value. ANSYS interprets a positive value as a scaling factor and interprets a negative value as the absolute value. ANSYS uses the depth of the underlying element as the reference value to be used for ICONT, FTOLN, PINB, PMAX, and PMIN. For example, a positive value of 0.1 for ICONT indicates an initial closure factor of 0.1 x depth of the underlying element. However, a negative value of 0.1 indicates an actual adjustment band of 0.1 units. When KEYOPT(10) = 0, 1, or 2, all the contact related settings (ICONT, FTOLN, PINB, PMAX, PMIN, FKN, FKT, SLTO) are averaged across all contact elements in a contact pair. However, when KEYOPT(10) = 3, 4, or 5, the settings are based on each individual contact element (geometry and material behaviors).
Figure 3.9: "Depth of the Underlying Element" shows the depth of the underlying element for a solid element. If the underlying elements are shell or beam elements, the depth will usually be 4 times the element thickness.
When KEYOPT(10) = 0, 1, or 2, each contact pair has a pair-based depth which is obtained by averaging the depth of each contact element across all the contact elements in a contact pair. This can avoid the problem of very different element-based depths when there are meshes with large variations in element sizes.
When the contact pair depth is too small (for example, 10-5), the machine precision may not guarantee the accuracy of penetration to be calculated. You should scale the length unit in the model.
Each contact element includes several KEYOPTS. We recommend using the default settings, which are suitable for most contact problems. For some specific applications, you can override the defaults. The element KEYOPTS allow you to control several aspects of contact behavior.
Degrees of freedom (KEYOPT(1))
Contact stiffness variation range (KEYOPT(6))
For node-to-surface contact (CONTA175), KEYOPT(3) specifies the contact model. For line-to-line contact (CONTA176), KEYOPT(3) specifies the type of beam-to-beam contact. KEYOPT(3) is not used for line-to-surface contact (CONTA177).
KEYOPT defaults can vary depending on the environment you are working in. The following table compares the default values between ANSYS, the ANSYS Contact Wizard, and the ANSYS Workbench. See your ANSYS sales representative for more information about ANSYS Workbench.
Table 3.2 Summary of KEYOPT Defaults in Different Environments
|KEYOPT||Description||ANSYS||ANSYS Contact Wizard||ANSYS Workbench Default Linear (bonded, no sep)||ANSYS Workbench, Default Nonlinear (standard, rough)|
|2||Contact Algorithm||Aug. Lagr.||Aug. Lagr.||Pure Penalty||Pure Penalty|
|3||Stress state when superelement is present||no super elem||no super elem||n/a||n/a|
|4||Location of contact detection point||gauss||gauss||gauss||gauss|
|5||CNOF/ICONT adjustment||No adjust||No adjust||No adjust||No adjust|
|6||Contact stiffnes variation||Use default range||Use default range||Use default range||Use default range|
|7||Element level time increment control||No control||No control||No control||No control|
|8||Asymmetric contact selection||No action||No action||No action||No action|
|9||Effect of initial penetration or gap||Include all||Include all||Exclude all||Include all/ramped|
|10||Contact stiffness update||Between load steps||Between iterations||Between load steps||Between load steps|
|11||Beam/shell thickness effect||Exclude||Exclude||Exclude||Exclude|
|12||Behavior of contact surface||Standard||Standard||Bonded||n/a|
*Manual: Requires user to define.
Auto: Selection is based on DOF of underlying element.
|GUI:||Main Menu> Preprocessor> Element Type> Add/Edit/Delete|
For surface-to-surface contact elements, ANSYS offers several different contact algorithms:
Penalty method (KEYOPT(2) = 1)
Augmented Lagrangian (default) (KEYOPT(2) = 0)
Lagrange multiplier on contact normal and penalty on tangent (KEYOPT(2) = 3)
Pure Lagrange multiplier on contact normal and tangent (KEYOPT(2) = 4)
Internal multipoint constraint (MPC) (KEYOPT(2) = 2)
The penalty method uses a contact "spring" to establish a relationship between the two contact surfaces. The spring stiffness is called the contact stiffness. This method uses the following real constants: FKN and FKT for all values of KEYOPT(10), plus FTOLN and SLTO if KEYOPT(10) = 1 or 2.
The augmented Lagrangian method (which is the default) is an iterative series of penalty methods. The contact tractions (pressure and frictional stresses) are augmented during equilibrium iterations so that the final penetration is smaller than the allowable tolerance (FTOLN). Compared to the penalty method, the augmented Lagrangian method usually leads to better conditioning and is less sensitive to the magnitude of the contact stiffness. However, in some analyses, the augmented Lagrangian method may require additional iterations, especially if the deformed mesh becomes too distorted.
The pure Lagrange multiplier method enforces zero penetration when contact is closed and "zero slip" when sticking contact occurs. The pure Lagrange multiplier method does not require contact stiffness, FKN and FKT. Instead it requires chattering control parameters, FTOLN and TNOP. This method adds contact traction to the model as additional degrees of freedom and requires additional iterations to stabilize contact conditions. It often increases the computational cost compared to the augmented Lagrangian method.
An alternative algorithm is the Lagrange multiplier method applied on the contact normal and the penalty method (tangential contact stiffness) on the frictional plane. This method enforces zero penetration and allows a small amount of slip for the sticking contact condition. It requires chattering control parameters, FTOLN and TNOP, as well as the maximum allowable elastic slip parameter SLTO.
Another method, the internal multipoint constraint (MPC) algorithm, is used in conjunction with bonded contact (KEYOPT(12) = 5 or 6) and no separation contact (KEYOPT(12) = 4) to model several types of contact assemblies and kinematic constraints. See "Multipoint Constraints and Assemblies" for more information on how to use this feature.
The Lagrange multiplier methods (KEYOPT(2) = 3, 4) and MPC approach (KEYOPT(2) = 2) do not support the Gauss point detection option (KEYOPT(4) = 0) for surface-to-surface contact. They support the nodal detection options for surface-to-surface contact and node-to-surface contact. When using these options, be careful not to overconstrain the model. The model is overconstrained when a contact node has prescribed boundary conditions, CE and CP equations. ANSYS usually detects and eliminates the overconstraints. However, there is no guarantee that the program will eliminate all the cases of overconstraint. You should always verify your model carefully to address this issue. The Lagrange multiplier also introduces more degrees of freedom which may result in spurious modes for modal and linear eigenvalue buckling analyses. The augmented Lagrangian method would be a better choice for these analysis types.
The Lagrange multiplier methods (KEYOPT(2) = 3, 4) introduce zero diagonal terms in the stiffness matrix. Any iterative solver (PCG or AMG) will encounter a preconditioning matrix singularity with these methods. Therefore, you should switch to sparse solver.
If overconstraint occurs in bonded shell-shell assemblies when using the MPC algorithm, you can switch to the penalty method or the augmented Lagrangian method. See Bonded Contact for Shell-Shell Assemblies for more information.
For the augmented Lagrangian method and penalty method, normal and tangential contact stiffnesses are required. The amount of penetration between contact and target surfaces depends on the normal stiffness. The amount of slip in sticking contact depends on the tangential stiffness. Higher stiffness values decrease the amount of penetration/slip, but can lead to ill-conditioning of the global stiffness matrix and to convergence difficulties. Lower stiffness values can lead to a certain amount of penetration/slip and produce an inaccurate solution. Ideally, you want a high enough stiffness that the penetration/slip is acceptably small, but a low enough stiffness that the problem will be well-behaved in terms of convergence.
ANSYS provides default values for contact stiffnesses (FKN, FKT), allowable penetration (FTOLN), and allowable slip (SLTO). In most cases, you do not need to define the contact stiffness. In addition, we recommend that you use KEYOPT(10) = 2 to allow the program to update the contact stiffness automatically.
For certain contact problems, you may choose to use the real constant FKN to define a normal contact stiffness factor. The usual factor range is from 0.01-1.0, with a default of 1.0. The default value is appropriate for bulk deformation. If bending deformation dominates, we recommend using a smaller value (0.1).
The default contact normal stiffness is affected by defined material properties, regardless of the material property status. If any material with any TB plasticity is defined in the database, the default contact normal stiffness is reduced by a factor of 100, even if the defined material property is not used. If other inelastic TB material properties are defined, other factors may be applied to the default contact normal stiffness (again regardless of the material property status). Thus, unused material properties can affect results. You should confirm that the appropriate contact normal stiffness is used.
Use real constant FTOLN in conjunction with the augmented Lagrangian method. FTOLN is a tolerance factor to be applied in the direction of the surface normal. The range for this factor is less than 1.0 (usually less than 0.2), with a default of 0.1, and is based on the depth of the underlying solid, shell, or beam element (see Figure 3.9: "Depth of the Underlying Element"). This factor is used to determine if penetration compatibility is satisfied. Contact compatibility is satisfied if penetration is within an allowable tolerance (FTOLN times the depth of underlying elements). The depth is defined by the average depth of each individual contact element in the pair. If ANSYS detects any penetration larger than this tolerance, the global solution is still considered unconverged, even though the residual forces and displacement increments have met convergence criteria. You can also define an absolute allowable penetration by specifying a negative value for FTOLN.
When the contact stiffness is too large (for example, 1016), the machine precision may not guarantee good conditioning of the global stiffness matrix. In this case, you should scale the force unit in the model if possible.
FTOLN is also used in the Lagrange multiplier methods (KEYOPT(2) = 3, 4) as a chattering control parameter.
ANSYS automatically defines a default tangential contact stiffness that is proportional to MU and the normal stiffness FKN. The default tangential stiffness corresponds to a default value of FKT = 1.0. A positive value for FKT is a factor; a negative value indicates an absolute value of tangential stiffness.
For KEYOPT(10) = 1 or 2, or when the Lagrange multiplier on normal and penalty on tangent option is used (KEYOPT(2) = 3), ANSYS updates tangential contact stiffness based on current contact normal pressure, PRES, and maximum allowable elastic slip, SLTO (KT = FKT*MU* PRES/SLTO). The real constant SLTO is used to control maximum sliding distance when FKT is updated at each iteration. ANSYS provides default tolerance values which work well in most cases. You can override the default values for SLTO (1% of average contact length in pair) by defining a scaling factor (positive value when using command input) or an absolute value (negative value when using command input). A larger value will enhance convergence but compromise accuracy. Based on the tolerance, current normal pressure, and friction coefficient, the tangential contact stiffness FKT can be obtained automatically. In certain cases users can override FKT by defining a scaling factor (positive input value) or absolute value (negative input value) (see Positive and Negative Real Constants for more information).
FKN, FTOLN, FKT, and SLTO can be modified from one load step to another. They can also be adjusted in a restart run. Determining a good stiffness value may require some experimentation on your part. To arrive at a good stiffness value, you can try the following procedure as a "trial run":
Use a low value for the contact stiffness to start. In general, it is better to underestimate this value rather than overestimate it. Penetration problems resulting from a low stiffness are easier to fix than convergence difficulties that arise from a high stiffness.
Run the analysis up to a fraction of the final load (just enough to get the contact fully established).
Check the penetration and the number of equilibrium iterations used in each substep. If the global convergence difficulty is caused by too much penetration (rather than by residual forces and displacement increments), FKN may be underestimated or FTOLN may be too small. If the global convergence requires many equilibrium iterations for achieving convergence tolerances of residual forces and displacements rather than the resulting penetration, FKN or FKT may be overestimated.
Adjust FKN, FKT, FTOLN, or SLTO as necessary and run the full analysis. If the penetration control becomes dominant in the global equilibrium iterations (that is, if more iterations were used to converge the problem to within the penetration tolerance than to converge the residual forces), you may increase FTOLN to permit more allowable penetration or increase FKN.
For bonded contact and rough contact, ANSYS uses MU = 1.0 to calculate tangential contact stiffness.
The normal and tangential contact stiffness can be updated during the course of an analysis, either automatically (due to large strain effects that change the underlying element's stiffness) or explicitly (by user-specified FKN or FKT values). KEYOPT(10) governs how the normal and tangential contact stiffness is updated when the augmented Lagrangian or penalty method is used. In most cases we recommend that you use KEYOPT(10) = 2 to allow the program to update contact stiffnesses automatically. The possible settings for KEYOPT(10) are outlined below.
KEYOPT(10) = 0, the contact stiffness will be updated at each load step if FKN or FKT is redefined by the user. Stiffness and other settings (ICONT, FTOLN, SLTO, PINB, PMAX, and PMIN) are averaged across contact elements in a contact pair. The default contact stiffness is determined by underlying element depth and material properties.
KEYOPT(10) = 1 (covers KEYOPT(10) = 0), the normal contact stiffness will be updated at every substep based on the mean stress of the underlying elements from the previous substep and the allowable penetration, FTOLN, except in the first substep of the first load step. The default normal contact stiffness for the first substep of the first load step is the same as described for KEYOPT(10) = 0. If bisections occur in the beginning of the analysis, the normal contact stiffness will be reduced by a factor of 0.2 for each bisection. The tangential contact stiffness will be updated at each iteration based on the current contact pressure, MU, and allowable slip (SLTO).
KEYOPT(10) = 2 (covers KEYOPT(10) = 1), the normal contact stiffness will be updated at each iteration based on the current mean stress of the underlying elements and the allowable penetration, FTOLN, except in the very first iteration. The default normal contact stiffness for the first iteration is the same as described for KEYOPT(10) = 0. If bisections occur in the beginning of the analysis, the normal contact stiffness will be reduced by a factor of 0.2 for each bisection. The tangential contact stiffness will be updated at each iteration based on the current contact pressure, MU, and allowable slip (SLTO).
KEYOPT(10) = 3, same as KEYOPT(10) = 0, except stiffness and settings are not averaged across the contact elements in a contact pair. If bisections occur in the beginning of the analysis, the normal contact stiffness will be reduced by a factor of 0.2 for each bisection.
KEYOPT(10) = 4, same as KEYOPT(10) = 1, except stiffness and settings are not averaged across the contact elements in a contact pair.
KEYOPT(10) = 5, same as KEYOPT(10) = 2, except stiffness and settings are not averaged across the contact elements in a contact pair.
When a Lagrange multiplier method (KEYOPT(2) = 3, 4) or MPC algorithm (KEYOPT(2) = 2) is used, KEYOPT(10) is ignored.
The default method of updating normal contact stiffness is suitable for most applications. However, the variational range of the contact stiffness may not be wide enough to handle certain contact situations. In the case of a very small penetration tolerance (FTOLN), a larger normal contact stiffness is often needed. Furthermore, to stabilize the initial contact condition and to prevent rigid body motion, a smaller normal contact stiffness is required.
The allowed contact stiffness variation is intended to enhance stiffness updating when KEYOPT(10) > 0 by calculating an optimal allowable range in stiffness for use in the updating shceme. To increase the stiffness variational range, set KEYOPT(6) = 1 to make a nominal refinement to the allowable stiffness range, or KEYOPT(6) = 2 to make an aggressive refinement to the allowable stiffness range.
The Lagrange multiplier methods (KEYOPT(2) = 3, 4) do not require contact stiffness, FKN and FKT. Instead they require chattering control parameters, FTOLN and TNOP, by which ANSYS assumes that the contact status remains unchanged. FTOLN is the maximum allowable penetration and TNOP is the maximum allowable tensile contact pressure.
A negative contact pressure occurs when the contact status is closed. A tensile contact pressure (positive) refers to a separation between the contact surfaces, but not necessarily an open contact status. However, the sign of the contact pressure is switched during postprocessing.
The behavior can be described as follows:
If the contact status from the previous iteration is open and the current calculated penetration is smaller than FTOLN, then contact remains open. Otherwise the contact status switches to closed and another iteration is processed.
If the contact status from the previous iteration is closed and the current calculated contact pressure is positive but smaller than TNOP, then contact remains closed. If the tensile contact pressure is larger than TNOP, then the contact status changes from closed to open and ANSYS continues to the next iteration.
ANSYS will provide reasonable defaults for FTOLN and TNOP. FTOLN defaults to the displacement convergence tolerance. TNOP defaults to the force convergence tolerance divided by contact area at contact nodes.
Keep in mind the following when providing values for FTOLN and TNOP:
A positive value is a scaling factor applied to the default values.
A negative value is used as an absolute value (which overrides the default).
In the basic Coulomb friction model, two contacting surfaces can carry shear stresses up to a certain magnitude across their interface before they start sliding relative to each other. This state is known as sticking. The Coulomb friction model defines an equivalent shear stress τ, at which sliding on the surface begins as a fraction of the contact pressure p (τ = µp + COHE, where µ is the friction coefficient and COHE specifies the cohesion sliding resistance). Once the shear stress is exceeded, the two surfaces will slide relative to each other. This state is known as sliding. The sticking/sliding calculations determine when a point transitions from sticking to sliding or vice versa.
For frictionless, rough, and bonded contact, the contact element stiffness matrices are symmetric. Contact problems involving friction produce unsymmetric stiffnesses. Using an unsymmetric solver is more computationally expensive than a symmetric solver for each iteration. For this reason, ANSYS uses a symmetrization algorithm by which most frictional contact problems can be solved using solvers for symmetric systems. If frictional stresses have a substantial influence on the overall displacement field and the magnitude of the frictional stresses is highly solution dependent, the symmetric approximation to the stiffness matrix may provide a low rate of convergence. In such cases, choose the unsymmetric solution option (NROPT,UNSYM) to improve convergence.
The interface coefficient of friction, MU, is used for the Coulomb friction model. You can input MU as a material property for the contact elements. Use MU = 0 for frictionless contact. For rough or bonded contact (KEYOPT(12) = 1, 3, 5, or 6; see Selecting Surface Interaction Models), ANSYS assumes infinite frictional resistance regardless of the specified value of µ. You can specify MU as a function of temperature. If the underlying element is a superelement (MATRIX50), the material property set must be the same as the one used for the original elements that were assembled into the superelement.
ANSYS provides two models for Coulomb friction: isotropic friction (2-D and 3-D contact) and orthotropic friction (3-D contact). The isotropic friction model is based on a single coefficient of friction, MU. You can use either TB command input (recommended method) or the MP command to specify MU. The orthotropic friction model is based on two coefficients of friction, MU1 and MU2. Use TB command input to specify MU1 and MU2 in two principal directions (see the element descriptions for CONTA173, CONTA174, CONTA175, CONTA176, and CONTA177 for a description of the principal directions for each individual element). See Contact Friction in the Elements Reference for details on how to specify the coefficients of friction.
ANSYS provides one extension of classical Coulomb friction: real constant TAUMAX is maximum contact friction with units of stress. This maximum contact friction stress can be introduced so that, regardless of the magnitude of normal contact pressure, sliding will occur if the friction stress reaches this value. You typically use TAUMAX when the contact pressure becomes very large (such as in bulk metal forming processes). TAUMAX defaults to 1.0e20. Empirical data is often the best source for TAUMAX. Its value may be close to , where σy is the yield stress of the material being deformed.
Another real constant used for the friction law is the cohesion, COHE (default COHE = 0), which has units of stress. It provides sliding resistance, even with zero normal pressure (see Figure 3.10: "Sliding Contact Resistance").
Two other real constants, FACT and DC are involved in specifying static and dynamic friction coefficients, as described in the next section.
The coefficient of friction can depend on the relative velocity of the surfaces in contact. Typically, the static coefficient of friction is higher than the dynamic coefficient of friction.
ANSYS provides the following exponential decay friction model:
|μ = coefficient of friction.|
|MU = dynamic coefficient of friction.|
|FACT = ratio of static to dynamic coefficients of friction. It defaults to the minimum value of 1.0|
|DC = decay coefficient, which has units of time/length. Therefore, time has some meaning in a static analysis. DC defaults to zero. When DC is zero, the equation is rewritten to be μ = MU for the case of sliding and μ = FACT*MU for the case of sticking.|
|Vrel = slip rate calculated by ANSYS.|
For the isotropic friction model, MU is input using the MP command or the TB command as explained above. For orthotropic friction, MU is the equivalent coefficient of friction computed from MU1 and MU2 which are specified with TB command input:
Figure 3.11: "Friction Decay" shows the exponential decay curve where the static coefficient of friction is given by:
You can determine the decay coefficient if you know the static and dynamic coefficients of friction and at least one data point (μ1 ; Vrel1). The equation for friction decay can be rearranged to give:
If you do not specify a decay coefficient and FACT is greater than 1.0, the coefficient of friction will change suddenly from the static to the dynamic value as soon as contact reaches the sliding state. This behavior is not recommended because the discontinuity may lead to convergence difficulties.
In a static analysis, you can model steady-state frictional sliding between two flexible bodies or between a flexible and a rigid body with different velocities. In this case the sliding velocities no longer follow the nodal displacements, and they are predefined through the CMROTATE command. This command sets the velocities on the nodes of the element component as an initial condition at the start of a load step. This feature is primarily useful for generating sliding contact at frictional contact interfaces in a brake squeal analysis. In this case, the contact pair elements (either the contact elements or the target elements) that are on the brake rotor need to be included in the rotating element component (CM command) that is specified on the CMROTATE command.
Contact detection points are located at the integration points of the contact elements which are interior to the element surface. The contact element is constrained against penetration into the target surface at its integration points. However, the target surface can, in principle, penetrate through into the contact surface, see Figure 3.12: "Contact Detection Located at Gauss Point".
ANSYS surface-to-surface contact elements use Gauss integration points as a default, which generally provide more accurate results than the nodal detection scheme, which uses the nodes themselves as the integration points. The node-to-surface contact element, CONTA175, the line-to-line contact element, CONTA176, and the line-to-surface contact element, CONTA177, always use the nodal detection scheme.
The nodal detection algorithms require the smoothing of the contact surface (KEYOPT(4) = 1) or the smoothing of the target surface (KEYOPT(4) = 2), which is quite time consuming. You should use this option only to deal with corner, point-surface, or edge-surface contact (see Figure 3.13: "Contact Detection Point Location at Nodal Point"). KEYOPT(4) = 1 specifies that the contact normal be perpendicular to the contact surface. KEYOPT(4) = 2 specifies that the contact normal be perpendicular to the target surface. Use this option (KEYOPT(4) = 2) when the target surface is smoother than the contact surface.
Be aware, however, that using nodes as the contact detection points can lead to other convergence difficulties, such as "node slippage," where the node slips off the edge of the target surface, see Figure 3.14: "Node Slippage Using Nodal Integration KEYOPT(4) = 1 or 2". In order to prevent node slippage, you can use real constant TOLS to extend the target surface when the default setting still cannot avoid the problem. For most point-to-surface contact problems, we recommend using CONTA175; see "Node-to-Surface Contact" later in this guide.
Smoothing is required for nodal detection algroithms, and it is performed by averaging surface normals connected to the node. As a result, the variation of the surface normal is continuous over the surface, which leads to a better calculation of friction behavior and a better convergence.
Real constant TOLS is used to add a small tolerance that will internally extend the edge of the target surface when you define the contact detection at the nodal point (KEYOPT(4) = 1 or 2). TOLS is useful for problems where contact nodes are likely to lie on the edge of targets (as at symmetry planes or for models generated in a node-to-node contact pattern). In these situations, the contact node may repeatedly "slip" off the target surface and go completely out of contact, resulting in convergence difficulties from oscillations. Units for TOLS are percent (1.0 implies a 1.0% increase in the target edge length). A small value of TOLS will usually prevent this situation from occurring. The default value is 10 for small deflection and 2 for large deflection (NLGEOM, ON).
The definition of KEYOPT(4) in node-to-surface contact element CONTA175 is different. KEYOPT(4) = 1 for surface-to-surface contact is equivalent to KEYOPT(4) = 1 for node-to-surface contact. However, KEYOPT(4) = 2 for surface-to-surface contact is equivalent to KEYOPT(4) = 0 for node-to surface contact. See KEYOPT(4). For the 3-D line-to-line contact element CONTA176 and the 3-D line-to-surface contact element CONTA177, KEYOPT(4) is not used to select the location of contact detection, and the contact normal is always perpendicular to both the contact and target surfaces. For CONTA176 and CONTA177, KEYOPT(4) is used to specify a surface-based constraint type.
Rigid body motion is usually not a problem in dynamic analyses. However, in static analyses, rigid body motion occurs when a body is not sufficiently restrained. "Zero or negative pivot" warning messages and impractical, excessively large displacements indicate unconstrained motion in a static analysis.
In simulations where rigid body motions are constrained only by the presence of contact, you must ensure that the contact pairs are in contact in the initial geometry. In other words, you want to build your model so that the contact pairs are "just touching." However, you can encounter various problems in doing so:
Rigid body profiles are often complicated, making it difficult to determine where the first point of contact might occur.
Small gaps between element meshes on both sides of the element pair can be introduced by numerical round-off, even if the solid model is built in an initially-contacting state.
Small gaps can exist between the integration points of the contact elements and target surface elements.
For the same reasons, too much initial penetration between target and contact surfaces can occur. In such cases, the contact elements may overestimate the contact forces, resulting in nonconvergence or in breaking-away of the components in contact.
The definition of initial contact is perhaps the most important aspect of building a contact analysis model. Therefore, you should always issue the CNCHECK command before starting the solution to verify the initial contact status. You may find that you need to adjust the initial contact conditions. ANSYS offers several ways to adjust the initial contact conditions of a contact pair.
The following techniques can be performed independently or in combinations of one or more at the beginning of the analysis. They are intended to eliminate small gaps or penetrations caused by numerical round-off due to mesh generation. They are not intended to correct gross errors in either the mesh or in the geometric data.
Use real constant CNOF to specify a contact surface offset.
Specify a positive value to offset the entire contact surface towards the target surface. Use a negative value to offset the contact surface away from the target surface.
If user-defined values are input for both CNOF and PINB, you must ensure that PINB is greater than CNOF. Otherwise, CNOF will be ignored. However, if a user-defined CNOF is input and the PINB value is left at its default value, the PINB value will be adjusted so that it is larger than the CNOF value, as described in Using PINB.
For the CONTA177 line-to-surface element, CNOF can be used to model thickness of the underlying beam elements. Input half of the beam thickness for CNOF to properly model the thickness effects. See Accounting for Thickness Effect (CNOF and KEYOPT(11)) for more information.
ANSYS can automatically provide the CNOF value to either just close the gap or reduce initial penetration. Set KEYOPT(5) as follows:
1: Closes the gap
2: Reduces initial penetration
3: Either closes the gap or reduces initial penetration
Use the real constant ICONT to specify a small initial contact closure. This is the depth of an "adjustment band" around the target surface. A positive value for ICONT indicates a scaling factor relative to the depth of the underlying elements. A negative value indicates an absolute contact closure value. The value of ICONT defaults to zero if KEYOPT(5) = 0, 1, 2, or 3. (The ICONT default is different when KEYOPT(12) = 6 for bonded-initial contact; see Selecting Surface Interaction Models for more information). If KEYOPT(5) = 4, ANSYS provides a small (but meaningful) value for ICONT according to the geometric dimensions, and prints a warning message stating what value was assigned. Any contact detection points that fall within this adjustment band are internally shifted to be on the target surface (see Figure 3.15: "Contact Surface Adjustment With ICONT"(a)). Only a very small correction is suggested; otherwise, severe discontinuity may occur (see Figure (b)).
The difference between CNOF and ICONT is that the former shifts the entire contact surface with the distance value CNOF, the latter moves all initially open contact points which are inside of adjustment band ICONT onto the target surface.
Use real constants PMIN and PMAX to specify an initial allowable penetration range. When either PMAX or PMIN is specified, ANSYS brings the target surface into a state of initial contact at the beginning of the analysis (see Figure 3.16: "Contact Surface Adjustment (PMIN, PMAX)"). If the initial penetration is larger than PMAX, ANSYS adjusts the target surface to reduce penetration. If the initial penetration is smaller than PMIN (and within the pinball region), ANSYS adjusts the target surface to ensure initial contact. Initial adjustment for contact status is performed only in translational modes.
Such adjustment of initial contact status will be performed for a rigid target surface that has either prescribed loads or displacements. Similarly, a target surface that has no boundary conditions specified may also be adjusted for initial contact.
When all the target surface nodes have a prescribed value of zero, the initial adjustment using PMAX and PMIN will not be performed.
Note that ANSYS treats applicable degrees of freedom for target surface nodes independently. For example, if you specify the UX degree of freedom to be "zero," then no initial adjustment is possible along the X direction. However, the PMAX and PMIN options will still be activated in the Y and Z directions.
The initial status adjustment is an iterative process. ANSYS uses a maximum of 20 iterations. If the target surface cannot be brought into an acceptable penetration range (i.e., in the range of PMIN to PMAX), the analysis proceeds with the original geometry. ANSYS issues a warning message in such circumstances, and you may need to manually adjust your initial geometry.
Figure 3.17: "A Scenario in Which Initial Adjustment Will Fail" illustrates a problem in which initial contact adjustment iteration will fail. The UY degree of freedom for the target has been restrained. Therefore, the only possible adjustment for initial contact is in the X direction. However, in this problem, any movement of the rigid target surface in the X direction will not establish initial contact.
For flexible-to-flexible contact, this technique not only moves the entire target surface but also moves the whole deformable body which attaches to the target surface. Make sure there is no other contact surface or target surface connecting with the deformable body.
Set KEYOPT(9) to adjust initial penetration or gap; see Figure 3.18: "Ignoring Initial Penetration, KEYOPT(9) = 1".
True initial penetration includes two parts:
Penetration or gap due to geometry
Penetration or gap due to user-defined contact surface offset (CNOF).
KEYOPT(9) provides the following capabilities:
To include initial penetration from both geometry and contact surface offset, set KEYOPT(9) = 0. This is the default.
To ignore initial penetration from both effects, set KEYOPT(9) = 1. When KEYOPT(12) = 4 or 5, this setting for KEYOPT(9) will also ignore the initial force in open-gap springs, thus creating an initially "perfect" contacting surface having no initial forces acting across the contact interface.
To include the defined contact surface offset (CNOF) but ignore the initial penetration due to geometry, set KEYOPT(9) = 3. When KEYOPT(12) = 4 or 5, this setting for KEYOPT(9) will also ignore the initial force in open-gap springs, thus creating an initially "perfect" contacting surface having no initial forces acting across the contact interface.
For problems such as an interference fit, over-penetration is expected. These problems often have convergence difficulties if the initial penetration is step-applied in the first load step. You may overcome convergence difficulties by ramping the initial penetration over the first load step, see Figure 3.20: "Ramping Initial Interference". The following KEYOPT(9) settings provide ramped capabilities:
To ramp the total initial penetration (CNOF + the offset due to geometry), set KEYOPT(9) = 2.
To ramp the defined contact surface penetration, but ignore the penetration due to geometry, set KEYOPT(9) = 4.
For both of the above KEYOPT(9) settings, you should also set KBC,0 and not specify any external loads in the first load step. Also, be sure that the pinball region is big enough to capture the initial interference.
You can use the above techniques in conjunction with each other. For example, you may wish to set a very precise initial penetration or gap but the initial coordinates of the finite element nodes may not be able to provide sufficient precision. To accomplish this, you could:
Use ICONT to move the initial open contact points just onto the target surface.
Use CNOF to specify a penetration (positive value) or gap (negative value).
Use KEYOPT(9) = 3 to resolve the initial penetration in the first substep (or KEYOPT(9) = 4 to gradually resolve the initial penetration).
ANSYS provides a printout (in the output window or file or via the CNCHECK) of the model's initial contact state for each target surface at the beginning of the analysis. This information is helpful for determining the maximum penetration or minimum gap for each target surface.
If no contact is detected for a specific target surface, ANSYS issues a warning. This occurs when the target surface is far from contact (i.e., outside of the pinball region), or when the contact/target elements have been killed.
See Positive and Negative Real Constants for more information on these real constants.
The initial contact status can be adjusted to close the gap by defining real constant ICONT or by ignoring the penetration (setting KEYOPT(9) = 1). However the initial contact adjustment is kept during the entire analysis as a rigid zone. The initial contact adjustment can cause a certain amount of residual force if a large rotation appears at the contact surface. This problem can be alleviated by issuing the CNCHECK,ADJUST command, which physically moves contact nodes towards the target surface under the following circumstances:
After issuing the CNCHECK,ADJUST command, the coordinates of the nodes that have been moved are modified as shown in Figure 3.21: "Effect of Moving Contact Nodes". You can change other contact related settings in PREP7 (for example, set KEYOPT(4) = 0 to use the Gauss detection option) and save the db file. Issuing the SAVE command before issuing the CNCHECK,ADJUST command is recommended in order to resume the .DB file with the original contact configuration.
For those contact pairs whose contact nodes you do not wish to physically move towards target surface, do not define KEYOPT(4) = 1 or 2.
The position and motion of a contact element relative to its associated target surface determines the contact element status. ANSYS monitors each contact element and assigns a status:
STAT = 0 Open far-field contact
STAT = 1 Open near-field contact
STAT = 2 Sliding contact
STAT = 3 Sticking contact
A contact element is considered to be in near-field contact when its integration points (Gauss points or nodal points) are within a code-calculated (or user-defined) distance to the corresponding target surface. This distance is referred to as the pinball region. The pinball region is a circle (in 2-D) or a sphere (in 3-D) centered about the Gauss point.
Use real constant PINB to specify a scaling factor (positive value for PINB when using command input) or absolute value (negative value for PINB when using command input) for the pinball region. You can specify PINB to have any value. By default, and assuming that large deflection effects apply (NLGEOM,ON), ANSYS defines the pinball region as a circle for 2-D or a sphere for 3-D of radius 4*depth (if rigid-to-flexible contact) or 2*depth (if flexible-to-flexible contact) of the underlying element. (See the discussion of element depth in Positive and Negative Real Constant Values.) If you include no large-deflection effects (NLGEOM,OFF), the default pinball region is half that of the large-deflection case. (For the no-separation (KEYOPT(12) = 4) and bonded-always (KEYOPT(12) = 5 options, the PINB default is different than described here. See Selecting Surface Interaction Models for more information.)
If you input a value for real constant CNOF (contact surface offset) and the default PINB value (as described above) is less than the absolute value of CNOF, the default for PINB will be set to the absolute value of (1.1*CNOF).
The computational cost of searching for contact depends on the size of the pinball region. Far-field contact element calculations are simple and add little computational demands. The near-field calculations (for contact elements that are nearly or actually in contact) are slower and more complex. The most complex calculations occur once the elements are in actual contact.
Setting a proper pinball region is useful to overcome spurious contact definitions if the target surface has several convex regions. However, the default setting should be appropriate for most contact problems.
See Positive and Negative Real Constants for more information on this real constant.
In some cases of self contact, ANSYS may erroneously assume contact between a contact and target surface that are in very close geometrical position as shown below.
Figure 3.22 Auto Spurious Prevention
ANSYS will alert you when it first detects spurious contact in each load step. If ANSYS encounters such contact on the first load step, you'll see the following error message:
Contact element x has too much penetration related to target element y. We assume it (may be more elements) is spurious contact.
If ANSYS encounters an abrupt change in contact that it classifies as spurious contact, you'll see the following message:
Contact element x status changed abruptly with target element y. We assume it (may be more elements) is spurious contact.
ANSYS issues such messages only once per load step. It does not notify you of additional cases of spurious contact that were ignored during the load step.
The surface-to-surface contact elements support normal unilateral contact models as well as other mechanical surface interaction models.
Use KEYOPT(12) to model different contact surface behaviors.
KEYOPT(12) = 0 models standard unilateral contact; that is, normal pressure equals zero if separation occurs.
KEYOPT(12) = 1 models perfectly rough frictional contact where there is no sliding. This case corresponds to an infinite friction coefficient and ignores the material property MU.
KEYOPT(12) = 2 models no separation contact, in which the target and contact surfaces are tied (although sliding is permitted) for the remainder of the analysis once contact is established.
KEYOPT(12) = 3 models "bonded" contact, in which the target and contact surfaces are bonded in all directions (once contact is established) for the remainder of the analysis.
KEYOPT(12) = 4 models no separation contact, in which contact detection points that are either initially inside the pinball region or that once involve contact always attach to the target surface along the normal direction to the contact surface (sliding is permitted).
KEYOPT(12) = 5 models bonded contact, in which contact detection points that are either initially inside the pinball region or that once involve contact always attach to the target surface along the normal and tangent directions to the contact surface (fully bonded).
KEYOPT(12) = 6 models bonded contact, in which the contact detection points that are initially in a closed state will remain attached to the target surface and the contact detection points that are initially in an open state will remain open throughout the analysis.
For the no-separation option (KEYOPT(12) = 4), the bonded-always option (KEYOPT(12) = 5), and the bonded-initial option (KEYOPT(12) = 6), separation of contact can be modeled using the debonding feature. For more information, see " Debonding".
For the no-separation option (KEYOPT(12) = 4) and the bonded-always option (KEYOPT(12) = 5), a relatively small PINB value (pinball region) may be used to prevent any false contact. For these KEYOPT(12) settings, the default for PINB is 0.25 (25% of the contact depth) for small deformation analysis (NLGEOM,OFF) and 0.5 (50% of the contact depth) for large deformation analysis (NLGEOM,ON). (The default PINB value may differ from what is described here if CNOF is input. See Using PINB for more information.)
For the bonded-initial option (KEYOPT(12) = 6), a relatively large ICONT value (initial contact closure) may be used to capture the contact. For this KEYOPT(12) setting, the default for ICONT is 0.05 (5% of the contact depth) when KEYOPT(5) = 0 or 4.
See Positive and Negative Real Constants for more information on the real constants mentioned above.
The FKOP real constant can be used in two different ways, depending on the surface interaction model used. For no separation or bonded contact (KEYOPT(12) = 2 through 6), FKOP is the stiffness factor applied when contact opens. For standard or rough contact (KEYOPT(12) = 0 or 1), FKOP represents a contact damping coefficient.
When modeling either no-separation or bonded contact, you may need to set a value for FKOP to apply a stiffness factor when contact opens. If FKOP is a scaling factor (positive value for command input), the true contact opening stiffness equals FKOP times the contact stiffness applied when contact closes. If FKOP is an absolute value (negative value for command input), the value is applied as an absolute contact opening stiffness. The default FKOP value is 1.
No separation and bonded contact generate a "pull-back" force when contact opening occurs, and that force may not completely prevent separation. To reduce separation, define a larger value for FKOP. Also, in some cases separation is expected while connection between the contacting surfaces is required to prevent rigid body motion. In such instances, you can specify a small value for FKOP to maintain the connection between the contact surfaces (this is a "weak spring" effect).
For standard contact (KEYOPT(12) = 0) or rough contact (KEYOPT(12) = 1), you can use FKOP to define a contact damping coefficient. This option is primarily used to damp relative motions between the contact and target surfaces for open contact. It provides certain resistance to reduce the risk of rigid body motion. The damping force is calculated by
where Vrel is the slip rate and Ac is the area domain of the contact surface. The units of the damping coefficient are FORCE/(AREA*VELOCITY). For the contact force-based model, the units are FORCE/VELOCITY. To specify the contact damping coefficient, enter a negative number for FKOP. Positive input will be ignored.
The bonded contact options (KEYOPT(12) = 5 or 6) can be used with the MPC approach (KEYOPT(2) = 2) to model various types of assemblies (see "Multipoint Constraints and Assemblies"). When this method is used to model shell-shell assemblies, there may be cases where the MPC approach causes the model to be overconstrained. To alleviate this problem, you can use a penalty based method for shell-shell assemblies. Using the penalty based method constrains rotational DOFs in addition to translational DOFs. This capability is available for contact elements CONTA173, CONTA174, and CONTA175 in conjunction with TARGE170.
To use this method, first set KEYOPT(2) = 0 or 1 (augmented Lagrangian or penalty function) and KEYOPT(12) = 5 or 6 (bonded always or bonded initial contact) in the contact elements. Setting KEYOPT(5) = 2 (shell-shell constraint) for the target elements will cause this penalty based method to be used.
The penalty stiffness used for rotational DOFs is equal to (contact stiffness used for translational DOFs) * (contact length). The contact stiffness for translational DOFs is input by real constant FKN, or defaults to an internal value. The contact length is always calculated internally and it is printed in the output file. The figure below shows the difference in using conventional penalty based shell-shell assembly and this method.
Figure 3.23 Penalty-Based Shell-Shell Assembly
The surface-to-surface contact elements can model a rigid body (or one linear elastic body) contacting another linear elastic body undergoing small motions. These elastic bodies can be modeled using superelements, which greatly reduces the number of degrees of freedom involved in the contact iteration. Remember that any contact or target nodes must be either all master nodes of the superelements or all slave nodes of the superelements. When the contact pair is built in original elements used to generate superelements, the contact status will not change from its initial status.
Because the superelement consists only of a group of retained nodal degrees of freedom, it has no surface geometry on which ANSYS can define a contact and target surface. Therefore, the contact and target surface must be defined on the surface of the original elements before they are assembled into a superelement. Information taken from the superelement includes nodal connection and assembly stiffness, but no material property or stress states (whether axisymmetric, plane stress, or plane strain). One restriction is that the material property set used for the contact elements must be the same as the one used for the original elements before they were assembled into superelements.
No superelement used (KEYOPT(3) = 0)
Axisymmetric, use with superelements only (KEYOPT(3) = 1)
Plane strain or plane stress with unit thickness, use with superelements only (KEYOPT(3) = 2)
Plane stress with thickness input use with superelements only (KEYOPT(3) = 3). Note that for this case, use real constant R2 to specify the thickness.
KEYOPT(3) has different meanings in the node-to surface contact element, CONTA175, and in the line-to-line contact element, CONTA176. KEYOPT(3) is not used for the line-to-surface contact element, CONTA177.
For CONTA175, KEYOPT(3) = 1 defines the contact traction-based model. In this case, all of the real constant inputs and contact result quantities have the same units as the surface-to-surface contact elements. KEYOPT(3) = 0 (default) defines the contact force model. In this model, certain real constants and contact result quantities can have different units (a factor of AREA (Length2) difference). See KEYOPT(3).
You can account for the thickness of shells (2-D and 3-D) and beams (2-D) using KEYOPT(11). (This does not apply to 3-D beam-to-beam contact.) For rigid-to-flexible contact, ANSYS will automatically shift the contact surface to the bottom or top of the shell/beam surface. For flexible-to-flexible contact, ANSYS will automatically shift both the contact and target surfaces which are attached to shell/beam elements. By default, ANSYS does not account for the element thickness, and beams and shells are discretized at their mid-surface in which penetration distance is calculated from the mid-surface.
When you set KEYOPT(11) = 1 to account for beam or shell thickness, the contact distance is calculated from either the top or the bottom surface as specified previously in Steps in a Contact Analysis.
Only use KEYOPT(11) = 1 to account for thickness when you have shell or beam elements with nodes located at the middle surface (for example, KEYOPT(11) = 0 for SHELL91).
When building your model geometry, if you are going to account for thickness, remember the offsets which may come from either the contact surface or target surface or from both. When you specify a contact offset (CNOF) along with setting KEYOPT(11) = 1, it is defined from the top or bottom of the shell/beam, not the mid-surface. When used with SHELL181, SHELL208, SHELL209, or SHELL281, changes in thickness during deformation are also taken into account.
Time step control is an automatic time stepping feature that predicts when the status of a contact element will change and cuts the current time step back.
Use KEYOPT(7) to take one of four actions to control time stepping, where KEYOPT(7) = 0 provides no control (the default), and KEYOPT(7) = 3 provides the most control.
KEYOPT(7) = 0: No control. The time step size is unaffected by the prediction. This setting is appropriate for most analyses when automatic time stepping is activated and a small time step size is allowed.
KEYOPT(7) = 1: Time step size is bisected if too much penetration occurs during an iteration, or if the contact status changes dramatically.
KEYOPT(7) = 2: Predict a reasonable increment for the next substep.
KEYOPT(7) = 3: Predict a minimal time increment for the next substep.
The surface-to-surface contact and target elements allow birth and death and also follow the birth and death status of their underlying elements. The elements can be removed for part of an analysis and then reactivated for a later stage. This feature is useful for modeling complex metal forming processes where multiple rigid target surfaces need to interact with the contact surface at different stages of the analysis. Springback modeling often requires removing the rigid tools at the end of the forming processes. This option cannot be used with "no separation" or bonded contact.