设置体约束

Simcenter STAR-CCM+ 使用多体运动选项支持 3D 体的三种约束类型 - 接触约束、速度驱动和距离驱动。

  1. 要定义体约束:
    1. 右键单击工具 > 运动节点,然后添加 DFBI 运动。
    2. 要定义 6 自由度体,右键单击 DFBI > 6 自由度体节点,然后选择新建体
      定义 6 自由度体属性。有关更多信息,请参见6-DOF Bodies Reference
    3. 选择[6 自由度体]节点,然后将体运动选项设为多体运动

      只能为具有多体运动的 6 自由度体定义约束。

    4. 将 DFBI 运动分配给相应区域。
      将 DFBI 运动分配给区域后,DFBI 节点将显示在模拟树中。
    5. 右键单击 DFBI > 体约束并选择新建 > [体约束]
      可用体约束类型为:


    6. 选择 [体约束] 节点,然后根据体约束参考设置属性。
    7. 要在模拟期间验证约束解决方案是否正确,为 6 自由度约束偏差报告绘图。该报告根据约束方程计算最大标准化偏差。通常,此报告值应低于 1e-3


      如果监视的约束偏差过大 ( 10 3 ) ,请参考设置多体运动中的准则。

      另请参见:6 自由度约束偏差

    8. 要绘制体约束图,创建 DFBI 显示器并激活约束
以下显示了设置接触约束的示例:
  1. 要定义滑动平面的边和方向,可以在基准坐标系中指定原点方向法向矢量。还可以新建坐标系,其中原点位于平面的边上,并有一个轴指向平面的方向:
    1. 选择[接触约束] > 半平面节点,然后将原点设为表面边上的一个点,然后通过关联坐标系中的方向法向矢量设置方向。
      原点用于在半平面边上指定一个点,即半平面的终点。
    2. (可选)要对滑动表面上的摩擦力进行建模,选择接触约束 1 > 摩擦设置节点,然后设置动态摩擦系数静摩擦系数


    有关更多详细信息,请参考[接触约束]属性
恒定绝对速度驱动器示例如下所示:
  1. 要使用绝对值指定 6 自由度体的速度,可定义体相对于环境的速度。要执行此操作:
    1. 选择[速度驱动器]节点,然后将对象 1 设为[6 自由度体]并将对象 2 设为环境
    2. 坐标系 1 设为体坐标系 Laboratory->[6 自由度体]-CSys 并将位置 1 设为体的质心,例如 [0,0,0]。
    3. 确保坐标系 2 是基准坐标系,并将位置 2 设为 [0,0,0](或其他任意固定值)。
    4. 速度设为常数值。

      在以下设置中,体 1 的质心以 0.1m/s 的速度在基准坐标系的 x 方向移动:



    5. 指定方向坐标系方向
振荡绝对速度驱动器示例如下所示:

速度驱动器中指定的速度方向必须与所有参与体的初速度和角速度一致。在本例中,在基准坐标系中将体的初速度设为 [0.1, 0, 0] m/s。要确保设置一致,可以使用 InitialVelocityOfDfbiConstraint 场函数。在速度驱动器的“速度”属性中使用此场函数。

  1. 要将速度指定为时间函数,可以在表达式中使用场函数,例如 ${InitialVelocityOfDfbiConstraint1}*cos(2.0*acos(-1.0)*${Time})


    在 t=0 时,表达式计算为 InitialVelocityOfDfbiConstraint 1 场函数,以使速度驱动与 6 自由度体的初速度一致。

恒定相对速度驱动器示例如下所示:
  1. 相对速度驱动指定两个 6 自由度体之间的相对速度。
    1. 选择[速度驱动器]节点,并将第一个体对象 1 设为[6 自由度体 1],将第二个体对象 2 设为[6 自由度体 2]
    2. 将专家属性中的坐标系 1 设为体坐标系 Laboratory->[6 自由度体 1]-CSys,并将位置 1 设为 [0,0,0] 作为体 1 的质心。
    3. 坐标系 2 设为体坐标系 Laboratory->[6 自由度体 2]-CSys,并将位置 2 设为 [0,0,0] 作为体 2 的质心。
    4. 速度设为场函数 InitialVelocityOfDfbiConstraint 1
      此场函数根据两个 6 自由度体的初速度和角速度自动计算速度约束。
    5. 指定速度关联的方向坐标系方向
    以下示例演示体 1 质心相对于体 2 质心的速度,其方向为体 1 坐标系的 x 方向:


下面介绍将距离驱动与指定混合时间一起使用的示例:
  1. 对于最初静止的两个体,将创建动态距离驱动,并将体之间的距离指定为正弦时间函数 - ${InitialDistanceOfDfbiConstraint3}+ 0.1*sin(4.0*${Time})
    在 t=0 处,虽然初始距离与体初始条件一致(使用 ${InitialDistanceOfDfbiConstraint3} 内置场函数),但时间导数以及初速度不为零,因此它与体初速度不一致。

    要解决此不一致状况,可以更改体的初速度和/或距离定义的时间相关性,这可能需要非常复杂的计算。在许多情况下,引入混合时间(例如 0.5s)非常方便,在它定义的时间窗中体初始条件自动混合到用户指定距离。在混合时间内,距离驱动所应用的距离将变为与体初始条件一致,并且在混合时间过后距离与用户定义距离匹配。

    要设置混合时间,选择 [距离驱动] 节点,然后指定混合时间