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 |
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) |
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
initusr
subroutine. State variables are defined variables to output the non-standard results in an H3D file. By using theinitusr
subroutine 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.