# MATUSR

Bulk Data Entry Defines material properties and parameters for user-defined structural material.

## Format

(1) (2) (3) (4) (5) (6) (7) (8) (9) (10)
MATUSR MID PARAM1 VALUE1 PARAM2 VALUE2 PARAM3 VALUE3
PARAM4 VALUE4 etc.
etc.
PROPERTY PROP1 PROP2 PROP3 PROP4 PROP5 PROP6 PROP7
PROP8 etc.

## Example 1

(1) (2) (3) (4) (5) (6) (7) (8) (9) (10)
MATUSR 12 USUBID 5 NDEPVAR 1 EXPAN ISO
DENSITY 0.25
PROPERTY 210000.0 0.4 320.0 500.0 0.0 180.0 1.2e+2
1.2e-6

## Definitions

Field Contents SI Unit Example
ID Each MATUSR Bulk Data Entry should have a unique ID.

No default (Integer > 0)

USUBID User subroutine ID. This allows you to define different types of material properties. This value corresponds to the idu variable in the user subroutine.

Default = Blank (Integer > 0)

NDEPVAR Number of user-defined state variables. This value corresponds to the nstate(*) variable in the user subroutine.

Default = 0 (Integer ≥ 0)

EXPAN Thermal expansion coefficients type defined on the PROPERTY continuation line. 5
ISO (Default)
Isotropic material.
ORTHO
Orthotropic material.
ANISO
Anisotropic material.

GROUP User-defined group specified on the group argument of the LOADLIB entry. This field is used to identify the LOADLIB entry to load the corresponding .dll.

(Character String)

DENSITY User-defined density.

No default (Integer > 0)

PROPERTY Indicates that user-defined material property data are to be defined in the subsequent fields. Thermal expansion coefficient data are defined at the end of the property data. 3 4 5
PROPi User-defined material property data. These values correspond to the props variable in the user subroutine. nprops variable in the user subroutine defines the total number of properties defined via the PROPi fields. Thermal expansion coefficient data are defined at the end of the property data. 3 4 5

Default = blank (Real)

## Comments

1. For more information, refer to User-Defined Structural Material and Build External Libraries in the User Guide.
2. The corresponding dynamic linked libraries (.dll or .so) for the user-defined material is loaded based on the LOADLIB entry. If LOADLIB entry is not defined (or if the GROUP parameter is not specified), then OptiStruct loads the umat.dll or umat.so file from the working directory.
3. All parameter and value pairs listed before the PROPERTY continuation line are in free format. Therefore, the pair of parameter name and its value can be located anywhere in the defined fields.
4. The PROPi data are directly passed to the loaded .dll or .so file where it used by the subroutine identified by the USUBID parameter.
5. If EXPAN parameter is defined, then the final one (ISO), final three (ORTHO), or final six (ANISO) PROPi values are used as the corresponding thermal expansion coefficients.
6. MATUSR is supported for Large Displacement Nonlinear Static and Large Displacement Nonlinear Transient Analysis. For Small Displacement Nonlinear Analysis and Linear Analysis, only the linear section of the user-defined material is utilized in the solution.
7. MATUSR is currently supported for solid elements, referenced via PSOLID Bulk Data Entry, and shell elements referenced by PSHELL or PCOMP entries.
8. Shared libraries (.dll or .so) can be created using either Fortran, C or C++ for user-defined materials.