Table Collections, Parameter Tables, and Property Tables

Table collections:

  • are used to facilitate access to user-defined data from user subroutines;

  • can contain parameter tables, which define constants of type integer, float, or string;

  • can contain property tables, which define properties as a function of independent variables, temperature, or predefined field variables; and

  • work in combination with a library of utility routines (including table lookup operations) that are accessible within user subroutines to query and evaluate the tables.

This page discusses:

Introduction

The table collection functionality in Abaqus is used to provide access to user-defined data (in the form of parameter and property tables) from user subroutines. The functionality allows you to pass data to user subroutines and provides a library of utility routines that can be invoked (within the user subroutine) to query or evaluate the data, including table lookup evaluations. For example, you can define material properties and access them in a material-related user subroutine. This is particularly useful when dealing with user subroutines that do not provide a mechanism to pass properties, because it avoids using hard-coded values inside the user code. You can also use table collections to define analysis parameters relevant to a particular application, such as the examples described for additive manufacturing process simulation.

Table Collection Definition

Table collections are containers that encapsulate parameter and/or property tables. Any number of table collections can be defined in an analysis. Each table collection definition can contain any number of parameter or property tables.

You must assign a name to each table collection definition. This name allows the table collection to be referenced from user subroutines where the parameter or property tables are accessed.

A material definition can be considered a special case of table collection (see Defining Tables within a Material Definition).

Parameter Table Definition

To define a parameter table, you must first declare the type of the parameter table, which determines the number and the type of parameters in the table. Optionally, this type declaration can also include a default value for each parameter.

The type declaration has a global scope and must be unique for the model. You can define multiple parameter tables of the same type in the model. If multiple tables of the same type are defined within the same table collection (or material definition), a label must be assigned to these parameter tables.

Property Table Definition

Property tables are used to define real-valued properties that can be a function of one or more independent variables, temperature, or predefined field variables. The number of properties and independent variables in the table are defined with a type declaration. This type declaration has a global scope and must be unique for the model. You can define multiple property tables of the same type in the model. The dependence of the properties on temperature and or predefined field variables is optional and is not part of the type declaration; instead, the dependence is declared when the property table is defined. If multiple tables of the same type are defined within the same table collection (or material definition), a label must be assigned to these property tables.

The definition of the properties as a function of independent variables, temperature, or predefined field variables, must follow the same convention used for the definition of material data (see Material Data Definition). A table that depends on temperature and independent variable is illustrated in the example of an elastic-plastic material (see Specifying Material Data as Functions of Temperature and Independent Field Variables).

Defining Tables within a Material Definition

As mentioned above, a material definition block is a special case of a table collection. Therefore, you can define parameter and property tables within a material definition. Abaqus creates an internal table collection associated with this material name, and the tables are available automatically in all user subroutines invoked with this material.

Interpolation of Property Table Data

When the property table data are a function of only one variable, the data must be given in order of increasing values of the independent variable, temperature, or predefined field variable. Abaqus then interpolates linearly for values between the given variables. If no linear extrapolation is requested, the properties are assumed to be constant outside the range of variables given. You can specify linear extrapolation to extrapolate properties outside the specified range of the independent variables assuming that the slope given by the end points of the curve remains constant. If the property table data depend on a variable in a strongly nonlinear manner, you must specify enough data points so that a linear interpolation captures the nonlinear behavior accurately.

When 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 variables upon which the property depends. See Input Syntax Rules for further explanation and an example.

Regularizing Property Table Data in Abaqus/Explicit

Interpolating properties as functions of independent variables requires table lookups during the analysis, which occur frequently in Abaqus/Explicit and are most economical if the interpolation is from regular intervals of the independent variables. By default, Abaqus/Explicit regularizes property table data automatically. The default regularization tolerance is 0.03. Optionally, you can turn off regularization of the data, but this results in some performance degradation. For more information on the regularization process, see Regularizing User-Defined Data in Abaqus/Explicit.

Sometimes it desirable to preserve certain points of the input data during regularization. For example, if the force is zero at zero displacement in the displacement-force relation, you can keep this data point unchanged during regularization.