Reference: 2DCluster

Model ElementA Reference_2DCluster specifies that a given set of bodies be constrained to move in one of the three principal planes: XY, YZ, or ZX.


Such bodies have only three degrees of freedom: Two corresponding to translations in the plane, and one corresponding to rotation about an axis normal to the plane. The bodies can be of type Body_Rigid or Body_Point. Common uses for planar bodies include belt and chain drives and general planar mechanisms.


    id                  = "integer"      
    planar_type         = { "XY" | "YX" | "YZ" | "ZY" | "ZX" | "XZ" }      
    num_body            = "integer">            
       integer integer integer integer            
       integer integer integer integer  


Element identification number (integer>0). This number is unique among all Reference_2DCluster elements.
Select one of the three global planes XY, YZ, or ZX. All members of the 2D cluster are constrained to move in this plane.
The number of bodies in the 2D cluster. This argument is followed by the list of IDs of all the bodies.


Consider an air-hockey table. Assume that you interested in modeling the motion of the pucks as they slide on the table on an air-cushion and collide with each other and the table edges. Do not consider the case where they bounce off the table. In such a situation, it is advantageous to model the pucks as planar bodies.

Defining a body to be planar is a two step process:
  1. Define a Reference_2DCluster element as shown below. Essentially, you are specifying that the pucks, whose IDs are 30101 30301 30401, belong to a 2D cluster with ID 1 whose three members are constrained to move in the YZ plane.
      id                  = "1"
      planar_type         = "YZ"     
      num_body            = "3">
      30101 30301 30401 
  2. Refer to the Reference_2DCluster element defined above in a Subsystem_Planar element as shown below:
        num_2d_cluster      = "1">

This element specifies one 2D cluster with an ID of 1 to be activated. If you would like to see how the model behaves if the bodies are not constrained to move in the plane, simply delete or comment out the Subsystem_Planar element.


  1. The planar bodies are allowed to have a constant offset from the selected plane as specified by the origins of their center of mass markers.
  2. If you have different collections of bodies constrained to different planes, use one 2D cluster for each collection. Also, you may refer to more than one 2D cluster in one Subsystem_Planar element.
  3. From a kinematics viewpoint, the planar body behaves like a 3D rigid body constrained to ground by a planar joint. However, mathematically, the two are different. The planar body eliminates the three degrees of freedom completely instead of constraining them. This results in smaller total number of equations to solve and speeds up simulation. However, it also has the drawback that reaction forces corresponding to the planarity constraint cannot be computed. If you are interested in those forces and moments, use the 3D rigid body with planar joint.