1、Fluent 动网格实例具体操作步骤目录实例:Profile 定义运动 .3I、 参数说明 3II、 操作步骤 3一、将计算域离散为网格 .3二、Fluent 操作步骤 41. 启动 Fluent 14.5 求解器 42. 初始设置 43. 选择湍流模型 54. 设置流体物性 65. 设置边界条件 66. 动网格设置 87. 设置其它选项 9Fluent 动网格实例具体操作步骤在 Fluent 中,动网格模型可以用来模拟由于流域边界运动引起流域形状随时间变化的流动情况,动网格在求解过程中计算网格要重构,例如汽车发动机中的气缸运动、阀门的开启与关闭、机翼的运动、飞机投弹等等。CFD 中的动网格大
2、体分为两类:(1)显式规定的网格节点速度。配合瞬态时间,即可很方便的得出位移。当然一些求解器(如 FLUENT)也支持稳态动网格,这时候可以直接指定节点位移。 (2)网格节点速度是通过求解得到的。如 6DOF 模型基本上都属于此类。用户将力换算成加速度,然后将其积分成速度。在 Fluent 中,动网格涉及的内容包括:(1)运动的定义。主要是 PROFILE 文件与 UDF 中的动网格宏。(2)网格更新。FLUENT 中关于网格更新方法有三种:网格光顺、动态层、网格重构。需要详细了解这些网格更新方法的运作机理,每个参数所代表的具体含义及设置方法,每种方法的适用范围。动网格的最在挑战来自于网格更新
3、后的质量,避免负体积是动网格调试的主要目标。在避免负网格的同时,努力提高运动更新后的网格质量。拉格朗日网格(固体有限元计算)网格欧拉网格(流体计算 )实例:Profile 定义运动I、 参数说明本次实例采用的场景来自于流体中高速飞行的物体。如子弹、火箭、导弹等。这里只是为了说明 profile 在动网格运动定义中的应用,因此为了计算方便不考虑高速问题。问题描述如下图所示:图 1 (1 为运动刚体,2 为计算域 )图 2计算说明:由于不考虑也没办法考虑刚体的变形,因此在构建面域的时候,将 1 中的部分通过布尔运算去除。计算域总长度 300mm,其中固体运动最大位移为:300-40-30-6mm=
4、224mm。为了防止固体边界与计算域边界发生重叠,我们使运动最大距离为 200mm。运动速度v=0.4t,这样可能计算运动完 200mm 需要的时间为 1s。采取 5 个时间数据点分别为:0,0.25,0.5,0.75,1s,相对应的速度为:0,0.1,0.2,0.3,0.4 m/s。profile 文件如下:(moveVelocity transient 5 0)(time 0 0.25 0.5 0.75 1)(v_x 0 0.1 0.2 0.3 0.4)解释:在记事本中按下列格式编写,保存为.txt 文本即可。其中, moveVelocity 为profile 文件名,transient
5、表示瞬态,5 为表示所取速度及时间变化点数,这里取 5 个点;time 后所述为所取点的时刻值;x 后所述为所取点的 x 坐标;v_x 为所取点的 x 向速度;所取的五个点组成速度与时间的线性关系,如图 2 所示。注意:虽然瞬态 profile 文件可以在一定程度上定义网格运动,然而其存在着一些缺陷。最主要的一些缺陷存在于以下一些方面:(1)PROFILE 无法精确的定义连续的运动。其使用离散的点值进行插值。如果想获得较为精确的运动定义,势必要定义很多点。(2)一些情况下无法使用 profile。比如稳态动网格。在 FLUENT 中定义网格运动,更多的是采用 UDF 宏,此处不在详细叙述。详细
6、实例可参阅 FLUENT UDF 手册 p182-p188。II、 操作步骤一、 将计算域离散为网格在 ICEM CFD 中将计算域离散为网格,由于三角形网格非常适合于 2D 动网格,因此本例使用三角形网格。若要使用四边形网格,则需要进行滑移面处理。详细的说明将留待以后网格更新的时候进行。同样的,也不进行边界层处理。简化问题描述,设定四周为 wall 壁面,中间区域为 rigid wall(如图 3 所示),在动网格中进行设定。全局网格尺寸为 2mm,运动边界网格尺寸 1mm,图 3 parts 设置网格单元总数为:19698节点总数:9845二、 Fluent 操作步骤1. 启动 Fluen
7、t 14.5 求解器双击桌面上的 Fluent 图标,打开启动对话框,如图 4 所示,选择选择 2D 求解器,勾选双精度选项,点击 OK 启动 Fluent 14.5。图 42. 初始设置找到并选择网格 msh 文件,完成将网格文件输入 Fluent 的操作。检查并修改单位,点击 General 面板中的 Scale 确保使用的单位为 mm,如下图所示。点击 Check 检查网格质量,注意 Minimum Volume 应大于 0。图 5设置求解器,由于在动网格的应用中,稳态情况比较少见,所以选择瞬态求解器,General 中的其它选项采取默认设置,如下图所示。图 63. 选择湍流模型选择 M
8、odels 面板中的标准 k-e 湍流模型,如下图所示。图 74. 设置流体物性选择 Materials 面板中的 air,打开材料设置对话框,如下图所示,将液体材料改为水,具体操作如下。1) 在 Name 栏内输入 water。2) 在属性栏内输入流体的物理属性如下:密度 1000 /3动力黏度 0.01 /()等压比热 4182 /(3)导热系数 0.6 /()3) 点击 Change/Create4) 在弹出的对话框内,点击 No;此项操作将使名为 water 的流体添加到材料选择列表中,可以在材料列表内查看到,同时保留系统默认的流体 air。5) 点击 Close图 85. 设置边界条
9、件设置工作流体为水,即设定 Cell Zone Condition 将默认域介质设定为 water,具体操作如下。1) 在 Zone 栏内选择 Edit,即编辑默认域设定,打开 Fluid 设置对话框,如下图所示。2) 在 Materials Name 下拉列表中选择 water。3) 点击 OK,关闭材料选择对话框。图 9由于本例使用全封闭计算域,所有边界类型为 wall,所以 Boundary Condition 采用默认设置即可。将编辑好的轮廓文件(profile)导入到 Fluent 中,具体操作如下。1) 单击选择 Boundary Condition 面板中的 Profile 选项
10、,打开 Profile 设置对话框,如下图所示。2) 点击 Read ,在文件类型中选择 All Files,选择 profile 文件储存成文本文档 text的形式。3) 点击 Apply,关闭 Profile 设置对话框。图 116. 动网格设置6.1 Mesh Methods(网格更新方法)在 Dynamic Mesh 面板中找到 Dynamic Mesh 选项,并勾选激活动网格选项。勾选Mesh Methods 目录下的 Smoothing, Layering, Remeshing 选项。各选项的参数设置分别如下图所示。在 Smoothing 中,有两种网格光顺的方法,弹簧光顺与离散光
11、顺两个模型。激活弹簧光顺模型,相关参数设置位于 Smoothing(光顺)标签下,可以设置的参数包括 Spring Constant Factor(弹簧弹性系数) 、Laplace Node Relaxation(边界点松弛因子) 、Convergence Tolerance(迭代精度)和 Number of Iterations(迭代次数) 。弹簧常数因子:取值范围0, 1。可以通过该值来调整弹簧刚度的大小。该值为 0 表示弹簧间没有阻尼,边界运动会影响到更多的内部节点。该参数的默认值为 1。在实际应用中,若发现运动边界附近网格堆积严重,可适当调小此参数,将位移扩散出去。边界点松弛因子:网格
12、位置更新时使用的参数。取值范围0,1 。0 表示没有进行网格节点保持不变,1 表示不使用松弛处理。该参数默认为 1。调整该参数可以控制每次网格更新的节点位置。通常使用默认值即可。迭代精度:网格节点位移值是通过求解平衡方程得到的。本参数即控制方程的求解精度。一般保持默认值。迭代次数:与迭代精度作用相同。用于平衡方程的求解控制。迭代方程如下。通常该参数保持默认即可。扩散光顺方法在此不作详细叙述,只简述其适应的情况:能够应用于任何类型的运动或变形网格;扩散光顺方法比弹簧光顺计算开销要大(隐式求解扩散方程,而弹簧光顺是显式计算节点位移) ,但是能够得到较好的网格质量(特别是对于非四面体/非三角形网格及
13、多面体网格) ;更适合于平移运动;扩散光顺方法与边界层光顺方法及面区域重构方法不兼容。在 Layering(动态层)标签下,可以设置与动态层模型相关的参数。Split Factor (分割因子) 和 Collapse Factor(合并因子)与 Dynamic Mesh Zones 中的 Cell Height 相关,定义其乘积下的分割与合并属性。在 Remeshing(重划网格)标签下,设置与局部重划模型相关的参数。ANSYS Fluent包含有很多种网格重构方法,主要有以下几种:局部单元重构、局部区域重构、局部面重构(只用于 3D) 、面域重构、 cutcell 域重构(仅 3D)以及 2
14、.5D 面重构(3D 中) 。网格重构方法适合于以下网格类型:(1)局部网格及局部面重构方法只对区域中的三角形及四面体网格有效。 (例如混合网格区域中,非三角形/四面体网格将会被忽略)(2)区域重构方法会将其它所有类型网格替换为三角形四面体网格(分别在 2D 及3D 区域中) ,并且在 3D 边界层中生成楔形、棱柱形网格。(3)面域重构方法在 2D 中只用于三角形网格,在 3D 模型中只用于四面体网格。并且在 3D 边界层中能够产生楔形 /棱柱形网格。(4)切割单元区域重构方法能够对所有网格类型有效。(5)2.5D 重构方法只在六面体网格或由三角形拉伸形成的楔形/棱柱型单元上有效。可以设置的其
15、他参数还包括 Maximum Cell Skewness(最大畸变率) 、Maximum Cell Volume(最大网格体积)和 Minimum Cell Volume(最大网格体积) ,主要用于确定哪些网格需要被重新划分。Mesh Scale Info 用于设定时参考网格内的参数。在缺省设置中,如果重新划分的网格优于原网格,则用新网格代替旧网格;否则,将保持原网格划分不变。如果无论如何都要采用新网格的话,则可以在 Options(选项)下面选择 Must Improve Skewness(必须改善畸变率)选项。如果 Options(选项)下面的 Size Function(尺寸函数)被激活
16、,则还可以用网格尺寸分布函数标志需要重新划分的网格。对于 3D 模型,还包括 in-cylinder、six-dof、Implicit Update 三种选项。其中 in-cyliner用于发动机气缸模拟,six-dof 主要用于流体作用于刚体,预测刚体运动。implicit update 用于设定网格更新方式。默认采用显式方式,勾选此选项可设定网格以隐式方式更新。6.2 动态网格域在 Dynamic Mesh Zones 中定义运动区域,即定义中间刚体壁面为 rigid body,具体操作如下。1) 点击 Create/Edit 选项,打开 Dynamic Mesh Zones 设置对话框,
17、如下图所示。2) 在 Zone Names 下选择 rigid wall,在 Type 中选择 Rigid Body。3) 在 Meshing Options 中,设置 Cell Height 中的值为 1mm。4) 点击 Create,并关闭 Dynamic Mesh Zones 设置对话框。图 11此动态网格域用于定义网格运动的区域及运动类型。FLUENT 中网格运动类型主要有:静止、刚体运动、变形区域、用户自定义域、耦合域(依次 )。静止域在网格运动过程中,区域内节点位置保持不变。虽然说默认情况下不设定区域运动,则该区域为静止,但是一些情况下还是需要显式设定某些区域为静止域,尤其是在一些
18、与刚体域相连的区域处理上。刚体运动域:这是 fluent 动网格中最常见的运动类型。通过规定刚体的速度或位移来控制运动。变形域:由于边界运动导致节点变形。变形域通常与刚体域是相连的。自定义域:用户可以使用 UDF 定义自己需要的域耦合域:节点位移由耦合求解器计算,在流固耦合计算中,耦合面上通常设定为耦合域类型。6.3 网格预览点击 Preview Mesh Motion 可以设置预览网格运动,具体操作如下。1) 点击 Preview Mesh Motion 选项,打开设置对话框。2) 设置时间步长和步数,具体设置如下图所示。3) 设置完成后,点击 Preview。图 15注意:在这一步中,需要提醒一下,使用动网格进行正式计算之前,最好养成预览动网格更新的习惯;就是在正式计算前,浏览一下动网格的更新情况,这样可以避免在计算过程中出现动网格更新本身的问题。在预览更新时,很多人都说会出现负体积的警告,更新不成功,出现这样的问题时,最好先把时间步长改的更小点儿试试,一般来讲,排除 UDF 本身的原因,出现更新出错的原因都与时间步长有关,这需要结合所使用的更新方法多琢磨。在预览动网格前先保存动网格设置,预览后将造成不可逆的计算结果。7. 设置其它选项对于非定常问题,推荐使用 PISO 算法。时间步长设置为 0.01,计算步数设置为100。Solution 面板中的设置此处不在详细叙述。