UCOMAR

Utility/Data Access SubroutineUsed in conjunction with UCOSUB to define the marker states used in a user-defined constraint.

Use

This function is called by UCOSUB.

Format

Fortran Calling Syntax
CALL UCOMAR(ID, NMARS, IMARS, NVARS, IVARS)
C/C++ Calling Syntax
c_ucomar(id, nmars, imars, nvars, ivars)
Python Calling Syntax
py_ucomar(id, imars, ivars)
MATLAB Calling Syntax
m_ucomar(id, imars, ivars)

Attributes

ID
[integer]
The identifier of the corresponding user defined constraint element (Constraint_UserConstr) that is invoking UCOSUB.
NMARS
[integer]
The total number of elements in the array IMARS.
IMARS
[integer]
An array containing marker IDs for the variable types in the array IVARS. Arrays IMARS and IVARS must be of same length.
NVARS
[integer]
The total number of integer codes in array IVARS. NVARS must be equal to NMARS.
IVARS
[integer]
An array containing integer codes to identify the variables involved in the constraint as described below.
Integer Code
Meaning
1011
Marker origin X displacement with respect to ground.
1012
Marker origin Y displacement with respect to ground.
1013
Marker origin Z displacement with respect to ground.
1111
X component of the axis vector U1 with respect to ground.
1112
Y component of the axis vector U1 with respect to ground.
1113
Z component of the axis vector U1 with respect to ground.
1211
X component of the axis vector U2 with respect to ground.
1212
Y component of the axis vector U2 with respect to ground.
1213
Z component of the axis vector U2 with respect to ground.
1311
X component of the axis vector U3 with respect to ground.
1312
Y component of the axis vector U3 with respect to ground.
1313
Z component of the axis vector U3 with respect to ground.

Here U1, U2 and U3 denote unit vectors pointing along the positive X, Y, and Z axes of the marker.

Example

For an example of UCOMAR, please refer to <install_path>\hwsolvers\usersub.