Abaqus Material Change: An overview of Abaqus material definition

Abaqus material change

Abaqus allows for complex simulations involving diverse materials and their behavior under various conditions. One crucial aspect of these simulations is accurately defining material changes that occur between different analysis steps. Modeling material changes in Abaqus is crucial for creating accurate and realistic simulations.

However, it is important for the user to carefully consider the physical meaning and consistency of the material changes being defined, and to ensure that they are defined in a way that is consistent with the underlying physics and mathematical models used in the simulation.

In this article, we will have an overview of the Abaqus material definition and also, we try to cover the Abaqus material change topic in order to help you improve your analyses. If you are ready, let’s start.

1. An overview of Abaqus material library

The material library in Abaqus is intended to provide comprehensive coverage of both linear and nonlinear, isotropic and anisotropic material behaviors. The use of numerical integration in the elements, including numerical integration across the cross-sections of shells and beams, provides the flexibility to analyze the most complex composite structures. Material behaviors fall into the following general categories:

  • General properties (material damping, density, thermal expansion)
  • Elastic mechanical properties
  • Inelastic mechanical properties
  • Thermal properties
  • Acoustic properties
  • Hydrostatic fluid properties
  • Equations of state
  • Mass diffusion properties
  • Electrical properties
  • Pore fluid flow properties

Some of the mechanical behaviors offered are mutually exclusive: such behaviors cannot appear together in a single material definition. Some behaviors require the presence of other behaviors; for example, plasticity requires linear elasticity.

1.1. Complete material definitions

A material definition can include behaviors that are not meaningful for the elements or analysis in which the material is being used. Such behaviors will be ignored. For example, a material definition can include heat transfer properties (conductivity, specific heat) as well as stress-strain properties (elastic moduli, yield stress, etc.). When this material definition is used with uncoupled stress/displacement elements, the heat transfer properties are ignored by Abaqus; when it is used with heat transfer elements, the mechanical strength properties are ignored. This capability allows you to develop complete material definitions and use them in any analysis.

There are no general restrictions on the use of particular material behaviors with solid, shell, and beam elements. Any combination that makes sense is acceptable. However, there may be some exceptions.

2. Material definition in Abaqus

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 may be needed, while in a more complicated analysis, several material behaviors may 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.

abaqus material change

Figure 1: Material definition in Abaqus/CAE

Material properties can be defined as simple constant values or they can be dependent on variables such as temperature or 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. The initial values of field variables are given as initial conditions and can be modified as functions of time during an analysis. This capability is useful if, for example, material properties change with time because of irradiation or some other precalculated environmental effect.

For example, in figure 2, the elastic material properties are chosen to be both temperature and field variable-dependent.

Material properties dependence on temperature and field variables

Figure 2: Material properties dependence on temperature and field variables

2.1. 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.

The property is assumed to be constant outside the range of independent variables given. Thus, you can give as many or as few input values as are necessary for the material model. If the material data depends on the independent variable in a strongly nonlinear manner, you must specify enough data points so that 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 (Figure 3).

Young's modulus and the Poisson's ratio as functions of temperature

Figure 3: The material Young’s modulus and the Poisson’s ratio as functions of temperature

For temperatures that are outside the range defined by abaqus material change and abaqus material change, Abaqus assumes constant values for abaqus material change and abaqus material change. The dotted lines on the graph represent the straight-line approximations that will be used for this model.

2.2. Change material in steps

In some analyses, you may have to change material properties between steps due to various reasons such as:

  • Phase transitions

Material properties can change during phase transitions, such as melting or solidification, and should be accounted for in the simulation.

  • Temperature-dependent properties

Material properties can vary with temperature, leading to the need for property updates during thermal loading steps.

  • Dynamic behavior:

The material properties of some materials, such as rubber or foam, can change under high-speed loading or large deformations.

  • Time-dependent properties

Some materials exhibit time-dependent behavior, such as creep and relaxation, requiring property updates over time.

Some of the mentioned reasons can be satisfied by the default options that Abaqus has provided like temperature-dependent properties as discussed earlier or creep phenomenon simulation; but for some of the material changes the analyst must decide how to implement the material behavior transition in the analysis.

3. Change material properties between steps in Abaqus

In the case of changing material at a special moment during your analysis, it is more convenient to include this material change in the material properties as much as possible. For example, in the case of damage and material degradation, there are several models that predict the onset and progression of damage in Abaqus. You can also use the “User Subroutine” to implement your own damage model in the analysis.

However, sometimes you may want to change the material from material No.1 to material No.2 at a specific condition in your model (e.g., these materials differ in the density values) which are already defined in the material section in the ‘Property’ module. One way to achieve this is to use solution-dependent variables and using a user subroutine. By defining these variables, you can link material properties to the values of these variables.

3.1. Specifying material data as functions of solution-dependent variables

In Abaqus, you can introduce dependence on solution variables with a user subroutine. 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, of material directions, and of any of the available material point quantities.

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

These subroutines can be used to introduce solution-dependent material properties since such properties can easily be defined as functions of field variables. They will be called at all material points of elements for which the material definition includes user-defined field variables.

Abaqus USDFLD and VSDFLD have a very broad scope, and in general, you can use these two subroutines whenever you have a parameter in the software material environment that you want to rely on another variable.

If you have a complete characterization of your material behavior, you can use the “UMAT” subroutine instead. This advanced method allows you to write custom subroutines to define complex material behavior and changes.

User subroutine “UMAT” can be used to define the mechanical constitutive behavior of a material. It will be called at all material calculation points of elements for which the material definition includes a user-defined material behavior and can be used with any procedure that includes mechanical behavior. UMAT can use solution-dependent state variables. It also can be used in conjunction with user subroutine USDFLD to redefine any field variables before they are passed in.

By using the mentioned ways, you can change material at steps in your analysis. There may be some other ways too. Abaqus has a diverse world of options which enables you to use one or a combination of them to make your analysis more and more realistic and accurate. Remember to carefully consider the types of changes, appropriate methods, and validation steps to ensure your simulations reflect real-world scenarios.

Now it is time to summarize what we talked about in this article.

4. Summary

We started our discussion with an overview of the Abaqus material library and then talked about the material definition in Abaqus. The capabilities of this module and the interpolation between the entered data were shown. After that we denoted why you may need to change material during your analyses and in the last section of this article, we suggested two user subroutines as the remedy to change material between your analysis steps including USDFLD and UMAT subroutines. There may be some other options for this purpose which you may know, but you must care if they are practical or not. In the case of using those methods, you must be sure that your results will be in agreement with real-world scenarios.

It would be helpful to see Abaqus Documentation to understand how it would be hard to start an Abaqus simulation without any Abaqus tutorial.

5. Users ask these questions

Abaqus users frequently inquire about material changes across analysis steps on various platforms. Therefore, we decided to answer a few of them which you can see below:

I. Changing materials using Abaqus subroutine

Q: Hello everybody

Hope you’re doing great

Assume I have two material properties MATERIAL1 and MATERIAL2. I start my model with MATERIAL1 and calculate each element’s (von misses) stress and if any element’s stress exceeds N MPA I change its material to MATERIAL2 and continue till all the elements’ materials

are altered to MATERIAL2.

For this purpose:

Do you suggest Abaqus scripting by the following method:

  1. Run the job
  2. Write elements’ stresses to an .odb file
  3. Check the elements’ stresses by reading the .odb file and change the desired elements’ material to MATERIAL2
  4. Run the next job
  5. Continue the above-mentioned loop by a script till all the elements’ materials change to MATERIAL2


Do you suggest running a job and implementing Abaqus subroutines (USFLD etc)?

  1. Which method is applicable?
  2. What are the cons and pros of each one?

Thanks for your precious points.

Best regards.

PS: Let’s say the real model has 1000 elements or more and 5 different material properties to describe a small gap bone healing process.

A: Greetings,

The best way to do this is to use a subroutine. If the ABAQUS has your material equations, it’s easier to use the USDFLD; otherwise, use the UMAT subroutine. Check the links below. They are articles that can help you write the UMAT subroutine.

Start Writing Your 1st UMAT Abaqus

Best wishes.

Leave a Reply