Fluent动网格专题讨论
Fluent动网格系列篇
的,不知道怎么回事,有人知道怎么设置,或者原因嘛?麻
烦了,谢谢
A:流线怎么样?速度矢量分布如何?压力分布怎么样?以此来
检查设置的正确性。
3.如何在Fluent中定义电池热源 :大家好,我最近在用Fluent 模拟电动汽车动力电池组的流场和温度分布情况,我把模型 简化成一个空腔内放置并排放置十块电池,采用风扇进行冷
文库: 1.网格与CFD求解精度的关系-崔凯.pdf 网格与CFD求解精度的关系,Fluent公司工程师崔凯的文章。 曾经想整理出版,但是他自己找不到原稿了,翻箱底我竟然 找到了,哈哈哈,分享给需要者。
2.Fluent 动网格 Dynamic Mesh-精华帖集合.rar
3.FLUEFra Baidu bibliotekT全攻略—动网格
7.fluent做翅片管的三维稳态仿真计算时,一种情况是 initialize from all zone,另一种情况是initialize from air-inlet,两种情况下得到的稳态计算结果差别很大,比如 report热流,两种情况下通过翅片管内表面的散热功率相差 60W,相差有点悬殊啊,什么原因呢?网格偏斜度都在0~0.5 之间,质量应该没问题
4.振动圆柱绕流锁定区域的数值解
5.钻石背弹翼颤振的数值计算
6.Icepak在中兴通讯热设计中的应用.pdf
通讯产品散热分析与设计是其可靠性设计中的一个重要组成
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、参数说明
fluent 动网格
Remeshing方法中的一些参数设定:Remeshing中的参数Minimum length scale和Maximum Length Scale,这两个参数你可以参考mesh scale info中的值,仅是参考,因为mesh scale info中的值是整个网格的评价值,设置的时候看一下动网格附近的网格和整个网格区域的大小比较,然后确定这两个参数,一般来讲,动网格附近的网格较密,这些值都比整体的小,所以在设置时通常设置为比mesh scale info中的Minimum length scale大一点,比Maximum Length Scale小一点。
以上是一般来讲的设置思路。下面是我在NACA0012翼型动网格例子中的设置:
Remeshing中的参数设定:
为了得到较好的网格更新,本例在使用局部网格重新划分方法时,使用尺寸函数,也就是Remeshing+Must Improve Skewness+Size Function的策略。
将Minimum Length Scale及Maximum Length Scale均设置为0,为了使所有的区域都被标记重新划分;
Maximum Cell Skewness(最大单元畸变),参考Mesh Scale Info…中的参考值0.51,将其设定为0。4,以保证更新后的单元质量;
Size Remesh Interval(依照尺寸标准重新划分的间隔),将这个值设定为1,在FLUENT,不满足最大网格畸变的网格在每个时间步都会被标记,而后重新划分,而不满足最小,最大及尺寸函数的网格,只有在Current Time=(Size Remesh Interval)*delta t的时候,才根据这些尺寸的标准标记不合格的单元进行重新划分,为了保证每步的更新质量,将其修改为1,就是每个时间都根据尺寸的标准标记及更新网格.
FLUENT_6_动网格技巧
FLUENT 6 动网格技巧
一、动网格简介
CFD动网格大致分为两类:第一类为显式规定网格节点速度,配合瞬态时间,即可很方便的得出位移,当然一些求解器(如FLUENT)也支持稳态动网格,这时候可以直接指定网格节点的位移。第二类为网格节点速度是通过求解得到的,如6DOF模型基本上都属于此类,用户将力换算成加速度,然后将其积分成速度。
对于第一类动网格问题,在FLUENT中通常可以使用Profile与UDF进行网格设置,通过规定节点或区域的速度、角速度或位移等方式来显式确定网格的运动,通常大部分的动网格问题都归于此类。而对于第二类问题,通常涉及到力的计算,力在流体中通常是对压力进行积分而来。将力转换为速度或位移,一般涉及到加速度、转动惯量等物理量的计算。在FLUENT中,可以使用6DOF模型进行处理,在CFX中,可以使用刚体模型(13.0以上版本才有)。
在FLUENT中,动网格涉及的内容包括:1)运动的定义。主要是PROFILE文件与UDF中的动网格宏。2)网格更新。FLUENT中关于网格更新方法有三种:网格光顺、动态层、网格重构。需要详细了解这些网格更新方法的运作机理,每个参数所代表的具体含义及设置方法,每种方法的适用范围。
动网格的最在挑战来自于网格更新后的质量,避免负体积是动网格调试的主要目标。在避免负网格的同时,努力提高运动更新后的网格质量。
二、第一类动网格操作
0打开FLUENT
双击桌面快捷方式→ 选择2D或3D模式(FLUENT和GAMBIT默认单位为米)
1导入网格文件
File → Read → Case → 选择mesh文件
fluent 动网格
Remeshing方法中的一些参数设定:Remeshing中的参数Minimum length scale和Maximum Length Scale,这两个参数你可以参考mesh scale info中的值,仅是参考,因为mesh scale info中的值是整个网格的评价值,设置的时候看一下动网格附近的网格和整个网格区域的大小比较,然后确定这两个参数,一般来讲,动网格附近的网格较密,这些值都比整体的小,所以在设置时通常设置为比mesh scale info中的Minimum length scale大一点,比Maximum Length Scale小一点。
以上是一般来讲的设置思路。下面是我在NACA0012翼型动网格例子中的设置:
Remeshing中的参数设定:
为了得到较好的网格更新,本例在使用局部网格重新划分方法时,使用尺寸函数,也就是Remeshing+Must Improve Skewness+Size Function的策略。
将Minimum Length Scale及Maximum Length Scale均设置为0,为了使所有的区域都被标记重新划分;
Maximum Cell Skewness(最大单元畸变),参考Mesh Scale Info…中的参考值0.51,将其设定为0。4,以保证更新后的单元质量;
Size Remesh Interval(依照尺寸标准重新划分的间隔),将这个值设定为1,在FLUENT,不满足最大网格畸变的网格在每个时间步都会被标记,而后重新划分,而不满足最小,最大及尺寸函数的网格,只有在Current Time=(Size Remesh Interval)*delta t的时候,才根据这些尺寸的标准标记不合格的单元进行重新划分,为了保证每步的更新质量,将其修改为1,就是每个时间都根据尺寸的标准标记及更新网格.
FLUENT动网格教程
FLUENT动网格教程
摘自/dvbbs/dispbbs.asp?boardid=61&id=1396 题记:在学习使用Fluent的时候,有不少朋友需要使用动网格模型(Dynamic Me sh Model),因此,本版推出这个专题,进行大讨论,使大家在使用动网格时尽量少走弯路,更快更好地掌握;也欢迎使用过的版友积极参与讨论指导,谢谢!。
该专题主要包括以下的主要内容:
§一、动网格的相关知识介绍;
§二、以NACA0012翼型俯仰振荡实例进行讲解动网格的应用过程;
§三、与动网格应用有关的参考文献;
§四、使用动网格进行计算的一些例子。
§一、动网格的相关知识介绍
有关动网格基础方面的东西,请具体参考FLUENT User’s Guide或FLUENT全攻略的相关章节,这里只给出一些提要性的知识要点。
1、简介
动网格模型可以用来模拟流场形状由于边界运动而随时间改变的问题。边界的运动形式可以是预先定义的运动,即可以在计算前指定其速度或角速度;也可以是预先未做定义的运动,即边界的运动要由前一步的计算结果决定。网格的更新过程由FLUE NT 根据每个迭代步中边界的变化情况自动完成。在使用动网格模型时,必须首先定义初始网格、边界运动的方式并指定参予运动的区域。可以用边界型函数或者UDF定义边界的运动方式。FLUENT 要求将运动的描述定义在网格面或网格区域上。如果流场中包含运动与不运动两种区域,则需要将它们组合在初始网格中以对它们进行识别。那些由于周围区域运动而发生变形的区域必须被组合到各自的初始网格区域中。不同区域之间的网格不必是正则的,可以在模型设置中用FLUENT软件提供的非正则或者滑动界面功能将各区域连接起来。
Fluent中的动网格
Fluent中的动网格
动网格是目前求解计算域变化问题的常用方法。参考Fluent帮助,可以知道动网格技术与一般流动计算设置的主要区别在于网格更新方法和更新域设置。这里就这两方面问题的一点体会作一简单记录。
一、网格更新方法
弹簧近似光滑法将任意两网格节点之间的连线理想地看成一条弹簧,并通过近似弹簧的压缩或拉伸实现网格和计算域的改变。该方法网格拓扑不变,无需网格的插值处理,对结构化(四边形、六面体)和非结构化(三角形、四面体)网格同样适用。但不适合于大变形情况,当计算区域变形较大时,变形后的网格质量变差,严重影响计算精度。
动态分层法在运动边界相邻处根据运动规律动态增加或减少网格层数,以此来更新变形区域的网格。该方法适用于结构化网格,通过设置适当的分层和缩减系数,更新后的网格依然为较为均匀的结构化网格,对计算精度影响较小。对于运动域具有多自由度和任意变形情况,该方法处理起来非常困难。
网格重生方法在整个网格更新区域内依据设定的最大和最小网格尺寸判断需要进行网格重生的网格,并依据设置的更新频率进行网格重生处理。该方法适用于非结构化网格,能够较好的应用于任意变形的计算区域处理。
二、更新域设置
更新域设置是动网格设置中的一项重要工作,最常用的设置是刚体运动域和变形域,这里针对这两种域的设置注意事项和技巧作一简单介绍。
1、域动网格
一般来讲,设置为刚体运动域的区域一般为壁面类边界,通过设置固壁的运动,模拟计算域内物体的运动。
由于固壁边界有时形状较为复杂,壁面附近网格尺度与周围网格尺度存在较大差别,网格更新时变形较大。在这种情况下,可以设置一个包含固壁运动边界的计算域,通过该计算域的整体运动模拟域内物体的运动,在有的地方将这种方法称为域动网格法。在域动网格法中,需要设置包含运动物体的内部计算域、内部计算域界面均为刚体运动域。如下图所示。
FLUENT动网格专题讨论
题记:在学习使用Fluent的时候,有不少朋友需要使用动网格模型(Dynamic Mesh Model),因此,本版推出这个专题,进行大讨论,使大家在使用动网格时尽量少走弯路,更快更好地掌握;也欢迎使用过的版友积极参与讨论指导,谢谢!
该专题主要包括以下的主要内容:
##1.动网格的相关知识介绍;
##2.以NACA0012翼型俯仰振荡实例进行讲解动网格的应用过程;
##3. 与动网格应用有关的参考文献;
##4. 使用动网格进行计算的一些例子。
##1.动网格的相关知识介绍
有关动网格基础方面的东西,请具体参考FLUENT User’s Guide或FLUENT全攻略的相关章节,这里只给出一些提要性的知识要点。
1、简介
动网格模型可以用来模拟流场形状由于边界运动而随时间改变的问题。边界的运动形式可以是预先定义的运动,即可以在计算前指定其速度或角速度;也可以是预先未做定义的运动,即边界的运动要由前一步的计算结果决定。网格的更新过程由FLUENT 根据每个迭代步中边界的变化情况自动完成。在使用动网格模型时,必须首先定义初始网格、边界运动的方式并指定参予运动的区域。可以用边界型函数或者UDF 定义边界的运动方式。FLUENT 要求将运动的描述定义在网格面或网格区域上。如果流场中包含运动与不运动两种区域,则需要将它们组合在初始网格中以对它们进行识别。那些由于周围区域运动而发生变形的区域必须被组合到各自的初始网格区域中。不同区域之间的网格不必是正则的,可以在模型设置中用FLUENT软件提供的非正则或者滑动界面功能将各区域连接起来。
FLUENT中被动型动网格问题求解方案:6DOF.doc
精品
CAE 联盟论坛精品讲座系列
FLUENT 中被动型动网格问题求解方案:6DOF
主讲人:流沙CAE 联盟论坛—总版主
利用 CFD 软件解决动网格问题,通常可分为以下两类:
(1 )主动型动网格
主动型动网格问题通常指的是边界运动规律及运动状态已知,通常可由软件使用者通过函数
或程序进行描述。在程序计算过程中,求解器调用边界运动轨迹描述程序实现边界运动。这类动网格例子很多,如各类泵、风扇等。
(2 )被动型动网格
还有一类动网格问题,其边界运动规律往往是未知的,常常需要通过计算边界上的力或力矩,
以此来求取边界的运动。在这类动网格计算设置中,网格变化规律难以预料,导致网格参数经常需要进行多次调整才能达到目的。这类例子在现实中其实也很多,比如风力发电机的叶轮、水轮机等。
解决主动型动网格问题比较容易,利用CFD 软件提供的动网格模拟能力很容易解决。需要
关注的地方是边界运动后,网格节点如何重新布置和生成。如在FLUENT 软件中,其动网
格主要包括三种网格功能:弹簧光顺、动态层及网格重构。利用网格重构功能几乎可以解决
所有主动型动网格问题。
那被动型动网格问题怎么处理呢?一般来说,这类边界的运动都是由于内部流体对其压力所
造成的,那么就涉及到力和力矩计算的问题。对于这类问题,在FLUENT 软件中可以采用
6DOF 模型进行计算。
需要注意的是,以上所有类型动网格计算均建立在边界为刚性的情况下。即不会计算由于流动产生的力的作用导致的边界变形。若要计算边界变形,则需要采用流固耦合方法,利用固体求解器计算。被动型动网格中的力和力矩均是压力对面的积分计算而来。
动网格的问答精华集合
3. 在Fluent中,网格的更新过程是怎样的? http://www.yanfabu.com/ap/bd/Q/qv/id/11797 网格的更新过程由FLUENT 根据每个迭代步中边界的变化情况自动完成。在使用动网格模型时 ,必须首先定义初始网格、边界运动的方式并指定参予运动的区域。可以用边界型函数或 者UDF 定义边界的运动方式。FLUENT 要求将运动的描述定义在网格面或网格区域上。如果 流场中包含运动与不运动两种区域,则需要将它们组合在初始网格中以对它们进行识别。 那些由于周围区域运动而发生变形的区域必须被组合到各自的初始网格区域中。不同区域 之间的网格不必是正则的,可以在模型设置中用FLUENT软件提供的非正则或者滑动界面功 能将各区域连接起来。
13.在Fluent中,如何设置弹簧光顺参数? http://www.yanfabu.com/ap/bd/Q/qv/id/11818 激活弹簧光顺模型,相关参数设置位于Smoothing(光顺)标签下,可以设置的参数包括 Spring Constant Factor(弹簧弹性系数)、Boundary Node Relaxation(边界点松弛因 子)、Convergence Tolerance(收敛判据)和Number of Iterations(迭代次数)。弹簧 弹性系数应该在0 到1 之间变化,弹性系数等于0 时,弹簧系统没有耗散过程,在图中算 例中,靠近壁面的网格没有被改变,而是保持了原来的网格形状和密度;在弹性系数等于1 时,弹簧系统的耗散过程与缺省设置相同,从图中可以发现壁面发生变形,壁面附近网格 因为过度加密而质量下降。因此在实际计算中应该在0 到1 之间选择一个适当的值。边界 点松弛因子用于控制动边界上网格点的移动。当这个值为零时,边界节点不发生移动;在 这个值为1 时,则边界节点的移动计算中不采用松弛格式。在大多数情况下,这个值应该 取为0 到1 之间的一个值,以保证边界节点以合适的移动量发生移动。 收敛判据就是网格节点移动计算中,迭代计算的判据。迭代次数是指网格节点移动计算的最大 迭代次数。 14. 在Fluent中,设定动网格参数包括哪些内容? http://www.yanfabu.com/ap/bd/Q/qv/id/11819 1)选择网格更新模型;2)设置弹簧光顺参数 ;3)动态分层;4)局部网格重新划分网格;5 )设定活塞运动参数
Fluent理论手册3—滑移网格及动网格理论
为节点 在第 次迭代时的节点平均位置, 为节点
时的位置, 为节点 的邻接节点数量。新节点位置 = (1 − ) +
通过下式计算: (3.3.6)
式中 为边界节点松弛因子。 此更新仅发生在当所有邻接 3.3.1.3 边界层光滑模型 边界层网格模型常用于在运动变形网格模拟中改变边界层。这类问题,有 Mesh Motion UDF 施加于相邻的边界层上,边界层将会根据 UDF 进行变形。这 种光顺方法保持每一层的高度并且能被施加至所有网格类型的边界层上(3D 模 型中的楔形网格及六面体网格,2D 模型中的四边形网格) 。 <82>-----<100> 网格面最大歪斜通过 进行改进时。
,
⋅
=
,
∙
(3.1.4)
为控制上的面数量, 为 面的表面积向量,每个控制容积面上点积
∙
通过下式计算:
,
∙
=
(3.1.5)
式中
为整个时间步
上控制容积面 膨胀引起的体积改变。
在滑移网格问题中,动区域运动是相对于静止参考系进行跟踪的。因此,没 有运动参考系附加在计算域上,简化了穿过分界面的通量传递。在滑移网格中, 控制体依旧保持恒定,因此方程 3.1.3 中, = 0及 = ,方程 3.1.2 可以
图 3.2. .8 3D 圆锥网格交界面 面 对于轴向转子/定子结构,转动 动及静止部 部分对齐于轴 轴线,分界 界面可能为平 平面 形。此面为 为垂直于沿着 着静子至转 转子的旋转轴 轴向的横截 截面。 扇形
4-1Fluent流体模拟培训教程-动网格详解
17
铺层
铺层法动网格设置: (1)设置动网格控制参数 (2)设置运动区域
18
铺层
铺层法动网格控制参数: (1)体网格再生方法的选择 (2)体网格再生方法的相关参数
19
铺层
铺层法运动区域:
(1)静止
(2)刚体运动 (3)变形 (4)用户自定义
20
铺层
活塞运动:
21
铺层
算例:活塞的运动
22
弹性光顺
计算流体力学软件Fluent培训
动态网格理论基础
1
本次交流学习的目的
对动态网格理论基础有初步了解。
能够使用商用流体力学计算软件Fluent进 行简单地计算—采取铺层更新方法。 为后续采用Fluent解决工业中实际边界运 动或变形的问题打下基础。
2
• 动态网格模型
– 边界刚性运动 – 边界变形
13
边界运动或变形的指定
(1)对于类活塞运动,Fluent集成了气缸(In-
cylinder)模型
(2)对于预先指定的运动,可通过profile文件
来描述边界/物体的运动
(3)物体移动和流体作用力耦合计算问题, 可使用六自由度计算模型 (4)对于用户自定义的运动,可通过用户自 定义函数DEFINE_CG_MOTION来定义
实例
34
7
铺层(Layering)
FLUENT中被动型动网格问题求解方案:6DOF教学提纲
CAE联盟论坛精品讲座系列
FLUENT中被动型动网格问题求解方案:6DOF
主讲人:流沙 CAE联盟论坛—总版主
利用CFD软件解决动网格问题,通常可分为以下两类:
(1)主动型动网格
主动型动网格问题通常指的是边界运动规律及运动状态已知,通常可由软件使用者通过函数或程序进行描述。在程序计算过程中,求解器调用边界运动轨迹描述程序实现边界运动。这类动网格例子很多,如各类泵、风扇等。
(2)被动型动网格
还有一类动网格问题,其边界运动规律往往是未知的,常常需要通过计算边界上的力或力矩,以此来求取边界的运动。在这类动网格计算设置中,网格变化规律难以预料,导致网格参数经常需要进行多次调整才能达到目的。这类例子在现实中其实也很多,比如风力发电机的叶轮、水轮机等。
解决主动型动网格问题比较容易,利用CFD软件提供的动网格模拟能力很容易解决。需要关注的地方是边界运动后,网格节点如何重新布置和生成。如在FLUENT软件中,其动网格主要包括三种网格功能:弹簧光顺、动态层及网格重构。利用网格重构功能几乎可以解决所有主动型动网格问题。
那被动型动网格问题怎么处理呢?一般来说,这类边界的运动都是由于内部流体对其压力所造成的,那么就涉及到力和力矩计算的问题。对于这类问题,在FLUENT软件中可以采用6DOF 模型进行计算。
需要注意的是,以上所有类型动网格计算均建立在边界为刚性的情况下。即不会计算由于流动产生的力的作用导致的边界变形。若要计算边界变形,则需要采用流固耦合方法,利用固体求解器计算。被动型动网格中的力和力矩均是压力对面的积分计算而来。
Fluent动网格
Fluent动网格----layering个一个简单实例我这几天看了点动网格技术方面的东西,在学习过程中发现这方面的例子很少,自己也走了一些弯路。现在还好,弄明白了一些,能够应付现在我的工作。为了让更多学习者快速了解动网格,我打算尽量把我学习心得在这里和大家分享,这里给出一个layering的一个简单例子。
1.Gambit画网格
本例很简单,在Gambit里画一个10*10的矩形,网格间隔为1,也就是有100个网格,具体见下图。都学动网格的人了,不至于这个不会做!
这里需要注意一个问题:设置边界条件的时候,一定要把要移动的边单独设定,本例中一右边界作为移动的边,设成wall就可以,这里再后面需要制定。
2.编写UDF
#include "udf.h"
#include "unsteady.h"
#include "stdio.h"
#include "stdlib.h" /************************************************************/
real current_time = 0.0 ;
Domain * domain ;
Thread * thread ;
real NV_VEC( origin ),NV_VEC( force ),NV_VEC( moment ) ;
/************************************************************/
DEFINE_CG_MOTION(throttle,dt,vel,omega,time,dtime)
FLUENT中被动型动网格问题求解方案:6DOF
CAE联盟论坛精品讲座系列
FLUENT中被动型动网格问题求解方案:6DOF
主讲人:流沙 CAE联盟论坛—总版主
利用CFD软件解决动网格问题,通常可分为以下两类:
(1)主动型动网格
主动型动网格问题通常指的是边界运动规律及运动状态已知,通常可由软件使用者通过函数或程序进行描述。在程序计算过程中,求解器调用边界运动轨迹描述程序实现边界运动。这类动网格例子很多,如各类泵、风扇等。
(2)被动型动网格
还有一类动网格问题,其边界运动规律往往是未知的,常常需要通过计算边界上的力或力矩,以此来求取边界的运动。在这类动网格计算设置中,网格变化规律难以预料,导致网格参数经常需要进行多次调整才能达到目的。这类例子在现实中其实也很多,比如风力发电机的叶轮、水轮机等。
解决主动型动网格问题比较容易,利用CFD软件提供的动网格模拟能力很容易解决。需要关注的地方是边界运动后,网格节点如何重新布置和生成。如在FLUENT软件中,其动网格主要包括三种网格功能:弹簧光顺、动态层及网格重构。利用网格重构功能几乎可以解决所有主动型动网格问题。
那被动型动网格问题怎么处理呢?一般来说,这类边界的运动都是由于内部流体对其压力所造成的,那么就涉及到力和力矩计算的问题。对于这类问题,在FLUENT软件中可以采用6DOF 模型进行计算。
需要注意的是,以上所有类型动网格计算均建立在边界为刚性的情况下。即不会计算由于流动产生的力的作用导致的边界变形。若要计算边界变形,则需要采用流固耦合方法,利用固体求解器计算。被动型动网格中的力和力矩均是压力对面的积分计算而来。
Fluent UDF计算动网格区域的形心、转动惯量
Fluent UDF计算动网格区域的形
心、转动惯量
在使用动网格和重叠网格计算刚体的运动时,可能需要用到刚体的形心和三个轴的转动惯量。一般来说,三维建模软件如Creo、SW、Spacecliam都可以直接计算出上述变量,但如果
你拿到的只有一个fluent的case,阁下又该如何应对呢?
1、形心(重心)
对于密度均匀的物体,质心就是重心。我们来看看质心的计算公式:
\bar{x}_i=\iiint x_i\rm{d} v\\ 在fluent里, x_i 是网格三个方向的坐标,dv是网格体积。用该公式,通过遍历网
格可以很轻松地求出流体域的形心,但动网格区域都是没有网格的,所以无法直接应用上式。
观察到,虽然动网格区域没有网格,但它的边界我们是可以得到的,根据三维有界闭区域的高斯公式:
\iiint\nabla\cdot \vec{F} \text{dv}=\oint \vec{F}\cdot \text d\vec{\text {S}}\\ 通过构造合适的向量场函数,形心公式可以转化为:
\iiint\frac{\partial 0.5x_i^2}{\partial
x_i}\text{dv}=\sum0.5x_i^2\cdot
\text{d}\vec{\text{S}}\\ 应用上述环路积分可以通过遍历动网格区域的壁面就可以得到形心。
2. 转动惯量
与上述思路相同,将转动惯量的体积分转化为环路积分,以Ixx为例:
Ixx=\rho\iiint(y^2+z^2)\text{dv}=\text{fabs}\left(\fra c{1}{3}\rho\sum (y^3A[1]+z^3A[2])\right)\\ 其中 \rho 为你固体的材料密度,A为网格面的面积向量,可由以下宏得到:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Fluent动网格专题讨论(-)
题记:在学习使用Fluent的时候,有不少朋友需要使用动网格模型(Dynamic Mesh Model),因此,本版推出这个专题,进行大讨论,使大家在使用动网格时尽量少走弯路,更快更好地掌握;也欢迎使用过的版友积极参与讨论指导,谢谢!
该专题主要包括以下的主要内容:
##1. 动网格的相关知识介绍;
##2. 以NACA0012翼型俯仰振荡实例进行讲解动网格的应用过程;
##3. 与动网格应用有关的参考文献;
##4. 使用动网格进行计算的一些例子。
##1. 动网格的相关知识介绍
有关动网格基础方面的东西,请具体参考FLUENT User’s Guide或FLUENT全攻略的相关章节,这里只给出一些提要性的知识要点。
1、简介
动网格模型可以用来模拟流场形状由于边界运动而随时间改变的问题。边界的运动形式可以是预先定义的运动,即可以在计算前指定其速度或角速度;也可以是预先未做定义的运动,即边界的运动要由前一步的计算结果决定。网格的更新过程由FLUENT 根据每个迭代步中边界的变化情况自动完成。在使用动网格模型时,必须首先定义初始网格、边界运动的方式并指定参予运动的区域。可以用边界型函数或者UDF 定义边界的运动方式。FLUENT 要求将运动的描述定义在网格面或网格区域上。如果流场中包含运动与不运动两种区域,则需要将它们组合在初始网格中以对它们进行识别。那些由于周围区域运动而发生变形的区域必须被组合到各自的初始网格区域中。不同区域之间的网格不必是正则的,可以在模型设置中用FLUENT软件提供的非正则或者滑动界面功能将各区域连接起来。
注:一般来讲,在Fluent中使用动网格,基本上都要使用到UDF,所以你最好具备一定的C语言编程基础。
2、动网格更新方法
动网格计算中网格的动态变化过程可以用三种模型进行计算,即弹簧近似光滑模型(spring-based smoothing)、动态分层模型(dynamic layering)和局部重划模型(local remeshing)。
弹簧近似光滑模型
在弹簧近似光滑模型中,网格的边被理想化为节点间相互连接的弹簧。移动前的网格间距相当于边界移动前由弹簧组成的系统处于平衡状态。在网格边界节点发生位移后,会产生与位移成比例的力,力量的大小根据胡克定律计算。边界节点位移形成的力虽然破坏了弹簧系统原有的平衡,但是在外力作用下,弹簧系统经过调整将达到新的平衡,也就是说由弹簧连接在一起的节点,将在新的位置上重新获得力的平衡。从网格划分的角度说,从边界节点的位移出发,采用虎克定律,经过迭代计算,最终可以得到使各节点上的合力等于零的、新的网格节点位置,这就是弹簧光顺法的核心思想。
原则上弹簧光顺模型可以用于任何一种网格体系,但是在非四面体网格区域(二维非三角形),最好在满足下列条件时使用弹簧光顺方法:
(1)移动为单方向。
(2)移动方向垂直于边界。
如果两个条件不满足,可能使网格畸变率增大。另外,在系统缺省设置中,只有四面体网格(三维)和三角形网格(二维)可以使用弹簧光顺法,如果想在其他网格类型中激活该模型,需要在dynamic-mesh-menu 下使用文字命令spring-on-all-shapes?,然后激活该选项即可。
动态层模型
对于棱柱型网格区域(六面体和或者楔形),可以应用动态层模型。动态层模型的中心思想是根据紧邻运动边界网格层高度的变化,添加或者减少动态层,即在边界发生运动时,如果紧邻边界的网格层高度增大到一定程度,就将其划分为两个网格层;如果网格层高度降低到一定程度,就将紧邻边界的两个网格层合并为一个层:
如果网格层j扩大,单元高度的变化有一临界值:
H_min>(1+alpha_s)*h_0
式中h_min为单元的最小高度,h_0为理想单元高度,alpha_s为层的分割因子。在满足上述条件的情况下,就可以对网格单元进行分割,分割网格层可以用常值高度法或常值比例法。在使用常值高度法时,单元分割的结果是产生相同高度的网格。在采用常值比例法时,网格单元分割的结果是产生是比例为alpha_s的网格。
若对第j层进行压缩,压缩极限为:
H_min 式中alpha_c为合并因子。在紧邻动边界的网格层高度满足这个条件时,则将这一层网格与 外面一层网格相合并。 动网格模型的应用有如下限制: (1)与运动边界相邻的网格必须为楔形或者六面体(二维四边形)网格。 (2)在滑动网格交界面以外的区域,网格必须被单面网格区域包围。 (3)如果网格周围区域中有双侧壁面区域,则必须首先将壁面和阴影区分割开,再用 滑动交界面将二者耦合起来。 (4)如果动态网格附近包含周期性区域,则只能用FLUENT 的串行版求解,但是如果周期性区域被设置为周期性非正则交界面,则可以用FLUENT 的并行版求解。 如果移动边界为内部边界,则边界两侧的网格都将作为动态层参与计算。如果在壁面上只有一部分是运动边界,其他部分保持静止,则只需在运动边界上应用动网格技术,但是动网格区与静止网格区之间应该用滑动网格交界面进行连接。 局部重划模型 在使用非结构网格的区域上一般采用弹簧光顺模型进行动网格划分,但是如果运动边界的位移远远大于网格尺寸,则采用弹簧光顺模型可能导致网格质量下降,甚至出现体积为负值的网格,或因网格畸变过大导致计算不收敛。为了解决这个问题,FLUENT 在计算过程中将畸变率过大,或尺寸变化过于剧烈的网格集中在一起进行局部网格的重新划分,如果重新划分后的网格可以满足畸变率要求和尺寸要求,则用新的网格代替原来的网格,如果新的网格仍然无法满足要求,则放弃重新划分的结果。 在重新划分局部网格之前,首先要将需要重新划分的网格识别出来。FLUENT 中识别不合乎要求网格的判据有二个,一个是网格畸变率,一个是网格尺寸,其中网格尺寸又分最大尺寸和最小尺寸。在计算过程中,如果一个网格的尺寸大于最大尺寸,或者小于最小尺寸,或者网格畸变率大于系统畸变率标准,则这个网格就被标志为需要重新划分的网格。在遍历所有动网格之后,再开始重新划分的过程。局部重划模型不仅可以调整体网格,也可以调整动边界上的表面网格。 需要注意的是,局部重划模型仅能用于四面体网格和三角形网格。在定义了动边界面以后,如果在动边界面附近同时定义了局部重划模型,则动边界上的表面网格必须满足下列条件: (1)需要进行局部调整的表面网格是三角形(三维)或直线(二维)。 (2)将被重新划分的面网格单元必须紧邻动网格节点。 (3)表面网格单元必须处于同一个面上并构成一个循环。 (4)被调整单元不能是对称面(线)或正则周期性边界的一部分。 动网格的实现在FLUENT 中是由系统自动完成的。如果在计算中设置了动边界,则FLUENT 会根据动边界附近的网格类型,自动选择动网格计算模型。如果动边界附近采用的是四面体网格(三维)或三角形网格(二维),则FLUENT 会自动选择弹簧光顺模型和局部重划模型对网格进行调整。如果是棱柱型网格,则会自动选择动态层模型进行网格调整。在静止网格区域则不进行网格调整。 动网格问题中对于固体运动的描述,是以固体相对于重心的线速度和角速度为基本参数加以定义的。既可以用型函数定义固体的线速度和角速度,也可以用UDF 来定义这两个参数。同时需要定义的是固体在初始时刻的位置。 注:这一小节主要讲述了动网格的更新方法,最好能掌握,尤其是各种方法的适用范围,通常来讲,在一个case中,我们使用的更新方法都是根据网格类型以及和要实现的运动来选择的,很多时候都是几种更新方法搭配起来使用的。 总结一下: 使用弹簧近似光滑法网格拓扑始终不变,无需插值,保证了计算精度。但弹簧近似光滑法不适用于大变形情况,当计算区域变形较大时,变形后的网格会产生较大的倾斜变形,从而使网格质量变差,严重影响计算精度。动态分层法在生成网格方面具有快速的优势,同时它的应用也受到了一些限制。它要求运动边界附近的网格为六面体或楔形,这对于复杂外形的流场区域是不适合的。使用局部网格重划法要求网格为三角形(二维)或四面体(三维),这对于适应复杂外形是有好处的,局部网格重划法只会对运动边界附近区域的网格起作