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.
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 (see Special-Purpose Techniques for Additive Manufacturing).
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.
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.