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. | TEXP1 | TEXP2 | etc. | TEXP6 | ||||
| FIELD | DENSITY | ASSIGN | ID | 
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 TEXPi fields of
                                the PROPERTY continuation line. 5
  | 
                            |
| 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.Default = blank (Real)  | 
                            |
| TEXPi | Thermal expansion
                                coefficient(s). TEXPi data starts at the end of
                                the PROPi data. The number of
                                    TEXPi values depends on the
                                    EXPAN field option. 5 Default = blank (Real)  | 
                            |
| FIELD | This dictates that the
                                    “nprops” variable in the usermaterial
                                subroutine includes the total number of properties defined via the
                                    PROPi fields, and, additionally, it includes
                                the number of thermal expansion parameters and the density. 11 | 
                            |
| DENSITY | Indicates that the elemental densities from the .h3d from Inspire PolyFoam file will be mapped to the current grid. | |
| ASSIGN | Indicates that the ASSIGN, H3DRES file identification number is to follow. | |
| ID | ASSIGN, H3DRES file identification number. | 
Comments
- For more information, refer to User-Defined Structural Material and Build External Libraries in the User Guide.
 - 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.
 - 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.
 - The PROPi and TEXPi data are directly passed to the loaded .dll or .so file where it used by the subroutine identified by the USUBID parameter.
 - 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.
 - 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.
 - MATUSR supports deformation gradient tensor for Large Displacement Nonlinear Static and Large Displacement Nonlinear Transient Analysis. The deformation gradient is only supported for the nonlinear section of the user-defined material. Deformation gradient tensor is currently supported for solids and continuum shells (PCOMPLS) elements.
 - MATUSR also supports an option to assign defined
                    labels to state variables. This can be accomplished by using the
                        
initusrsubroutine. State variables are defined variables to output the non-standard results in an H3D file. By using theinitusrsubroutine you can specify the label of the state variable to display in the H3D file. - MATUSR is currently supported for solid elements, referenced via PSOLID Bulk Data Entry, and shell elements referenced by PSHELL or PCOMP Bulk Data Entries.
 - Shared libraries (.dll or .so) can be created using either Fortran, C or C++ for user-defined materials.
 - The FIELD
                    continuation line must be included to map the density values from the Inspire PolyFoam
                    h3d file to the current grid. If FIELD
                    is not mentioned, the 
npropsvalue is the same as the total number of PROPi values. Examples of “nprops” value with and without FIELD continuation line are defined below.- In the following example, 
nprops=2. “usermaterial” subroutine can only accessprops(1)=210000.0 andprops(2)=0.3 and can not access the thermal expansion and the density.Figure 1. 
 - In the following example, 
nprops=4. “usermaterial” subroutine can also access the iso-thermal expansion asprops(3)=1e-5 and the density asprops(4)(density will be read in by the H3D file ASSIGN).Figure 2. 
 
 - In the following example,