# 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 ``` # 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. # 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 ``` # 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. # 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. # 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. # Variables passed in for information # COORDS An array containing the current coordinates of this node. # NODE Node number. # 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. 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.