1、FLUENT中被动型动网格问题求解方案6DOFdoc精品CAE 联盟论坛精品讲座系列FLUENT 中被动型动网格问题求解方案: 6DOF主讲人:流沙 CAE 联盟论坛总版主利用 CFD 软件解决动网格问题,通常可分为以下两类:(1 )主动型动网格主动型动网格问题通常指的是边界运动规律及运动状态已知, 通常可由软件使用者通过函数或程序进行描述。 在程序计算过程中, 求解器调用边界运动轨迹描述程序实现边界运动。 这类动网格例子很多,如各类泵、风扇等。(2 )被动型动网格还有一类动网格问题, 其边界运动规律往往是未知的, 常常需要通过计算边界上的力或力矩,以此来求取边界的运动。 在这类动网格计算设置
2、中, 网格变化规律难以预料, 导致网格参数经常需要进行多次调整才能达到目的。 这类例子在现实中其实也很多, 比如风力发电机的叶轮、水轮机等。解决主动型动网格问题比较容易,利用 CFD 软件提供的动网格模拟能力很容易解决。需要关注的地方是边界运动后,网格节点如何重新布置和生成。如在 FLUENT 软件中,其动网格主要包括三种网格功能: 弹簧光顺、 动态层及网格重构。 利用网格重构功能几乎可以解决所有主动型动网格问题。-可编辑 -精品那被动型动网格问题怎么处理呢?一般来说, 这类边界的运动都是由于内部流体对其压力所造成的,那么就涉及到力和力矩计算的问题。对于这类问题,在 FLUENT 软件中可以采
3、用6DOF 模型进行计算。需要注意的是, 以上所有类型动网格计算均建立在边界为刚性的情况下。 即不会计算由于流动产生的力的作用导致的边界变形。 若要计算边界变形, 则需要采用流固耦合方法, 利用固体求解器计算。被动型动网格中的力和力矩均是压力对面的积分计算而来。1 、 6DOF UDF 宏在 FLUENT 中利用 6DOF 是需要定义 UDF 宏的。该宏的定义形式如下:DEFINE_SDOF_PROPERTIES(name, properties, dt ,time ,dtime)函数中:Name :宏名称Real *properties :存储 6DOF 属性的数组Dynamic_Threa
4、d *dt :存储制定的动网格属性Real time :当前时间Real dtime :时间步长该 UDF 宏没有返回值。用户需要定义的变变量为 name 、 properties 、 dt 、 dtime 。在利用该 UDF 宏的过程中 ,需要注意的是 properties 数组,其包含多种属性:-可编辑 -精品SDOF_MASS / 质量,定义方式如 propertiesSDOF_MASS=7.0 定义质量 7kgSDOF_IXX , SDOF_IYY ,SOF_IZZ , /X 、 Y、 Z 方向惯性矩SDOF_IXY , SDOF_IXZ , SDOF_IYZ , / 惯性积SDOF_
5、LOAD_LOCAL ,/ 布尔值, FALSE 为全局坐标系, TRUE 为体坐标系(局部坐标系) ,默认为 FALSESDOF_LOAD_F_X ,SDOF_LOAD_F_Y ,SDOF_LOAD_F_Z , /X , Y,Z 方向外力SDOF_LOAD_M_X ,SDOF_LOAD_M_Y , SDOF_LOAD_M_Z , / 分别为 X, Y, Z 方向外力矩SDOF_ZERO_TRANS_X , SDOF_ZERO_TRANS_Y , SDOF_ZERO_TRANS_Z , / 布尔值,TRUE 表示该方向位移为 0 ,默认为 FALSESDOF_ZERO_ROT_X ,SDOF_
6、ZERO_ROT_Y , SDOF_ZERO_ROT_Z ,/ 布尔值, TRUE 表示该方向旋转自由度为 0 ,默认值为 FALSESDOF_SYMMETRY_X ,SDOF_SYMMETRY_Y ,SDOF_SYMMETRY_Z ,/ 指定半模型的对称轴法向向量。在半模型运动时使用。上面的变换变量可以应付绝大多数问题, 然而在 FLUENT 中,用户还可以自定义变换变量,这也是通过 6DOF 属性变量实现,这些变量包括:SDOF_CUSTOM_TRANS ,/ 布尔值, TRUE 表示使用自定义变换变量, FALUSE 表示不使用-可编辑 -精品SDOF_CTRANS_11 , SDOF_
7、CTRANS_12 , SDOF_CTRANS_13 , SDOF_CTRANS_21 ,SDOF_CTRANS_22 , SDOF_CTRANS_23 , SDOF_CTRANS_31 , SDOF_CTRANS_32 ,SDOF_CTRANS_33 , / 坐标旋转变量SDOF_DTRANS_11, SDOF_DTRANS_12, SDOF_DTRANS_13, SDOF_DTRANS_21,SDOF_DTRANS_22, SDOF_DTRANS_23, SDOF_DTRANS_31, SDOF_DTRANS_32,SDOF_DTRANS_33, / 衍生旋转矩阵这些旋转矩阵在实际使用中应
8、用较少。下面是一个简单的 SDOF 实例:#include “ udf.h ”DEFINE_SDOF_PROPERTIES(stage,prop,time,dtime)propSDOF_MASS = 800.0;propSDOF_IXX = 200;PropSDOF_IYY = 100;-可编辑 -精品PropSDOF_IZZ = 100;上面的 UDF 定义了一个名为 stage 的 SDOF 宏,且质量 800kg , X 方向转动惯量为200 ,Y 方向转动惯量 100 , Z 方向转动惯量 1002、刚体参数的获取应用 6DOF 无可避免的会碰到刚体属性值的获取问题。对于简单的几何体,
9、应用力学公式可以很方便的计算出诸如质量、 转动惯量等。 但是对于复杂的几何模型, 要想通过数学公式计算出这些物理量几乎是不可能的。其实,几乎所有的 CAD 建模软件中均具有这些物理量的计算能力,不过要注意区分计算的是全局坐标系还是局部坐标系。下面将以实例来描述如何应用 6DOF 模型求解被动型动网格问题。6DOF 实例 :设置过程对于被动型动网格计算问题,可以采用 6DOF 动网格模型解决。利用该模型时,需要确定计算模型中运动部件的质量、 三方向转动惯量及惯性矩、 重心坐标。 因此在几何模型创建过程中,尽量使这些值容易获取(比如将重心位置放置在坐标原点),当然这不是必须的,在CAD 建模软件中
10、都包含了这些物理量的查询。-可编辑 -精品如图 1 所示的几何体,在受到图中流动方向的流体作用下,若轴向旋转自由度未被约束,则会产生旋转位移。本次实例几何如图 1 所示。在建立流体计算域之前,需要利用 CAD 软件获取几何的特征物理量,我们这里使用Solidworks 实现此功能。1、获取几何属性利用 solidworks 载入几何体,进入【评估】 【质量属性】,选择几何体进行计算,如图2所示。-可编辑 -精品图 2 质量属性在计算几何质量属性对话框中,可以点击【选项】按钮,设置材料参数,如图 3 所示。-可编辑 -精品从图 2 可以看出,该几何体的重心 ( 0,0,25.19 ),Z 方向惯
11、性矩 IZZ=324047.793g*mm2 ,由于我们的几何体约束了 X,Y,Z 三方向移动自由度, X , Y 方向的旋转自由度,因此只需要Z 方向的惯性矩。需要注意的是,这里的单位是 mm ,而 UDF 中必须全部为国际单位制,需要做单位转换。2、计算域模型在 workbench 中的 DM 中创建计算域模型。主要是利用 DM 中方便的布尔运算功能。建立的计算域如图 4 所示。-可编辑 -精品为计算域边界命名, 分别命名内部区域面、 入口面、出口面、圆柱面边界为: WallRotation 、VelocityInlet 、 Outlet 、 wallCylinder 。计算域建立完毕后即
12、进行网格的划分,这里不详细描述。3 、 UDF 宏的编写利用文本编辑器编写 UDF 宏文件。如下:#include udf.hDEFINE_SDOF_PROPERTIES(rotate,prop,dt,time,dtime)propSDOF_MASS = 845.154E-3; /* 质量 */propSDOF_IXX= 336179E-9; /*x 方向惯性矩 */propSDOF_IYY = 336179E-9; /*y 方向惯性矩 */-可编辑 -精品propSDOF_IZZ= 324047.793E-9; /*z 方向惯性矩 */propSDOF_ZERO_TRANS_X=TRUE;
13、/* 限制 x 方向位移 */propSDOF_ZERO_TRANS_Y=TRUE; /* 限制 y 方向位移 */propSDOF_ZERO_TRANS_Z=TRUE; /* 限制 z 方向位移 */propSDOF_ZERO_ROT_X=TRUE; /* 限制 x 方向旋转 */propSDOF_ZERO_ROT_Y=TRUE;/* 限制 y 方向旋转 */printf(nstage: updated 6dof properties);4 、进入 FLUENT 中设置在 FLUENT 中主要包括动网格参数的设置。-可编辑 -精品其他设置: 瞬态计算、 标准 K-E 湍流模型、 标准壁面函数
14、、 工作介质为 water 、入口 5m/s ,出口静压为 0 。动网格设置:(1 )、激活 sixDOF如图 5 所示,进入 Dynamic Mesh 面板,激活 Dynamic Mesh ,勾选 Remeshing 选项及SixDOF 项。(2 )、动网格参数设置进入 mesh methods 下的 settings 按钮,进入动网格参数设置。图 6、图 7 分别为smoothing 与 Remeshing 的设置。-可编辑 -精品-可编辑 -精品6DOF 中的 settings 设置对话框如图 8 所示,这里我们不考虑重力影响,设置三方向重力加速度为 0 。同时勾选 write moti
15、on history 项,记录保存运动中几何姿态。-可编辑 -精品(3 )、编译加载 UDF 宏利用菜单【 Define 】 【 user defined 】 【 function 】 【 Complied 】编译宏。-可编辑 -精品(4 )、设置动网格区域动网格设置面板中,点击【 Create/Edit 】按钮定义动网格区域。需要设置的区域10如图所示的红色框选部分。图 10 运动区域设置同时注意设置 meshing Options 标签页下的网格高度。5、需要注意的问题-可编辑 -精品3D 动网格问题,首先要注意的是负体积问题。前面说过,由于运动状态由受力状态控制,在计算之前是未知的, 所有调整动网格参数比较困难。 不过仔细耐心的修正还是可以解决的。其次,关于这类被动运动问题,一些模型较为简单的几何体,实际上是可以化被动为主动,只是计算壁面受力,运动状态通过受力状态用 UDF 确定。比如此例,我们可以在计算过程中通过宏计算出每次迭代加载在重心上的力和力矩, 然后通过力学公式确定几何体的运动状态。这样被动运动问题就变为人为定义运动状态的主动动网格问题。这次几何有点复杂,计算时间比较长,不过主要用于演示 6DOF 模型的定义。-可编辑 -
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1