Setting Up Body Constraints

Simcenter STAR-CCM+ supports three constraint types—Contact Constraint, Velocity Driver, and Distance Driver for 3D bodies with Multi-Body Motion option.

  1. To define a body constraint:
    1. Right-click the Tools > Motions node and add a DFBI motion.
    2. To define a 6-DOF body, right-click the DFBI > 6-DOF Bodies node and select New Body.
      Define the 6-DOF body properties. For more information, see 6-DOF Bodies Reference.
    3. Select the [6-DOF body] node and set the Body Motion Option to Multi-Body Motion.

      You can only define constraints for 6-DOF bodies with multi-body motion.

    4. Assign the DFBI motion to the appropriate regions.
      After assigning the DFBI motion to a region, the DFBI node appears in the simulation tree.
    5. Right-click DFBI > Body Constraints and select New > [body constraint].
      The available body constraint types are:


    6. Select the [body constraint] node and set the properties according to Body Constraint Reference.
    7. To verify the correctness of the constraint solution during the simulation, plot the 6-DOF Constraint Deviation Report. It calculates the maximum normalized deviation from the constraint equations. Typically, this report value should be below 1e-3:


      If the constraint deviation that you monitor is too large, ( 10 3 ) , refer to the guidelines in Setting Up Multi-Body Motion.

      See also: 6-DOF Constraint Deviation.

    8. To plot a body constraint, create a DFBI displayer and activate Constraints.
An example of setting up a Contact Constraint is shown below:
  1. To define the edge and the orientation of the sliding plane, you can specify the Origin, Direction, and Normal vectors in the laboratory coordinate system. You can also create a new coordinate system where the origin is at the edge of the plane and one axis points in the direction of the plane:
    1. Select the [contact constraint] > Half-Plane node and set the Origin to a point on the surface edge and set the orientation through Direction and Normal vectors in the associated Coordinate System.
      Origin specifies one point on the half-plane edge, that is, where the half-plane ends.
    2. (Optional) To model the friction force on the sliding surface, select the Contact Constraint 1 > Friction Settings node and set the Dynamic Friction Coefficient and Static Friction Coefficient.


    For more details, refer to [contact constraint] Properties.
An example of a Constant Absolute Velocity Driver is shown below:
  1. To prescribe the velocity of a 6-DOF body using an absolute value, you define the velocity of the body relative to the environment. To do this:
    1. Select the [velocity driver] node and set Object 1 as [6-DOF body] and Object 2 to Environment.
    2. Set Coordinate System 1 to the body system Laboratory->[6-DOF body]-CSys and set Position 1 to the center of mass of the body, for example, [0,0,0].
    3. Make sure the Coordinate System 2 is the Laboratory coordinate system and set Position 2 to [0,0,0](or any other fixed value).
    4. Set Velocity to a constant value.

      In the following setup,the center of mass of Body 1 moves at a speed of 0.1m/s in the x direction of the Laboratory coordinate system:



    5. Specify the Direction Coordinate System and Direction.
An example of an Oscillating Absolute Velocity Driver is shown below:

The Velocity and Direction specified in the velocity driver must be consistent with the initial velocity and angular velocity of all the participating bodies. In this example, you set the initial velocity of the body to [0.1, 0, 0] m/s in the laboratory coordinate system. To make sure the settings are consistent, you can use the InitialVelocityOfDfbiConstraint field function. Use this field function in the Velocity property of the velocity driver.

  1. To specify velocity as a function of time, you can use the field function in an expression, such as ${InitialVelocityOfDfbiConstraint1}*cos(2.0*acos(-1.0)*${Time}).


    At t=0, the expression evaluates to the InitialVelocityOfDfbiConstraint 1 field function, so that the velocity driver is consistent with the initial velocity of the 6-DOF body.

An example of a Constant Relative Velocity Driver is shown below:
  1. A relative velocity driver specifies a relative velocity between two 6-DOF bodies.
    1. Select the [velocity driver] node and set the first body Object 1 to [6-DOF body 1] and the second body Object 2 to [6-DOF body 2].
    2. Set the Coordinate System 1 in the expert property to the body system Laboratory->[6-DOF body 1]-CSys and set Position 1 to [0,0,0] as the center of mass of body 1.
    3. Set the Coordinate System 2 to the body system Laboratory->[6-DOF body 2]-CSys and set Position 2 to [0,0,0] as the center of the mass of body 2.
    4. Set the Velocity as field function InitialVelocityOfDfbiConstraint 1.
      This field function calculates automatically the velocity constraint according to the initial velocity and angular velocity of both 6-DOF bodies.
    5. Specify the velocity associated Direction Coordinate System and Direction.
    The following example demonstrates the velocity of Body 1 center of mass relative to the Body 2 center of mass, in the x direction of the Body 1 coordinate system:


An example of using a Distance Driver with a specified Blending Time is described below:
  1. For two bodies initially at rest, you create a dynamical Distance Driver and specify the Distance between the bodies as a sinusoidal function of time — ${InitialDistanceOfDfbiConstraint3}+ 0.1*sin(4.0*${Time}).
    At t=0, although the initial distance is consistent with the body initial conditions (using the ${InitialDistanceOfDfbiConstraint3} built-in field function), the time derivative, and therefore, the initial velocity, is non-zero, so it is not consistent with the body initial velocity.

    To resolve this inconsistency, you can change the initial velocities of the bodies and/or the time-dependence of the Distance definition, which can require very complicated calculations. In many cases, it is convenient to introduce a blending time of, for example, 0.5s, which defines a time window during which the body initial conditions are blended automatically into the user-specified distance. During the blending time, the distance applied by the Distance Driver changes to be consistent with the body initial conditions, and after the blending time the distance matches the user-defined distance.

    To set a blending time, select the [distance driver] node and specify Blending Time.