14.1. Including Wear in a Contact Analysis

The following contact elements support modeling wear: CONTA172, CONTA174, and CONTA175.

To activate contact surface wear, define wear as a material model via the TB,WEAR command and assign it to the contact elements. You must also define the wear properties via the TBDATA command. You can use the TBFIELD command in conjunction with TBDATA to define the properties as a function of temperature and/or time. The TBTEMP command can also be used to define temperature dependent wear data.

The implementation of wear involves two stages. First, the amount of wear is calculated by a wear model. Next, the geometry is updated to account for wear. This process is explained below.

14.1.1. Wear Models

The wear models calculate how much and in what direction a contact node is to be moved to simulate wear based on the contact results at the contact nodes. A generalized form of the Archard wear model is available. In addition, you can specify a user-defined wear model using the USERWEAR subroutine.

14.1.1.1. Archard Wear Model

The Archard wear model relates the rate of wear, , to contact pressure, sliding velocity, and material hardness. By default, the wear is in the direction opposite to the contact normal. However, you can define any desired wear direction.

The Archard model is defined by the TB,WEAR command with TBOPT = ARCD. The material constants required by the model are specified as data items C1 through C4 on the TBDATA command. The fifth constant, C5, gives you further control of how the Archard model is implemented. Constants C6, C7, and C8 can be used to define the direction cosines of the wear direction.

Constant Meaning
C1Wear coefficient, K
C2Material hardness, H
C3Pressure exponent, m
C4Velocity exponent, n
C5Optional flag:
C5 = 0 (default) - use contact pressure in the wear calculation.
C5 = 1 - use nodal stress in the wear calculation
C5 = 10 - average the wear increment over the contact area of the contact pair. Use contact pressure in the wear calculation
C5 = 11 - average the wear increment over the contact area of the contact pair. Use nodal stress in the wear calculation
C5 = -99 - calculate wear for postprocessing purposes only
C6Direction cosine nx (with respect to the global X axis) for the wear direction
C7Direction cosine ny (with respect to the global Y axis) for the wear direction
C8Direction cosine nz (with respect to the global Z axis) for the wear direction

Following is a sample command input for the Archard wear model:

TB,WEAR,1,,,ARCD
TBDATA,1,K,H,m,n
TBDATA,6,nx,ny,nz

Material hardness and yield stress of the material are often closely related. If the material model of the underlying solid element is a plastic model defined using the TB command with Lab = BISO, the element average value of the current yield stress can be used to estimate the hardness as H = yield stress/3. To activate this option, the hardness value (C2) on TBDATA should be entered as -99. This option is only available for the material models mentioned above. In addition, the underlying solid element should be one of the following types: PLANE182, PLANE183, SOLID185, SOLID186, SOLID187, or SOLID285.

At each substep of the solution, the yield stress at the previous substep is used for estimating the hardness. Thus, there is a lag of one substep for updating the hardness from the yield stress, and the yield stress data is not available at the first substep of the solution. For this reason, no wear can take place at the first substep if this option is used.

Wear Based on Underlying Nodal Stresses

By default, the wear calculations are based on the contact pressure. If you enter a value of 1 for the fifth constant (C5) on the TBDATA command, the wear calculations are based on the nodal stresses of the solid elements beneath the contact elements instead of the contact pressure. The nodal stresses are used to calculate traction along the contact normal direction, and the traction value replaces the contact pressure in the wear rate equation (Equation 13–271 in the Theory Reference).

This option is recommended in the case of symmetric contact in which wear is simulated on both contacting surfaces. For symmetric contact between very dissimilar meshes, the distribution of nodal stress in the underlying elements is often smoother than the contact pressure. Thus, using the nodal stresses to calculate wear can result in a more uniform wear pattern.

Averaging Wear Over the Contact Area

The wear increment of all the contact elements in a contact pair can be averaged over the contact area, resulting in the same magnitude of wear increment in all contact elements. The direction of the wear correction at each contact detection point is opposite to the contact normal at that location, unless a direction is specified via constants C6 to C8 on the TBDATA command.

Activate this option by setting the fifth constant (C5) on the TBDATA command to 10 or 11. Set C5 = 10 to average the wear increment that is calculated using contact pressure. Set C5 = 11 to average the wear increment that is calculated using the nodal stresses of the underlying element, as described in Wear Based on Underlying Nodal Stresses.

Using the Archard Model for Postprocessing Purposes Only

You can use the Archard model for postprocessing purposes by entering a value of -99 for the fifth constant (C5) on the TBDATA command. In this case, the Archard model is used to calculate wear, but the contact nodes are not moved. Therefore, wear is just a postprocessing variable and does not affect the solution. This option can be of help in deciding if the geometric correction calculated by the wear law is of the intended magnitude. This can potentially help if solution convergence becomes a problem due to large amounts of wear. This option is not available for analyses involving rezoning.

For more information on the Archard model, see the discussion of Contact Surface Wear in the Theory Reference.

14.1.1.2. User-Defined Wear Model (USERWEAR)

You can specify a user-defined wear option which utilizes the USERWEAR subroutine. This option is activated by the TB,WEAR command with TBOPT = USER. The material constants required by the model are specified as data items on the TBDATA command. A sample command input is shown below:

TB,WEAR,1,,4,USER
TBDATA,1,C1,C2,C3,C4

The fifth constant, C5, can be used to control how the wear increment is implemented, similar to the Archard wear model. See Archard Wear Model for possible C5 values.

You must also write a USERWEAR subroutine to define the wear model. USERWEAR is called at contact detection points that are closed. For efficiency reasons, this subroutine is not called if the contact detection point is open. Some of the input arguments are described below.

USERWEAR Input Argument Description
strain(1)Slip increment in direction 1
strain(2)Slip increment in direction 2 (3D only)
strain(3)Contact normal penetration/gap (positive value represents penetration, negative value represents gap)
stress(1)Tangential stress in direction 1
stress(2)Tangential stress in direction 2 (3D only)
stress(3)Contact normal pressure
temperatureTemperature at the contact detection point
dtimeTime increment
ndimSet to 2 for 2D. Set to 3 for 3D
YieldStressCurrent yield stress value (element average) of the underlying material if the material is defined by the TB command with Lab = BISO, BKIN, or DP and underlying solid element is of type: 182, 183, 185,186,187 or 285
nTbprop Number of TBDATA for TB,WEAR per field
Tbprop(nTbprop) The data defined by TBDATA at a given temperature and current time
coor(6)

Coor(1-3) - current x,y,z coordinate of the contact detection point

Coor (4-6) - initial x,y,z coordinate of the contact detection point

localr(3,3)

The direction cosines of the local surface coordinate system at contact detection.

localr(1,1), localr(1,2), localr(1,3) in slip direction 1

localr(2,1), localr(2,2), localr(2,3) in slip direction 2 (3D only)

localr(3,1), localr(3,2), localr(3,3) in normal direction

TotWearOld(ndim)Total wear at the contact point at the previous substep
intIn(1) to intIn(5)Integer variables such as target element number, number of integration points, and so on
realIn(1) to realIn(3)Real variables such as contact element length, depth, area

You also need to define the following output arguments:

USERWEAR Output Argument Description
WearIncIncrement of wear
WearDir (ndim) (Optional)Direction cosines in the global coordinate system in which the wear increment will be applied. If WearDir is not defined, Mechanical APDL applies wear in the direction opposite to the contact normal.

14.1.2. Geometry Update Due to Wear

The wear increment (the rate of wear times the time increment: x Δt) calculated by the wear model is used to move the contact node along the direction opposite to the contact normal at that node. During the nonlinear solution process, at the iteration in which the force and displacement convergence criteria set by the user are met for a particular substep, the wear increment and direction at that iteration are used to move the contact nodes. Since this repositioning of contact nodes results in a loss of equilibrium, additional iterations are required to achieve convergence. If the solution fails to converge after the wear is applied, the usual procedure of bisection is used. The wear increment is discarded and the solution increment is repeated, applying the bisection.

Since wear is a material removal process, the underlying solid element does not experience any strain or stress due to the movement of the contact nodes undergoing wear. A large wear increment can result in the opening of an initially closed contact pair. This may result in convergence problems, especially if rigid body motion occurs. Thus, it is highly recommended that you use very small time increments when modeling wear.

14.1.3. Improving Mesh Quality During Wear

Because wear involves repositioning of the surface nodes to simulate material loss, the element quality of the solid elements underlying the contact elements becomes progressively worse with increasing wear. The analysis may ultimately terminate due to element distortions. If this happens, you can use manual rezoning or nonlinear mesh adaptivity to improve the mesh and continue the analysis.

Manual rezoning and nonlinear mesh adaptivity are available for elements CONTA172 and CONTA174.

For either method, the total accumulated wear thus far is applied to update the nodal positions, and then the quality of the mesh is improved. Next, the analysis is restarted. For rezoning this is a manual step (see Understanding the Rezoning Process). For nonlinear mesh adaptivity the restart is performed internally by the program (see Understanding the Nonlinear Mesh Adaptivity Process).

Since the geometry is updated with wear during the mesh updating stage (for both manual rezoning and nonlinear mesh adaptivity), the accumulated wear and volume lost due to wear are initialized to zero upon restarting the analysis. They start accumulating again as the analysis is continued.

Use caution when defining time-dependent wear with any analysis involving a restart, including manual rezoning and nonlinear mesh adaptivity. To ensure that the restart uses the correct wear data at the restart point, you should define time-dependent wear instead of reissuing TB,WEAR between load steps. See Assumptions and Restrictions for more information.

In the nonlinear mesh adaptivity procedure, you must define a wear-based criterion for triggering mesh adaptivity. For more information, see the NLADAPTIVE command and the discussion of Contact Surface Wear in the Nonlinear Adaptivity Analysis Guide. Assuming “contwearel” is a component containing contact elements undergoing wear, following is a typical example of commands used to define the wear criterion for nonlinear mesh adaptivity:

nladaptive,contwearel,add,contact,wear,0.75   ! Morph the mesh after 75% is lost in wear.
nladaptive,contwearel,on,,,5,1,7              ! Criterion defined for component contwearel 
                                              ! becomes active from time = 1 to 7 and is
                                              ! checked once every 5 substeps.

Nonlinear mesh adaptivity uses the mesh morphing method to improve the mesh. The morphing algorithm adjusts the nodes of all the contact and target elements and moves the nodes of underlying solid elements to improve mesh quality. In a 2D model, triangular and quadrilateral solid elements can be morphed. In a 3D model, tetrahedral and brick solid elements can be morphed.

Note that the wear criterion for nonlinear mesh adaptivity cannot be combined with any other mesh adaptivity criterion.

14.1.4. Automatic Scaling of Wear Increment

Wear is a slow phenomenon, and simulating the entire process of wear is often not possible. However, for most cases the rate of wear is very low and changes slowly. Based on this assumption, automatic scaling of the wear increment can speed up the wear simulation.

Use the TB,WEAR command with TBOPT = AUTS to activate automatic scaling of the wear increment. This automatic scaling feature is used in conjunction with the Archard wear model or the user-defined wear model (TB,WEAR command with TBOPT = ARCD or USER).

The wear increment is scaled to represent wear over the long time-period of the physical wear process. Each time increment in the simulation represents a long interval over which the wear rate can be approximated as a constant. The program uses an adaptive, automated scaling of the wear increment to facilitate this process.

The assumption of a constant wear rate is only valid when the contact interface experiencing wear does not undergo major changes such as the surfaces going out of contact or large changes in contact pressure. This is ensured by scaling the wear increment such that it is always within a factor of penetration (which is controlled by a factor of safety).

The automatic scaling process outlined below ensures that the wear scaling is not too large to cause convergence difficulties or inaccurate results, but is large enough to substantially speed up the simulation.

  1. The analysis is started with wear scale factor = 1.

  2. At the end of the first time increment in which wear is simulated, the wear scale factor is estimated for every contact point undergoing wear:

    You can define two control parameters by inputing C1 and C2 on the TBDATA command:

    • C1 - The factor of safety (default = 0.1) controls the magnitude of the wear scale factor.

    • C2 - The maximum scale factor (default = 10,0000) provides an upper limit for the wear scale factor.

    When contact penetration is enforced by Lagrange multipliers (contact element KEYOPT(2) = 3 or 4), the wear increment is scaled such that it is a factor of contact pressure and underlying element stiffness.

  3. At the beginning of the next substep, the wear scale factor is determined as the smallest of all the calculated scale factors.

  4. The wear increment is scaled by the wear scale factor, and the corresponding physical time increment is calculated as:

    The total physical time of wear is updated by adding the physical time increment.

  5. If the solution fails to converge and bisection occurs, the wear scale factor is reduced (as typically the load is constant for the wear simulation).

The following example input activates automatic scaling of the wear increment for a specific wear material model identified by MATID:

TB,WEAR,MATID,,,AUTS
TBDATA,STLOC,C1,C2

If TBDATA is not issued, the default C1 and C2 values are used.

If you have more than one Archard or user-defined wear material model defined in your analysis, be aware that the wear rate is scaled for all TB,WEAR materials, even if you specified scaling for only one of those wear materials. In this case, the C1 and C2 constants specified on TBDATA are used for the MATID wear material, and the default C1 and C2 values are used for other wear materials.

If automatic scaling is defined for multiple wear materials in your model, then the final wear scale factor used will be the minimum scale factor calculated among all contact detection points that undergo wear.

A correspondence between simulation time and the actual physical time of wear is provided in the Jobname.cnd output file (which is written only if you issue NLDIAG,CONT before starting the solution). These quantities are shown as "TIME=" and " PHYSICAL TIME FOR WEAR=" in the header for each set of output corresponding to the output frequency requested on NLDIAG.

14.1.5. Cycle-By-Cycle Wear Scaling

Automatic scaling of the wear increment assumes that the contact surface undergoing wear is subjected to a constant wear rate and that wear is happening due to reciprocating motion at the interface. However, if the applied load or sliding velocity changes over a period of time, then the automatic scaling will not scale the different time points of the cycle with the same scale factor and will not produce correct results. This limitation is not too restrictive because most parts undergoing wear are usually subjected to constant load with the reciprocating motion at the interface causing the wear.

We can overcome the limitation of constant wear rate during wear for auto-scaling wear model (TBOPT = AUTS) by using a cycle by cycle wear scaling (CBCS) model. In this wear scaling scheme, the wear is scaled at the end of the load cycle. The wear at each contact point at the end of the cycle is scaled similarly to the auto-scaling scheme (AUTS). Since, the scaling is done only once per cycle, at the end of the cycle, this scaling scheme can be applied to a time-varying load where the wear rate is not constant over a simulation cycle.

Apply the CBCS scheme when the time varying load is applied. The CBCS scaling could be applied using the CLOAD command, however, if CLOAD is not used for a load step, that load step is treated as a cycle. Since the whole contact surface that is undergoing wear in the cycle is updated at once, at the end of the cycle, the typical scaling factor will be less than that calculated by the auto-scaling scheme. This method can be activated by specifying the TBOPT = CBCS for TB,WEAR. The command and defaults are similar to the TBOPT = AUTS autoscaling scheme.

TB,WEAR,MATID,CBCS
TBDATA,STLOC,C1,C2

Table 14.1: Adaptive Wear Scaling Parameters

PropertyTBDATADefault Value
Wear scaling factorC1<10.1
Maximum wear scaling factorC21e5


The wear scale factor at the end of the cycle is calculated as:

Wear scale time within the cycle is updated as in auto scaling:

  • — Wear scaled time at the start of the cycle

  • — Wear scaled time at the end of the cycle

  • — Wear scale factor over the duty cycle (simulation cycle) for i'th contact pair

  • — Wear scale factor at the end of the duty cycle for i'th contact pair

  • — Time period of the duty cycle

14.1.6. Assumptions and Restrictions

You should keep the following assumptions and restrictions in mind when modeling wear.

  • Wear is only active for quasi-static and transient dynamic analyses (ANTYPE,0 or 4). If a linear perturbation analysis follows a static or transient dynamic base analysis that included wear, the effect of wear calculated at the end of the restart point is also included in the linear perturbation analysis.

  • Wear (TB,WEAR) must be defined before the first SOLVE command is issued. Wear coefficients can be modified between load steps by using the TBFIELD,TIME command to define time-dependent values.

  • Although you can redefine wear data by redefining TB,WEAR between load steps, any analysis involving a restart (including manual rezoning and nonlinear mesh adaptivity) will use the wear data defined in the first load step, irrespective of which load step is used as the restart point. This is due to the multiframe restart architecture, whereby the restart database is based on the beginning of the solution (see Multiframe Restart in the Basic Analysis Guide for more information). Therefore, the recommended method for defining different wear data for different load steps (or time points) is to use the TBFIELD,TIME command in conjunction with TBDATA.

  • Use wear only with the following contact algorithms: Augmented Lagrangian or Penalty function (KEYOPT(2) = 0 or 1). Using wear with the pure Lagrangian contact algorithm can result in convergence problems and is not recommended.

  • Wear is only available when the contact detection point is a nodal point (KEYOPT(4) = 1 to 5).

  • Wear is only available for the following contact surface behaviors: standard and rough (KEYOPT(12) = 0 and 1).

  • When modeling wear, it is recommended that the underlying elements (beneath the contact elements) are structural solid elements or structural coupled-field solid elements.

  • Wear is not available for layered solids.

  • In general, you should use asymmetric contact to model wear on only one side of the contact interface. However, you can use symmetric contact if wear is desired on both sides of the interface. In this case, Ansys recommends that you set contact element KEYOPT(8) = 1 so that both contact pairs have the same contact characteristics.

  • When defining wear for CONTA175 with the force-based model (KEYOPT(3) = 0), define the wear model such that the relationship between wear increment is with respect to contact force and not contact traction.

  • During rezoning, since the geometry is updated with accumulated wear, the wear is initialized to zero (similar to displacement) upon a subsequent restart. The same is true for nonlinear mesh adaptivity. The geometry is updated with the accumulated wear, and wear is initialized to zero whenever nonlinear mesh adaptivity is performed. To aid convergence, the wear increment is ignored for the first substep after the remesh.

  • NLADAPTIVE-based mesh morphing to improve mesh quality is not supported for a wear surface having mixed tetrahedral (SOLID187 or SOLID285) and hexahedral (SOLID185 or SOLID186) elements.

  • Splitting of large contact pairs to speed up the simulation (CNCHECK,DMP or CNCHECK,SPLIT) is only supported for the Archard model when material constant C5 = 0.

  • Automatic scaling of the wear increment assumes that the contact surface undergoing wear is subjected to a constant load, and wear is happening due to reciprocating motion at the interface. This is the typical loading scenario for fretting wear. If the loading is ramping up or down, then the automatic scaling will not scale the different time points of the cycle consistently and will not produce correct results.

  • When a time varying load is being applied, cycle by cycle scaling is useful for scaling wear to speed up simulations. Since the wear is scaled only once per cycle, the scaled wear magnitude can create a large change and cause convergence difficulty. Hence, the scaled wear magnitude calculated by the program is usually conservative to enable converged solution. You can change the magnitude of the scaling by providing the wear safety factor or the maximum wear scaling factor using the TBDATA command.

  • Since the autoscaling scheme for the wear (TBOPT=AUTS) scales at every substep, the AUTS method is smoother than the CBCS method, and can achieve higher scaling with less convergence difficulty. Hence, use the autoscaling scheme wherever possible. With a sufficiently small wear scaling factor, problems with varying wear rate can be solved.

  • In one simulation, only one scaling scheme (TBOPT=AUTS or CBCS) can be used. You cannot specify both scaling schemes. If both scaling commands are issued in the same model, the AUTS wear scaling is preferred with a warning message.

  • NLADAPTIVE-based mesh update for wear is not allowed for cycle by cycle wear if the cyclic load is applied using CLOAD.

14.1.7. Postprocessing

The total wear vector components at a node of a contact element are available as NMISC data. To help in the visualization of the surface that has undergone wear, the wear is also added to the nodal displacements in the Jobname.rst file.

The total volume lost due to wear for a contact pair can be tracked via the NLHIST command. NLHIST must be issued before the solution starts.

As wear accumulates, the contact results at the interface change with time. You can automatically terminate the analysis when a desired contact result has been reached (for example, when contact pressure falls below a critical value, or when wear volume exceeds a critical value). Use the STOP_VAUE and STOP_COND arguments of the NLHIST command to specify the criterion by which the analysis should terminate.

For more information on how to review results in a contact analysis, see Reviewing the Results in Surface-to-Surface Contact (Pair-Based).