<!-- source-page: 321 -->

# 1.1.47 UMOTION: User subroutine to specify motions during cavity radiation heat transfer analysis or steady-state transport analysis.

# Product: Abaqus/Standard

# References

• “Cavity radiation,” Section 41.1.1 of the Abaqus Analysis User’s Guide   
• “Steady-state transport analysis,” Section 6.4.1 of the Abaqus Analysis User’s Guide   
• \*MOTION   
• \*TRANSPORT VELOCITY

# Overview

User subroutine UMOTION:

• can be used either to define the magnitude of the translational motion for degrees of freedom specified as a predefined field in a cavity radiation heat transfer analysis or to define the magnitude of the rotational velocity in a steady-state transport step; and   
• will overwrite any motion or transport velocity magnitudes if they are defined directly (and possibly modified by including an amplitude reference) outside the user subroutine.

# User subroutine interface

```txt
SUBROUTINE UMOTION(U,KSTEP,KINC,TIME,NODE,JDOF)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION U,TIME(2)
C
user coding to define U
RETURN
END 
```

<!-- source-page: 322 -->

# Variable to be defined

U

Total value of the component of the translation due to prescribed motion for the degree of freedom specified by JDOF. U will be passed into the routine as the value defined by any magnitude and/or amplitude specification in the motion definition for the degree of freedom JDOF. The total value of the translation must be given in user subroutine UMOTION, regardless of the type of motion defined (displacement or velocity).

When used in conjunction with a steady-state transport analysis, U defines the magnitude of the rotational velocity. In such a case JDOF is passed in as 0.

# Variables passed in for information

KSTEP

Step number.

KINC

Increment number.

TIME(1)

Current value of step time.

TIME(2)

Current value of total time.

NODE

Node number.

JDOF

Degree of freedom. When used in a steady-state transport analysis, JDOF is passed in as 0.

<!-- source-page: 323 -->

# 1.1.48 UMULLINS: User subroutine to define damage variable for the Mullins effect material model.

# Product: Abaqus/Standard

# References

• “Mullins effect,” Section 22.6.1 of the Abaqus Analysis User’s Guide   
• \*MULLINS EFFECT   
• “Mullins effect and permanent set,” Section 2.2.3 of the Abaqus Verification Guide

# Overview

User subroutine UMULLINS:

• can be used to define the damage variable for the Mullins effect material model, including the use of the Mullins effect approach to model energy dissipation in elastomeric foams;   
• will be called at all material calculation points of elements for which the material definition contains a user-defined Mullins effect; and   
• should be used when you do not want to use the Ogden and Roxburgh form of the damage variable, , that is used by Abaqus/Standard.

# User subroutine interface

```fortran
SUBROUTINE UMULLINS (NUMPROPS, PROPS, UMAXNEW, UMAXOLD, SEDDEV, 1 ETA, DETADW, DMGDISSOLD, DMGDISSNEW, SENERNEW, NUMSTATEV, STATEV, 2 TEMP, DTEMP, NUMFIELDV, FIELDV, FIELDVINC, CMNAME, LINPER)
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 CMNAME
DIMENSION PROPS (*), STATEV (*), FIELDV (*), FIELDVINC (*)
user coding to define ETA, DETADW,
and, optionally, DMGDISSNEW, SENERNEW, STATEV
RETURN
END 
```

<!-- source-page: 324 -->

# Variables to be defined

# ETA

The damage variable, .

# DETADW

The derivative of the damage variable with respect to the elastic strain energy density of the undamaged material, $\begin{array} { l } { \frac { d \eta } { d \tilde { U } } } \end{array}$ . This quantity is needed for the Jacobian of the overall system of equations and needs to be defined accurately to ensure good convergence characteristics.

# Variables that can be updated

# DMGDISSNEW

The energy dissipation density at the end of the increment. This quantity can be defined either in total form or in an incremental manner using the old value of the damage dissipation DMGDISSOLD and the increment in damage dissipation. This quantity is used for output purposes only.

# SENERNEW

The recoverable strain energy density at the end of the increment. This quantity is used for output purposes only.

# STATEV

Array containing the user-defined solution-dependent state variables at this point. These are supplied as values at the start of the increment or as values updated by other user subroutines (see “User subroutines: overview,” Section 18.1.1 of the Abaqus Analysis User’s Guide) and must be returned as values at the end of the increment.

# Variables passed in for information

# UMAXNEW

The value, at the end of the increment, of the maximum primary strain energy density over its entire deformation history.

# UMAXOLD

The value, at the beginning of the increment, of the maximum primary strain energy density over its entire deformation history.

# SEDDEV

The value, at the end of the increment, of the deviatoric primary strain energy density when the primary material behavior is hyperelastic. The value, at the end of the increment, of the total primary strain energy density when the primary material behavior is hyperfoam.

# DMGDISSOLD

The value of energy dissipated at the beginning of the increment.

<!-- source-page: 325 -->

# CMNAME

User-specified material name, left justified.

# NUMSTATEV

Number of solution-dependent state variables associated with this material (defined as described in “Allocating space” in “User subroutines: overview,” Section 18.1.1 of the Abaqus Analysis User’s Guide).

# NUMPROPS

Number of material properties entered for this user-defined hyperelastic material.

# PROPS

Array of material properties entered for this user-defined hyperelastic material.

# TEMP

Temperature at the start of the increment.

# DTEMP

Increment of temperature.

# NUMFIELDV

Number of field variables.

# FIELDV

Array of interpolated values of predefined field variables at this material point at the beginning of the increment based on the values read in at the nodes (initial values at the beginning of the analysis and current values during the analysis).

# FIELDVINC

Array of increments of predefined field variables at this material point for this increment; this includes any values updated by user subroutine USDFLD.

# LINPER

Linear perturbation flag. LINPER=1 if the step is a linear perturbation step. LINPER=0 if the step is a general step.

<!-- source-page: 326 -->

<!-- source-page: 327 -->

# 1.1.49 UPOREP: User subroutine to define initial fluid pore pressure.

# Product: Abaqus/Standard

# References

• “Initial conditions in Abaqus/Standard and Abaqus/Explicit,” Section 34.2.1 of the Abaqus Analysis User’s Guide   
• “Coupled pore fluid diffusion and stress analysis,” Section 6.8.1 of the Abaqus Analysis User’s Guide   
• \*INITIAL CONDITIONS

# Overview

User subroutine UPOREP:

• allows for the specification of the initial pore pressure values of a porous medium;   
• can be used to define initial pore pressure values as functions of nodal coordinates and/or node numbers; and   
• will be called to define initial fluid pore pressure values at all nodes of a coupled pore fluid diffusion and stress analysis whenever user-defined initial pore pressure conditions are specified.

# User subroutine interface

```txt
SUBROUTINE UPOREP(UW0,COORDS,NODE)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION COORDS(3)
C
user coding to define UW0
RETURN
END
```

# Variable to be defined

UW0

Initial fluid pore pressure.

<!-- source-page: 328 -->

# Variables passed in for information

# COORDS

An array containing the current coordinates of this node.

# NODE

Node number.

<!-- source-page: 329 -->

# 1.1.50 UPRESS: User subroutine to specify prescribed equivalent pressure stress conditions.

# Product: Abaqus/Standard

# References

• “Mass diffusion analysis,” Section 6.9.1 of the Abaqus Analysis User’s Guide   
• \*PRESSURE STRESS   
• “UTEMP, UFIELD, UMASFL, and UPRESS,” Section 4.1.25 of the Abaqus Verification Guide

# Overview

User subroutine UPRESS:

• allows you to prescribe equivalent pressure stress values at the nodes of a model;   
• will be called in a mass diffusion analysis whenever a current value of equivalent pressure stress is needed for a node that has user-defined pressure stress conditions;   
• can be used to modify any pressure stresses read in from a results file; and   
• ignores any equivalent pressure stresses provided for the associated pressure stress definition outside the user subroutine.

# User subroutine interface

```fortran
SUBROUTINE UPRESS(PRESS,KSTEP,KINC,TIME,NODE,COORDS)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION TIME(2), COORDS(3)
C
user coding to define PRESS
RETURN
END
```

# Variable to be defined

# PRESS

Total value of the equivalent pressure stress at the node.

<!-- source-page: 330 -->

You may have also requested equivalent pressure stress to be set in one of two other ways: from a previously generated results file or via direct data input. When PRESS is passed into user subroutine UPRESS, it will contain equivalent pressure stresses obtained from the results file only. You can modify these values within this routine. Any values given as direct data input will be ignored.

# Variables passed in for information

# KSTEP

Step number.

# KINC

Increment number.

# TIME(1)

Current value of step time.

# TIME(2)

Current value of total time.

# NODE

Node number.

# COORDS

An array containing the coordinates of this node.
