Fluent_动网格总结
- 格式:pdf
- 大小:1.63 MB
- 文档页数:12
Fluent中的动网格动网格是目前求解计算域变化问题的常用方法。
参考Fluent帮助,可以知道动网格技术与一般流动计算设置的主要区别在于网格更新方法和更新域设置。
这里就这两方面问题的一点体会作一简单记录。
一、网格更新方法弹簧近似光滑法将任意两网格节点之间的连线理想地看成一条弹簧,并通过近似弹簧的压缩或拉伸实现网格和计算域的改变。
该方法网格拓扑不变,无需网格的插值处理,对结构化(四边形、六面体)和非结构化(三角形、四面体)网格同样适用。
但不适合于大变形情况,当计算区域变形较大时,变形后的网格质量变差,严重影响计算精度。
动态分层法在运动边界相邻处根据运动规律动态增加或减少网格层数,以此来更新变形区域的网格。
该方法适用于结构化网格,通过设置适当的分层和缩减系数,更新后的网格依然为较为均匀的结构化网格,对计算精度影响较小。
对于运动域具有多自由度和任意变形情况,该方法处理起来非常困难。
网格重生方法在整个网格更新区域内依据设定的最大和最小网格尺寸判断需要进行网格重生的网格,并依据设置的更新频率进行网格重生处理。
该方法适用于非结构化网格,能够较好的应用于任意变形的计算区域处理。
二、更新域设置更新域设置是动网格设置中的一项重要工作,最常用的设置是刚体运动域和变形域,这里针对这两种域的设置注意事项和技巧作一简单介绍。
1、域动网格一般来讲,设置为刚体运动域的区域一般为壁面类边界,通过设置固壁的运动,模拟计算域内物体的运动。
由于固壁边界有时形状较为复杂,壁面附近网格尺度与周围网格尺度存在较大差别,网格更新时变形较大。
在这种情况下,可以设置一个包含固壁运动边界的计算域,通过该计算域的整体运动模拟域内物体的运动,在有的地方将这种方法称为域动网格法。
在域动网格法中,需要设置包含运动物体的内部计算域、内部计算域界面均为刚体运动域。
如下图所示。
2、动态分层法中的分界面在应用动态分层网格更新方法时,当分层界面在计算域内部时,需要采用Split interface(这里称分界面)将运动域运动范围与固定计算域区分开来,以保证动态分层网格处理(如果运动域网格与固定域网格没有分界面,动态分层无法执行)。
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文件2检查网格文件Grid > Check(可以查看网格的大致情况,如有无负体积等)3定义求解器Define → Models → Solver → 在Time项里点选Unsteady(非稳态求解器)4编译UDF文件Define → User-Defined → Functions → Compiled → 单击Add添加UDF文件(*.C)→点击Build按钮→ 点击Load按钮→ 点击Close按钮(如果不关闭编译对话框,在调试程序时可随时对程序进行编译)5设定动网格参数Define → Dynamic Mesh → Parameters→ 勾选Dynamic Mesh> Models(模型)Dynamic Mesh(动网格,默认勾选)In-Cylinder(气缸)2.5DSix DOF Solver(六自由度)> Mesh Methods(网格方法)Smoothing(网格光顺,默认勾选)Layering(动态分层)Remeshing(网格重构)> Smoothing(网格方法)Spring Constant Factor(弹簧常数因子,默认为1)Boundary Node Relaxation(边界节点松弛,默认为1)Convergence Tolerance(收敛容差,默认为0.001)Number of Iterations(迭代次数,默认为20)> Layering(网格方法)Constant Height(固定高度)Constant Ratio(固定比例)Split Factor(分割因子)Collapse Factor(收缩因子)> Remeshing(网格方法)Size Function(尺寸函数)Must Improve Skewness(必须提高扭曲度)Face Remeshing(面网格重构)Minimum Length Scale(最小长度缩放,默认为0)Maximum Length Scale(最大长度缩放,默认为1000)Maximum Cell Skewness(最大单元扭曲度,默认为0.6)Maximum Face Skewness(最大面扭曲度,默认为0.7)Size Remeshing Interval(尺寸重构间隔,默认为10)Size Function Resolution(尺寸函数分辨率,默认为3)Size Function V ariation(尺寸函数变异,默认为1.581787)Size Function Rate(尺寸函数比率,默认为0.3)6设定动网格区域Define → Dynamic Mesh → Zones> Zone Names(在下拉列表里选择要运动的区域或边界)> Type(点选区域或移动边界的类型)Stationary(静止的)Rigid Body(刚体,默认勾选)Deforming(变形)User-Defined(用户自定义)> Motion Attributes(运动属性)Motion UDF/Profile(运动自定义文件,一般UDF文件编译后,会在下拉列表中显示)Center of Gravity Location(全部设置为0)Center of Gravity Orientation(全部设置为0)> Geometry Definition(几何定义,一般不设置)> Meshing Options(网格划分选项)Adjacent Zone(毗邻区域,默认为fluid)Cell Height(单元高度,一般设定为网格单元最小尺寸)→ 单击Create按钮→ 单击Draw按钮→ 单击Update按钮→ 单击Close按钮(这一步非常关键,否则无法预览动态网格)7显示网格Display → Grid(弹出网格显示窗口)8预览动网格Solve → Mesh Motion> Time(时间设置)Current Mesh Times(当前时间,即瞬态运动的时间)Time Step Sizes(时间步长,每个子步的时间)Number of Time Steps(时间步,即总的时间步数)> Display Options(显示选项)Display Grid(显示网格,默认勾选)Save Hardcopy(保存硬拷贝)Enable Autosave(启动自动保存)Display Frequency(显示频率,默认为1)三、第二类动网格操作Number of Iterations(最大迭代步数,在每个时间子步内迭代的次数,即在一个时间步内计算稳态的过程)。
FLUENT动网格简介在固体有限元计算中,网格运动实非什么稀奇事儿。
而且在绝多数固体计算的基本物理量是网格的节点位移,所以,固体计算中,网格节点运动是对的,没有运动反而不正常了。
也可以这么说:正因为计算域内部节点间的相对运动,才导致了内应力的产生。
流体计算与固体完全不同。
其根源在于它们使用的网格类型不同。
当前固体有限元计算采用的是拉格朗日网格,而流体计算则大多数采用的欧拉网格。
如果说把拉格朗日网格中的节点点看作是真实世界的物质原子的话,那么欧拉网格的节点则好比是真实世界中的一个个传感器,它们总是呆在相同的位置,真实的记录着各自位置上的物理量。
正常情况下,欧拉网格系统是这样的:计算域和节点保持位置不变,发生变化的是物理量,网格节点就像一个个布置在计算域中的传感器,记录该位置上的物理量。
这其实是由流体力学研究方法所决定的。
宏观与微观的差异决定了固体力学计算采用拉格朗日网格,流体计算采用欧拉网格。
关于这部分的详细解说,可以参阅任何一本计算流体动力学书籍。
世界是公平的。
有利必有弊。
朗格朗日网格适合计算节点位移,然而对于过大的网格变形却难以处理。
欧拉网格生来可以处理大变形(因为节点不动),然而对于对于节点运动的处理,则是其直接软肋。
然而很不幸的是,现实生活中有太多网格边界运动的实例。
如汽车发动机中的气缸运动、阀门开启与关闭、机翼的运动、飞机投弹等等等等举不胜举。
计算流体动力学计算的基本物理量通常为:速度、温度、压力、组分。
并不计算网格节点位移。
因此要让网格产生运动,通常给节点施加的物理约束是速度。
CFD中的动网格大体分为两类:(1)显式规定的网格节点速度。
配合瞬态时间,即可很方便的得出位移。
当然一些求解器(如FLUENT)也支持稳态动网格,这时候可以直接指定节点位移。
(2)网格节点速度是通过求解得到的。
如6DOF模型基本上都属于此类。
用户将力换算成加速度,然后将其积分成速度。
对于第一类动网格问题,在fluent中通常可以使用profile与UDF进行网格设置,通过规定节点或区域的速度、角速度或位移等方式来显式确定网格的运动,通常大部分的动网格问题都归于此类。
fluent使用总结(本站推荐)第一篇:fluent使用总结(本站推荐)3.1计算流体力学基础与FLUENT软件介绍 3.1.1计算流体力学基础计算流体力学(Computational Fluid Dynamics,简称CFD)是利用数值方法通过计算机求解描述流体运动的数学方程,揭示流体运动的物理规律,研究定常流体运动的空间物理特性和非定常流体运动的时空物理特征的学科[}ss}。
其基本思想可以归纳为:把原来在时间域和空间域上连续的物理量的场,如速度场和压力场,用一系列有限个离散点上的变量值的集合来代替,通过一定的原则和方式建立起关十这些离散点上场变量之间的关系的代数方程组,然后求解代数方程组获得场变量的近似值[f=}}l计算流体力学可以看作是在流动基本方程(质量守恒方程、动量守恒方程、能量守恒方程)控制下对流动的数值仿真。
通过这种数值仿真,可以得到流场内各个位置上的基本物理量(如速度、压力、温度和浓度等)的分布以及这些物理量随时间的变化规律。
还可计算出相关的其它物理量,如旋转式流体机械的转矩、水力损失和效率等。
此外,与CAD联合还可进行结构优化设计等。
过去,流体力学的研究主要有实验研究和理论分析两种方法。
实验研究主要以实验为研究手段,得到的结果真实可信,是理论分析和数值计算的基础,其重要性不容低估。
然}fu实验往往受到模型尺寸、流场扰动和测量精度等的限制,有时可能难以通过实验的方法得到理想的结果。
此外,实验往往经费投入较大、人力和物力耗费较大及周期较长;理论分析方法通常是利用简化的流动模型假设,给出所研究问题的解析解或简化方程。
然}fu随着时代的发展,这些方法已不能很好地满足复杂非线性流体运动规律的研究。
理论分析方法的优点是所得结果具有普遍适用性,各种影响因素清晰可见,是指导试验研究和验证新的数值计算方法的理论基础。
但是,它往往要求对计算对象进行抽象和简化,才有可能得出理论解。
}fU对十非线性情况,只有少数流动才能得到解析结果。
题记:在学习使用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)。
FLUENT动网格技术简介FLUENT动网格简介在固体有限元计算中,网格运动实非什么稀奇事儿。
而且在绝多数固体计算的基本物理量是网格的节点位移,所以,固体计算中,网格节点运动是对的,没有运动反而不正常了。
也可以这么说:正因为计算域内部节点间的相对运动,才导致了内应力的产生。
流体计算与固体完全不同。
其根源在于它们使用的网格类型不同。
当前固体有限元计算采用的是拉格朗日网格,而流体计算则大多数采用的欧拉网格。
如果说把拉格朗日网格中的节点点看作是真实世界的物质原子的话,那么欧拉网格的节点则好比是真实世界中的一个个传感器,它们总是呆在相同的位置,真实的记录着各自位置上的物理量。
正常情况下,欧拉网格系统是这样的:计算域和节点保持位置不变,发生变化的是物理量,网格节点就像一个个布置在计算域中的传感器,记录该位置上的物理量。
这其实是由流体力学研究方法所决定的。
宏观与微观的差异决定了固体力学计算采用拉格朗日网格,流体计算采用欧拉网格。
关于这部分的详细解说,可以参阅任何一本计算流体动力学书籍。
世界是公平的。
有利必有弊。
朗格朗日网格适合计算节点位移,然而对于过大的网格变形却难以处理。
欧拉网格生来可以处理大变形(因为节点不动),然而对于对于节点运动的处理,则是其直接软肋。
然而很不幸的是,现实生活中有太多网格边界运动的实例。
如汽车发动机中的气缸运动、阀门开启与关闭、机翼的运动、飞机投弹等等等等举不胜举。
计算流体动力学计算的基本物理量通常为:速度、温度、压力、组分。
并不计算网格节点位移。
因此要让网格产生运动,通常给节点施加的物理约束是速度。
CFD中的动网格大体分为两类:(1)显式规定的网格节点速度。
配合瞬态时间,即可很方便的得出位移。
当然一些求解器(如FLUENT)也支持稳态动网格,这时候可以直接指定节点位移。
(2)网格节点速度是通过求解得到的。
如6DOF模型基本上都属于此类。
用户将力换算成加速度,然后将其积分成速度。
对于第一类动网格问题,在fluent中通常可以使用profile与UDF 进行网格设置,通过规定节点或区域的速度、角速度或位移等方式来显式确定网格的运动,通常大部分的动网格问题都归于此类。
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,就是每个时间都根据尺寸的标准标记及更新网格.Size Function Resolution(尺寸函数分辨率),保持默认的3;Size Function Variation(尺寸函数变量):建议使用一个小值,在0.1到0。
fluent被动运动6DOF总结利用CFD软件解决动网格问题,通常可分为以下两类:(1)主动型动网格主动型动网格问题通常指的是边界运动规律及运动状态已知,通常可由软件使用者通过函数或程序进行描述。
在程序计算过程中,求解器调用边界运动轨迹描述程序实现边界运动。
这类动网格例子很多,如各类泵、风扇等。
(2)被动型动网格还有一类动网格问题,其边界运动规律往往是未知的,常常需要通过计算边界上的力或力矩,以此来求取边界的运动。
在这类动网格计算设置中,网格变化规律难以预料,导致网格参数经常需要进行多次调整才能达到目的。
这类例子在现实中其实也很多,比如风力发电机的叶轮、水轮机等。
解决主动型动网格问题比较容易,利用CFD软件提供的动网格模拟能力很容易解决。
需要关注的地方是边界运动后,网格节点如何重新布置和生成。
如在FLUENT软件中,其动网格主要包括三种网格功能:弹簧光顺、动态层及网格重构。
利用网格重构功能几乎可以解决所有主动型动网格问题。
那被动型动网格问题怎么处理呢?一般来说,这类边界的运动都是由于内部流体对其压力所造成的,那么就涉及到力和力矩计算的问题。
对于这类问题,在FLUENT软件中可以采用6DOF 模型进行计算。
需要注意的是,以上所有类型动网格计算均建立在边界为刚性的情况下。
即不会计算由于流动产生的力的作用导致的边界变形。
若要计算边界变形,则需要采用流固耦合方法,利用固体求解器计算。
被动型动网格中的力和力矩均是压力对面的积分计算而来。
1、6DOF UDF宏在FLUENT中利用6DOF是需要定义UDF宏的。
该宏的定义形式如下:DEFINE_SDOF_PROPERTIES(name, properties, dt ,time ,dtime)函数中:Name:宏名称Real *properties:存储6DOF属性的数组Dynamic_Thread *dt:存储制定的动网格属性Real time:当前时间Real dtime:时间步长该UDF宏没有返回值。