Material Data Definition

Each material definition can contain multiple material behaviors, as required, to specify the complete material behavior.

A material definition in Abaqus:

  • specifies the behavior of a material and supplies all the relevant property data;

  • is assigned a name, which is used to refer to those parts of the model that are made of that material;

  • can have temperature and/or field variable dependence;

  • can have solution variable dependence; and

  • can be specified in a local coordinate system (Orientations), which is required if the material is not isotropic.

This page discusses:

Material Definitions

Any number of materials can be defined in an analysis. Each material definition can contain any number of material behaviors, as required, to specify the complete material behavior. For example, in a linear static stress analysis only elastic material behavior might be needed, while in a more complicated analysis several material behaviors might be required.

A name must be assigned to each material definition. This name allows the material to be referenced from the section definitions used to assign this material to regions in the model.

Large-Strain Considerations

When giving material properties for finite-strain calculations, “stress” means “true” (Cauchy) stress (force per current area) and “strain” means logarithmic strain. For example, unless otherwise indicated, for uniaxial behavior

ε=dll=ln(ll0).

Specifying Material Data as Functions of Temperature and Independent Field Variables

Material data are often specified as functions of independent variables such as temperature. Material properties are made temperature dependent by specifying them at several different temperatures.

In some cases a material property can be defined as a function of variables calculated by Abaqus; for example, to define a work-hardening curve, stress must be given as a function of equivalent plastic strain.

Material properties can also be dependent on “field variables” (user-defined variables that can represent any independent quantity and are defined at the nodes, as functions of time). For example, material moduli can be functions of weave density in a composite or of phase fraction in an alloy. See Specifying Field Variable Dependence for details. The initial values of field variables are given as initial conditions (see Initial Conditions) and can be modified as functions of time during an analysis (see Predefined Fields). This capability is useful if, for example, material properties change with time because of irradiation or some other precalculated environmental effect.

Any material behaviors defined using a distribution in Abaqus/Standard (mass density, linear elastic behavior, and/or thermal expansion) cannot be defined with temperature and/or field dependence. However, material behaviors defined with distributions can be included in a material definition with other material behaviors that have temperature and/or field dependence. See Density, Linear Elastic Behavior, and Thermal Expansion.

Interpolation of Material Data

In the simplest case of a constant property, only the constant value is entered. When the material data are functions of only one variable, the data must be given in order of increasing values of the independent variable. Abaqus then interpolates linearly for values between those given. Thus, you can give as many or as few input values as are necessary for the material model. If the material data depend on the independent variable in a strongly nonlinear manner, you must specify enough data points so that a linear interpolation captures the nonlinear behavior accurately.

When material properties depend on several variables, the variation of the properties with respect to the first variable must be given at fixed values of the other variables, in ascending values of the second variable, then of the third variable, and so on. The data must always be ordered so that the independent variables are given increasing values. This process ensures that the value of the material property is completely and uniquely defined at any values of the independent variables upon which the property depends. See Input Syntax Rules for further explanation and an example.

Example: Temperature-Dependent Linear Isotropic Elasticity

Figure 1 shows a simple, isotropic, linear elastic material, giving the Young's modulus and the Poisson's ratio as functions of temperature.

Example of material definition.

In this case six sets of values are used to specify the material description, as shown in the following table:

Elastic Modulus Poisson's Ratio Temperature
E1 ν1 θ1
E2 ν2 θ2
E3 ν3 θ3
E4 ν4 θ4
E5 ν5 θ5
E6 ν6 θ6

For temperatures that are outside the range defined by θ1 and θ6, Abaqus assumes constant values for E and ν. The dotted lines on the graph represent the straight-line approximations that will be used for this model. In this example only one value of the thermal expansion coefficient is given, α1, and it is independent of temperature.

Example: Elastic-Plastic Material

Figure 2 shows an elastic-plastic material for which the yield stress is dependent on the equivalent plastic strain and temperature.

Example of material definition with two independent variables.

In this case the second independent variable (temperature) must be held constant, while the yield stress is described as a function of the first independent variable (equivalent plastic strain). Then, a higher value of temperature is chosen and the dependence on equivalent plastic strain is given at this temperature. This process, as shown in the following table, is repeated as often as necessary to describe the property variations in as much detail as required:

Yield Stress Equivalent Plastic Strain Temperature
σ01 ε01 θ1
σ11 ε11 θ1
σ21 ε21 θ1
σ31 ε31 θ1
σ02 ε02 θ2
σ12 ε12 θ2
σ22 ε22 θ2
σ32 ε32 θ2

Extrapolation of Material Data

By default, the property is assumed to be constant outside the range of independent variables given (except for fabric materials, where the property is extrapolated linearly outside the specified range). For some properties, Abaqus allows you to choose the extrapolation method outside the specified range. In these cases, you can specify if the value of the property is constant or is extrapolated linearly outside the range. If the latter method is selected, Abaqus extrapolates the property linearly using the slope at the last specified data point.

Example: Extrapolation for Elastic-Plastic Material with Isotropic Hardening

In Table 1 the Mises isotropic yield surface is defined by providing three data points.

Table 1. Isotropic hardening data.
Yield Stress Equivalent Plastic Strain
σ 0 Y 0
σ 1 Y ε ¯ 1 p l
σ 2 Y ε ¯ 2 p l

The response of the material outside the range of equivalent plastic strain ( ε ¯ p l > ε ¯ 2 p l ) depends on the extrapolation method specified, as shown in Figure 3.

Material response for constant and linear extrapolations.

Specifying Field Variable Dependence

You can specify the number of user-defined field variable dependencies required for many material behaviors (see Predefined Fields). If you do not specify a number of field variable dependencies for a material behavior with which field variable dependence is available, the material data are assumed not to depend on field variables.

Specifying Material Data as Functions of Solution-Dependent Variables

In Abaqus you can introduce dependence on solution variables through a user subroutine or by direct specification.

User Subroutine Approach

User subroutines USDFLD in Abaqus/Standard and VUSDFLD in Abaqus/Explicit allow you to define field variables at a material point as functions of time, material directions, and any of the available material point quantities. These quantities are listed in Abaqus/Standard Output Variable Identifiers for USDFLD and in Available Output Variable Keys for VUSDFLD. Material properties defined as functions of these field variables, therefore, can be dependent on the solution.

User subroutines USDFLD and VUSDFLD are called at each material point for which the material definition includes a reference to the user subroutine.

For general analysis steps the values of variables provided in user subroutines USDFLD and VUSDFLD are those corresponding to the start of the increment. Hence, the solution dependence introduced in this way is explicit; the material properties for a given increment are not influenced by the results obtained during the increment. Consequently, the accuracy of the results generally depends on the time increment size. This is not typically a concern in Abaqus/Explicit because the stable time increment is usually sufficiently small to ensure good accuracy. In Abaqus/Standard you can control the time increment from inside user subroutine USDFLD. For linear perturbation steps the solution variables in the base state are available. For a discussion of general and linear perturbation steps, see General and Perturbation Procedures.

Direct Specification Approach

There are applications where it is desirable to redefine a field variable to be equal to the value of a scalar output variable. In such cases, you can avoid the overhead of writing and maintaining a user subroutine and, instead, introduce solution dependence directly by associating a field variable with an existing scalar output variable in Abaqus. For scalar output variables, you only need to specify the output variable identifier to build this association. However, for a vector or a tensor output variable, you must specify the appropriate component of the variable (for example, specify PE11 instead of PE to associate a field variable with the -11- component of the plastic strain tensor).

Any output variable that is available with the GETVRM or the VGETVRM utility routine, used to access material point information in Abaqus/Standard and Abaqus/Explicit, respectively, can be associated with a field variable.

For general analysis steps the values of the output variables are those corresponding to the start of the increment. Hence, the solution dependence introduced in this way is explicit; the material properties for a given increment are not influenced by the results obtained during the increment. Consequently, the accuracy of the results typically depends on the time increment size. This is usually not a concern in Abaqus/Explicit because the stable time increment is usually sufficiently small to ensure good accuracy. For linear perturbation steps the output variables in the base state are used. For a discussion of general and linear perturbation steps, see General and Perturbation Procedures.

Material Failure and Element Deletion

Abaqus offers a general framework for material failure modeling that allows the combination of multiple failure mechanisms acting simultaneously on the same material. Material failure refers to the complete loss of load-carrying capacity at a material point that results from progressive degradation of the material stiffness or instantaneous rupture based on material constitutive models or by user specification. An active material point is considered to turn inactive (deleted) upon material failure. For material behaviors defined by user subroutines, you can control the status of a material point inside user subroutines using solution-dependent state variables (see Deleting Elements from a Mesh Using State Variables). In Abaqus/Explicit output variable STATUSMP can be used to request the status at each material point. This variable is equal to one if the material point is active and equal to zero if the material point fails.

Unless specified otherwise for particular material behaviors, an element is deleted (or removed) from a mesh upon material failure. Detailed criteria for element deletion driven by material failure in Abaqus/Standard and Abaqus/Explicit are described below. Deleted elements have no ability to carry stresses and, therefore, do not contribute to the stiffness of the model. In a heat transfer analysis the thermal contribution of the element is also removed when the element deletion criterion is reached.

The status of an element can be determined by requesting output variable STATUS. This variable is equal to one if the element is active and equal to zero if the element is deleted. ).

Alternatively, several material failure mechanisms allow you to retain fully damaged elements (along with a residual stiffness) in the computations even after material failure. For example, for progressive damage and failure modeling, you can specify the value of the maximum degradation and whether element deletion occurs when the degradation reaches this value (see Controlling Element Deletion and Maximum Degradation for Materials with Damage Evolution).

Element Deletion Driven by Material Failure in Abaqus/Standard

In Abaqus/Standard an element is removed from the mesh if the material fails at all of the section points at all the integration locations of the element. In addition, for cohesive elements with traction-separation response, elements are deleted only if none of the integration points are in compression.

Element Deletion Driven by Material Failure in Abaqus/Explicit

In Abaqus/Explicit a general rule for element deletion from the mesh is that the material fails at all of the section points at any one integration location of an element. It is not necessary for all material points in the element to fail. The following examples describe default behavior that results in element removal:

  • Solid elements: material failure at any one integration point.
  • Second-order reduced-integration beam elements: material failure at all section points through the thickness at either of the two element integration locations along the beam axis.
  • Modified triangular and tetrahedral solid elements and fully integrated membrane elements: material failure at any one integration point.

The general rule has two exceptions. First, the criterion for element deletion for cohesive elements is that the material fails at all integration points. In addition, for cohesive elements with traction-separation response, elements are deleted only if none of the integration points are in compression.

Second, a shell element is removed from the mesh by default when all of the active section points (that is, section points where the material has not failed) at any one integration location share the same through-the-thickness z-location. In this condition, the shell element cannot sustain any bending moment. Specifically, a shell element is deleted when any one integration location has at most one active section point or at least two active section points and all of them share the same z-location. For example, in the case of a two-layer composite with three section points per layer, the third section point of the first layer and the first point of the second layer share the same z-location (on the interface between the two layers). The element deletion criterion is triggered if only one of the six section points is left active or if only the two points mentioned above (that share the same z-location) remain active.

Difficulties Associated with Element Removal in Abaqus/Standard

When elements are removed from the model, their nodes still remain in the model even if they are not attached to any active elements. When the solution progresses, these nodes can undergo nonphysical displacements due to the extrapolation scheme used in Abaqus/Standard to speed up the solution (see Convergence Criteria for Nonlinear Problems). You can prevent these nonphysical displacements by turning off the extrapolation. In addition, applying a point load to a node that is not attached to an active element causes convergence difficulties since there is no stiffness to resist the load. You should take precautions to avoid these situations.

Defining the Characteristic Element Length at a Material Point in Abaqus/Explicit

The characteristic element length is used by Abaqus for the regularization of models that exhibit strain softening or is passed to user subroutines that are called at a material point. By default, Abaqus computes the characteristic element length using the geometric mean–based definition.

The default value for a first-order element is the typical length of a line across an element, and the default value for a second-order element is half of the same typical length. For trusses the default value is a characteristic length along the element axis. For membranes and shells the default value is a characteristic length in the reference surface. For axisymmetric elements the default value is a characteristic length in the rz plane only.

In Abaqus/Explicit you can redefine the value of the characteristic element length based on the element topology and geometry in user subroutine VUCHARLENGTH.

Regularizing User-Defined Data in Abaqus/Explicit

Interpolating material data as functions of independent variables requires table lookups of the material data values during the analysis. The table lookups occur frequently in Abaqus/Explicit and are most economical if the interpolation is from regular intervals of the independent variables. For example, the data shown in Figure 1 are not regular because the intervals in temperature (the independent variable) between adjacent data points vary. You are not required to specify regular material data. Abaqus/Explicit will automatically regularize user-defined data. For example, the temperature values in Figure 1 can be defined at 10°, 20°, 25°, 28°, 30°, and 35° C. In this case Abaqus/Explicit can regularize the data by defining the data over 25 increments of 1° C and your piecewise linear data will be reproduced exactly. This regularization requires the expansion of your data from values at 6 temperature points to values at 26 temperature points. This example is a case where a simple regularization can reproduce your data exactly.

If there are multiple independent variables, the concept of regular data also requires that the minimum and maximum values (the range) be constant for each independent variable while specifying the other independent variables. The material definition in Figure 2 illustrates a case where the material data are not regular since ϵ11ϵ12, ϵ21ϵ22, and ϵ31ϵ32. Abaqus/Explicit will also regularize data involving multiple independent variables, although the data provided must satisfy the rules specified in Input Syntax Rules.

Error Tolerance Used in Regularizing User-Defined Data

It is not always desirable to regularize the input data so that they are reproduced exactly in a piecewise linear manner. Suppose the yield stress is defined as a function of plastic strain in Abaqus/Explicit as follows:

Yield Stress Plastic Strain
50000 .0
75000 .001
80000 .003
85000 .010
86000 1.0

It is possible to regularize the data exactly but it is not very economical, since it requires the subdivision of the data into 1000 regular intervals. Regularization is more difficult if the smallest interval you defined is small compared to the range of the independent variable.

Abaqus/Explicit uses an error tolerance to regularize the input data. The number of intervals in the range of each independent variable is chosen such that the error between the piecewise linear regularized data and each of your defined points is less than the tolerance times the range of the dependent variable. In some cases the number of intervals becomes excessive and Abaqus/Explicit cannot regularize the data using a reasonable number of intervals. The number of intervals considered reasonable depends on the number of intervals you define. If you defined 50 or less intervals, the maximum number of intervals used by Abaqus/Explicit for regularization is equal to 100 times the number of user-defined intervals. If you defined more than 50 intervals, the maximum number of intervals used for regularization is equal to 5000 plus 10 times the number of user-defined intervals above 50. If the number of intervals becomes excessive, the program stops during the data checking phase and issues an error message. You can either redefine the material data or change the tolerance value. The default tolerance is 0.03.

The yield stress data in the example above are a typical case where such an error message might be issued. In this case you can simply remove the last data point since it produces only a small difference in the ultimate yield value.

Regularization of Strain-Rate-Dependent Data in Abaqus/Explicit

Since strain rate dependence of data is usually measured at logarithmic intervals, Abaqus/Explicit regularizes strain rate data using logarithmic intervals rather than uniformly spaced intervals by default. This generally provides a better match to typical strain-rate-dependent curves. You can specify linear strain rate regularization to use uniform intervals for regularization of strain rate data. The use of linear strain rate regularization affects only the regularization of strain rate as an independent variable and is relevant only if one of the following behaviors is used to define the material data:

Evaluation of Strain-Rate-Dependent Data in Abaqus/Explicit

Rate-sensitive material constitutive behavior can introduce nonphysical high-frequency oscillations in an explicit dynamic analysis. To overcome this problem, Abaqus/Explicit computes the equivalent plastic strain rate used for the evaluation of strain-rate-dependent data as

ε¯˙pl|t+Δt=ωΔε¯plΔt+(1-ω)ε¯˙pl|t.

Here Δ ε ¯ p l is the incremental change in equivalent plastic strain during the time increment Δ t , and ε ¯ ˙ p l t and ε ¯ ˙ p l | t + Δ t are the strain rates at the beginning and end of the increment, respectively. The factor ω ( 0 < ω 1 ) facilitates filtering high-frequency oscillations associated with strain-rate-dependent material behavior.

Abaqus/Explicit provides two options to specify the value of the strain rate factor, ω :

  • You can specify a constant value of ω . The default value is 0.9. A value of ω = 1 does not provide the desired filtering effect; therefore, you should avoid this setting.

  • You can define a time-based filter by specifying a time constant, μ . In this case, the value of ω is computed as ω = 1 / ( 1 + μ / Δ t ) . This method produces filtered results that are less sensitive to the changes in time incrementation used for the analysis.