Fluent动网格系列篇
FLUENT动网格之弹性光顺
FLUENT动网格之弹性光顺上次讲到,光顺方法计算网格节点位移并不是依赖于网格质量。
因此,仅使用光顺方法,只能处理一些小变形的情况。
倘若变形量过大,则会造成网格质量降低,轻则影响收敛,重则出现负网格,导致计算出错。
1、问题描述边长120mm的正方形空腔,内有一个边长30mm的正方形固体。
研究固体以角速度1rad/s旋转时对内部流场的扰动。
1、网格方案由于四边形网格在刚体变形时会发生较大的扭曲,不太适合于使用弹簧光顺方法,因此本例中使用三角形网格。
使用全局尺寸2mm,生成网格如下图所示。
2、指定运动可以使用profile文件或DEFINE_CG_MOTION宏来定义运动。
我们这里利用udf 宏来定义运动。
UDF宏文件如下:#include “udf.h”DEFINE_CG_MOTION(RotationVel , dt , vel , omega , time , dtime){omega[2] = 1;}omega[2]表示z方向的角速度。
本例中以恒定的角速度旋转。
将内部四条边定义为rigid body。
并把赋予运动速度。
3、动网格参数勾选Dynamic Mesh选项,激活动网格。
本例只考虑网格光顺,因此只勾选Smoothing。
(说明:通常动网格应用中不会只使用一种网格更新方法,此处只是考虑光顺,所以才会这样。
正常情况下本例应当使用到网格重构)。
点击setting…按键进行smoothing设置面板。
如右下图所示。
采用弹簧光顺需要设置的参数一共有四个:弹簧常数因子、边界节点松弛、收敛精度及迭代次数。
通常需要设置的参数为弹簧常数因子及边界节点松弛,其它两个参数采用默认即可。
(1)弹簧常数因子:该参数取值范围[0,1],取值越大表示阻尼越大,也表示边界运动对内部网格的影响越小。
(2)边界节点松弛:取值范围[0,1],1表示无松弛,0表示禁止节点位移。
这里先将两参数取中间值0.5。
3、其它设置创建运动区域。
Fluent中的动网格
Fluent中的动网格动网格是目前求解计算域变化问题的常用方法。
参考Fluent帮助,可以知道动网格技术与一般流动计算设置的主要区别在于网格更新方法和更新域设置。
这里就这两方面问题的一点体会作一简单记录。
一、网格更新方法弹簧近似光滑法将任意两网格节点之间的连线理想地看成一条弹簧,并通过近似弹簧的压缩或拉伸实现网格和计算域的改变。
该方法网格拓扑不变,无需网格的插值处理,对结构化(四边形、六面体)和非结构化(三角形、四面体)网格同样适用。
但不适合于大变形情况,当计算区域变形较大时,变形后的网格质量变差,严重影响计算精度。
动态分层法在运动边界相邻处根据运动规律动态增加或减少网格层数,以此来更新变形区域的网格。
该方法适用于结构化网格,通过设置适当的分层和缩减系数,更新后的网格依然为较为均匀的结构化网格,对计算精度影响较小。
对于运动域具有多自由度和任意变形情况,该方法处理起来非常困难。
网格重生方法在整个网格更新区域内依据设定的最大和最小网格尺寸判断需要进行网格重生的网格,并依据设置的更新频率进行网格重生处理。
该方法适用于非结构化网格,能够较好的应用于任意变形的计算区域处理。
二、更新域设置更新域设置是动网格设置中的一项重要工作,最常用的设置是刚体运动域和变形域,这里针对这两种域的设置注意事项和技巧作一简单介绍。
1、域动网格一般来讲,设置为刚体运动域的区域一般为壁面类边界,通过设置固壁的运动,模拟计算域内物体的运动。
由于固壁边界有时形状较为复杂,壁面附近网格尺度与周围网格尺度存在较大差别,网格更新时变形较大。
在这种情况下,可以设置一个包含固壁运动边界的计算域,通过该计算域的整体运动模拟域内物体的运动,在有的地方将这种方法称为域动网格法。
在域动网格法中,需要设置包含运动物体的内部计算域、内部计算域界面均为刚体运动域。
如下图所示。
2、动态分层法中的分界面在应用动态分层网格更新方法时,当分层界面在计算域内部时,需要采用Split interface(这里称分界面)将运动域运动范围与固定计算域区分开来,以保证动态分层网格处理(如果运动域网格与固定域网格没有分界面,动态分层无法执行)。
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文件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(最大迭代步数,在每个时间子步内迭代的次数,即在一个时间步内计算稳态的过程)。
动网格系列(一)
b = NV_DOT(rvec, axis);
NV_V_VS(Pp, =, origin, +, axis, *, b);
/*节点沿径向运动*/
NV_VV(dvec, =, NODE_COORD(v), -, Pp);
在动网格设置面板中,点击按钮【Create/Edit…】按钮,弹出动网格区域定义对话框。如图1-5、图1-6所示。
在图1-6所示面板中,设置Zone Names为fluid-cylinder,设置Type为User-Defined,在下方的Motion Attributes标签页中设置Mesh Motion UDF为scale_cyl::libudf,点击按钮【Create】创建动网格区域。
点击按钮【Load】加载UDF文件。如图1-2所示。
UDF加载成功后,input.txt文件内容将会被显示在命令窗口中。如图1-3所示。
图1-2编译UDF
图1-3input.txt文件内容
Step 4:设置网格运动及缩放圆柱区域
点击模型树节点【Dynamic Mesh】,在右侧面板中勾选【Dynamic Mesh】,本例不需要设置Mesh Methods,如图1-4所示。
{
v = C_NODE(c,tc,n);//取得节点
if (NODE_POS_NEED_UPDATE(v))
{
NODE_POS_UPDATED(v);
/* direction vector of node wrt origin of cylinder axis */
NV_VV(rvec, =, NODE_COORD(v), -, origin);
Fluent动网格系列篇
A:求解uds不,求解选specified flux就行了。一般来说速度
的第二类边界条件不用特别设置吧
Q:边界条件设置UDS菜单的中,编号为0的标量方程应该是自 定义的第一个标量方程还是动量方程?动量方程的flux在哪 里设置呢?如果需要求解一个自定义的标量方程,那么第二 类边界条件如何编写UDF?还有一个问题,flux给定的是对x 的偏导还是对y的偏导?
散,各位有木有碰到这种情况的?
A:VOF法比较容易发散,且引起发散的原因很多。 1.调小点时间步长、松弛因子。 2、检查求解格式 3、检查网格
4、检查边界条件
2.Fluent风扇用fan模型计算知道PQ曲线 :大家好,在fluent, 没有风扇的结构尺寸,但是厂家给了风扇的PQ曲线,想利用 fluent的Fan模型,设置了PQ曲线,但是计算的流量为0之类
到边界运动的流体力学的问题都可以解决。
咨讯: 1.FLUENT动网格系列:公转&自转
2.FLUENT动网格系列:System Coupling流固耦合
3.FLUENT动网格系列:区域运动
问答:
1.使用vof功能时,为什么经常会发散?无论是结构网格还是非
结构网格,使用vof功能时,基于压力的求解器下,很容易发
却。我在 Gambit中已经把网格划分完毕,先划十节圆柱形电
池,然后通过布尔操作把电池和风扇减去,最后划分剩下的 部分。由于电池在充放电时需要发热,所以需要 给电池加载 生热率,我以前用ANSYS可以直接添加生热率,但是不知道 Fluent该如何处理,网上有人说使用UDF,但是大约看了一下 UDF的介绍,也还不太清楚。有哪位.pdf 网格与CFD求解精度的关系,Fluent公司工程师崔凯的文章。 曾经想整理出版,但是他自己找不到原稿了,翻箱底我竟然 找到了,哈哈哈,分享给需要者。
动网格参数图解
主要包括两部分内容:(1)Mesh Methods (2)Dynamic Mesh Zones。
该部分主要用于网格或网格域在运动过程中,设置计算域中网格节点位置更新方法。
fluent中有三种主要网格更新方法:(1)网格光顺方法(2)动态层方法(3)网格重构。
对于3D模型,还包括in-cylinder、six-dof、Implicit Update
三种选项。
其中in-cyliner用于发动机气缸模拟,six-dof主要用于流体作用于刚体,预测刚体运动。
implicit update用于设定网格更新方式。
默认采用显式方式,勾选此选项可设定网格以隐式方式更新。
2、动态网格域
用于定义网格运动的区域及运动类型。
FLUENT中网格运动类型主要有:静止、刚体运动、变形区域、用户自定义域、耦合域。
静止域在网格运动过程中,区域内节点位置保持不变。
虽然说默认情况下不设定区域运动,则该区域为静止,但是一些情况下还是需要显式设定某些区域为静止域,尤其是在一些与刚体域相连的区域处理上。
刚体运动域:这是fluent动网格中最常见的运动类型。
通过规定刚体的速度或位移来控制运动。
变形域:由于边界运动导致节点变形。
变形域通常与刚体域是相连的。
自定义域:用户可以使用UDF定义自己需要的域
耦合域:节点位移由耦合求解器计算,在流固耦合计算中,耦合面上通常设定为耦合域类型。
【ANSYS Fluent培训】15-动网格分析
性 表面运动表现出CFD计算中的压力和反作用力 重力和其它力可以加入力的平衡
3.动网格更新方法
Smoothing (弹性光顺) Local Remeshing (几何重构) Layering (铺层法) 混合使用
3.动网格更新方法
Smoothing (弹性光顺)
网格的移动就像相连的弹簧,或者是海绵 连通性并没有改变 当使用独立网格形式时,受相关最小变形的限
Split Factor(分割因子)
Collapse Factor(合并因子)
式中 h min为单元的最小高度,h0 为理想单元高度, a s 为层的 分割因子,在满足上述条件的情况下,就可以对网格单元进行分 割。 式中 a c 为合并因子,在紧邻动边界的网格层高度满足这个条件 时,则将这一层网格与外面一层网格相合并。
弹性系数等于1 时
3.动网格更新方法
Boundary Node Relaxation(边界点松弛因子) 边界点松弛因子用于控制动边界上网格点的移动。当这个值为零时,边界节
点不发生移动;在这个值为1 时,则边界节点的移动计算中不采用松弛格式。在 大多数情况下,这个值应该取为0 到1 之间的一个值,以保证边界节点以合适的 移动量发生移动 Convergence Tolerance(收敛判据) 收敛判据就是网格节点移动计算中,迭代计算的判据 Number of Iterations(迭代次数) 迭代次数是指网格节点移动计算的最大迭代次数
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,就是每个时间都根据尺寸的标准标记及更新网格.Size Function Resolution(尺寸函数分辨率),保持默认的3;Size Function Variation(尺寸函数变量):建议使用一个小值,在0.1到0。
4-1Fluent流体模拟培训教程-动网格详解
1
本次沟通学习的目的
对动态网格理论根底有初步了解。 能够使用商用流体力学计算软件Fluent进
展简洁地计算—实行铺层更新方法。 为后续承受Fluent解决工业中实际边界运
动或变形的问题打下根底。
2
• 动态网格模型
– 边界刚性运动 – 边界变形
• 初始网格可以使用任意的前处理器来生成 • Fluent动网格模型完全支持并行计算,既可以单机多
核并行,也可多机多核并行 • 动态网格技术与网格自适应技术相兼容
6
Fluent中动态网格模型算法概要
动网格使用面临两大问题
• 体网格的再生 • 边界运动或变形的指定
体网格再生方法
• 铺层〔Layering〕 • 弹性光顺〔Spring Smoothing〕 • 局部重构〔Local Remeshing〕
10
弹性光顺〔Spring Smoothing〕
四个特点
〔1〕节点之间类似弹簧的连接,或者被压缩或
者被拉伸
〔2〕节点之间的连接属性不变,没有节点的生 成和消退,节点的数量和连接关系保持不变
〔3〕单独使用时,仅限于边界变形或运动幅度 较小的状况,幅度过大会导致网格高度扭曲甚至 奇异
〔4〕适用于三角形、四周体网格,也可用于六
实例
34
弹性光顺
根本特点: 〔1〕节点之间的连接属性不变 〔2〕单独使用,仅限于变形特别小的状况 〔3〕适用于三角形和四周体网格
23
弹性光顺
动网格掌握参数:
24
弹性光顺
运动区域:
25
弹性光顺
变形区域:
26
弹性光顺
变形区域:
27
FLUENT动网格之铺层应用1
FLUENT动网格之铺层1与光顺方法类似,动态层方法同样不是以网格质量作为网格更新判据的。
动态层方法原理很简单,且非常适合于结构网格在某一方向上具有主导运动的情况下。
本例即是这么一种情况。
1、问题描述如下图所示,计算域空间尺寸160mmx50mm,一个长方形固体块在大的空间沿x轴匀速运动,速度0.05m/s,运动时间2s,可计算出运动位移0.1m。
注意位移不能使边界重叠,否则计算会产生错误以致退出。
2、动网格解决方案若使用四边形网格,由于本例中网格运动具有强烈的方向性,满足动态层方法的应用需求。
若使用三角形网格,可使用动态层方法配合网格重构。
然而,单纯的使用动态层方法是有诸多限制的,若不对本例中的几何进行处理,是不满足动态层应用要求的。
主要问题在于:动态层方法要求运动边界为单侧边界,则同一个域中不能既拉伸又压缩。
本例显然不满足单一的网格运动,因为固体的运动前方网格被压缩,而后方网格被拉伸。
因此可将几何进行切割。
如图所示,将计算域如此切割,分解为四个计算域。
如何在ICEM CFD中对计算域进行处理,以后再说。
也可以将区域切割后分别划分网格。
边界类型:1,2,7,8:interface对类型,且为变形域,1、2伸长,7、8缩短。
3,4:wall类型,且为变形域5,6:wall类型,且为运动域9,10,11,12:计算域边界。
本例中使用wall,表示全封闭模型。
划分网格如图所示。
其中网格尺寸为1mm,共生成7306个网格。
3、定义运动本例使用PROFILE文件定义运动。
profile文件内容如下:((moveVel transient 3 0)(time 0 1 2)(v_x 0.05 0.05 0.05))4、动网格参数本例使用layering网格更新方法。
如下图所示。
只勾选Layering选项。
设置layering方法的参数如右下图所示。
采用分裂因子0.4,收缩因子0.2进行网格更新。
意味着:当网格长度大于1.4时,进行网格分裂,当网格长度小于0.2时,进行风格合并(原始网格长度为1)。
CFD-FLUENT-动网格-UDF仿真实例3
改变单位
检查网格
模型显示
设置材料
设置入口边界条件
出口边界条件
UDF
UDF的数据类型 (1)cell_t c:定义一个体网格 (2)face_t f:定义一个面网格 (3)Node*n:定义一个网格节点 (4)Thread*t:定义一个边界条件 UDF的循环工具 (1)begin_c_loop(c,t){} end_c_loop(c,t)循环某个边界上的 所有体网格 (2)begin_f_loop(f,t){} end_f_loop(f,t)循环某个边界上的 所有面网格
• • • • (1)在一个文件编写UDF源代码 (2)启动FLUENT读入case/data (3)解释或编译UDF (4)在边界条件界面上指定UDF适于的变量 和区域 • (5)在迭代面板(Iterate)设置UDF更新的 频率 • (6)计算
பைடு நூலகம்
三维建模
网格模型
网格切面
颜色对应
导出FLUENT文件
(3)f_node_loop(f,t,n){} 循环某个面上的所有节点
动网格特殊数据类型工具
(1)Dynamic_thread*dt;定义一个运动区域 (2)DT_THREAD(Dynamic_thread*)dt;转化为运动区 域对应的边界条件的thread指针,返回thread类型的指针
在FLUENT使用UDF的步骤
一:铺层
铺层的特点 区域扩大,生成网格,区域缩小,销毁网 格。 适合类型:四边形,六面体,三棱柱 铺层方法一般用于边界做线性运动,但也 可以做纯粹的 转动1活塞运动2门转动3需要特别的UDF 支持
二:弹性光顺
弹性光顺的特点 节点数量和节点之间的连接关系都不变 单独使用时仅限于变形非常小的情形 适用于三角形和四面体网格
Fluent学习资料教程集锦15-Fluent_动网格
• 处理策略: – 确定网格质量足够好 (最大网格偏斜 < 0.9 – 0.95)。 – 为难以开始(hard-to-start)的问题使用 FMG初始化。
• FMG初始化适合混合平面模型。
大纲
• 介绍和模型建立方法概览 • 单参考系 (SRF)模型 • 多重域和多参考系(MRF)模型 • 混合面模型 (MPM) • 滑移网格模型 (SMM) • 动网格 (DM) 模型 • 概要 • 附录
• 为每个旋转流域 (流体边界条件), 在 Motion
Type 选项中选择 Moving
Reference Frame ,输入旋转 速度。
– SRF中除了多重域 ,其它都一样 – 静止域选上静止选项(Stationary) • 设置其它边界条件,求解器设置
MRF问题的计算方法
• 和SRF问题相同,因为一个或者多个流域的流 动梯度比较大,MRF问题也比较难解。
– 绝对速度公式 (AVF)
• 由相对速度方程得到
• 绝对速度和绝对总内
能为依赖变量
z
– 动量方程中的旋转源项
stationary frame
ro
z
r
R
rotating frame
x
CFD domain
x
axis of rotation
公式比较
• 相对速度方程:x方向上动量方程
wx t
– 定子和转子之间,不考虑动力学相互作用。
MRF模型的分界面
正交分界面
– 把相邻的流域分开的内部网格面 。
– 两边的网格必须一样。
非正交分界面
FLUENT实例-搅拌桨-动网格讲解
搅拌桨底部十字挡板流场分析动网格实例教程搅拌设备在各个行业运用的十分广泛,搅拌就是为了更够更快速更高效的将物质与介质充分混合,发生充分的反应,而搅拌中存在着许多不利于混合的情况,比如液体旋流。
为了解决这个问题,之前很多人提出在罐体的侧壁上增加挡板,可以抵消大部分旋流,然后大部分都是研究侧挡板的,对于底部挡板的研究十分少,本文就在椭圆底部挡板增加十字型挡板,对罐体中进行流场分析。
1.Gambit建模首先用Gambit建模图形如下:图1:Gambit建立的模型分为两个区域,里面的圆柱为动区域,外面包着的大圆柱设为静区域,静区域划分网格大,划分粗糙,内部动区域划分网格小,划分精细。
边界条件主要设置了轴,搅拌桨,底部挡板,上层液面。
以下就是fluent进行数值模拟。
2.fluent数值模拟2.1导入case文件2.2对网格进行检查Minimum volume的数值大于0即可。
图2网格检查2.3调节比例单位选择mm单位。
图3比例调节2.4定义求解器参数设置如图4所示图4设置求解器参数2.5设置能量线图5能量线2.6设置粘度模型,选择k-e模型k-e模型对该模型模拟十分实用。
图6粘度模型2.7定义材料介质选择液体水。
图7介质选择2.8定义操作条件由于存在着终于,建模时的方向向上,所以在Z轴增加一个重力加速度。
图8操作条件2.9定义边界条件在边界设置重,动区域如图所示,将材料设成水,motion type设成moving reference frame (相对滑动),转速设为10rad/s,单位可在Define中的set unit中的angular-velocity设置。
而在在轴的设置中,如上图所示,将wall motion设成moving wall,motion设成Absolute,速度设成-10,由于轴跟动区域速度是相对的,所以设成反的。
图9动区域边界条件图10轴边界条件2.10设置求解器求解器的设置如图11需将momentum改成0.5即可图11求解器2.11初值初始化在Slove中选择solution initialiation设置一下,初值全为0.2.12设置残留控制将plot点上,其他参数如图12所示。
Fluent理论手册3—滑移网格及动网格理论
31
图 3.2.2 转子 子-定子相互 互作用
图 3.2.3 3 风机
3.2.1 滑移网 网格技术
滑移网格 格技术使用两 两个或多个 个计算区域 (如果使用独 独立区域生 生成网格,则 则需 要在 在计算开始 始前将网格文 文件进行合 合并, 如用户 户手册 6.3.15 节: 读入多 多网格文件 件) 。 每一 一个计算区域与其相邻 邻的区域间 间至少存在一 一个分界面 面。 相邻计算 算区域的分界 界面 形成 成“网格分 分界”的形式 式,相隔计 计算区域将会 会关于网格 格分界面进行 行运动。 在计算中,一个计算 算区域相对于 于另一个计 计算域沿着网格分界滑 滑动(旋转或 或平 ,图 3.2.4 及 3.2.5 为两个计算区 移) 为 区域在初始 始位置以及在 在便后一段 段时间后的先 先对 位置 置。 分界面上 上网格并不需 需要进行对 对齐,由于流 流动的非稳态 态特性,因 因此在计算中 中需 要使 使用瞬态分 分析。
34
模型中将各区域连接起来。
3.3.1 动网格更新方法
ANSYS FLUENT 中有三组网格运动方法对变形区域网格进行运动边界指定: 光顺方法(smoothing methods) 动态层(dynamic layering) 局部重构方法(local remeshing methods)
图 3.1 .1 非稳态作 作用示意图 图 在多参考 考系模型 (MRF M ) 及混合 合平面模型 型 (MR) 中, 都只适用 用于稳态问题 题, 忽略 略了瞬态作用,而滑移 移网格模型 型则不忽略瞬 瞬态作用。 模型使用 FL LUENT 求解 解器移动边 边界或目标, ,或者藉此 此调整网格。 。动 动网格模 网格 格模型用于 于边界刚性运 运动(直线 线运动或转动 动) 。例如: 活塞关 关于气缸运 运动 机翼的 的振动
FLUENT动网格系列:区域运动
FLUENT动⽹格系列:区域运动本次使⽤的是滑移⽹格,动⽹格实现以后再讨论。
要实现的运动如下图所⽰。
杯⼦中装满⽔,现在以速度1rad/s延续1s钟使杯⼦倾斜1rad,观察5s钟内⽔的变化情况。
本例可以⽤滑移⽹格或动⽹格实现,但是使⽤滑移⽹格能够保持较好的⽹格质量。
本例使⽤滑移⽹格。
FLUENT中的滑移⽹格可以最⼤限度的代替动⽹格,尤其对于⼀些分界⾯确定的计算模型。
滑移⽹格可以⽤于瞬态模拟中(其它如MRF,SRF,MP则很少⽤于瞬态模拟中)。
本例涉及到的内容包括:(1)分界⾯⼏何模型的建⽴。
涉及到多⼏何体的创建。
在workbench的DM模块中很容易解决此类问题。
但是如果要在ICEM CFD中创建⽹格的话,则需要进⾏⼀些特别的处理。
主要是各部分模型⽹格的组装问题。
(2)区域运动的指定。
在本例中主要是指定运动区域的旋转速度。
需要注意的是旋转中⼼与旋转⽅向的设定。
(3)多相流的使⽤。
本例中使⽤的是VOF模型。
1、⼏何模型本例的⼏何模型如下图所⽰。
尺⼨是随便定的。
如图所⽰,计算模型分为三个区域,1、2、3分别对应名称为braket、zone与cup,如前所述,区域zone与cup为运动区域,运动⽅式⽤UDF进⾏定义。
2、边界类型⼀共有两对interface,分别位于zone区域与cup区域,zone区域与braket区域。
如下图所⽰。
braket区域的左侧、右侧及下⽅边界均为wall类型,上⽅边界为pressure_outlet类型,内部边界为interface类型。
cup区域左、右、下侧边界为wall类型,上⽅边界为interface类型。
在mesh interface中设置interface对,⼀共是两对。
最终组合后的⽹格如下图所⽰。
3、求解参数设置导⼊模型后,在scale⾯板中进⾏必要的scale操作以使模型尺度满⾜要求。
在general⾯板中设置使⽤瞬态模拟,并设置重⼒加速度。
选择RNG K-Epsilon湍流模型。
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){current_time = CURRENT_TIME ;vel[0] = 30;Message("time=%f omega=%f\n",current_time) ; }上面这段代码就是设置x轴方向的速度为30米每秒(UDF默认是SI单位制)。
FLUENT动网格之铺层应用
FLUENT动网格之铺层应用本例中的网格运动如上图所示。
复合了区域运动与边界运动。
在FLUENT动网格技术中,刚体只能运动而不能变形,变形体只能变形而不能做刚体运动。
而对于上图中的运动情况,仔细观察可以发现,下部的两条边既存在变形且有刚体运动。
因此需要进行特别处理。
处理方案1:创建两个计算域,上方为静止域,下方为运动域。
在进行区域设置面板中设置动域的运动速度。
设定运动域中各边界的运动方式,与常规的动网格设定方式相同。
(此处利用的是滑移网格)处理方案2:仍然是创建两个区域,但是下方的运动区域使用动网格方法规定其运动。
设定整个区域的运动速度。
比较:两种方式建模方式相同,工作原理大同小异,不同的只是区域运动的设置方式。
下面step by step的说明软件的设置。
这里涉及的软件包括:ansys workbench 中的DM模块、ICEM CFD、FLUENT。
之所以使用DM建模,是考虑到需要创建interface分界面,可以使用任何一款CAD软件创建模型,GAMBIT也可。
ICEM CFD 用于网格划分,FLUENT用于动网格设置及计算。
1、几何模型各部分尺寸:v1=25,h3=50,h2=120,h4=20,v5=10,h11=80,h10=12,v9=16,单位为mm。
如上图所示,几何区域分为两个:zone1与zone2。
各区域的边界名称为:(1)zone1:左侧速度入口,v=0.005m/s,右侧边界为自由出流outflow,下方边界interface_top为interface边界,其它边界类型为wall,命名为walls.(2)zone2:上部边界类型为interface,命名为interface_bottom,其它三个边界类型为wall,左侧边界为wall_left,右侧边界wall_right,下方边界wall_bottom在DM中建好模型后,分开导出几何文件,共导出两个文件zone1.x_t,zone2.x_t(我习惯导出x_t格式,其它ICEM CFD能识别的格式也是可以的)。
Fluent动网格【3】:DEFINE_CG_MOTION宏
Fluent动⽹格【3】:DEFINE_CG_MOTION宏除了利⽤Profile进⾏运动指定之外,Fluent中还可以使⽤UDF宏来指定部件的运动。
其中⽤于运动指定的宏主要有三个:DEFINE_CG_MOTIONDEFINE_GEOMDEFINE_GRID_MOTION今天主要看第⼀个UDF宏DEFINE_CG_MOTION。
⽤途DEFINE_CG_MOTION宏主要⽤于描述刚体的运动。
所谓“刚体”,指的是在运动过程中部件⼏何形状不会发⽣任何改变,只是其质⼼位置发⽣改变。
在定义刚体的运动时,通常以速度⽅式进⾏显式定义。
形式DEFINE_CG_MOTION宏的结构很简单。
DEFINE_CG_MOTION(name,dt,vel,omega,time,dtime)其中:name:为宏的名称,可以随意定义dt:⼀个指针Dynamic_Thread *dt,存储动⽹格属性,通常不需要⽤户⼲预。
vel:平动速度,为⼀个数组,其中vel[0]为x⽅向速度,vel[1]为y⽅向速度,vel[2]为z⽅向速度。
omega:转动速度,omega[0]为x⽅向⾓速度,omega[1]为y⽅向⾓速度,omega[2]为z⽅向⾓速度。
time:当前时间。
dtime:时间步长。
实例实例1:利⽤DEFINE_CG_MOTION宏定义速度:u x=2sin(3t)可以写成:#include "udf.h"DEFINE_CG_MOTION(velocity,dt,vel,omega,time,dtime){vel[0] = 2* sin(3*time);}很简单,对不对?再来个复杂点的例⼦。
实例2:已知作⽤在部件上的⼒F,计算部件在⼒F作⽤下的运动。
可以采⽤⽜顿第⼆定律:∫t t0dv=∫t t(F/m)dt则速度可写为:v t=v t−Δt+(F/m)Δt 可写UDF宏为:/************************************************************* 1-degree of freedom equation of motion (x-direction)* compiled UDF************************************************************/#include "udf.h"static real v_prev = 0.0;static real time_prev = 0.0;DEFINE_CG_MOTION(piston,dt,vel,omega,time,dtime){Thread *t;face_t f;real NV_VEC(A);real force_x, dv;/* reset velocities */NV_S(vel, =, 0.0);NV_S(omega, =, 0.0);if (!Data_Valid_P())return;/* get the thread pointer for which this motion is defined */t = DT_THREAD(dt);/* compute pressure force on body by looping through all faces */force_x = 0.0;begin_f_loop(f,t){F_AREA(A,f,t);force_x += F_P(f,t) * A[0];}end_f_loop(f,t)/* compute change in velocity, dv = F*dt/mass */dv = dtime * force_x / 50.0;/* motion UDFs can be called multiple times and should not causefalse velocity updates */if (time > (time_prev + EPSILON)){v_prev += dv;time_prev = time;}Message("time = %f, x_vel = %f, x_force = %f\n", time, v_prev, force_x); /* set x-component of velocity */vel[0] = v_prev;}Processing math: 100%。
Fluent动网格全攻略
FLUENT6.1全攻略图10-16 转子定子模型的静压等值线图在显示速度矢量时,同样有绝对速度和相对速度两种形式。
另外需要注意的是,后处理过程不能在交界区中的壁面、内部、周期等类型的边界上建立数据显示面(surface),但是可以在交界面上建立数据显示面,但结果将是单边的,就是只显示交界面一侧的结果。
而且在跨越交接面时,等值线中可能会有细微的不连续。
在画三维填充等值线时,图形中可能会出现一些小缝,但是这些缝只是图形显示问题,与解的连续性无关。
10.6 动网格模型10.6.1 简介动网格模型可以用来模拟流场形状由于边界运动而随时间改变的问题。
边界的运动形式可以是预先定义的运动,即可以在计算前指定其速度或角速度;也可以是预先未做定义的运动,即边界的运动要由前一步的计算结果决定。
网格的更新过程由FLUENT根据每个迭代步中边界的变化情况自动完成。
在使用移动网格模型时,必须首先定义初始网格、边界运动的方式并指定参予运动的区域。
可以用边界型函数或者UDF定义边界的运动方式。
FLUENT要求将运动的描述定义在网格面或网格区域上。
如果流场中包含运动与不运动两种区域,则需要将它们组合在初始网格中以对它们进行识别。
那些由于周围区域运动而发生变形的区域必须被组合到各自的初始网格区域中。
不同区域之间的网格不必是正则21FLUENT6.1全攻略22的,可以在模型设置中用FLUENT 软件提供的非正则或者滑动界面功能将各区域连接起来。
10.6.2 动网格守恒方程在任意一个控制体中,广义标量Φ的积分守恒方程为:()∫∫∫∫∂∂+⋅∇=⋅−+V V Φg V VdV S A d ΦΓA d u u ρΦV ρΦd dt d G G G G (10-7) 式中ρ为流体密度,u G 为速度向量,g u G 移动网格的网格速度,Γ为扩散系数,ΦS 为源项,V ∂代表控制体V 的边界。
方程(10-7)中的时间导数项,可以用一阶后向差分格式写成:()()t V V dV dt d nn V ΔΦ−Φ=Φ+∫ρρρ1 (10-8) 式中n 和n+1代表不同的时间层。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
不一样那就要另外计算了。 3)这里首先,你已经会怎么会使用fluent计算颗粒在流场中 的运动轨迹了,然后,你跟踪某一个颗粒,观察这个颗粒是 否到达壁面,然后用plot看是否能输出这个颗粒的运动轨迹 ,最后可以根据运动轨迹,确定你需要的坐标位置的速度分
布。
4)关于碰撞角度,这个就困难了,再思考,能否借用fluent 里面现有的参数进行计算。 个人的看法,仅供交流,如有不妥,请多包涵。
7.Fluent软件知多少 Fluent软件经典问题汇总
8.FLUENT动网格专题讨论
9.FLUENT News—Dynamic Mesh.pdf
பைடு நூலகம்10.包含运动边界的多体非定常流场数值模拟方法研究
气温度么?希望大家帮忙解惑,这个问题困扰我好久了
A:这个是不是只设好壁面初始温度,选好壁面材料参数,模 型里都有默认的导热系数吧。如果考虑室外空气对流的影响 ,我觉得就把壁面做出来,把室外的壁面作为模型边界。输
入温度和传热系数属于传热学的第三类边界条件,这样应该
就清楚了不是,温度就是室外空气的温度,或者说是自由流 体的温度对流换热系数指的是壁面和外面的自由流体发生对 流换热时,那个对流换热系数,用这个条件的时候,要输入 壁面的厚度,其实就是间接地算了一次热传导。
A:不同初始化条件下,每次迭代的截断误差可能不同,致使
最终的结果存在不一致性,但一般的话,只要误差没有超过
5%,都还是可以接受的。迭代了多少次?如果迭代次数过少 会进入伪收敛。收敛的标准不仅仅是残差,还要看迭代次数 以及守恒量守恒等指标。
8.急求fluent第二类边界条件的UDF:边界条件如下 u为x方向速度分量,我用的是速度入口,和压力出口,上述 边界条件应该如何UDF?
4.振动圆柱绕流锁定区域的数值解
5.钻石背弹翼颤振的数值计算
6.Icepak在中兴通讯热设计中的应用.pdf
通讯产品散热分析与设计是其可靠性设计中的一个重要组成
部分,本文结合中兴 通讯接入事业部的散热设计工作,着重 讨论Fluent 公司热控分析软件Icepak 在公司通讯产品研发过 程中散热设计、分析、仿真与测试等方面的应用情况,并对 几个具体案例作了简要介绍。
7.fluent做翅片管的三维稳态仿真计算时,一种情况是 initialize from all zone,另一种情况是initialize from air-inlet,两种情况下得到的稳态计算结果差别很大,比如 report热流,两种情况下通过翅片管内表面的散热功率相差 60W,相差有点悬殊啊,什么原因呢?网格偏斜度都在0~0.5 之间,质量应该没问题
到边界运动的流体力学的问题都可以解决。
咨讯: 1.FLUENT动网格系列:公转&自转
2.FLUENT动网格系列:System Coupling流固耦合
3.FLUENT动网格系列:区域运动
问答:
1.使用vof功能时,为什么经常会发散?无论是结构网格还是非
结构网格,使用vof功能时,基于压力的求解器下,很容易发
Fluent动网格系列篇
更新时间:2014-7-30
Fluent软件作为市面上较为流行的通用CFD软件,在航空航天 、汽车、石油、船舶等设计都有广泛的应用。其中的动网格 模型可以用来模拟流场在不同时间内随边界运动而改变,不 仅可以模拟鸟儿飞行、鱼儿游动等仿生学问题,也可以解决 发动机内活塞与阀门的运动,甚至导弹、飞机、子弹等涉及
的,不知道怎么回事,有人知道怎么设置,或者原因嘛?麻
烦了,谢谢
A:流线怎么样?速度矢量分布如何?压力分布怎么样?以此来
检查设置的正确性。
3.如何在Fluent中定义电池热源 :大家好,我最近在用Fluent 模拟电动汽车动力电池组的流场和温度分布情况,我把模型 简化成一个空腔内放置并排放置十块电池,采用风扇进行冷
却。我在 Gambit中已经把网格划分完毕,先划十节圆柱形电
池,然后通过布尔操作把电池和风扇减去,最后划分剩下的 部分。由于电池在充放电时需要发热,所以需要 给电池加载 生热率,我以前用ANSYS可以直接添加生热率,但是不知道 Fluent该如何处理,网上有人说使用UDF,但是大约看了一下 UDF的介绍,也还不太清楚。有哪位.pdf 网格与CFD求解精度的关系,Fluent公司工程师崔凯的文章。 曾经想整理出版,但是他自己找不到原稿了,翻箱底我竟然 找到了,哈哈哈,分享给需要者。
2.Fluent 动网格 Dynamic Mesh-精华帖集合.rar
3.FLUENT全攻略—动网格
6.我的模型是一个三维房屋模型,房屋壁面没有建立固体网 格域,只是无厚度的wall边界。我的问题是:对于无厚度壁 面的传热问题,在对流选项框的设置中,对流系数是指的哪 部分?是"室内空气与壁面的对流+壁面的导热+壁面与室外空 气的对流"这三部分么?那是不是按照下面类似的公式确定对
流系数值?另外,free stream temperature 指的是室外空
A:在FLUID或者SOILD里面有一个source,如果是常数可以直接 输入,如果是变化的,需要自定义函数
4.fluent求解时,一般都要先初始化。很多书上都说问题问题 不需要初始化,给定一个合理的初值有利于收敛。而非稳态计
算初始化是为了给定计算的初始状态,初始值对非稳态后续就
算有较大影响。请问有没有关于此类问题的详细的、权威的表 述呢?写论文的时候,不能把微博等依据作为参考文献列出来 呀,请有这方面资料的前辈、朋友帮助给一些权威的资料,谢 谢啦!
散,各位有木有碰到这种情况的?
A:VOF法比较容易发散,且引起发散的原因很多。 1.调小点时间步长、松弛因子。 2、检查求解格式 3、检查网格
4、检查边界条件
2.Fluent风扇用fan模型计算知道PQ曲线 :大家好,在fluent, 没有风扇的结构尺寸,但是厂家给了风扇的PQ曲线,想利用 fluent的Fan模型,设置了PQ曲线,但是计算的流量为0之类
A:uds的编号是你自己设置的,没有固定的要求。边界条件要 是个定值直接选specified flux,设置相应的值就可以,要 是函数之类的,需写udf,用DEFINE_PROFILE()。求导是相
应边界的法线方向。
9.Fluent的DPM模型如何获得颗粒与壁面的碰撞角度和速度分
布
1)这个确实有点困难。 2)首先要理解含颗粒气流中,颗粒和气流的速度分别是怎么 假设的,一般这里认为颗粒和气流的速度是相同的。那么在 输入dpm的时候,速度设置就需要和气流速度一样,如果
A:《计算流体力学基础及应用》里面有关于此处的讲解。记得 很多计算流体力学书籍里面都有类似的表述。计算出湍流强度 或耗散率或等等初值,有利于计算时收敛。看一下《数值分析
》就能理解了
5.fluent设置压力入口边界条件是不是一定要有出口边界条件
啊?
A:不是必须的。看看流场初始压力是否合理?降低松弛因子试 试看
A:求解uds不,求解选specified flux就行了。一般来说速度
的第二类边界条件不用特别设置吧
Q:边界条件设置UDS菜单的中,编号为0的标量方程应该是自 定义的第一个标量方程还是动量方程?动量方程的flux在哪 里设置呢?如果需要求解一个自定义的标量方程,那么第二 类边界条件如何编写UDF?还有一个问题,flux给定的是对x 的偏导还是对y的偏导?