Fluent-动网格实例具体操作步骤
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Fluent-动⽹格实例具体操作步骤
⽬录
实例:Profile定义运动 (2)
I、参数说明 (2)
II、操作步骤 (3)
⼀、将计算域离散为⽹格 (3)
⼆、Fluent操作步骤 (4)
1.启动Fluent 14.5求解器 (4)
2.初始设置 (4)
3.选择湍流模型 (5)
4.设置流体物性 (6)
5.设置边界条件 (7)
6.动⽹格设置 (8)
7.设置其它选项 (12)
在Fluent中,动⽹格模型可以⽤来模拟由于流域边界运动引起流域形状随时间变化的流动情况,动⽹格在求解过程中计算⽹格要重构,例如汽车发动机中的⽓缸运动、阀门的开启与关闭、机翼的运动、飞机投弹等等。
CFD中的动⽹格⼤体分为两类:(1)显式规定的⽹格节点速度。
配合瞬态时间,即可很⽅便的得出位移。
当然⼀些求解器(如FLUENT)也⽀持稳态动⽹格,这时候可以直接指定节点位移。
(2)⽹格节点速度是通过求解得到的。
如6DOF模型基本上都属于此类。
⽤户将⼒换算成加速度,然后将其积分成速度。
在Fluent中,动⽹格涉及的内容包括:
(1)运动的定义。
主要是PROFILE⽂件与UDF中的动⽹格宏。
(2)⽹格更新。
FLUENT中关于⽹格更新⽅法有三种:⽹格光顺、动态层、⽹格重构。
需要详细了解这些⽹格更新⽅法的运作机理,每个参数所代表的具体含义及设置⽅法,每种⽅法的适⽤范围。
动⽹格的最在挑战来⾃于⽹格更新后的质量,避免负体积是动⽹格调试的主要⽬标。
在避免负⽹格的同时,努⼒提⾼运动更新后的⽹格质量。
拉格朗⽇⽹格(固体有限元计算)
⽹格
欧拉⽹格(流体计算)
实例:Profile定义运动
I、参数说明
本次实例采⽤的场景来⾃于流体中⾼速飞⾏的物体。
如⼦弹、⽕箭、导弹等。
这⾥只是为了说明profile在动⽹格运动定义中的应⽤,因此为了计算⽅便不考虑⾼速问题。
问题描述如下图所⽰:
图 1 (1为运动刚体,2为计算域)
图2
计算说明:由于不考虑也没办法考虑刚体的变形,因此在构建⾯域的时候,将1中的部分通过布尔运算去除。
计算域总长度300mm,其中固体运动最⼤位移为:
300-40-30-6mm=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个点;time后所述为所取点的时刻值;x后所述为所取点的x坐标;v_x为所取点的x向速度;所取的五个点组成速度与时间的线性关系,如图2所⽰。
注意:虽然瞬态profile⽂件可以在⼀定程度上定义⽹格运动,然⽽其存在着⼀些缺陷。
最主要的⼀些缺陷存在于以下⼀些⽅⾯:
(1)PROFILE⽆法精确的定义连续的运动。
其使⽤离散的点值进⾏插值。
如果想获得较为精确的运动定义,势必要定义很多点。
(2)⼀些情况下⽆法使⽤profile。
⽐如稳态动⽹格。
在FLUENT中定义⽹格运动,更多的是采⽤UDF宏,此处不在详细叙述。
详细实例可参阅FLUENT UDF⼿册p182-p188。
II、操作步骤
⼀、将计算域离散为⽹格
在ICEM CFD中将计算域离散为⽹格,由于三⾓形⽹格⾮常适合于2D动⽹格,因此本例使⽤三⾓形⽹格。
若要使⽤四边形⽹格,则需要进⾏滑移⾯处理。
详细的说明将留待以后⽹格更新的时候进⾏。
同样的,也不进⾏边界层处理。
简化问题描述,设定四周为wall壁⾯,中间区域为rigid wall(如图3所⽰),在动⽹格中进⾏设定。
全局⽹格尺⼨为2mm,运动边界⽹格尺⼨1mm,
图3 parts 设置
⽹格单元总数为:19698
节点总数:9845
⼆、Fluent操作步骤
1.启动Fluent 14.5求解器
双击桌⾯上的Fluent图标,打开启动对话框,如图4所⽰,选择选择2D求解器,勾选
Fluent 14.5。
图4
2.初始设置
找到并选择⽹格msh⽂件,完成将⽹格⽂件输⼊Fluent的操作。
检查并修改单位,点
击General⾯板中的Scale确保使⽤的单位为mm,如下图所⽰。
点击Check检查⽹格质量,注意Minimum Volume应⼤于0。
图5
设置求解器,由于在动⽹格的应⽤中,稳态情况⽐较少见,中的其它选项采取默认设置,如下图所⽰。
图6
3.选择湍流模型
选择k-e湍流模型,如下图所⽰。
4.设置流体物性
具体操作如下。
1)在Name栏内输⼊water。
2)在属性栏内输⼊流体的物理属性如下:
密度1000 kg/m3
动⼒黏度0.01 kg/(m?s)
等压⽐热4182 J/(kg?m^3)
导热系数0.6 W/(m?k)
3)点击
4)在弹出的对话框内,点击No;此项操作将使名为water的流体添加到材料选择列表
中,可以在材料列表内查看到,同时保留系统默认的流体air。
5)点击
图8
5.设置边界条件
设置⼯作流体为⽔,即设定Cell Zone Condition将默认域介质设定为water,具体操作如下。
1)在Zone栏内选择Edit,即编辑默认域设定,打开Fluid设置对话框,如下图所⽰。
2)在Materials Name下拉列表中选择water。
3)点击
图9
由于本例使⽤全封闭计算域,所有边界类型为wall,所以Boundary Condition采⽤默认设置即可。
将编辑好的轮廓⽂件(profile)导⼊到Fluent中,具体操作如下。
1)单击选择Boundary Condition Profile设置对话框,如
下图所⽰。
2)点击,在⽂件类型中选择All Files,选择profile ⽂件储存成⽂本⽂档text
的形式。
3)点击Profile设置对话框。
图11
6.动⽹格设置
6.1Mesh Methods(⽹格更新⽅法)
在Dynamic Mesh并勾选激活动⽹格选项。
勾选Mesh
Methods各选项的参数设置分别如下图所⽰。
在有两种⽹格光顺的⽅法,弹簧光顺与离散光顺两个模型。
激活弹簧光顺模型,相关参数设置位于Smoothing(光顺)标签下,可以设置的参数包括Spring Constant Factor(弹簧弹性系数)、Laplace Node Relaxation(边界点松弛因⼦)、Convergence Tolerance (迭代精度)和Number of Iterations(迭代次数)。
弹簧常数因⼦:取值范围[0,1]。
可以通过该值来调整弹簧刚度的⼤⼩。
该值为0表⽰弹簧间没有阻尼,边界运动会影响到更多的内部节点。
该参数的默认值为1。
在实际应⽤中,若发现运动边界附近⽹格堆积严重,可适当调⼩此参数,将位移扩散出去。
边界点松弛因⼦:⽹格位置更新时使⽤的参数。
取值范围[0,1]。
0表⽰没有进⾏⽹格节点保持不变,1表⽰不使⽤松弛处理。
该参数默认为1。
调整该参数可以控制每次⽹格更新的节点位置。
通常使⽤默认值即可。
迭代精度:⽹格节点位移值是通过求解平衡⽅程得到的。
本参数即控制⽅程的求解精度。
⼀般保持默认值。
迭代次数:与迭代精度作⽤相同。
⽤于平衡⽅程的求解控制。
迭代⽅程如下。
通常该参数保持默认即可。
扩散光顺⽅法在此不作详细叙述,只简述其适应的情况:能够应⽤于任何类型的运动或变形⽹格;扩散光顺⽅法⽐弹簧光顺计算开销要⼤(隐式求解扩散⽅程,⽽弹簧光顺是显式
计算节点位移),但是能够得到较好的⽹格质量(特别是对于⾮四⾯体/⾮三⾓形⽹格及多⾯体⽹格);更适合于平移运动;扩散光顺⽅法与边界层光顺⽅法及⾯区域重构⽅法不兼容。
在Split Factor (分割
因⼦)和Collapse Factor(合并因⼦)与Cell Height相关,定义其乘积下的分割与合并属性。
在ANSYS Fluent 包含有很多种⽹格重构⽅法,主要有以下⼏种:局部单元重构、局部区域重构、局部⾯重构(只⽤于3D)、⾯域重构、cutcell域重构(仅3D)以及2.5D⾯重构(3D中)。
⽹格重构⽅法适合于以下⽹格类型:
(1)局部⽹格及局部⾯重构⽅法只对区域中的三⾓形及四⾯体⽹格有效。
(例如混合⽹格区域中,⾮三⾓形/四⾯体⽹格将会被忽略)
(2)区域重构⽅法会将其它所有类型⽹格替换为三⾓形四⾯体⽹格(分别在2D及3D 区域中),并且在3D边界层中⽣成楔形、棱柱形⽹格。
(3)⾯域重构⽅法在2D中只⽤于三⾓形⽹格,在3D模型中只⽤于四⾯体⽹格。
并且在3D边界层中能够产⽣楔形/棱柱形⽹格。
(4)切割单元区域重构⽅法能够对所有⽹格类型有效。
(5)2.5D重构⽅法只在六⾯体⽹格或由三⾓形拉伸形成的楔形/棱柱型单元上有效。
可以设置的其他参数还包括Maximum Cell Skewness(最⼤畸变率)、Maximum Cell
V olume(最⼤⽹格体积)和Minimum Cell V olume(最⼤⽹格体积),主要⽤于确定哪些⽹格需要被重新划分。
Mesh Scale Info⽤于设定时参考⽹格内的参数。
在缺省设置中,如果重新划分的⽹格优于原⽹格,则⽤新⽹格代替旧⽹格;否则,将保持原⽹格划分不变。
如果⽆论如何都要采⽤新⽹格的话,则可以在Options(选项)下⾯选择Must Improve Skewness(必须改善畸变率)选项。
如果Options(选项)下⾯的Size Function(尺⼨函数)被激活,则还可以⽤⽹格尺⼨分布函数标志需要重新划分的⽹格。
对于3D模型,还包括in-cylinder、six-dof、Implicit Update三种选项。
其中in-cyliner ⽤于发动机⽓缸模拟,six-dof主要⽤于流体作⽤于刚体,预测刚体运动。
implicit update⽤于设定⽹格更新⽅式。
默认采⽤显式⽅式,勾选此选项可设定⽹格以隐式⽅式更新。
6.2动态⽹格域
在即定义中间刚体壁⾯为rigid body,具体操作如下。
1)点击
2)在Zone Names下选择rigid wall,在Type中选择Rigid Body。
3)在Meshing Options中,设置Cell Height中的值为1mm。
4)点击Create,并关闭Dynamic Mesh Zones设置对话框。
图11
此动态⽹格域⽤于定义⽹格运动的区域及运动类型。
FLUENT中⽹格运动类型主要有:静⽌、刚体运动、变形区域、⽤户⾃定义域、耦合域(依次)。
静⽌域在⽹格运动过程中,区域内节点位置保持不变。
虽然说默认情况下不设定区域运动,则该区域为静⽌,但是⼀些情况下还是需要显式设定某些区域为静⽌域,尤其是在⼀些与刚体域相连的区域处理上。
刚体运动域:这是fluent动⽹格中最常见的运动类型。
通过规定刚体的速度或位移来控制运动。
变形域:由于边界运动导致节点变形。
变形域通常与刚体域是相连的。
⾃定义域:⽤户可以使⽤UDF定义⾃⼰需要的域
耦合域:节点位移由耦合求解器计算,在流固耦合计算中,耦合⾯上通常设定为耦合域类型。
6.3⽹格预览
1)
2)设置时间步长和步数,具体设置如下图所⽰。
3)设置完成后,点击
图15
注意:在这⼀步中,需要提醒⼀下,使⽤动⽹格进⾏正式计算之前,最好养成预览动⽹格更新的习惯;就是在正式计算前,浏览⼀下动⽹格的更新情况,这样可以避免在计算过程中出现动⽹格更新本⾝的问题。
在预览更新时,很多⼈都说会出现负体积的警告,更新不成功,出现这样的问题时,最好先把时间步长改的更⼩点⼉试试,⼀般来讲,排除UDF本⾝的原因,出现更新出错的原因都与时间步长有关,这需要结合所使⽤的更新⽅法多琢磨。
在预览动⽹格前先保存动⽹格设置,预览后将造成不可逆的计算结果。
7.设置其它选项
对于⾮定常问题,推荐使⽤PISO算法。
时间步长设置为0.01,计算步数设置为100。
Solution⾯板中的设置此处不在详细叙述。