3.9. Set the Real Constants and Element KEYOPTS

The program uses 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 Element 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.

In many cases, certain default settings may not be appropriate for your specific model. You can issue the CNCHECK,AUTO command to obtain optimized KEYOPT and real constant settings in terms of robustness and efficiency. Usually, only the undefined or default KEYOPT settings and real constants are changed. Refer to the CNCHECK command description for details of which settings are typically changed. You should always verify these changes by issuing the CNCHECK,DETAIL command to list current contact pair properties. If necessary, you can overwrite the optimized settings by redefining specific KEYOPTs (KEYOPT command) and real constants (RMODIF command).

The following related topics are available:

3.9.1. Real Constants

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.

  • 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.

  • FWGT specifies the weight factor for the distribution of heat between the contact and target surfaces for thermal contact or for electric contact.

  • 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) = 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).

  • PPCN specifies the pressure-penetration criterion (surface contact elements only).

  • FPAT specifies the fluid penetration acting time (surface contact elements only).

  • COR specifies the coefficient of restitution for impact between rigid bodies using impact constraints (KEYOPT(7) = 4).

  • STRM specifies load step number for ramping penetration.

  • FDMN specifies the stabilization damping factor in the normal direction.

  • FDMT specifies the stabilization damping factor in the tangential direction.

  • FDMD specifies the destabilizing squeal damping factor (3-D only).

  • FDMS specifies the stabilizing squeal damping factor (3-D only).

  • TBND specifies the critical bonding temperature.

Real constant defaults can vary depending on the environment you are working in. The following table compares the program default values with those of the ANSYS Workbench product. See your ANSYS sales representative for more information about ANSYS Workbench.

Table 3.1:  Summary of Real Constant Defaults in Different Environments

Real ConstantsDescriptionANSYS Mechanical APDL DefaultANSYS Workbench Default
No.Name   
1R1Radius associated with target geometry [5]

0

n/a
2R2

Radius associated with target geometry

Superelement thickness [5]

0

1

n/a
3FKNNormal penalty stiffness factor1[1]
4FTOLNPenetration tolerance factor0.10.1
5ICONTInitial contact closure00
6PINBPinball region[2][2]
7PMAXUpper limit of initial penetration00
8PMINLower limit of initial penetration00
9TAUMAXMaximum friction stress1.00E+201.00E+20
10CNOFContact surface offset00
11FKOPContact opening stiffness11
12FKTTangent penalty stiffness factor11
13COHEContact cohesion00
14TCCThermal contact conductance0[3]
15FHTGFrictional heating factor11
16SBCTStefan-Boltzmann constant0n/a
17RDVFRadiation view factor1n/a
18FWGTHeat distribution weighing factor0.50.5
19ECCElectric contact conductance0[7]
20FHEGJoule dissipation weighting factor1n/a
21FACTStatic/dynamic ratio11
22DCExponential decay coefficient00
23SLTOAllowable elastic slip1%1%
24TNOPMaximum allowable tensile contact pressure[6][6]
25TOLSTarget edge extension factor[4][4]
26MCCMagnetic contact permeance0n/a
27PPCNPressure-penetration criterion0n/a
28FPATFluid penetration acting time0.01n/a
29CORCoefficient of restitution11
30STRMLoad step number for ramping penetration11
31FDMNNormal stabilization damping factor1n/a
32FDMTTangential stabilization damping factor0.001n/a
33FDMDDestabilizing squeal damping factor1n/a
34FDMSStabilizing squeal damping factor0n/a
35TBNDCritical bonding temperaturen/an/a

  1. FKN = 10 for bonded. For all other, FKN = 1.0, but if bonded and other contact behavior exists, FKN = 1 for all.

  2. Depends on contact behavior (rigid vs. flex target), NLGEOM,ON or OFF, KEYOPT(9) setting, KEYOPT(12) setting, and the value of CNOF (see Using PINB).

  3. Calculated as a function of highest conductivity and overall model size.

  4. 10% of target length for NLGEOM,OFF.

    2% of target length for NLGEOM,ON.

  5. 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.

  6. TNOP defaults to the force convergence tolerance divided by contact area at contact nodes.

  7. Calculated as a function of lowest resistivity and overall model size.

Command(s): R
GUI: Main Menu> Preprocessor> Real Constants

3.9.1.1. Positive and Negative Real Constant Values

For the real constants FKN, FTOLN, ICONT, PINB, PMAX, PMIN, FKOP, FKT, SLTO, TNOP, FDMN, and FDMT, you can specify either a positive or negative value. The program interprets a positive value as a scaling factor and interprets a negative value as the absolute value. The program 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. Contact related settings (ICONT, FTOLN, PINB, PMAX, PMIN, FKN, FKT, SLTO) are always averaged across all contact elements in a contact pair.

Figure 3.12: 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. The final contact depth may also be adjusted based on the average contact length when the shape of the underlying element is relatively thin.

Figure 3.12:  Depth of the Underlying Element

Depth of the Underlying Element

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.


Note:  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.


3.9.1.2. Defining Real Constants in Tabular Format

For certain real constants, you can define the real constant as a function of primary variables by using tabular input. Table 3.2: Real Constants and Corresponding Primary Variables for CONTA171-CONTA177 lists real constants that allow tabular input and their associated primary variables.

Use the *DIM command to dimension the table and identify the variables. Keep in mind that you should follow the positive and negative convention for the real constant values. The possible primary variables used in tabular input are:

Time (TIME)
X location (X) in local/global coordinates
Y location (Y) in local/global coordinates
Z location (Z) in local/global coordinates
Temperature (TEMP degree of freedom)
Contact pressure (PRESSURE); specify positive index values for compression, negative index values for tension
Geometric contact gap/penetration (GAP); specify positive index values for penetration, negative index values for an open gap

Note that the primary variables X, Y, and Z represent the coordinates of the contact detection points at the beginning of solution (undeformed configuration). Coordinate system applicability is determined by the *DIM command.

When defining the tables, the primary variables must be in ascending order in the table indices (as in any table array).

When defining real constants via the R, RMORE, or RMODIF command, enclose the table name in % signs (i.e., %tabname%). For example, given a table named CNREAL3 that contains normal contact stiffness (FKN) values, you would issue a command similar to the following:

RMODIF,NSET,3,%CNREAL3%      ! NSET is the real constant set ID associated with the contact pair

For more information and examples of using table inputs, see TABLE Type Array Parameters in the ANSYS Parametric Design Language Guide; Applying Loads Using TABLE Type Array Parameters in the Basic Analysis Guide; and the *DIM command in the Command Reference.

Table 3.2:  Real Constants and Corresponding Primary Variables for CONTA171-CONTA177

Real ConstantsTIMELocation (X,Y,Z) [1]TEMPPRESSURE [2]GAP [3]%_CNPROP% [6]
NumberName      
3FKNxxxx [4]xx
9TAUMAXxxxxxx
10CNOFxx   x
11FKOPxxx xx
12FKTxxxxxx
14TCCxxxx [5]xx
17RDVFxxx xx
19ECCxxxx [5]xx
26MCCxxx xx
27PPCNxxxxxx
31FDMNxxx xx
32FDMTxxx xx
35TBNDxxxxxx

  1. Coordinates of the contact detection points at the beginning of solution (undeformed configuration).

  2. Contact normal pressure via the primary variable PRESSURE. For PRESSURE index values, specify positive values for compression; negative value for tension.

  3. Geometric contact gap/penetration via the primary variable GAP. For GAP index values, specify positive values for penetration; negative values for an open gap.

  4. Contact pressure at the end of the previous iteration, if it exists.

  5. When the contact element type does not contain any structural degrees of freedom, the real constants TCC, ECC, and MCC should not be defined as a function of the contact pressure.

  6. See Defining Real Constants via a User Subroutine.

3.9.1.3. Defining Real Constants via a User Subroutine

You can write a USERCNPROP.F subroutine to define your own real constants. The real constants that can be defined via this user subroutine are noted in the real constant table found in each contact element description.

When defining real constants with the R, RMORE, or RMODIF command, you must use the reserved table name _CNPROP and enclose it in % signs (%_CNPROP%). When a value field on one of these commands is set to %_CNPROP%, the program internally calls the user-defined subroutine USERCNPROP. For example, to specify your own normal contact stiffness, FKN, you would issue a command similar to the following:

RMODIF,NSET,3,%_CNPROP%      ! NSET is the real constant set ID associated with the contact pair

If several real constant values are defined via %_CNPROP% for a given contact pair, the subroutine will be called for each of these real constant entries. Therefore, you can use a single USERCNPROP subroutine to modify multiple real constant values. For details, see Defining Your Own Real Constant (USERCNPROP).

3.9.2. Element KEYOPTS

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.


Note:  KEYOPT(3) has different meanings, depending on the element type and other circumstances:


KEYOPT defaults can vary depending on the environment you are working in. The following table compares the default values between the various contact creation tools, for both ANSYS Mechanical APDL and ANSYS Workbench. (See your ANSYS, Inc. sales representative for more information about ANSYS Workbench.)

Table 3.3:  Summary of KEYOPT Defaults in Different Environments

KEYOPTDescriptionANSYS Mechanical APDLContact WizardGeneral Contact (GCGEN command)ANSYS Workbench Default Linear (bonded, no sep)ANSYS Workbench, Default Nonlinear (standard, rough)
1Selects DOF*ManualAutoAutoAutoAuto
2Contact AlgorithmAug. Lagr.Aug. Lagr.PenaltyAug. Lagr.Aug. Lagr.
3Unit control for normal contact stiffnessNo unit controlNo unit controlNot supportedn/an/a
4Location of contact detection pointgaussgaussgaussgaussgauss
5CNOF/ICONT adjustmentNo adjustNo adjustNot supportedNo adjustNo adjust
6Contact stiffnes variationUse default rangeUse default rangeUse default rangeUse default rangeUse default range
7Element level time increment controlNo controlNo controlNo controlNo controlNo control
8Asymmetric contact selectionNo actionNo actionGCDEF optionNo actionNo action
9Effect of initial penetration or gapInclude allInclude allTBDATA,,C1Exclude allInclude all
10Contact stiffness updateBetween load stepsBetween iterationsBetween iterationsBetween iterationsBetween iterations
11Beam/shell thickness effectExcludeExcludeIncludeExcludeExclude
12Behavior of contact surfaceStandardStandardTB,INTER,,,TBOPTBondedn/a
14Behavior of fluid penetration loadIteration- basedIteration- basedNot supportedn/an/a
15Effect of stabilization dampingActive only in first load stepn/aActive only in first load stepn/an/a
16Squeal damping controlsDamping scaling factorn/aNot supportedn/an/a

*Manual: Requires user to define.

Auto: Selection is based on DOF of underlying element.

Command(s): KEYOPT, ET
GUI: Main Menu> Preprocessor> Element Type> Add/Edit/Delete

3.9.3. Selecting a Contact Algorithm (KEYOPT(2))

For surface-to-surface contact elements, the program 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) = 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 about how to use this feature.

3.9.3.1. Lagrange Multiplier Method Considerations

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. The program 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 (e.g., PCG) 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 3-D higher order contact elements (CONTA174), the Lagrange multiplier method is applied at each contact node (including mid-side nodes), but the penalty method is applied on the center of the contact elements, even when KEYOPT(2)=3,4 is set.

3.9.4. Determining Contact Stiffness and Allowable Penetration

3.9.4.1. Introduction

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.

The program 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.

3.9.4.2. Using FKN and FTOLN

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). You can also define an absolute normal contact stiffness by specifying a negative value for FKN.

In addition, FKN can be defined as a function of primary variables by using tabular input (i.e., %tabname%). The possible primary variables include time, temperature, initial contact detection point location (at the beginning of solution), contact pressure of the previous iteration (positive PRESSURE index values indicate compression, negative PRESSURE index values indicate tension), and current geometric penetration (positive GAP index values indicate penetration, negative GAP index values indicate an open gap). For more information, see Defining Real Constants in Tabular Format.

The user subroutine USERCNPROP.F is also available for defining FKN. To use this subroutine, you must specify the table name %_CNPROP% as the real constant value. For more information, see Defining Real Constants via a User Subroutine.

If you input an absolute normal contact stiffness by specifying a negative value for FKN, you can control the units by using KEYOPT(3). By default, the units of the user-specified absolute normal contact stiffness is FORCE/LENGTH3. You can change the units to FORCE/LENGTH by setting KEYOPT(3) = 1. This KEYOPT(3) = 1 setting is valid only when a penalty-based algorithm is used (KEYOPT(2) = 0 or 1) and the absolute normal contact stiffness is explicitly specified. Using KEYOPT(3) = 1 is not recommended in conjunction with nodal detection options (KEYOPT(4) = 1 or 2) if any midside nodes exist for the CONTA174 3-D contact element. (KEYOPT(3) has different meanings in other situations. For more information, see the description of KEYOPT(3) in Element KEYOPTS.)


Note:  The default contact normal stiffness is affected by defined material properties, element size, the user-defined penetration tolerance (FTOLN), and the total number of degrees of freedom in the model. Many factors may be applied to the actual contact normal stiffness during the solution. The default contact stiffness listed in the Contact Manager or by the CNCHECK command may be different from the actual contact stiffness reported by the ETABLE command. You should check the value reported by ETABLE to 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.12: 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 the program 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. In general, the default contact normal stiffness is inversely proportional to the final penetration tolerance; the tighter the tolerance, the higher the contact normal stiffness.

When you use real constant FTOLN in conjunction with KEYOPT(10) = 2, the normal contact stiffness (used for the penalty method and the augmented Lagrange method) will be updated at each iteration based on the current mean stress of the underlying elements and the allowable tolerance (FTOLN times the depth of the underlying elements). See also Using KEYOPT(10).


Note:  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.



Note:  FTOLN is also used in the Lagrange multiplier methods (KEYOPT(2) = 3, 4) as a chattering control parameter.


3.9.4.3. Using FKT and SLTO

The program 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) = 2, or when the Lagrange multiplier on normal and penalty on tangent option is used (KEYOPT(2) = 3), the program 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. The program 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).

In addition, FKT can be defined as a function of primary variables by using tabular input (i.e., %tabname%). The possible primary variables include time, temperature, initial contact detection point location (at the beginning of solution), current contact pressure (positive PRESSURE index values indicate compression, negative PRESSURE index values indicate tension), and current geometric penetration (positive GAP index values indicate penetration, negative GAP index values indicate an open gap). For more information, see Defining Real Constants in Tabular Format.

The user subroutine USERCNPROP.F is also available for defining FKT. To use this subroutine, you must specify the table name %_CNPROP% as the real constant value. For more information, see Defining Real Constants via a User Subroutine.

3.9.4.4. Additional Considerations for Specifying Contact Stiffness

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":

  1. 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.

  2. Run the analysis up to a fraction of the final load (just enough to get the contact fully established).

  3. 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.

  4. 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.

In addition, keep these points in mind when specifying contact stiffness:

  • For bonded contact and rough contact, the program uses MU = 1.0 to calculate tangential contact stiffness. The default tangential contact stiffness is proportional to the normal stiffness when the contact status is closed or open (near-field). When an absolute value of tangential stiffness is specified (a negative value input for FKT), the tangential stiffness remains unchanged regardless of the contact status.

  • Generally, the contact stiffness, FKN and FKT, has units of FORCE/LENGTH3. However, for contact force-based models the contact stiffness has units FORCE/LENGTH. This applies to CONTA175 with KEYOPT(3) = 0, CONTA176 with KEYOPT(3) = 0 or 1, and CONTA177 with KEYOPT(3) = 0. In addition, the absolute normal contact stiffness (i.e., a negative value input for FKN) can have units of FORCE/LENGTH under some circumstances; see Using FKN and FTOLN for more information.

3.9.4.5. Using KEYOPT(10)

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:

  • 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) = 2: 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).


Note:  When a Lagrange multiplier method (KEYOPT(2) = 3, 4) or MPC algorithm (KEYOPT(2) = 2) is used, KEYOPT(10) is ignored.


3.9.4.6. Using KEYOPT(6)

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. For example:

  • In the case of a very small penetration tolerance (FTOLN), a larger normal contact stiffness is often needed.

  • If convergence difficulties are encountered (due to nonlinear materials, localized contact, etc.), a downward adjustment to stiffness may be helpful.

  • 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) = 2 by calculating an optimal allowable range in stiffness for use in the updating scheme. 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.

Use of KEYOPT(6) is not recommended when contact convergence is relatively easy as it might produce an unnecessary drop in contact stiffness.

3.9.4.7. Chattering Control Parameters

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 the program assumes that the contact status remains unchanged. FTOLN is the maximum allowable penetration and TNOP is the maximum allowable tensile contact pressure.


Note:  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.



Note:  For contact force-based models, TNOP is the maximum allowable tensile contact force. This applies to CONTA175 with KEYOPT(3) = 0, CONTA176 with KEYOPT(3) = 0 or 1, and CONTA177 with KEYOPT(3) = 0.


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 the program continues to the next iteration.

The program provides reasonable defaults for FTOLN and TNOP. FTOLN defaults to the displacement convergence tolerance. TNOP defaults to 10% of the force convergence tolerance divided by the contact area at contact nodes.

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).

The objective of FTOLN and TNOP is to provide stability to models which exhibit contact chattering due to changing contact status. If the values you use for these tolerances are too small, the solution will require more iterations. If the values are too large, however, the accuracy of the solution will be affected as a certain amount of penetration or tensile contact force is allowed.

3.9.5. Choosing a Friction Model

3.9.5.1. Introduction

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.

As an alternative to the program-supplied friction model, you can define your own friction model with the USERFRIC subroutine (see Writing Your Own Friction Law (USERFRIC)). Furthermore, you can define your own contact interaction behavior with the USERINTER subroutine (see Defining Your Own Contact Interaction (USERINTER)).

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, the program 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.

3.9.5.2. Coefficient of Friction

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), the program assumes infinite frictional resistance regardless of the specified value of MU.

MU can have dependence on temperature, time, normal pressure, sliding distance, or sliding relative velocity. Suitable combinations of up to two fields can be used to define dependency; for example, temperature only, temperature and sliding distance, or sliding relative velocity and normal pressure. 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.

Note that if the coefficient of friction is defined as a function of temperature, the program always uses the contact surface temperature as the primary variable (not the average temperature from the contact and target surfaces).

The program 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 Material Reference for details on how to specify the coefficients of friction.

3.9.5.3. Using TAUMAX, FACT, DC, and COHE

The program 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.

You have an option to define TAUMAX as a function of primary variables by using tabular input (i.e., %tabname%). The possible primary variables include time, temperature, initial contact detection point location (at the beginning of solution), current contact pressure (positive PRESSURE index values indicate compression, negative PRESSURE index values indicate tension), and current geometric penetration (positive GAP index values indicate penetration, negative GAP index values indicate an open gap). For more information, see Defining Real Constants in Tabular Format.

The user subroutine USERCNPROP.F is also available for defining TAUMAX. To use this subroutine, you must specify the table name %_CNPROP% as the real constant value. For more information, see Defining Real Constants via a User Subroutine.

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.13: Sliding Contact Resistance).

Figure 3.13:  Sliding Contact Resistance

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.

3.9.5.4. Static and Dynamic Friction Coefficients

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.

The program provides the following exponential decay friction model:

where:

μ = 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 the program.

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.14: Friction Decay shows the exponential decay curve where the static coefficient of friction is given by:

Figure 3.14:  Friction Decay

Friction Decay

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.

3.9.5.5. Forced Frictional Sliding Using Velocity Input

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. The program determines the sliding direction based on the direction of the sliding velocities.

This feature is applicable to 3-D contact (CONTA173, CONTA174, CONTA175) and is primarily used 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) on the brake rotor need to be included in the rotating element component (CM command) that is specified on the CMROTATE command. We recommend that you include only the contact elements or only the target elements in the element component.

Velocities defined by CMROTATE will be ignored for the following contact definitions:

Frictionless contact
Rough contact (KEYOPT(12) = 1)
Bonded contact (KEYOPT(12) = 3, 5, 6)
MPC contact (KEYOPT(2) = 2)

Note:  You should always verify the sliding direction when the velocities defined by CMROTATE are applied on nodes that are shared by more than one frictional contact pair. In this situation, you can redefine any contact elements that have a potentially incorrect sliding direction as frictionless contact.


The amplitude of the sliding velocity defined by CMROTATE will affect the solution when the friction coefficient is specified as a function of sliding velocity via the command TB,FRIC, or when static and dynamic friction is defined via the real constants FACT and DC.

In a complex eigenvalue extraction analysis using the QRDAMP or DAMP methods (see MODOPT), the effects of squeal damping will contribute to the damping matrix. The squeal damping can be identified as two parts: destabilizing damping and stabilizing damping.

You can activate destabilizing squeal damping by one of the following methods:

  1. Define friction as a function of sliding velocity via the TB,FRIC command.

  2. Define static/dynamic friction via real constants FACT and DC.

  3. Define a constant friction-sliding velocity gradient via real constant FDMD in conjunction with KEYOPT(16) = 1.

  4. Specify the destabilizing squeal damping coefficient directly (either a positive or negative value) in conjunction with KEYOPT(16) = 2.

When the destabilizing squeal damping is included by method (1) or (2), you can study its effects by using FDMD as a scaling factor (KEYOPT(16) = 0); FDMD defaults to 1.0. The program multiplies the internally calculated destabilizing damping by this factor.

You can specify a constant friction-sliding velocity gradient directly via FDMD by setting KEYOPT(16) = 1. The defined gradient has units of TIME/LENGTH and it is negative in general.

You can also specify the destabilizing squeal damping coefficient directly via FDMD by setting KEYOPT(16) = 2. The defined damping coefficient has units of MASS/(AREA*TIME) and it is negative in general. In a linear non-prestressed modal analysis, this is the only way to take the destabilizing squeal damping effects into account.

The stabilizing squeal damping is deactivated by default. To activate it, you must specify the scaling factor via the real constant FDMS. FDMS defaults to 0.0. The program multiplies the internally calculated stabilizing damping by this factor. By setting KEYOPT(16) = 1 or KEYOPT(16) = 2 you can specify the stabilizing squeal damping coefficient directly via FDMS. The defined damping coefficient has units of MASS/(AREA*TIME) and it is positive in general. In a linear non-prestressed modal analysis, this is the only way to take the stabilizing squeal damping effects into account.

If squeal damping is included in a brake squeal modal analysis that uses the QR Damp eigensolver (MODOPT,QRDAMP command), care should be taken not to generate a damping matrix with large values (coefficients) relative to the values of the stiffness matrix. The accuracy of the QRDAMP eigensolver is based on the assumption that the values in the damping matrix are at least an order of magnitude smaller than the stiffness matrix values. If large squeal damping matrix values are generated in conjunction with a QRDAMP modal solution, then the QRDAMP eigensolver could produce spurious zero modes, which can generally be ignored. In this case, the non-zero eigenvalues from the QRDAMP modal solution are still accurate. It is recommended that you use the DAMP eigensolver (MODOPT,DAMP) to check the final solution.

3.9.6. Selecting Location of Contact Detection

The following topics related to selecting the location of contact detection are available:

3.9.6.1. Introduction

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.15: Contact Detection Located at Gauss Point.

Figure 3.15:  Contact Detection Located at Gauss Point

Contact Detection Located at Gauss Point

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.

3.9.6.2. Using KEYOPT(4) and TOLS

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.16: 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.

Figure 3.16:  Contact Detection Point Location at Nodal Point

Contact Detection Point Location at Nodal Point

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.17: Node Slippage Using Nodal Detection 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.

Figure 3.17:  Node Slippage Using Nodal Detection KEYOPT(4) = 1 or 2

Node Slippage Using Nodal Detection KEYOPT(4) = 1 or 2

Smoothing is required for nodal detection algorithms, 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.

3.9.6.3. Using the Surface Projection Based Contact Method (KEYOPT(4) = 3)

You can define the surface projection contact method by setting KEYOPT(4) = 3 for surface-to-surface contact elements (CONTA171 through CONTA174). For this method, the contact detection remains at contact nodal points. This option enforces a contact constraint on an overlapping region of the contact and target surfaces (see Figure 3.18: Surface Projection Based Contact) rather than on individual contact nodes (KEYOPT(4) = 1, 2) or Gauss points (KEYOPT(4) = 0). The contact penetration/gap is computed over the overlapping region in an average sense. The advantages of using this option are the following:

  • In general, it provides more accurate contact tractions and stresses of underlying elements compared with other KEYOPT(4) settings.

  • The results are less sensitive to the designation of the contact and target surface.

  • It satisfies moment equilibrium when an offset exists between contact and target surfaces with friction.

  • Contact forces do not jump when contact nodes slide off the edge of target surfaces. The real constant TOLS is not used with this option.

Figure 3.18:  Surface Projection Based Contact

Surface Projection Based Contact

There are certain disadvantages to using surface projection based contact, as follows:

  • This method is computationally more expensive since more nodes are included in each contact constraint condition, especially if 3-D higher order contact/target elements are used in the model. This effect will be more obvious when a modal has a large percentage of contact/target elements, or when the target elements are much more refined than the contact elements.

  • When the target elements are extremely refined, the program may issue an error message stating that the data points for a particular node exceed the limit. To resolve this, you should switch to another contact detection option or flip the contact and target surfaces.

  • This method calculates the penetration/gap over the contacting area in an average sense. When a model has corner or edge contact, the averaged penetration/gap could be quite different than the real geometric penetration observed at contact nodes. In this situation, mesh refinement is usually required in order to achieve an accurate solution.


Note:  The surface projection contact method currently does not support the following:

  1. Thermal contact modeled via a “free thermal surface” definition.

  2. Rigid surfaces defined by primitive target segments

  3. 3-D contact/target elements with partially dropped midside nodes (dropping all midside nodes is supported)


3.9.7. Adjusting Initial Contact Conditions

The following topics related to adjusting initial contact conditions are available:

3.9.7.1. Introduction

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 surface projection based contact, a numerical gap distance can exist even though geometric penetration is observed at a contact node. This can occur because the numerical distance is obtained over the overlapping area in an average sense.

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. The program offers several ways to adjust the initial contact conditions of a contact pair.


Note:  When contact or target elements are deactivated (EKILL command) in the first load step, the program might not adjust the initial contact conditions correctly. Therefore, you should not deactivate contact or target elements at the beginning of the analysis if you wish to make initial contact adjustments.


3.9.7.2. Using PMIN, PMAX, CNOF, ICONT, STRM. KEYOPT(5), and KEYOPT(9)

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.

  1. 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.


    Note:  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.



    Note:  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.


    The program 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

    Tabular input can also be used to define CNOF. The tabular input can be defined as a function of time and/or initial contact detection point location (at the beginning of solution) in global or local coordinates. For more information, see Defining Real Constants in Tabular Format.

    As an example of when tabular input may be useful, consider the case of a CAD geometry based on nominal values. The geometry may lack a slight curvature variation that is important for analysis purposes. Moving nodes to the actual positions can be a tedious process, yet using the original geometry and neglecting the slight variation in curvature will result in a different contacting area. Consequently, use of CNOF as a function of location allows you to easily include curvature that varies with location without having to modify the original CAD geometry.

    The user subroutine USERCNPROP.F is also available for defining CNOF. To use this subroutine, you must specify the table name %_CNPROP% as the real constant value. For more information, see Defining Real Constants via a User Subroutine.

  2. 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, the program 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.19: 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.

    Figure 3.19:  Contact Surface Adjustment With ICONT

    Contact Surface Adjustment With ICONT

  3. Use real constants PMIN and PMAX to specify an initial allowable penetration range. When either PMAX or PMIN is specified, the program brings the target surface into a state of initial contact at the beginning of the analysis (see Figure 3.20: Contact Surface Adjustment (PMIN, PMAX)). If the initial penetration is larger than PMAX, the program adjusts the target surface to reduce penetration. If the initial penetration is smaller than PMIN (and within the pinball region), the program 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.

    The program 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. The program 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. The program issues a warning message in such circumstances, and you may need to manually adjust your initial geometry.

    Figure 3.21: 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.

    Figure 3.20:  Contact Surface Adjustment (PMIN, PMAX)

    Contact Surface Adjustment (PMIN, PMAX)

    Figure 3.21:  A Scenario in Which Initial Adjustment Will Fail

    A Scenario in Which Initial Adjustment Will Fail

  4. Set KEYOPT(9) to adjust initial penetration or gap; see Figure 3.22: 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).

    See Figure 3.23: Components of True Penetration.

    Keep in mind that the effects of KEYOPT(9) are dependent on settings for other KEYOPTs. The indicated initial gap effect is considered only if KEYOPT(12) = 4 or 5 (no separation always or bonded always).

    KEYOPT(9) offers the following settings for adjusting initial penetration or gap:

    • To include initial penetration or gap from both geometry and contact surface offset, set KEYOPT(9) = 0. This is the default.

    • To ignore initial penetration or gap from both geometry and contact surface offset, set KEYOPT(9) = 1.

    • To include the defined contact surface offset (CNOF) but ignore the initial penetration or gap due to geometry, set KEYOPT(9) = 3.

    • Set KEYOPT(9) = 5 to include the defined contact surface offset (CNOF) but ignore the initial penetration due to geometry. Even when KEYOPT(12) is not set to 4 or 5, this setting for KEYOPT(9) will also ignore the initial force in open-gap springs as long as contact is detected within the pinball region.

    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.24: Ramping Initial Interference. The following KEYOPT(9) settings provide ramping capabilities:

    • To ramp the total initial penetration or gap (CNOF + the offset due to geometry), set KEYOPT(9) = 2.

    • To ramp the defined contact surface penetration or gap (CNOF), but ignore the penetration or gap due to geometry, set KEYOPT(9) = 4.

    • Set KEYOPT(9) = 6 to ramp the defined contact offset (CNOF) but ignore the initial penetration due to geometry. Even when KEYOPT(12) is not set to 4 or 5, this setting for KEYOPT(9) will also ignore the initial force in open-gap springs as long as contact is detected within the pinball region.

    For the above KEYOPT(9) settings, you should also set KBC,0 and not specify any external loads in the first load step. In addition, make sure that the pinball region is big enough to capture the initial interference.

    By default, the ramping options are active only within the first load step. However, you may have a situation where there are multiple interference fits that you want to model sequentially (that is, the interference present in each contact pair will be resolved in different load steps). You can define the load step number in which the ramping option will take place for a given contact pair by using the real constant STRM. For example, you may want to perform a different loading in load step 1, then resolve an interference fit in load step 2 for one contact pair, and finally resolve an interference fit in load step 3 for another contact pair. To accomplish this, you would set STRM = 2 for the first contact pair and set STRM = 3 for the second contact pair. Note that contact will still be active prior to the load step specified by the STRM real constant.

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:

  1. Use CNOF to specify a penetration (positive value) or gap (negative value).

  2. Use KEYOPT(9) = 5 to resolve the initial penetration in the first substep (or KEYOPT(9) = 6 to gradually resolve the initial penetration).

Figure 3.22:  Ignoring Initial Penetration, KEYOPT(9) = 1

Ignoring Initial Penetration, KEYOPT(9) = 1

Figure 3.23:  Components of True Penetration

Components of True Penetration

Figure 3.24:  Ramping Initial Interference

Ramping Initial Interference

The program 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, the program 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.

3.9.8. Modeling Interference Fit

You can model an interference fit to simulate penetration between parts in the initial geometry configuration. In general, the initial penetrations associated with an interference fit are much larger than in standard contact assemblies. These large initial penetrations cannot be resolved in one substep (that is, step-applied).

The program offers several approaches that solve the large initial penetrations gradually over a load step with multiple substeps. These methods enable you to control the number of substeps or time increments to accomplish the interference fit. Once the interference fit is resolved, you can continue the analysis in a new load step.

There are three different methods to resolve large penetrations for an interference fit:

1. Contact surface offset (CNOF) as a function of time via tabular input Use tabular input to specify a table in which the magnitude of CNOF is ramped down from the possible maximum values of interference to zero over time. Be sure to input negative values in the defined table to offset the contact surface away from the target surface. In this way, the program will treat the initial contact interface as “just touching” at the beginning of the load step and push the surfaces apart gradually until the end of load step. This method is recommended for situations in which the interference is nearly uniform across the interface and CNOF is a function of time. It is not recommended when CNOF is a function of both time and location. For this method you do not need to set a ramping option (KEYOPT(9) = 2 or 4).

2. Automatic interference fit method Set KEYOPT(9) = 2 or 4 to activate this option. With this method ANSYS automatically ramps the initial penetration down to zero over time along the true contact normal direction. This method is suited for most applications. However, when the contact and/or target surfaces are not smooth, the contact normal direction varies across the interface which may lead to locking of the press fit.

3. User-defined contact surface normal Set KEYOPT(9) = 2 or 4 and specify a user-defined contact surface normal via the SECTYPE and SECDATA commands. With this method ANSYS automatically ramps the initial penetration down to zero over time along the user-defined shift direction. In certain applications, such as contact simulations of threaded connectors, convergence behavior improves when a user-defined contact surface normal is used instead of the default contact normal. For details, see User-Defined Contact Surface Normal.

Methods 1 and 2 above are available for contact elements CONTA171 through CONTA177. Method 3, the user-defined contact surface normal, is available for CONTA171 through CONTA175.

For methods 2 and 3, you must set KEYOPT(9) = 2 or 4 to activate ramping of the penetration. The ramping is applicable only during the load step that you specify via real constant STRM (defaults to the first load step). Since the user-defined contact surface normal is defined only on the contact elements, the “Normal to target surface” option is recommended (KEYOPT(4) = 2 for CONTA171 to CONTA174, KEYOPT(4) = 0 for CONTA175).

For all three methods, you need to specify the pinball radius (real constant PINB) to be larger than the maximum initial penetration of the entire contact pair.

The initial interference fit is usually solved under frictionless conditions. Friction can be applied in subsequent steps if desired.

3.9.9. Physically Moving Contact Nodes Towards the Target Surface

You can adjust the initial contact status in order to close the gap by doing one of the following:

(a) Define an initial contact adjustment via real constant ICONT. (ICONT may change the shape of the contact detection surface.)
(b) Define a contact offset via real constant CNOF. (CNOF does not change the shape of the contact detection surface.)
(c) Ignore the penetration by setting KEYOPT(9) = 1. (KEYOPT(9) = 1 does change the shape of the contact detection surface.)

However, these adjustment methods do not truly change the physical locations of contact nodes; rather, the contact detection locations are adjusted.

The initial adjustment due to (a) is applied only once in the beginning of the contact analysis, where each contact detection point within the ICONT range is made to be in initial contact with the target surface. The contact adjustments due to (b) and (c) offset the entire contact detection surface to close any gap that is present. In doing so, methods (b) and (c) introduce a "rigid region" between the contact and target surfaces during the entire analysis, which 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:

  • Only when using the nodal detection option (KEYOPT(4) = 1 or 2), or when using CONTA175 or CONTA177, or when using CONTA176 with KEYOPT(3) = 0 (parallel beams).

  • Initially open contact nodes inside the ICONT zone.

  • Initially penetrated nodes with KEYOPT(9) = 1.

If the default adjustment behavior is not desired, you can define further controls using the following additional fields on the CNCHECK,ADJUST command:

  • CGAP - Control parameter for opening gap. When this value is specified, an opening gap closes if the absolute value of the gap is smaller than CGAP. CGAP defaults to 0.25*PINB (where PINB is the pinball radius) for bonded and no-separation contact; otherwise it defaults to the value of real constant ICONT.

  • CPEN - Control parameter for initial penetration. When this value is specified, initial penetration closes if the absolute value of the penetration is smaller than CPEN. CPEN defaults to 0.25*PINB (where PINB is the pinball radius) for any type of interface behavior (either bonded or standard contact).

  • IOFF - Control parameter for initial adjustment. Input a positive value to adjust the contact nodes towards the target surface with a constant interference distance equal to IOFF. Input a negative value to adjust the contact node towards the target surface with a uniform gap distance equal to the absolute value of IOFF.

By default, the CGAP and CPEN adjustments modify initial node positions such that the contact surface and the target surface are “just-touching” (with zero penetration/gap). Alternatively, you can specify IOFF to adjust nodal positions such that a constant offset (equal to IOFF) exists between the contact surface and target surface initially. The adjustments will take place only for regions that are inside the adjusted zone as discussed above. You should always carefully review the adjustment since mesh distortion may occur if the adjustment is too large to achieve the specified control parameters.

After the CNCHECK,ADJUST command is issued, the coordinates of the nodes that have been moved are modified as shown in Figure 3.25: 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 Jobname.DB file. Issuing the SAVE command before issuing the CNCHECK,ADJUST command is recommended in order to resume the Jobname.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 initial adjustment resulting from CNCHECK,ADJUST is converted to structural displacement values (UX, UY, UZ) and stored in a results file named Jobname.RCN. You can use this file to plot or list nodal adjustment vectors or create a contour plot of the adjustment magnitudes via the displacements (see Reviewing Results in POST1 for more information).

Figure 3.25:  Effect of Moving Contact Nodes

Effect of Moving Contact Nodes

3.9.10. Determining Contact Status and the Pinball Region

The following topics related to determining contact status and the pinball region are available:

3.9.10.1. Introduction

The position and motion of a contact element relative to its associated target surface determines the contact element status. The program monitors each contact element and assigns a status:

  • STAT = 0 Open far-field contact (open and not near 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.

3.9.10.2. Using PINB

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), the program 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.)


Note:  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 (open and not near 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.


Note:  The program will warn you when there is an abrupt change in status (for example, from far-field to closed) during a contact analysis. This may indicate that the substep increment is too large, or possibly (but not likely) that the pinball value (PINB) is too small.


See Positive and Negative Real Constants for more information on this real constant.

3.9.11. Avoiding Spurious Contact in Self Contact Problems

In some cases of self contact, the program may erroneously assume contact between a contact and target surface that are in very close geometrical position as shown below.

Figure 3.26:  Auto Spurious Prevention

Auto Spurious Prevention

The program alerts you when it first detects spurious contact in each load step. If the program 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 the program 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.

The program 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.

3.9.12. Selecting Surface Interaction Models

The following topics related to selecting surface interaction models are available:

3.9.12.1. Introduction

The surface-to-surface contact elements support normal unilateral contact models as well as other mechanical surface interaction models.

As an alternative to the program-supplied contact interactions, you can define your own interfacial model with the USERINTER subroutine (see User-Defined Subroutines for Contact Interfacial Behaviors).

3.9.12.2. Using KEYOPT(12)

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 all types of bonded contact (KEYOPT(12) = 2, 3, 4, 5, and 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.


Note:  For bonded contact definitions (KEYOPT(12) = 5 or 6), if the contact is not in a “just touching” position, you may find that no zero modes appear for free vibration. To avoid this issue, use the MPC approach instead of other contact algorithms.


3.9.12.3. Using FKOP

Real constant FKOP is the stiffness factor applied when contact opens. FKOP is only used for no separation or bonded contact (KEYOPT(12) = 2 through 6). If FKOP is input as 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 input as an absolute value (negative value for command input), the value is applied as an absolute contact opening stiffness. The default FKOP value is 1.

In addition, FKOP can be defined as a function of primary variables by using tabular input (i.e., %tabname%). The possible primary variables include time, temperature, initial contact detection point location (at the beginning of solution), and current geometric gap distance (positive GAP index values indicate penetration, negative GAP index values indicate an open gap). For more information, see Defining Real Constants in Tabular Format.

The user subroutine USERCNPROP.F is also available for defining FKOP. To use this subroutine, you must specify the table name %_CNPROP% as the real constant value. For more information, see Defining Real Constants via a User Subroutine.

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 bonded contact, the default contact opening stiffness is affected by the normal contact stiffness. However, the tangential stiffness remains unchanged when an absolute value of tangential stiffness (a negative value input for FKT) is specified, regardless of the contact status or the value of FKOP.

3.9.12.4. Using TBND

In most welding processes, after the materials around contacting surfaces exceed a critical temperature, the surfaces start to melt and bond with each other. To model this, you can specify the critical temperature using real constant TBND; as soon as the temperature at the contact surface (Tc) for closed contact exceeds this melting temperature, the contact will change to “bonded.” The contact status will remain bonded for the rest of analysis, even if the temperature subsequently decreases below the critical value.

The contact surface temperature Tc is obtained either from a coupled thermal-structural solution in which the TEMP degree of freedom is present or from a temperature body load applied to a model having structural degrees of freedom only.

In addition, TBND can be defined as a function of primary variables by using tabular input (i.e., %tabname%). The possible primary variables include time, temperature, initial contact detection point location (at the beginning of solution), current contact pressure (positive PRESSURE index values indicate compression, negative PRESSURE index values indicate tension), and current geometric penetration (positive GAP index values indicate penetration, negative GAP index values indicate an open gap). For more information, see Defining Real Constants in Tabular Format.

The user subroutine USERCNPROP.F is also available for defining TBND. To use this subroutine, you must specify the table name %_CNPROP% as the real constant value. For more information, see Defining Real Constants via a User Subroutine.

When defining TBND via tabular input or the user subroutine, the TBND real constant should be defined as a bonding state other than the critical temperature: as soon as the value of TBND returned from the table definition or from the user subroutine is equal to or larger than 1.0, the contact is changed to “bonded.” The contact status will remain bonded for the rest of the analysis, even if the TBND value obtained from the table or the user subroutine subsequently falls below 1.0.

3.9.12.5. Bonded Contact for Shell-Shell Assemblies

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 a conventional penalty-based shell-shell assembly and this method.

Figure 3.27:  Penalty-Based Shell-Shell Assembly

Penalty-Based Shell-Shell Assembly


Note:  In the case of a penalty-based shell-shell assembly, spurious rotational energy exists if there are gaps or penetrations between the contact and target surfaces. This can affect the accuracy of the solution. In this case it is recommended that you use a shell-solid constraint type by setting KEYOPT(5) = 3, 4, or 5 on the target element, which requires use of the MPC algorithm (KEYOPT(2) = 2 on the contact element).


3.9.13. Modeling Contact with Superelements

The following topics related to modeling contact with superelements are available:

3.9.13.1. Introduction

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 the program 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.

3.9.13.2. Using KEYOPT(3) in a 2-D Analysis with Superelements

Use KEYOPT(3) to provide information for a 2-D analysis with superelements. In elements CONTA171 and CONTA172, the options are as follows:

  • 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.

In a 3-D contact analysis (CONTA173, CONTA174), KEYOPT(3) is not used to specify the stress state when superelements are present. The program automatically detects whether the underlying element is a superelement.

For 2-D and 3-D analyses without superelements, KEYOPT(3) of the contact elements can be used to control the units of normal contact stiffness in some circumstances. Note that when superelements are present, normal contact stiffness always has the units FORCE/LENGTH3.


Note:  KEYOPT(3) has different meanings in other situations. For more information, see the description of KEYOPT(3) in Element KEYOPTS.


3.9.14. Applying Contact Stabilization Damping

The following topics related to applying contact stabilization damping are available:

3.9.14.1. Introduction

Rigid body motion often occurs in the beginning of an analysis due to the fact that the initial contact condition is not well established. Following are possible causes:

  • 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 surface projection based contact, a numerical gap distance can exist even though geometric penetration is observed at a contact node. This can occur because the numerical distance is obtained over the overlapping area in an average sense.

For standard contact (KEYOPT(12) = 0) or rough contact (KEYOPT(12) = 1), you can use real constants FDMN and FDMT to define contact damping scaling factors along contact normal and tangential directions. The primary goal of this contact stabilization technique is to damp relative motions between the contact and target surfaces for open contact. It provides a certain amount of resistance to reduce the risk of rigid body motion.

The damping forces are calculated by:

where Vn and Vt are the relative velocities along the normal and tangential directions, and Ac is the area domain of the contact surface. The units of the damping coefficients of FDMN and FDMT are FORCE/(AREA*VELOCITY). For the contact force-based model (used by CONTA175, CONTA176, and CONTA177), the units are FORCE/VELOCITY.

The specified damping coefficients should be large enough to prevent rigid body motion, but small enough to insure a solution. The ideal values are fully dependent on the specific problem, the time of the load step, and the number of substeps.

3.9.14.2. Using FDMN, FDMT, and KEYOPT(15)

The program computes the damping coefficients internally based on several factors:

  • Contact stiffness

  • Pinball radius

  • Gap distance

  • Number of substeps

  • Size of time increment for the current substep

In general, contact stabilization damping should only be used for preventing rigid body motion when other initial contact adjustment techniques are not efficient or not suitable for a particular situation. Therefore, contact stabilization is deactivated by default.

As an exception, however, the automatic contact stabilization technique will be enabled if all of the following conditions are encountered:

  1. Gauss point based contact (KEYOPT(4) = 0) or surface projection based contact (KEYOPT(4) = 3) is used.

  2. The entire contact pair is in open status.

  3. A geometric penetration is detected at any contact nodal point, despite condition 2 above.

Without this automatic contact stabilization, rigid body motion may occur. If you wish to deactivate automatic contact stabilization, you can simply set KEYOPT(15) = 1.

You can activate contact stabilization damping manually by specifying real constants FDMN and FDMT.

Use a positive value of FDMN to specify a damping scaling factor in the normal direction. FDMN defaults to 1.0. You can overwrite the internal normal damping coefficient by specifying a negative value.

Use a positive value of FDMT to specify a damping scaling factor in the tangential direction. You can input an absolute tangential damping coefficient by specifying a negative value for FDMT.

Both FDMN and FDMT can be defined as a function of primary variables by using tabular input (i.e., %tabname%). The possible primary variables include time, temperature, initial contact detection point location (at the beginning of solution), and current geometric gap distance (positive GAP index values indicate penetration, negative GAP index values indicate an open gap). For more information, see Defining Real Constants in Tabular Format.

The user subroutine USERCNPROP.F is also available for defining FDMN and FDMT. To use this subroutine, you must specify the table name %_CNPROP% as the real constant value. For more information, see Defining Real Constants via a User Subroutine.

The normal contact stabilization damping is activated if all of the following conditions are met:

  • Standard contact (KEYOPT(12) = 0) or rough contact (KEYOPT(12) = 1).

  • Contact status of the current contact detection point is near-field.

  • The first load step (default). All load steps if KEYOPT(15) = 2 or 3.

  • The entire contact pair has an open contact status in the current iteration, unless KEYOPT(15) = 3.

When KEYOPT(15) = 0, 1, or 2, normal stabilization damping will not be applied if any contact detection point has a closed status in the current iteration. However, when KEYOPT(15) = 3, normal stabilization damping is always applied as long as the current contact status is near-field for any contact detection point, regardless of the current contact status of the entire contact pair.

The tangential contact stabilization damping is automatically activated when the normal damping is activated. In this case, FDMT defaults to 0.001. In the following circumstances, the tangential damping can be applied independent of the normal damping:

  • Contact status of the current contact detection point is closed and sliding (STAT = 2).

  • FDMT is explicitly specified, either as a factor (positive value) or a coefficient (negative value).

  • KEYOPT(15) = 2 or 3.

When KEYOPT(15) = 2 or 3 and FDMT is explicitly specified, the program always applies the tangential stabilization damping for frictionless contact. When KEYOPT(15) = 3 and FDMT is explicitly specified, the program always applies the tangential stabilization damping for frictionless or frictional contact unless the contact status is sticking. These settings help to prevent rigid body motion due to large amounts of sliding even for no-separation contact definitions.

3.9.14.3. Checking Results After Applying Contact Stabilization

Stabilization can alleviate convergence problems, but it can also affect solution accuracy if the applied stabilization energy or damping forces are too large. In most cases, the program automatically activates and deactivates contact stabilization damping and estimates reasonable damping forces. However, it is good practice to check the stabilization energy and forces to determine whether or not they are excessive.

The contact stabilization energy (accessed via the AENE label on the ETABLE command) should be compared to element potential energy. The energies can be output in the Jobname.OUT file (via the OUTPR command). You can also access the energies as follows:

If the contact stabilization energy is much less than the potential energy (for example, within a 1.0 percent tolerance), the results should be acceptable and there should be no need to check the stabilization forces or tractions further.

You can check the contact pair based damping tractions (maximum normal damping pressure and maximum tangential damping stress) and total contact stabilization energy via the NLHIST and NLDIAG commands. If the maximum damping tractions are much smaller than the maximum contact pressures (for example, within a 0.5 percent tolerance), or the total contact stabilization energy is much smaller than the total contact strain energy, the results are still acceptable.

3.9.15. Accounting for Thickness Effect

The following topics related to thickness effects are available:

3.9.15.1. Introduction

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, the program automatically shifts the contact surface to the bottom or top of the shell/beam surface. For flexible-to-flexible contact, the program automatically shifts both the contact and target surfaces which are attached to shell/beam elements. By default, the program 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.

3.9.15.2. Using KEYOPT(11)

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.


Note:  Only use KEYOPT(11) = 1 to account for thickness when you have shell or beam elements with nodes located at the middle surface.


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, SHELL281, or ELBOW290, changes in thickness during deformation are also taken into account.

Note that KEYOPT(11) is not used with the line-to-line contact element (CONTA176). For the line-to-surface contact element (CONTA177) KEYOPT(11) is only used for shell elements on the target side.


Note:  For shell and beam contact, the penetration and gap distances are always measured from the midsurface of the shell or beam element. Any defined offset of the shell or beam element is ignored by the contact elements.


3.9.16. Using Time Step Control and Impact Constraints

The following topics concerning time step control and impact constraints are available:

3.9.16.1. Introduction

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.

Impact constraints are used in a transient dynamic analysis to satisfy the momentum and energy balance at the contact and target interface. See Dynamic Contact and Impact Modeling for more information.

3.9.16.2. Using KEYOPT(7)

Use KEYOPT(7) = 0, 1, 2, or 3 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.

Use KEYOPT(7) = 4 to activate impact constraints.

  • KEYOPT(7) = 4: Use impact constraints for standard or rough contact (KEYOPT(12) = 0 or 1) in a transient dynamic analysis with automatic adjustment of the time increment.

3.9.17. Using the Birth and Death Option

The surface-to-surface contact and target elements allow birth and death. 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. For example, springback modeling often requires removing the rigid tools at the end of the forming processes.

Use caution when deactivating target elements (EKILL command) in the beginning of an analysis. In this situation the program no longer traces the initial contact conditions, so the effects of initial penetration or gap (KEYOPT(9) > 0 on the contact element) are not considered even if the target elements are reactivated (EALIVE command) in a later load step.


Release 16.2 - © SAS IP, Inc. All rights reserved.