9.2. Performing a Node-to-Node Contact Analysis

The procedure for performing a node-to-node contact analysis is similar to that described for the node-to-surface contact elements in Node-to-Surface Contact. The following describes the typical steps in a node-to-node contact analysis. Each of these steps is explained in detail.

9.2.1. Creating Geometry and Meshing the Model

Node-to-node contact elements transmit forces at the nodes (compared to surface-to-surface contact elements which transmit pressures at Gauss points). This feature limits their use to low order elements only.

You must identify where contact might occur during the deformation of your model. The nodes on the two surfaces of potential contact must line up. Once you've identified potential contact surfaces and created an adequate mesh you can create the contact elements.

9.2.2. Generating Contact Elements

You can generate node-to-node contact element in one of two ways:

  1. Use the direct generation command E.

  2. Use the EINTF command to generate the contact elements automatically at coincident nodes or offset nodes. This is discussed in detail in the following subsections.

9.2.2.1. Generating Contact Elements Automatically at Coincident Nodes

If the two bodies are in the "just touching" position, you can use the EINTF command to automatically generate the contact elements. In this case, the menu path is Main Menu> Preprocessor> Modeling> Create> Elements> Auto Numbered> At Coincident Nodes. Only nodes within the tolerance value set in the first argument (TOLER) are considered as coincident. If you wish to check a subset of nodes for coincidence, first select all the nodes you wish to check using the NSEL command.

9.2.2.2. Generating Contact Elements Automatically at Offset Nodes

If the two bodies are separated by a gap, the EINTF command can be used to create elements between offset nodes by specifying the node location increments (DX, DY, DZ) in the coordinate system KCN.

If KOPT is set to 1, the nodes belonging to the contact elements created are rotated into the coordinate system KCN.

For example, the following figure shows contact between two concentric pipes separated by a gap. In this example, KCN would be a cylindrical coordinate system centered in O, and DX would be set in Δ (Δ± TOLER).

Figure 9.2: Contact Between Two Concentric Pipes

Contact Between Two Concentric Pipes

9.2.2.3. Node Ordering

Node ordering can be critical in determining the contact normal. You can use EINTF,,,LOW or EINTF,,,HIGH to control node ordering. When using the LOW argument, the 2-node elements are generated from the lowest numbered node to the highest numbered node. When using HIGH, 2-node elements are generated from the highest to the lowest. To check the contact normal, use /PSYMB,ESYS. If you discover that the ordering is incorrect, you can reverse it using EINTF,,,REVE. To determine which side of the interface contains the I nodes, use the following commands:

ESEL,,ENAME,,178
NSLE,,POS,1
ESLN
NSLE
EPLOT

9.2.3. Defining the Contact Normal

The contact normal direction is of primary importance in a contact analysis with CONTA178. By default [KEYOPT(5) = 0 and NX, NY, NZ = 0], the program will calculate the contact normal direction based on the initial positions of the I and J nodes, such that a positive displacement (in the element coordinate system) of node J relative to node I opens the gap. However, you must specify the contact normal direction for any of the following conditions:

  • If nodes I and J have the same initial coordinates.

  • If the model has an initial interference condition in which the underlying elements' geometry overlaps.

  • If the initial open gap distance is very small.

In the above cases, the ordering of nodes I and J is critical. The correct contact normal usually points from node I toward node J unless contact is initially overlapped.

You can specify the contact normal by means of real constants NX, NY, NZ (direction cosines related to the global Cartesian system) or element KEYOPT(5). The following lists the various options for KEYOPT(5):

KEYOPT(5) = 0

The contact normal is either based on the real constant values of NX, NY, NZ or on node locations when NX, NY, NZ are not defined. For two dimensional contact, NZ = 0.

KEYOPT(5) = 1 (2,3)

The contact normal points in a direction which averages the direction cosines of the X (Y, Z) axis of the nodal coordinates on both nodes I and J. The direction cosines on nodes I and J should be very close. This option may be supported by the NORA and NORL commands, which rotate the X axis of the nodal coordinate system to point to the surface normal of solid models.

Figure 9.3: Two Concentric Pipes, Normals Rotated Properly

Two Concentric Pipes, Normals Rotated Properly

For a pipe-within-a-pipe, this portrays the normals rotated properly.


KEYOPT(5) = 4 (5,6)

The contact normal points to X (Y, Z) of the element coordinate system issued by the ESYS command. If you use this option, make sure that the element coordinate system specified by ESYS is the Cartesian system.

9.2.4. Defining the Initial Interference or Gap

With CONTA178, the gap size can be automatically calculated from the GAP real constant plus the node locations (projection of vector points from node I to J on the contact normal). This is the default (KEYOPT(4) = 0). This means that if you want the initial gap to be determined by the node locations only, set KEYOPT(4) = 0 and the real constant GAP to 0.

If KEYOPT(4) = 1, the initial gap size is only based on the real constant GAP (it ignores the node location). A negative value for the gap size can be used to model initial interference.

You can ramp initial interference using KEYOPT(9) = 1.

9.2.5. Selecting the Contact Algorithm

You can choose from among the following contact algorithms for CONTA178:

When using CONTA178 with the pure penalty method or the augmented Lagrange method, a "semiautomatic" setting is provided for the contact normal and tangential stiffnesses.

The program provides a default normal contact stiffness FKN, which is based on Young's modulus E and the size of the underlying elements. FKN and FKS are factors. If you want to import absolute values for FKN and FKS, use negative values.

9.2.6. Applying Necessary Boundary Conditions

You can now apply necessary boundary conditions as you would do for any analysis type. For more information on applying boundary conditions, see the appropriate analysis description in the Structural Analysis Guide.

When using the Lagrange multiplier method, be careful not to overconstrain the model. The model is overconstrained when a contact constraint at a node conflicts with a prescribed boundary condition on that degree of freedom at the same node. The following figure illustrates this issue:

Figure 9.4: Example of Overconstrained Contact Problem

Example of Overconstrained Contact Problem

Both nodes I and J are fixed in the X direction. The model is overconstrained only when the two bodies are in contact and bonded contact or rough friction has been defined. It can also occur if the contact status is "sticking," In these cases, the constraint in the X-direction is duplicated which causes an overconstrained model.

"Zero Pivot" and "Numerical Singularity" warning messages indicate overcontraints in a model. Overconstraints can lead to convergence difficulties and/or inaccurate results. They can be easily avoided by changing the contact definition or the boundary conditions.

9.2.7. Defining the Solution Options

Convergence behavior for contact problems depends strongly on the particular problem. The options listed below are either typical or recommended for most node-to-node contact analyses.

  • Set the appropriate element-level automatic time-step behavior via KEYOPT(7).

  • The time step size must be small enough to capture the proper contact zone. The smooth transfer of contact forces is disrupted if the time step size is too large. A reliable way to set an accurate time step size is to use automatic time stepping (AUTOTS,ON), which is active by default.

  • Use the NEQIT command to set the number of equilibrium equations to a number that is appropriate for a reasonable time step size. The number of equilibrium equations defaults to between 15 and 26 iterations, depending upon the physics of the problem.

  • Turn the predictor-corrector option on via the PRED command.

  • Set the Newton-Raphson option to FULL, with adaptive descent on (NROPT,FULL,,ON ).

  • For analysis involving friction, using NROPT, UNSYM is useful (and sometimes required if the coefficient of friction μ is > 0.2) for problems where the normal and tangential (sliding) motions are strongly coupled.

  • NLGEOM, ON is supported, but the contact normal is not updated during the analysis. Make sure that only small rotations occur along the contact surfaces (except for the cylindrical gap and radial gap options).

  • Many convergence failures in contact analysis are the result of using too large a value for contact stiffness (real constant KN). Be sure to follow the recommendations given previously in this section for an initial estimate for contact stiffness. If such estimated values lead to a convergence failure, reduce the contact stiffness and restart. (You must also explicitly define the tangent stiffness - see the Note below.)

  • Conversely, if overpenetration occurred in your contact analysis, you probably used a value of KN that was too small. In this case, gradually increase the contact stiffness value to an appropriate level by redefining it using new R commands over several load steps in a restart. (You must also explicitly define the tangent stiffness - see the Note statement below.)

Although you can change the contact stiffness value (real constant KN), you cannot change any other real constants between load steps. Therefore, if you plan to change KN in a restart (or from one load step to the next), you cannot allow the value of the tangent (or "sticking") contact stiffness (real constant KT) to be defined by default, because the program would then attempt to redefine the tangent stiffness as the contact stiffness changed. You must explicitly define the tangent stiffness whenever you change the contact stiffness to maintain a consistent value for the tangent stiffness throughout all load steps.

9.2.8. Solving the Problem

You can now solve the analysis the same as you would for any linear or nonlinear analysis. See Solve the Analysis in the Structural Analysis Guide.

9.2.9. Reviewing the Results

Postprocessing of contact result items for these elements requires the use of ETABLE commands.

The steps for reviewing results in POST26 are the same as those for a typical nonlinear analysis See Reviewing Results in POST26 in the Structural Analysis Guide.

For general information on postprocessing, refer to the Basic Analysis Guide.