Constraint: Mate
Model ElementConstraint_MATE is used to specify general mating constraints between geometric primitives.
Description
Constraint_MATE differs from Constraint_Joint and Constraint_Jprim in that it specifies more general constraints based on distance, tangency, and coincidence relations between mating geometries.
Format
<Constraint_Mate
id = "integer"
[ label = "string" ]
i_marker_id = "integer"
j_marker_id = "integer"
{
type = "COI_POI_SPH"
radius = "real"

type = "DIS_POI_ POI"
dist = "real"

type = "DIS_POI_SPH"
dist = "real"
radius = "real"

type = "DIS_SPH_SPH"
dist = "real"
iradius = "real"
jradius = "real"

type = "TAN_SPH_SPH"
iradius = "real"
jradius = "real"

type = "COI_POI_CYL"
radius = "real"

type = "DIS_POI_LIN"
dist = "real"

type = "DIS_POI_CYL"
dist = "real"
radius = "real"

type = "DIS_SPH_LIN"
dist = "real"
radius = "real"

type = "DIS_SPH_CYL"
dist = "real"
iradius = "real"
jradius = "real"

type = "TAN_SPH_LIN"
radius = "real"

type = "TAN_SPH_CYL"
iradius = "real"
jradius = "real"

type = "COI_LIN_CYL"
radius = "real"

type = "DIS_LIN_LIN"
dist = "real"

type = "DIS_LIN_CYL"
dist = "real"
radius = "real"

type = "DIS_CYL_CYL"
dist = "real"
iradius = "real"
jradius = "real"

type = "TAN_LIN_CYL"
radius = "real"

type = "TAN_CYL_CYL"
iradius = "real"
jradius = "real"

type = "COI_LIN_PLA"

type = "COI_POI_POI"

type = "COI_POI_LIN"

type = "COI_LIN_LIN"

type = "DIS_LIN_PLA"
dist = "real"

type = "DIS_PLA_CYL"
dist = "real"
radius = "real"

type = "TAN_PLA_CYL"
radius = "real"

type = "DIS_SPH_PLA"
dist = "real"
radius = "real"

type = "TAN_SPH_PLA"
radius = "real"

type = "COI_POI_CON"
radius = "real"
height = "real"

type = "DIS_SPH_CON"
dist = "real"
iradius = "real"
jradius = "real"
height = "real"

type = "TAN_SPH_CON"
iradius = "real"
jradius = "real"
height = "real"

type = "DIS_PLA_CON"
dist = "real"
radius = "real"
height = "real"

type = "TAN_PLA_CON"
radius = "real"
height = "real"
}
[ is_virtual = {"FALSE"  "TRUE"} ]
</Constraint_Mate>
Attributes
 id
 Element identification number, (integer>0). This is a number that is unique among all Constraint_MATE elements.
 label
 The name of the Constraint_MATE element.
 i_marker_id
 Specifies a Reference_Marker that defines the connection on the first body. The body may be a rigid body, a flexible body, or a point body. The parameter is required.
 j_marker_id
 Specifies a Reference_Marker that defines the connection on the second body. The body may be a rigid body, a flexible body, or a point body.
 type
 Specifies the type of mate between i_marker_id and
j_marker_id.type may be one of the following:
 Type
 #Constraints
 COI_POI_SPH
 1
 DIS_POI_POI
 1
 DIS_POI_SPH
 1
 DIS_SPH_SPH
 1
 TAN_SPH_SPH
 1
 COI_POI_CYL
 1
 DIS_POI_LIN
 1
 DIS_POI_CYL
 1
 DIS_SPH_LIN
 1
 DIS_SPH_CYL
 1
 TAN_SPH_LIN
 1
 TAN_SPH_CYL
 1
 COI_LIN_CYL
 3
 DIS_LIN_LIN
 2
 DIS_LIN_CYL
 2
 DIS_CYL_CYL
 2
 TAN_LIN_CYL
 2
 TAN_CYL_CYL
 2
 COI_LIN_PLA
 2
 COI_POI_POI
 3
 COI_POI_LIN
 2
 COI_LIN_LIN
 4
 DIS_LIN_PLA
 2
 DIS_PLA_CYL
 2
 TAN_PLA_CYL
 2
 DIS_SPH_PLA
 1
 TAN_SPH_PLA
 1
 COI_POI_CON
 1
 DIS_SPH_CON
 1
 TAN_SPH_CON
 1
 DIS_PLA_CON
 3
 TAN_PLA_CON
 3
The parameter is required. See Comments for more information about these mate types.
 dist
 Distance between the two parts constrained by the DIS_mate constraint. This option is mate constraint specific.
 radius
 Radius of the circle/sphere specified in the mate constraint. This option is mate constraint specific.
 i radius
 Radius of the I part circle/sphere specified in the mate constraint. This option is mate constraint specific.
 j radius
 Radius of the J part circle/sphere specified in the mate constraint. This option is mate constraint specific.
 height
 Height of the part specified in the mate constraint. This option is mate constraint specific.
 is_virtual
 Defines whether the constraint is virtual or regular. If is_virtual is set to TRUE, the constraint is implemented as a virtual constraint. If is_virtual is set to FALSE, the constraint is implemented as a regular, algebraic constraint. This parameter is optional. The default is FALSE. See Comment 22 in Constraint: Joint for more information about virtual joints.
Example 1
Below is an implementation of a Constraint_Mate of type TAN_PLA_CON:
<Constraint_Mate
id = "301002"
type = "TAN_PLA_CON"
i_marker_id = "30103071"
j_marker_id = "30102030"
radius = "600."
height = "800."
/>
The I marker is associated with the plane and the J marker is associated with the cone.
Example 2
The table below shows how one Constraint_Mate element can be used to implement the same constraint as two ADAMS GCON elements:


Alternatively, you may modify the ADM file by commenting out the GCON elements and inserting the MATE element as shown below.


Note that the MATE element is not supported by ADAMS.
Example 3
Following is an example of a mate of type TAN_PLA_CYL:
<Constraint_Mate
id = "301002"
type = "TAN_PLA_CYL"
i_marker_id = "1"
j_marker_id = "2"
radius = "60."
/>
Comments
 The Constraint_MATE types are
written as AAA_BBB_CCC. AAA can be of the following types:
 DIS  Distance
 TAN  Tangent
 COI  Coincident
BBB and CCC can be of the following types: SPH  Sphere
 PLA  Plane
 CYL  Cylinder
 LIN  Straight line
 CON  Cone
 POI  Point
 The Reference_Marker elements with IDs i_marker_id and j_marker_id belong to the bodies to which BBB and CCC graphics are attached, respectively.
 For POI and SPH,
the Reference_Marker element has origin at the point and sphere center. The orientation of
the Reference_Marker does not make any difference.
For PLA, the Reference_Marker origin lies in the plane, and the Z axis is perpendicular to the plane.
For LIN, the Reference_Marker origin lies on the line, and the Z axis is along the line.
For CYL, the Reference_Marker origin is at the center of one end of the cylinder, and its Z axis is along the cylinder axis, pointing at the other end of the cylinder.
For CON, the Reference_Marker origin is at the center of the base of the cone and its Z axis is along the axis, pointing at the other end of the cone.
 Setting the DIST argument to zero turns a DIS type Constraint_Mate into a TAN type Constraint_Mate.
 It is important to note that the solver treats the graphic primitives involved in Constraint_Mate as having infinite dimensions, although the graphics themselves may have finite dimensions.
 The Constraint_Mate element can be used to implement some of the ADAMS GCON element functionality. See the Examples section.