<!-- source-page: 61 -->

# NSTATV

Number of user-defined state variables.

# CHRLNGTH

Characteristic contact surface face dimension, which can be used to define the maximum allowable elastic slip.

# PROPS(NPROPS)

Array of user-specified property values that are used to define the frictional behavior between the contacting surfaces.

# NPROPS

User-specified number of property values associated with this friction model.

<!-- source-page: 62 -->

<!-- source-page: 63 -->

# 1.1.9 FRIC\_COEF: User subroutine to define the frictional coefficient for contact surfaces.

# Product: Abaqus/Standard

# References

• “Frictional behavior,” Section 37.1.5 of the Abaqus Analysis User’s Guide   
• \*FRICTION   
• “FRIC\_COEF,” Section 4.1.5 of the Abaqus Verification Guide

# Overview

User subroutine FRIC\_COEF:

• can be used to define the isotropic frictional coefficient between contacting surfaces;   
• corresponds to the classical Coulomb friction model; and   
• can be used with the contact pair and general contact algorithms.

# User subroutine interface

```c
subroutine fric_coef (
C Write only -
* fCoef, fCoefDeriv,
C Read only -
* nBlock, nProps, nTemp, nFields,
* jFlags, rData,
* surfInt, surfSlv, surfMst,
* props, slipRate, pressure,
* tempAvg, fieldAvg)
C
include 'aba_param.inc'
C
dimension fCoef(nBlock),
* fCoefDeriv(nBlock,3),
* props(nProps),
* slipRate(nBlock),
* pressure(nBlock),
* tempAvg(nBlock),
* fieldAvg(nBlock,nFields)
C
parameter( iKStep    = 1, 
```

<!-- source-page: 64 -->

```matlab
* iKInc = 2,
* nFlags = 2 )
C
    parameter( iTimStep = 1,
    * iTimGlb = 2,
    * iDTimCur = 3,
    * nData = 3 )
C
    dimension jFlags(nFlags), rData(nData)
C
    character*80 surfInt, surfSlv, surfMst
C
    user coding to define fCoef
    return
    end 
```

# Variables to be defined

fCoef(nBlock)

This array must be updated to the current values of the friction coefficient at the contact point.

fCoefDeriv(nBlock,3)

This array must be updated to the derivatives of the friction coefficient with respect to slip rate, pressure, and temperature at the contact point.

# Variables passed in for information

nBlock

Equal to 1.

nProps

User-specified number of property values associated with this friction model.

nTemp

1 if the temperature is defined and 0 if the temperature is not defined.

nFields

Number of user-specified field variables.

jFlag(1)

Step number.

jFlag(2)

Increment number.

<!-- source-page: 65 -->

rData(1)

Value of step time.

rData(2)

Value of total time.

rData(3)

Current increment in time from $t = t _ { c u r r } - \Delta t { \mathrm { t } } 0 t = t _ { c u r r } .$

surfInt

User-specified surface interaction name, left justified.

surfSlv

Slave surface name, left justified.

surfMst

Master surface name, left justified.

props(nProps)

User-specified vector of property values to define the frictional coefficient at the contact point.

slipRate(nBlock)

This array contains the rate of tangential slip at the contact point for the current time increment.

pressure(nBlock)

This array contains the pressure at the contact point projected at the end of the current time increment.

tempAvg(nBlock)

Average current temperature between the master and slave surfaces at the contact point.

fieldAvg(nBlock,nFields)

Average current value of all the user-specified field variables between the master and slave surfaces at the contact point.

<!-- source-page: 66 -->

<!-- source-page: 67 -->

# 1.1.10 GAPCON: User subroutine to define conductance between contact surfaces or nodes in a fully coupled temperature-displacement analysis, coupled thermalelectrical-structural analysis, or pure heat transfer analysis.

# Product: Abaqus/Standard

# References

• “Thermal contact properties,” Section 37.2.1 of the Abaqus Analysis User’s Guide   
• \*GAP CONDUCTANCE   
• “GAPCON,” Section 4.1.6 of the Abaqus Verification Guide

# Overview

User subroutine GAPCON:

• assumes that the heat transfer between surfaces is modeled as $q = k ( \theta _ { A } - \theta _ { B } )$ , where q is the heat flux per unit area flowing between corresponding points A and B on the surfaces, k is the gap conductance, and $\theta _ { A }$ and $\theta _ { B }$ are the surface temperatures;   
• is used to define k, providing greater flexibility than direct gap conductance definition in specifying the dependencies of k (for example, it is not necessary to define the gap conductance as a function of the average of the two surfaces’ temperatures, mass flow rates, or field variables);   
• will be called at the slave nodes of a contact pair and at the integration points in a contact or a gap element for which the heat conductance definition contains a user-subroutine-defined gap conductance; and   
• ignores any dependencies or data specified for the gap conductance outside the user subroutine.

# Usage with contact pairs and gap elements

When this subroutine is used with a contact pair, point A is on the slave surface and point B is on the master surface.

When GAPCON is used with gap elements of type DGAP or GAPUNIT, point A is on the first node of the element and point B is the second node of the element.

# User subroutine interface

SUBROUTINE GAPCON(AK,D,FLOWM,TEMP,PREDEF,TIME,CINAME,SLNAME, 1 MSNAME,COORDS,NOEL,NODE,NPRED,KSTEP,KINC)

```csv
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 CINAME, SLNAME, MSNAME 
```

<!-- source-page: 68 -->

C

```txt
DIMENSION AK(5), D(2), FLOWM(2), TEMP(2), PREDEF(2, *), 1 TIME(2), COORDS(3)
user coding to define AK(1) -- AK(5)
RETURN
END 
```

# Variables to be defined

# AK(1)

Gap conductance, k. The units of k are energy per time (flux) per area per temperature $( \mathrm { J } \mathrm { T } ^ { - 1 } \mathrm { L } ^ { - 2 } \theta ^ { - 1 } )$ .

# AK(2)

$\partial k / \partial d ,$ derivative of the gap conductance with respect to the clearance between the bodies. If the gap conductance is not a function of gap clearance, AK(2)=0.0. This variable needs to be defined only for fully coupled temperature-displacement and coupled thermal-electrical-structural analyses.

# AK(3)

$\partial k / \partial p$ , derivative of the gap conductance with respect to the pressure between the bodies. If the gap conductance is not a function of the pressure, AK(3)=0.0. This variable needs to be defined only for fully coupled temperature-displacement and coupled thermal-electrical-structural analyses.

# AK(4)

$\partial k / \partial \theta _ { A }$ , derivative of the gap conductance with respect to the temperature of point A on the first surface of the interface.

# AK(5)

$\partial k / \partial \theta _ { B }$ , derivative of the gap conductance with respect to the temperature of point B on the second surface of the interface.

# Variables passed in for information

# D(1)

Separation between the surfaces, d.

# D(2)

Pressure transmitted across the surfaces, p. This pressure is zero in pure heat transfer analysis.

# FLOWM(2)

${ \dot { m } } | _ { A } , { \dot { m } } | _ { B }$ , magnitudes of the mass flow rate per unit area at points A and B.

# TEMP(2)

Current temperature at points A and B.

<!-- source-page: 69 -->

# PREDEF(2,NPRED)

An array containing pairs of values of all of the user-specified field variables at the end of the current increment at points A and B (initial values at the beginning of the analysis and current values during the analysis).

# TIME(1)

Value of step time at the end of the increment.

# TIME(2)

Value of total time at the end of the increment.

# CINAME

User-specified surface interaction name associated with the heat conductance definition, left justified. For contact elements it is the element set name given for the interface definition associated with the heat conductance definition; if an optional name is assigned to the interface definition, CINAME is passed in as this name, left justified. For gap elements it is the element set name for the element definition associated with the heat conductance definition.

# SLNAME

Slave surface name. Passed in as blank if contact or gap elements are used.

# MSNAME

Master surface name. Passed in as blank if contact or gap elements are used.

# COORDS

An array containing the coordinates of point A. These are the current coordinates if geometric nonlinearity is accounted for during the step (see “Defining an analysis,” Section 6.1.2 of the Abaqus Analysis User’s Guide); otherwise, the array contains the original coordinates of the point.

# NOEL

Element label for contact or gap elements. Passed in as zero if contact surfaces are defined.

# NODE

Slave node number (point A) if GAPCON is called for a contact pair.

# NPRED

Number of predefined field variables.

# KSTEP

Step number.

# KINC

Increment number.

<!-- source-page: 70 -->
