Accessing Abaqus Table Collections

These utility routines can be used to activate the table collection and to access data from parameter tables and interpolate data that were defined in property tables.

These utility routines can be invoked from any Abaqus/Standard or Abaqus/Explicit user subroutine except UEXTERNALDB when called at the start of the analysis.

This page discusses:

setTableCollection

Activate table collection, required in all user subroutines except UMDFLUX, UEPACTIVATIONVOL, UELEMDRESP, and material-related user subroutines.

Utility Routine Interface

character*80 tcName 
...
call setTableCollection(tcName, jError)

Variables to Be Provided to the Utility Routine

tcName

The name of the table collection that will be accessed.

Variables Returned from the Utility Routine

jError

Return code (0 indicates no error, nonzero indicates an output request error).

getParameterTable

Access parameters defined in the parameter table.

Utility Routine Interface

#include <aba_tcs_param.inc>

character*80 parameterTableLabel, cParams(maxParams)
dimension iParamsDataType(maxParams), iParams(maxParams), rParams(maxParams)
...
call getParameterTable(parameterTableLabel, numParams, iParamsDataType, iParams, rParams, cParams, jError)

Variables to Be Provided to the Utility Routine

parameterTableLabel

Label of the parameter table to be accessed. A parameter table with this label must be defined in the active table collection.

Variables Returned from the Utility Routine

numParams

Number of parameters defined in a row of this parameter table.

iParamsDataType(numParams)

Array containing integer flags for data types of parameters: j_tcsI_PDT_int, j_tcsI_PDT_float, or j_tcsI_PDT_string, which are defined in the aba_tcs_param.inc include file. maxParams must be equal to or greater than numParams.

iParams(numParams*numRows)

Array containing values of INTEGER parameters. numRows is the number of rows in the parameter table. You can get this value from the queryParameterTable utility. The parameters are ordered in row-by-row format.

rParams(numParams*numRows)

Array containing values of FLOAT-type parameters. The parameters are ordered in row-by-row format.

cParams(numParams*numRows)

Array containing values of STRING-type parameters. The parameters are ordered in row-by-row format.

jError

Return code (0 indicates no error, nonzero indicates an output request error).

getParameterTableRow

Access a row of parameters defined in the parameter table.

Utility Routine Interface

#include <aba_tcs_param.inc>

character*80 parameterTableLabel, cParams(maxParams)
dimension iParamsDataType(maxParams), iParams(maxParams), rParams(maxParams)
...
call getParameterTableRow(parameterTableLabel, jRow, numParams, iParamsDataType, iParams, 
rParams, cParams, jError)

Variables to Be Provided to the Utility Routine

parameterTableLabel

Label of the parameter table to be accessed. A parameter table with this label must be defined in the active table collection.

jRow

Row of the parameter table to be accessed.

Variables Returned from the Utility Routine

numParams

Number of parameters defined in a row of this parameter table.

iParamsDataType(numParams)

Array containing integer flags for data types of parameters j_tcsI_PDT_int, j_tcsI_PDT_float, or j_tcsI_PDT_string, which are defined in the aba_tcs_param.inc include file. maxParams must be equal to or greater than numParams.

iParams(numParams)

Array containing values of INTEGER parameters in jRow row of this parameter table.

rParams(numParams)

Array containing values of FLOAT-type parameters in jRow row of this parameter table.

cParams(numParams)

Array containing values of STRING-type parameters in jRow row of this parameter table.

jError

Return code (0 indicates no error, nonzero indicates an output request error).

getPropertyTable

Perform interpolation of properties defined in the property table in Abaqus/Standard.

Utility Routine Interface

character*80 propertyTableLabel
dimension field(*)
dimension rIndepVars(maxIndepVars), rProps(maxProps), dPropDVar(maxProps*maxVars) 
...
call getPropertyTable(propertyTableLabel, rIndepVars, temp, field, 
                                      numProps, rProps, dPropDVar, numDervs, jError)

Variables to Be Provided to the Utility Routine

propertyTableLabel

Label of the property table to be accessed. A property table with this label must be defined in the active table collection.

rIndepVars(maxIndepVars)

Array containing values of independent variables. maxIndepVars must be equal to or greater than the number of independent variables in the table.

temp

Temperature.

field(*)

Array of values of predefined field variables.

numDervs

Flag to indicate if the calculation of derivatives is required (0 indicates that no calculation of derivatives is required, 1 indicates that calculation of derivatives is required with respect to the first variable, and 2 or higher indicates that calculation of derivatives is required with respect to all variables).

Variables Returned from the Utility Routine

numProps

Number of properties defined in this property table.

rProps(maxProps)

Array containing interpolated values of properties. maxProps must be equal to or greater than numProps.

dPropDVar(maxProps*maxVars)

Array containing derivatives of properties with respect to independent variables, temperature, and/or field variables. maxVars must be equal to or greater than the sum of independent variables, temperature, and field variables in the table. The derivatives are returned in the following order:

  • Derivatives of the first property, second property, … numProps with respect to the first variable.
  • Derivatives of the first property, second property, … numProps with respect to the second variable.

jError

Return code (0 indicates no error, nonzero indicates an output request error).

vGetPropertyTable

Perform interpolation of properties defined in the property table in Abaqus/Explicit.

Utility Routine Interface

character*80 propertyTableLabel
dimension temp(nBlock), field(nBlock,*)
dimension rIndepVars(maxBlock*maxIndepVars), rProps(maxBlock*maxProps), 
          dPropDIVar(maxBlock*maxProps*maxIndepVars), dPropdTemp(maxBlock*maxProps)
...
call vGetPropertyTable(propertyTableLabel, nBlock, rIndepVars, temp, field, 
                      numProps, rProps, dPropDIVar, dPropDTemp, jDervs, jError)

Variables to Be Provided to the Utility Routine

propertyTableLabel

Label of the property table to be accessed. A property table with this label must be defined in the active table collection.

nBlock

Number of points at which properties are evaluated in this call to vGetPropertyTable.

rIndepVars(maxIndepVars)

Array containing values of independent variables. maxIndepVars must be equal to or greater than the number of independent variables in the table.

temp(nBlock)

Temperature.

field(nBlock,*)

Array of values of predefined field variables.

jDervs

Flag to indicate if the calculation of derivatives is required (0 indicates that no calculation of derivatives is required, 1 indicates that calculation of derivatives is required with respect to all independent variables and temperature).

Variables Returned from the Utility Routine

numProps

Number of properties defined in this property table.

rProps(maxBlock*maxProps)

Array containing interpolated values of properties. maxBlock must be equal to or greater than nBlock. maxProps must be equal to or greater than numProps.

dPropDIVar(maxBlock*maxProps*maxIndepVars)

Array containing derivatives of properties with respect to independent variables. The derivatives are returned in the following order:

  • nBlock derivatives of the first property with respect to the first independent variable, nBlock derivatives of the first property with respect to the second independent variable, and so on.
  • nBlock derivatives of the second property with respect to the first independent variable, nBlock derivatives of the second property with respect to the second independent variable, and so on.

dPropdTemp(maxBlock,maxProps)

Array containing derivatives of properties with respect to temperature. The derivatives are returned in the following order:

  • nBlock derivatives of the first property with respect to temperature.
  • nBlock derivatives of the second property with respect to temperature.

jError

Return code (0 indicates no error, nonzero indicates an output request error).

vGetPropertyTablePtr

Perform interpolation of properties defined in the property table in Abaqus/Explicit. You pass independent variables as pointers, which offers better performance compared to vGetPropertyTable when you pass more than one independent variable.

Utility Routine Interface

character*80 propertyTableLabel
integer*8 mIndepVars(maxIndepVars)
dimension temp(nBlock), field(nBlock,*)
dimension rProps(maxBlock*maxProps), dPropDIVar(maxBlock*maxProps*maxIndepVars), dPropdTemp(maxBlock*maxProps)
...
call SMASetPointer(mIndVarPtrs(1), eqps)
call SMASetPointer(mIndVarPtrs(2), eqpsRate)
call vGetPropertyTablePtr(propertyTableLabel, nBlock, mIndepVars, temp, field, 
                      numProps, rProps, dPropDIVar, dPropDTemp, jDervs, jError)

Variables to Be Provided to the Utility Routine

propertyTableLabel

Label of the property table to be accessed. A property table with this label must be defined in the active table collection.

nBlock

Number of points at which properties are evaluated in this call to vGetPropertyTablePtr.

mIndepVars(maxIndepVars)

Array, declared as an 8-byte integer that contains pointers to arrays with independent variables initialized with the SMASetPointer utility routine. maxIndepVars must be equal to or greater than the number of independent variables in the table.

temp(nBlock)

Temperature.

field(nBlock,*)

Array of values of predefined field variables.

jDervs

Flag to indicate if the calculation of derivatives is required (0 indicates that no calculation of derivatives is required, 1 indicates that calculation of derivatives is required with respect to all independent variables and temperature).

Variables Returned from the Utility Routine

numProps

Number of properties defined in this property table.

rProps(maxBlock*maxProps)

Array containing interpolated values of properties. maxBlock must be equal to or greater than nBlock. maxProps must be equal to or greater than numProps.

dPropDIVar(maxBlock*maxProps*maxIndepVars)

Array containing derivatives of properties with respect to independent variables. The derivatives are returned in the following order:

  • nBlock derivatives of the first property with respect to the first independent variable, nBlock derivatives of the first property with respect to the second independent variable, and so on.
  • nBlock derivatives of the second property with respect to the first independent variable, nBlock derivatives of the second property with respect to the second independent variable, and so on.

dPropdTemp(maxBlock*maxProps)

Array containing derivatives of properties with respect to temperature. The derivatives are returned in the following order:

  • nBlock derivatives of the first property with respect to temperature.
  • nBlock derivatives of the second property with respect to temperature.

jError

Return code (0 indicates no error, nonzero indicates an output request error).

queryTableCollectionSize

Query the size of the table collection database.

Utility Routine Interface

#include <aba_tcs_param.inc>

dimension jSize(n_tcsI_TCDB_size)
...
call queryTableCollectionSize(jSize, jError)

Variables Returned from the Utility Routine

jSize(i_tcsI_TCDB_numTCs)

Number of table collections that are defined.

jSize(i_tcsI_TCDB_maxParams)

Maximum number of parameters in any parameter table.

jSize(i_tcsI_TCDB_maxParamRows)

Maximum number of rows in any parameter table.

jSize(i_tcsI_TCDB_maxProps)

Maximum number of properties in any property table.

jError

Return code (0 indicates no error, nonzero indicates an output request error).

queryTableCollectionNames

Query the names of the table collections.

Utility Routine Interface

character*80 tcNames(maxTCs)
...
call queryTableCollectionNames(tcNames, numTCs)

Variables Returned from the Utility Routine

tcNames(maxTCs)

Array containing names of all defined table collections. maxTCs must be equal to or greater than numTCs.

numTCs

Number of table collections.

queryTableCollection

Query properties of the active table collection.

Utility Routine Interface

#include <aba_tcs_param.inc>

character*80 cTableColl(n_tcsC_TC_size)
dimension jTableColl(n_tcsI_TC_size)
...
call queryTableCollection(jTableColl, cTableColl, jError)

Variables Returned from the Utility Routine

jTableColl(i_tcsI_TC_numParamTbls)

Number of parameter tables in the active table collection.

jTableColl(i_tcsI_TC_numPropTbls)

Number of property tables in the active table collection.

jTableColl(i_tcsI_TC_maxParams)

Maximum number of parameters in any parameter table in the active table collection.

jTableColl(i_tcsI_TC_maxParamRows)

Maximum number of rows in any parameter table in the active table collection.

jTableColl(i_tcsI_TC_maxProps)

Maximum number of properties in any property table in the active table collection.

cTableColl(i_tcsC_TC_name)

Name of the active table collection.

jError

Return code (0 indicates no error, nonzero indicates an output request error).

queryParameterTable

Query the number of parameters in a parameter table.

Utility Routine Interface

character*80 parameterTableLabel
...
queryParameterTable(parameterTableLabel, numParams, numRows, jError)

Variables to Be Provided to the Utility Routine

parameterTableLabel

Label of the parameter table to be queried. A parameter table with this label must be defined in the active table collection.

Variables Returned from the Utility Routine

numParams

Number of parameters in the parameter table.

numRows

Number of rows in the parameter table, which is a multiple of the parameter number declared for the parameter table type of this table.

jError

Return code (0 indicates no error, nonzero indicates an output request error).

queryPropertyTable

Query properties of a property table.

Utility Routine Interface

#include <aba_tcs_param.inc>

character*80 propertyTableLabel, cPropTable(n_tcsC_PRT_size)
dimension jPropTable(n_tcsI_PRT_size), rPropTable(n_tcsR_PRT_size)
...
queryPropertyTable(propertyTableLabel, jPropTable, rPropTable, cPropTable, jError)

Variables to Be Provided to the Utility Routine

propertyTableLabel

Label of the property table to be queried. A property table with this label must be defined in the active table collection.

Variables Returned from the Utility Routine

jPropTable(i_tcsI_PRT_numProps)

Number of properties in the property table.

jPropTable(i_tcsI_PRT_numIndVars)

Number of independent variables in the property table.

jPropTable(i_tcsI_PRT_numFieldVars)

Number of field variables in the property table.

jPropTable(i_tcsI_PRT_tempDep)

0 indicates that properties in the property table are not temperature dependent, 1 indicates that properties are temperature dependent.

jPropTable(i_tcsI_PRT_extrapolation)

0 indicates constant extrapolation of properties in the property table, 1 indicates linear extrapolation of properties.

jPropTable(i_tcsI_PRT_regularize)

0 indicates that property table data is not regularized, 1 indicates that property table data is regularized.

jPropTable(i_tcsI_PRT_origin)

0 indicates that property values at point 0 of the first independent variable might be not preserved, 1 indicates that property values at point 0 of the first independent variable are preserved.

rPropTable(i_tcsR_PRT_rtol)

Tolerance used to regularize the property table data.

jError

Return code (0 indicates no error, nonzero indicates an output request error).