This Abaqus UMAT subroutine implements a family of internal-variable-based constitutive models for the viscoelastic response of elastomers of any compressibility — including fully incompressible elastomers — undergoing finite deformations, that introduced by Kumar and Lopez-Pamies [1]. The models can be chosen to account for a wide range of non-Gaussian elasticities, as well as for a wide range of nonlinear viscosities.
The present subroutine is implemented for the choice of two-term Lopez-Pamies non-Gaussian elasticities [2] and deformation-enhanced shear-thinning nonlinear viscosity proposed in [1]. It relies on a hybrid formulation [3] to deal with nearly or fully incompressible elastomers.
The subroutine is to be used as a USER MATERIAL with 15 material CONSTANTS and a TOTAL HYBRID FORMULATION, e.g.,
*USER MATERIAL,CONSTANTS=15,HYBRID FORMULATION=TOTAL
in the input (.inp) file. Due to the hybrid nature of the underlying formulation, hybrid finite elements must be used in the simulation.
The 15 material properties of the model are the primary inputs of the subroutine and are listed in order below:
AMU1: parameter #1 of the equilibrium elasticityAALPHA1: exponent #1 of the equilibrium elasticityAMU2: parameter #2 of the equilibrium elasticityAALPHA2: exponent #2 of the equilibrium elasticityAKAPPAE: bulk modulus of the equilibrium elasticityAA1: exponent #1 of the non-equilibrium elasticityAM2: parameter #2 of the non-equilibrium elasticityAA2: exponent #2 of the non-equilibrium elasticityAM1: parameter #1 of the non-equilibrium elasticityAETA0: parameter #1 of the deviatoric viscosityAETAI: parameter #2 of the deviatoric viscosityABETA1: exponent #1 of the deviatoric viscosityABETA2: exponent #2 of the deviatoric viscosityAK1: factor #1 of the deviatoric viscosityAK2: factor #2 of the deviatoric viscosity
They are entered in the input (.inp) file as follows:
*USER MATERIAL,CONSTANTS=15,HYBRID FORMULATION=TOTAL
AMU1, AALPHA1, AMU2, AALPHA2, AKAPPAE, AM1, AA1, AM2,
AA2, AETA0, AETAI, ABETA1, ABETA2, AK1, AK2
The material parameters AMU1, AMU2 characterizing the equilibrium elasticity are non-negative real numbers (AMU1 ≥ 0, AMU2 ≥ 0) with strictly positive sum (AMU1 + AMU2 > 0).
The two exponents AALPHA1, AALPHA2 are non-zero real numbers (AALPHA1 ≠ 0, AALPHA2 ≠ 0) with MAX{AALPHA1, AALPHA2} > 0 leading to a strongly elliptic strain energy (see eq. (22) in [2]). This is left to the user to check.
The material parameter AKAPPAE characterizing the compressibility of the equilibrium elasticity is a strictly positive real number (AKAPPAE > 0).
The material parameters AM1, AM2 characterizing the non-equilibrium elasticity are non-negative real numbers (AM1 ≥ 0, AM2 ≥ 0) with strictly positive sum (AM1 + AM2 > 0).
The two exponents AA1, AA2 are non-zero real numbers (AA1 ≠ 0, AA2 ≠ 0) with MAX{AA1, AA2} > 0 leading to a strongly elliptic strain energy (see eq. (22) in [2]). This is left to the user to check.
The material parameters AETA0, AETAI, ABETA1, ABETA2, AK1, AK2 characterizing the viscous dissipation are all non-negative real numbers (AETA0 ≥ 0, AETAI ≥ 0, ABETA1 ≥ 0, ABETA2 ≥ 0, AK1 ≥ 0, AK2 ≥ 0).
-
The subroutine uses solution-dependent state variables for the independent components of the symmetric tensorial internal variable
${\mathbf{C}}^{v-1}$ . The space for the state variables must be allocated in the input file using the*DEPVARkeyword:*DEPVAR NSTATVwhere
NSTATVis the number of state variables required.NSTATVdepends on the type of finite elements used:-
NSTATV= 4 for elements with only 1 non-zero shear component (CPE3H, CPE4H, CPE6H, CPE8H, CAX3H, CAX4H, CAX6H, CAX8H, CPEG3H, CPEG4H, CPEG6H, CPEG8H, ...) -
NSTATV= 6 for elements with all 3 non-zero shear components (C3D4H, C3D8H, C3D10H, C3D20H, CGAX3H, CGAX4H, CGAX6H, CGAX8H, ...)
Note that an incorrect value of
NSTATVwill trigger an error in the subroutine and the error message in the .msg file will indicate the expected value forNSTATV. -
-
The values of state variables must be initialized according to the initial condition
${\mathbf{C}}^{v-1}={\mathbf{I}}$ using the*INITIAL CONDITIONSkeyword as follows:-
NSTATV= 4:*INITIAL CONDITIONS, TYPE=SOLUTION ALLELEMENTSET,1.0,1.0,1.0,0.0 -
NSTATV= 6:*INITIAL CONDITIONS, TYPE=SOLUTION ALLELEMENTSET,1.0,1.0,1.0,0.0,0.0,0.0
where
ALLELEMENTSETis an element set of all finite elements associated with the UMAT material. -
-
The subroutine uses the variable
SSEto output$\psi^E = \Psi^E / J$ , the strain energy density per deformed unit volume in the equilibrium branch.The corresponding contour plot can be obtained by including the output variable identifier
SENERin the element output request keyword*ELEMENT OUTPUT.The corresponding total energy (i.e., the volume internal of
SSE) can be obtained by including the output variable identifierALLSEin the history output request keyword*ENERGY OUTPUT. -
The subroutine uses the variable
SPDto output$\psi^{NE} = \Psi^{NE} / J$ , the strain energy density per deformed unit volume in the non-equilibrium branch. Note that this use of theSPDvariable is different from the typical meaning of theSPDvariable in UMAT subroutines, which is the plastic dissipation density.The corresponding contour plot can be obtained by including the output variable identifier
PENERin the element output request keyword*ELEMENT OUTPUT.The corresponding total energy (i.e., the volume internal of
SPD) can be obtained by including the output variable identifierALLPDin the history output request keyword*ENERGY OUTPUT.
-
Contour plots of the components of the internal variable
${\mathbf{C}}^{v-1}$ can be obtained by including the output variable identifierSDVin the element output request keyword*ELEMENT OUTPUT. -
A UVARM subroutine is also included to create two user output variable,
UVARM1=$I_1$ =$\text{tr}({\mathbf{F}}^T{\mathbf{F}})$ andUVARM2=$J$ =$\text{det(F)}$ . The space for these user output variables must be allocated in the input file using the*USER OUTPUT VARIABLESkeyword:*USER OUTPUT VARIABLES 2The corresponding contour plots can be obtained by including the output variable identifier
UVARMin the element output request keyword*ELEMENT OUTPUT.
- This subroutine doesn't create predefined field variables.
- Please consult the Abaqus Documentation for additional references regarding the use of the UMAT subroutine for (near-)incompressible material models.
- The line
#INCLUDE <SMAASPUSERSUBROUTINES.HDR>, which appears twice in the code (lines 848 and 1235), has generated errors on some versions of Abaqus, but not on others. If the line generates an error, you can comment it out by including the characterCas the first character of the line. It is expected that the code will work after this modification.
The Examples folder contains examples of how to use the present subroutine.
The references below can be found in the References folder.
- Kumar, A., Lopez-Pamies, O., 2016. On the two-potential constitutive modeling of rubber viscoelastic materials. Comptes Rendus Mécanique 344, 102–112.
- Lopez-Pamies, O., 2010. A new I1-based hyperelastic model for rubber elastic materials. Comptes Rendus Mécanique 338, 3–11.
- Lefèvre, V., Sozio, F., Lopez-Pamies, O., 2024. Abaqus implementation of a large family of finite viscoelasticity models. Finite Elements in Analysis and Design 232, 104114.