6DOF模型主要用于模拟计算域中的刚体在受到流体作用后的轨迹及姿态,属于典型的被动型动网格问题。
主动运动与被动运动
我们把运动状态已知的动网格问题称之为主动运动。如子弹以速度1000m/s运动,此时运动轨迹可以通过速度直接积分计算得到。但流体中运动的物体,在受到流体作用力时,我们往往很难明确知道其运动速度或运动轨迹,而实际工程中,物体的运动速度及运动姿态反过来又会影响到物体的受力状态,随之影响到其运动速度和运动轨迹,是一个双向耦合的问题,难以用速度进行明确的表达,此类问题常常称之为被动运动。如水中运动的船只,其运动速度和运动姿态受水的作用力影响,且其运动速度及运动姿态又影响到水的作用力。
被动运动的解决方法
通常有两种解决方式:
-
利用UDF将被动运动转化为主动运动。即利用牛顿定律先获取物体所受到的力及力矩,之后利用得到的力或力矩计算得到当前的加速度和角加速度,进而得到当前的速度及角速度,再积分得到其运动轨迹和运动姿态。在每一个时间步内进行计算,实时更新物体的速度和角速度。
-
直接使用6DOF模型。在UDF中指定物体的质量、转动惯量等物理参数,软件自动计算每一个时间步内物体的运动速度及加速度。
实际上6DOF模型用得更为广泛,几乎所有的主流CFD软件都又6DOF模型(一些软件中的叫法可能有点不一样,但使用方法是一样的)。
激活6DOF模型
6DOF模型的激活非常简单,只需要在Dynamic Mesh
中激活选项6DOF
,之后在相应的对话框中设置参数即可。如下图所示。
之后在定义运动区域过程中,定义相应的部件运动为6DOF即可。如下图所示。
6DOF参数
6DOF模型需要在图形窗口中指定的参数很少,更多的是利用UDF指定部件的几何属性。
在新版本的Fluent软件中,可以利用对话框定义模型的几何参数,如质量和转动惯量等。如图所示。但这里只能定义非常简单的几何属性,对于复杂的模型,利用对话框显然是不够的,此时可以使用UDF宏来实现。
6DOF宏
6DOF模型涉及到的UDF宏相对简单。只有一个DEFINE_SDOF_PROPERTIES
宏。
该宏的描述:
其中参数列表:
name
:自定义的宏名。
properties
:属性数组,存储各种几何属性,如质量、转动惯量等。
dt
:一个存储动网格属性的结构指针,由Fluent传入,通常不用管它。其类型为Dynamic_Thread *。
time
:当前时间。
dtime
:时间步长。
实际上是要在宏文件中指定properties数组。
properties数组包含了很多的属性,详细属性可参阅UDF手册。如下图所示。
如下UDF宏定义了一个质量为800kg,x方向转动惯量为200 kg.m2,y方向和z方向转动惯量为100 kg.m2的部件。
获取几何参数
实际上很多的CAD软件都能够计算几何体的转动惯量。这里以solidworks为例。
在solidworks中创建如图所示的圆盘,底面位于XY面上,底面半径0.1m,高度0.01m,底面圆心位于几何原点。
在solidworks的评估
标签页中选择质量属性
按钮。
弹出如下图所示的对话框,其中包含了几何属性的输出报告,然而密度需要修改。
选择选项
按钮,在新弹出的对话框中选择使用自定义设定
,之后修改材料属性
中的密度
。如下图所示。
点击确定
按钮后返回之前的报告对话框,可以看到数据被更新。
图中红色部分即为转动惯量。
对于2D模型,则需要按实际尺寸建立三维模型来得到其转动惯量,默认厚度值为1米。
其实测量的方法还有很多,这里就不一一举例了。
本篇文章来源于微信公众号: CFD之道
评论前必须登录!
注册