使用多体运动设置体约束
对于具有多体运动选项的体,Simcenter STAR-CCM+ 支持所有约束类型 - 接触约束、速度驱动程序、距离驱动程序和旋转驱动程序。
-
要为具有多体运动选项的体定义体约束:
以下显示了设置接触约束的示例:
- 要定义滑动平面的边和方向,可以在基准坐标系中指定原点、方向和法向矢量。还可以新建坐标系,其中原点位于平面的边上,并有一个轴指向平面的方向:有关更多详细信息,请参考[接触约束]属性。
恒定绝对速度驱动器示例如下所示:
- 要使用绝对值指定 6 自由度体的速度,可定义体相对于环境的速度。要执行此操作:
对于应用于具有多体运动的体的速度驱动程序或旋转驱动程序,确保初始速度或旋转速率与关联体的初始速度和角速度一致。建议使用预定义场函数 InitialVelocityOfDfbiConstraint<n> 或 InitialRotationRateOfDfbiConstraint<n> 指定初始值,其中 n 是体约束的唯一索引,例如:1,2,3,4,5....n.
振荡绝对速度驱动器示例如下所示:
在本例中,在实验室坐标系中将体的初始速度设为 [0.1, 0, 0] m/s。要确保设置一致,使用预定义的 InitialVelocityOfDfbiConstraint1(此体约束是第一个生成的约束)场函数定义时间相关速度。
-
要将速度指定为时间函数,可以在表达式中使用场函数,例如 ${InitialVelocityOfDfbiConstraint1}*cos(2.0*acos(-1.0)*${Time})。

在 t=0 时,表达式计算为 InitialVelocityOfDfbiConstraint 1 场函数,以使速度驱动与 6 自由度体的初速度一致。
将时间相关的旋转速率应用于旋转驱动程序时,根据场函数 InitialRotationRateOfDfbiConstraint <n> 构建旋转速率。当旋转速率跃升时,将 InitialRotationRateOfDfbiConstraint <n> 作为初始值。
下面显示了定义具有内部跃升的旋转驱动程序的示例。
-
要为具有跃升功能的 6 自由度体指定恒定旋转速率:
- 选择 [旋转驱动程序] 节点,然后选择关联的 [旋转副]。
- 将旋转速率设为恒值。例如,2.0 rps。
- 将跃升选项指定为可用选项之一。请参见跃升选项。
- 选择跃升指定节点,然后将初始值设为此旋转驱动程序的初始旋转速率 - InitialRotationRateOfDfbiConstraint <n>。
恒定相对速度驱动程序示例如下所示。
-
要定义两个 6-DOF 体之间的相对速度:
以下示例演示体 1 质心相对于体 2 质心的速度,其方向为体 1 坐标系的 x 方向:

下面介绍将距离驱动与指定混合时间一起使用的示例:
-
对于最初静止的两个体,将创建动态距离驱动,并将体之间的距离指定为正弦时间函数 - ${InitialDistanceOfDfbiConstraint3}+ 0.1*sin(4.0*${Time})。
在 t=0 处,虽然初始距离与体初始条件一致(使用 ${InitialDistanceOfDfbiConstraint3} 内置场函数),但时间导数以及初速度不为零,因此它与体初速度不一致。
要解决此不一致状况,可以更改体的初速度和/或距离定义的时间相关性,这可能需要非常复杂的计算。在许多情况下,引入混合时间(例如 0.5s)非常方便,在它定义的时间窗中体初始条件自动混合到用户指定距离。在混合时间内,距离驱动所应用的距离将变为与体初始条件一致,并且在混合时间过后距离与用户定义距离匹配。
要设置混合时间,选择 节点,然后指定混合时间。





