振动流化床仿真操作过程及参数选择

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 23

实用文案

振动流化床仿真操作过程及参数选择

1 创建流化床模型。

根据靳海波论文提供的试验机参数,创建流化床模型。流化床直
148mm,高 1m,开孔率 9%,孔径 2mm。在筛板上铺两层帆布保证气流均布。
因为实验机为一个圆形的流化床,所以可简化为仅二维模型。而实际实
验中流化高度远小于 1m,甚至 500mm,所以为提高计算时间,可将模型高度
缩为 500mm。由于筛板上铺设两层帆布以达到气流均分的目的,所以认为沿
整个筛板的进口风速为均匀的。最终简化模型如下图所示:

上图为流化后的流化床模型,可以看出流化床下端的网格相对上端较密,
因为流化行为主要发生的流化床下端,为了加快计算时间,所以采用这种下
密 上 疏 的 划 分 方 式 。 其 中 进 口 设 置 为 velocity inlet ; 出 口 设 置 为
outflow;左右两边分为设置为 wall。在 GAMBIT 中设置完毕后,输出二维模
型 vfb.msh。
outflow 边界条件不需要给定任何入口的物理条件,但是应用也会有限

文案大全
实用文案

制,大致为以下四点:
1.只能用于不可压缩流动
2.出口处流动充分发展
3.不能与任何压力边界条件搭配使用(压力入口、压力出口)
4.不能用于计算流量分配问题(比如有多个出口的问题)

2 打开 FLUENT 6.3.26,导入模型 vfb.msh

点击 GRID—CHECK,检查网格信息及模型中设置的信息,核对是否正确,
尤其查看是否出现负体积和负面积,如出现马上修改。核对完毕后,点击
GRID-SCALE 弹 出 SCALE GRID 窗 口 , 设 置 单 位 为 mm , 并 点 击 change length
unit 按钮。具体设置如下:

3 设置求解器

保持其他设置为默认,更改 TIME 为 unsteady,因为实际流化的过程是


随时间变化的。

文案大全
实用文案

(1) pressure based 求解方法在求解不可压流体时,如果我们联立求解


从动量方程和连续性方程离散得到的代数方程组,可以直接得到各
速度分量及相应的压力值,但是要占用大量的计算内存,这一方法
已 可 以 在 Fluent6.3 中 实 现 , 所 需 内 存 为 分 离 算 法 的 1.5-2 倍 。
density based 求解方法是针对可压流体设计的,因而更适合于可
压流场的计算,以速度分量、密度(密度基)作为基本变量,压力
则由状态方程求解。Pressure-Based Solver 它是基于压力法的求
解器,使用的是压力修正算法,求解的控制方程是标量形式的,擅
长求解不可压缩流动,对于可压流动也可以求解;Fluent 6.3 以前
的版本求解器,只有 Segregated Solver 和 Coupled Solver,其实
也就是 Pressure-Based Solver 的两种处理方法; Density-Based
Solver 是 Fluent 6.3 新发展出来的,它是基于密度法的求解器,求
解的控制方程是矢量形式的,主要离散格式有 Roe,AUSM+,该方法
的初衷是让 Fluent 具有比较好的求解可压缩流动能力,但目前格式
没有添加任何限制器,因此还不太完善;它只有 Coupled 的算法;
对于低速问题,他们是使用 Preconditioning 方法来处理,使之也
能 够 计 算 低 速 问 题 。 Density-Based Solver 下 肯 定 是 没 有
SIMPLEC,PISO 这些选项的,因为这些都是压力修正算法,不会在
这 种 类 型 的 求 解 器 中 出 现 的 ; 一 般 还 是 使 用 Pressure-Based
Solver 解决问题。
(2) 再 GRADIENT OPTION 选项组中,指定通过哪种压力梯度来计算控制
方程中的导数项。CELL-BASED(按单元中的压力梯度计算)和 NODE-
BASED(按节点的案例梯度计算)。Porous formulation 选项组用
于制定多孔介质速度的方法。
(3) 当选择 UNSTEADY 时,会出现 UNSTEASDY FORMULATION 选项组,让用
户据顶时间相关项的计算公式及方法。对于巨大多数问题选一阶隐
式就足够了。只有对精度有特别要求时才选二阶隐式。

文案大全
实用文案

4 设置多相流模型。

设置为欧拉模型,相数设置为 2 即为两相流,具体设置如下:

在 Fluent 中,共有三种欧拉-欧拉多相流模型,即 VOF(Volume Of Fluid)


模型、混合物(Mixture)模型和欧拉(Eulerian)模型。
(1) VOF 模型。
VOF 模型是一种在固定的欧拉网格下的表面跟踪方法。当需要得到一种或
多种互不相融流体间的交界面时,可以采用这种模型。在 VOF 模型中,不同的
流体组分共用着一套动量方程,计算时在整个流场的每个计算单元内,都记录
下各流体组分所占有的体积率。VOF 模型的应用例子包括分层流、自由面流动、
灌注、晃动、液体中大气泡的流动、水坝决堤时的水流以及求得任意液-气分界
面的稳态或瞬时分界面。
(2) 混合物模型。
混合物模型可用于两相流或多相流(流体或颗粒)。因为在欧拉模型中,
各相被处理为互相贯通的连续体,混合物模型求解的是混合物的动量方程,并
通过相对速度来描述离散相。混合物模型的应用包括低负载的粒子负载流、气
泡流、沉降和旋风分离器。混合物模型也可用于没有离散相相对速度的均匀多
相流。
(3) Eulerian 模型。
Fluent 中最复杂的多相流模型。它建立了一套包含有 n 个的动量方程和连
续方程来求解每一相,压力项和各界面交换系数是耦合在一起的。耦合的方式
则依赖于所含相的情况,颗粒流(流-固)的处理与非颗粒流(流-流)是不同
的。欧拉模型的应用包括气泡柱、上浮、颗粒悬浮和流化床。
根据振动流化床的实际情况,本论文采用欧拉模型进行模拟。

5 设置粘性模型。

第一步,DEFINE-MODELS-VISCOUS,弹出 VISCOUS MODEL 对话框,选择 K-


EPSILO 模型,点击确定。第二步,在操作窗口内键入下面的命令:
define/models/viscous/turbulence-expert/low-re-k
屏幕显示:
/define/models/viscous/turbulence-expert> low-re-k
Enable the low-Re k-epsilon turbulence model? [no]
输入 y,在模型选择面板中我们就可以看见低雷模型 low-re-ke model 了。默认

文案大全
实用文案

使用第 0 种低雷诺数模型。
第三步,Fluent 中提供 6 种低雷诺数模型,使用 low-re-ke-index 命令设定一
种。
low-re-ke-index

Index Model
0 Abid
1 Lam-Bremhorst
2 Launder-Sharma
3 Yang-Shih
4 Abe-Kondoh-Nagano
5 Chang-Hsieh-Chen
本仿真中默认使用第 0 种低雷诺数模型。
标准 k-epsilo 模型使用与湍流发展非常充分的湍流流动建立的,它是一种
针对高雷诺数的湍流计算模型,它比零方程模型和一方程模型有了很大的改进,
但是在用于强旋流、弯曲壁面流动或弯曲流线流动时会产生失真。而相较标准
模型,RNG k-ε 模型修正了湍动粘度,考虑了平均流动的旋转及旋流流动情况,
可以更好地处理高应变率及流线弯曲成都较大的流动,它还是针对充分发展的
湍流,即还是高雷诺数模型。Realizable k-ε 模型一般被应用在包含有射流
和混合流的自由流动、管道内流动、边界层流动等。由于实际计算出的雷诺数
较小,和上述三种湍流模型都不是很匹配。而在 FLUENT 提供了数种专家模型,
他们针对标准 K-ε 进行部分修正,使其能够适合低雷诺数使用,即为低雷诺数
k-epsilo 模型。

6 定义材料属性。

DEFINE-MATERIALS,弹出材料对话框,点 CREAT 按钮,首先选择空气作为


气相。然后点击 FLUENT DATABASE MATERIALS 按钮,在材料库中任意选择一种
流体,点击 COPY 按钮。再将该材料的密度及名称改为所需材料的材料属性,设
置如下,最后点击 CHANGE。

文案大全
实用文案

7 定义相。

DEFINE-PHASE。首先定义空气为主相,操作如下:

接着设置次相为固相 MILLET。点 millet 后点击 SET 按钮,弹出 secondary


phase 对话框,进下如下设置。

文案大全
实用文案

首先定义材料为 GRANULAR,即为颗粒,定义颗粒粒径。Packed bed 为填充


床,与实际不符合,故不选择。颗粒温度模型选择 PHASE PROPERTY 相属性。
partical differential equation 为偏微分方程。固体剪切粘度包括碰撞和动
力部分,摩擦部分。其中动力部分提供两种表达,默认的是 SYAMLAL ET AL 表
达,和 GIDASPOW ET AL 表达,通过实验一对比后选择 SYAMLAL ET AL 表达式。
固体体积粘度解释为颗粒压缩和扩张的抵抗力,对该项一般不存在争议,目前
学术界普遍采用 Lun et al 的表达式。本论文的仿真忽略摩擦粘度。填充限制
设置为 0.6,即初始固相的体积分数最大为 0.6。
设置气固封闭关系:再 PHASE 对话框点击 INTERACTION,设置气固相相互作
用的曳力函数一般为 WEN-YU,GIDASPOW,SYAMLAL-OBRIEN 三种,实验一得出结论
SYAMLAL-OBRIEN 更符合实际。所以选择 Syamlal-Obrien 曳力函数模型。
(1)Syamlal-O’Brien 模型[234]

(20.4.31)
这里曳力函数采用由 Dalla Valle[47]给出的形式:

(20.4.32)
这个模型是基于流化床或沉淀床颗粒的末端速度的测量,并使用了体积分数
和相对雷诺数的函数关系式[193]:

(20.4.33)

文案大全
实用文案

d
这里下标l 是第l 液体相, s 是第 s 固体相, s 是第 s 固体相颗粒的直径。

液体-固体交换系数有如下形式

(20.4.34)

这里
v r , s 是与固体相相关的末端速度[73]:

(20.4.35)
其中

(20.4.36)


α l≤0. 85 , (20.4.37)

对α >0 . 85 , (20.4.38)
当固体相的剪切应力根据 Syamlal et al 定义时[235](方程 20.4.52),这
个模型是合适的。
(2)对 Wen and Yu 模型[262],液体-固体交换系数有如下形式:

(20.4.39)

这里,

(20.4.40)
Re 数由方程 20.4.33 定义。
这个模型适合于稀释系统。
(3)Gidaspow 模型[76]是 Wen and Yu 模型[262]和 Ergun 方程[62]的联合。

α l >0 . 8 时,液体-固体交换系数 K sl 有如下形式:

(20.4.41)

这里 (20.4.42)


α l≤0. 8 时,

文案大全
实用文案

(20.4.43)
对密集的流化床,建议使用这个模型。
由于本流化床内的粒子直径远大于粒子间的距离,这样对接近充满的颗粒
包含升力是不合适,所以忽略升力的影响,在 LIFT 选项选择 NONE。在恢复系数
选项下保持默认的设置值 0.9。由于第二相密度远大于第一相,所以可以忽略
虚拟质量力。具体设置如下。

8 编译 UDF 程序。

Define-user-defined-function-compiled,导入程序。

文案大全
实用文案

1) void DEFINE_CG_MOTION (UDFname,Dynamic_Thread * dt,real


vel[ ], real omega[ ], real time,real dtime)。
此函数接口用于控制刚体的运动,用户把刚体质心运动速度和角速度分别赋值给
vel 和 omega, FLUENT 根据它们的值来自动计算出边界下一步的位置,从而实现
动边界的控制; 刚体质心的位置可以在函数接口界面对话框中定义。Dynamic
Zones 中的 dwall 就是要控制的动边界,Motion UDF/Profile 中的
stc1sta010a0ph0 就是 UDFname,从中可看出它已被制定成用于控制 dwall,理论
上 FLUEN T 可以通过这种方式实现无穷多个动边界的控制; C.G.Location 用于
设定初始位置的质心,C.G.Orientation 用于设定刚体的初始角度。一般适用于
刚体本身不变形的运动。
2) void DEFINE_GEOM(char name,Domain * d,Dynamic_Thread * dt,real *
position)。
此函数接口用于控制变形体的边界运动, position 就是运动边界上某网格节点
的位置值,用户可以通过对其赋值达到控制效果, position [0]对应边界节点的
x 坐标, position [1]对应 y 坐标, position [2]对应 z 坐标; FLUENT 自动遍
历所有的边界节点,因此适用于有规律的可以用函数描述的运动边界。
3) void DEFINE_ GRID_MOTION(name,d,dt,time,dtime)。
此函数接口也用于控制形体的边界运动。主要用于更加复杂的控制,用户需要自
己利用 FLUENT 提供的其他函数来遍历运动边界上的节点,并对其位置进行控制,
因此 UDF 编程比前面两种复杂得多。它甚至可以事先生成好边界数据,在计算
中把数据读入,完成复杂形体控制。
将振动处理为做正弦运动,即编写 UDF 程序使进口做正弦运动。而通过上
述三种动边界控制实现方法的比较,可以看出第一种 void DEFINE_CG_MOTION
方法更适合振动流化床的模拟,改变进口边界的运动速度,从而完成正弦运动。

9 定义动网格。

在 FLUENT 中,动网格模型可以用来模拟由于流域边界运动引起流域形状随
时间变化的流动情况。这种流动情况即可以使一种指定的运动(随时间变化)
也可以使未确定的运动(随某变化的参数变化),即边界的运动要由前一步的
计算结果决定。各个时间不的体网格的更新基于边界条件新的位置,有 FLUENT
自动完成。
动网格计算中网格的动态变化过程可以用三种模型进行计算,即弹簧近似
光滑模型(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*h_0
式中 alpha_c 为合并因子。在紧邻动边界的网格层高度满足这个条件时,
则将这一层网格与外面一层网格相合并。
动网格模型的应用有如下限制:
(1)与运动边界相邻的网格必须为楔形或者六面体(二维四边形)网格。
(2)在滑动网格交界面以外的区域,网格必须被单面网格区域包围。
(3)如果网格周围区域中有双侧壁面区域,则必须首先将壁面和阴影区分割开,
再用
滑动交界面将二者耦合起来。

文案大全
实用文案

(4)如果动态网格附近包含周期性区域,则只能用 FLUENT 的串行版求解,但


是如果周期性区域被设置为周期性非正则交界面,则可以用 FLUENT 的并行版
求解。
如果移动边界为内部边界,则边界两侧的网格都将作为动态层参与计算。
如果在壁面上只有一部分是运动边界,其他部分保持静止,则只需在运动边界
上应用动网格技术,但是动网格区与静止网格区之间应该用滑动网格交界面进
行连接。
局部重划模型
在使用非结构网格的区域上一般采用弹簧光顺模型进行动网格划分,但是
如果运动边界的位移远远大于网格尺寸,则采用弹簧光顺模型可能导致网格质
量下降,甚至出现体积为负值的网格,或因网格畸变过大导致计算不收敛。为
了解决这个问题,FLUENT 在计算过程中将畸变率过大,或尺寸变化过于剧烈的
网格集中在一起进行局部网格的重新划分,如果重新划分后的网格可以满足畸
变率要求和尺寸要求,则用新的网格代替原来的网格,如果新的网格仍然无法
满足要求,则放弃重新划分的结果。
在重新划分局部网格之前,首先要将需要重新划分的网格识别出来。
FLUENT 中识别不合乎要求网格的判据有二个,一个是网格畸变率,一个是网格
尺寸,其中网格尺寸又分最大尺寸和最小尺寸。在计算过程中,如果一个网格
的尺寸大于最大尺寸,或者小于最小尺寸,或者网格畸变率大于系统畸变率标
准,则这个网格就被标志为需要重新划分的网格。在遍历所有动网格之后,再
开始重新划分的过程。局部重划模型不仅可以调整体网格,也可以调整动边界
上的表面网格。
需要注意的是,局部重划模型仅能用于四面体网格和三角形网格。在定义
了动边界面以后,如果在动边界面附近同时定义了局部重划模型,则动边界上
的表面网格必须满足下列条件:
(1)需要进行局部调整的表面网格是三角形(三维)或直线(二维)。
(2)将被重新划分的面网格单元必须紧邻动网格节点。
(3)表面网格单元必须处于同一个面上并构成一个循环。
(4)被调整单元不能是对称面(线)或正则周期性边界的一部分。
动网格的实现在 FLUENT 中是由系统自动完成的。如果在计算中设置了动
边界,则 FLUENT 会根据动边界附近的网格类型,自动选择动网格计算模型。
如果动边界附近采用的是四面体网格(三维)或三角形网格(二维),则
FLUENT 会自动选择弹簧光顺模型和局部重划模型对网格进行调整。如果是棱柱
型网格,则会自动选择动态层模型进行网格调整。在静止网格区域则不进行网
格调整。
动网格问题中对于固体运动的描述,是以固体相对于重心的线速度和角速度为
基本参数加以定义的。既可以用型函数定义固体的线速度和角速度,也可以用
UDF 来定义这两个参数。同时需要定义的是固体在初始时刻的位置。

文案大全
实用文案

使用弹簧近似光滑法网格拓扑始终不变,无需插值,保证了计算精度。但
弹簧近似光滑法不适用于大变形情况,当计算区域变形较大时,变形后的网格
会产生较大的倾斜变形,从而使网格质量变差,严重影响计算精度。动态分层
法在生成网格方面具有快速的优势,同时它的应用也受到了一些限制。它要求
运动边界附近的网格为六面体或楔形,这对于复杂外形的流场区域是不适合的。
使用局部网格重划法要求网格为三角形(二维)或四面体(三维),这对于适
应复杂外形是有好处的,局部网格重划法只会对运动边界附近区域的网格起作
用。
设置动网格问题的步骤如下:
(1)激活动网格模型,并设定相应参数,菜单操作如下:
Define -> Dynamic Mesh -> Parameters...
(2)指定移动网格区域的运动参数,菜单操作如下:
Define -> Dynamic Mesh -> Zones...
(3)保存算例文件和数据文件。
(4)预览动网格设置,菜单操作为:
Solve -> Mesh Motion...

文案大全
实用文案

Remeshing 中的参数 Minimum length scale 和 Maximum Length Scale,这


两个参数你可以参考 mesh scale info 中的值,仅是参考,因为 mesh scale

文案大全
实用文案

info 中的值是整个网格的评价值,设置的时候看一下动网格附近的网格和整个
网格区域的大小比较,然后确定这两个参数,一般来讲,动网格附近的网格较
密,这些值都比整体的小,所以在设置时通常设置为比 mesh scale info 中的
Minimum length scale 大一点,比 Maximum Length Scale 小一点。

10.设置边界条件

文案大全
实用文案

自然界流体按流体形态分为两种形式层流和湍流,在气固流化中,雷诺数为
d p uρg
Re p=
μg

k-ε 湍流模型,湍动能 k 和湍动耗散率值 ε 的初定。


湍流强度 I(turbulence intensity)按下式计算:
1

I =u' / u=0 .16 ( Re D ) 8
H

Re DH
为按水里直径 DH 计算得
'
其中, u 和 u 分别为湍流脉动速度和平均速度,

到的雷诺数,对于圆管,水力直径 DH 等于圆管直径,对于其他的几何形状,按

等效水力直径确定。湍流程度尺度 l(turbulence viscosity)按下式计算:


l=0.07L
这里,L 为关联尺寸。对于充分发展的湍流,可取 L 等于水力直径。湍流粘度比
t  正比于湍动雷诺数,一般可取 1 到 10 之间。修正的湍流粘度按下式计算:

~

3
v = u Il
2

湍动能 k(turbulence kinetic energy)按下式计算


3
k = ( u I )2
2

如果一直湍流长度尺度 l,则湍动耗散率 ε(turbulence dissipation rate)


按下式计算:
k 3 /2
ε =C 3/4
μ
l

式中,取 0.09。如果已知湍动粘度比,则湍动耗散率按下式计算:

( )
−1
k 2 μt
ε =ρC μ
μ μ

文案大全
实用文案

11.设置 SOLUTION CONTROL

SIMPLE
SIMPLE 算法使用压力和速度之间的相互校正关系来强制质量守恒并获取压力场。
如果用猜测压力场 p^*来解动量方程,从连续性方程离散一节中的方程 5 所
得到的表面流量 J^*_f 为:
J ¿f =J^ ¿f +d f ( p¿c 0 −p ¿c 1 )

它并不满足连续性方程。因此将校正项 J^'_f 加入到表面流速 J^*_f 中来校正


¿ '
质量流速 J_f: J f =J f +J f

此时满足了连续性方程。SIMPLE 假定 J^'_f 写成如下形式:


J f =d f ( pc 0− p c 1 )
' ' '

其中 p^'是单元压力校正。
SIMPLE 算法将流量校正方程(方程 3 和 5)代入到离散连续性方程(连续性
方程的离散一节中的方程 3)从而得到单元内压力校正 p^'的离散方程。
a P p =∑ a nb pnb +b
' '

nb

其中,源项 b 是流入单元的净流速。
N faces
b= ∑ J ¿f
f

压力校正方程(方程 7)可以用代数多重网格一节中所介绍的代数多重网格方
法来解。一旦得到解,使用下面的方程校正单元压力和表面流动速度:

文案大全
实用文案

¿ '
p= p +α p p

J f =J ¿f +d f ( p'c 0 − p'c 1 )

在这里,a_p 是压力亚松驰因子(请参阅亚松驰方面的介绍)。校正后的表面
流速 J_f 在每一部迭代中同一地满足离散连续性方程。

欠松弛因子
由于流体力学中要求解非线性的方程,在求解过程中,控制变量的变化是很
必要的,这就通过松弛因子来实现的.它控制变量在每次迭代中的变化.也就是说,
变量的新值为原值加上变化量乘以松弛因子.
如:A1=A0+B*DETA
A1 新值 A0 原值 B 松弛因子 DETA 变化量
松弛因子可控制收敛的速度和改善收敛的状况!
为 1,相当于不用松弛因子
大于 1,为超松弛因子,加快收敛速度
小于 1,欠松弛因子,改善收敛的条件
一般来讲,大家都是在收敛不好的时候,采用一个较小的欠松弛因子。
Fluent 里面用的是欠松弛,主要防止两次迭代值相差太大引起发散。
松弛因子的值在 0~1 之间,越小表示两次迭代值之间变化越小,也就越稳
定,但收敛也就越慢。
在 FLUENT 中,所有变量的默认亚松驰因子都是对大多数问题的最优值。这
个值适合于很多问题,但是对于一些特殊的非线性问题(如:某些湍流或者高
Rayleigh 数自然对流问题),在计算开始时要慎重减小亚松驰因子。
使用默认的亚松驰因子开始计算是很好的习惯。如果经过 4 到 5 步的迭代
残差仍然增长,你就需要减小亚松驰因子。
有时候,如果发现残差开始增加,你可以改变亚松驰因子重新计算。在亚
松驰因子过大时通常会出现这种情况。最为安全的方法就是在对亚松驰因子做
任何修改之前先保存数据文件,并对解的算法做几步迭代以调节到新的参数。
最典型的情况是,亚松驰因子的增加会使残差有少量的增加,但是随着解的进
行残差的增加又消失了。如果残差变化有几个量级你就需要考虑停止计算并回
到最后保存的较好的数据文件。
三种判断收敛的方法:
1.残差达到一个可以接受的程度:默认出了能量是 10^-6 以外,其余的
全是 10^-3。
2.求解值不再随迭代发生改变:有时候,残差还在下降,但是某些监视
的流动变量不再发生明显变化即可停止迭代。

文案大全
实用文案

3.系统的质量、动量、能量达到平衡:利用 flux report 实现,要求净


不平衡量小于 0.2%。
一阶迎风格式
当需要一阶精度时,我们假定描述单元内变量平均值的单元中心变量就是
整个单元内各个变量的值,而且单元表面的量等于单元内的量。因此,当选择
一阶迎风格式时,表面值 f_f 被设定等于迎风单元的单元中心值。
二阶迎风格式
当需要二阶精度时,使用多维线性重建方法[5]来计算单元表面处的值。在
这种方法中,通过单元中心解在单元中心处的泰勒展开来实现单元表面的二阶
精度值。因此,当使用二阶迎风格式时,用下面的方程来计算表面值 f_f;
QUICK 格式
对于四边形和六面体网格,我们可以确定它们唯一的上游和下游表面以及
单元。
FLUENT 还提供了计算对流变量 在表面处高阶值的 QUICK 格式。QUICK 类

型的格式[95]是通过变量的二阶迎风与中心插值加上适当的权因子得到的;

12.初始化

1、为什么需要进行初始化

我们知道,在数值计算中,初始化通常发生在需要迭代计算的情况下。CFD
求解大致分为以下几步:(1)建立物理现象的数学模型。通常是 N-S 方程,包
括瞬态项、对流项、扩散项和源项。(2)对方程进行离散。通常是建立微元控
制体,利用有限体积法进行离散,在每一个控制体上应用 N-S 方程,最终可获
得一系列代数方程。(3)对代数方程的求解。迭代计算主要发生在(2)和
(3)上。由于对流项的非线性,无法直接建立代数方程,需要采用压力-速度
耦合方程进行迭代计算。而对代数方程组进行迭代计算则有助于降低内存开销。

2、初始值对计算结果的影响

文案大全
实用文案

对于稳态问题,由于不求解瞬态项,因此初始值不会对计算结果产生影响。
当然一个好的初始值能加快迭代求解收敛速度。而对于非稳态问题,我们可以
将每一个时间步的求解当做是一个稳态计算过程,因此,一个收敛的时间步对
于初始值是不敏感的。但是非稳态计算存在这样的一个问题:下一个时间步是
以上一个时间步的计算结果作为初始值进行计算的,因此,如果一个时间步内
计算未达到收敛,则该时间点上的计算结果是不可信或无效的,且会影响到下
一时间步计算收敛速度。此时可以考虑加大内循环次数。

3、数学上的解释

所有的非稳态流动及波动现象、非稳态传热均属于步进问题,这类问题的
控制方程为双曲型或抛物型,他们的最大特点在于:计算域中的物理量依赖于
边界上的初始值。

4、FLUENT 中的初始化

有以下方式:(1)从边界条件计算(2)使用 all-zone 计算平均值(3)直接


输入初始值。

13. 设置监视器

首先设置残差监视器。设置残差收敛标准为 0.001,即为在每一个时间步
内迭代,当残差达到这个标准时,便进入下一时间步继续迭代。残差是 cell 各
个 face 的通量之和,当收敛后,理论上当单元内没有源项使各个面流入的通量
也就是对物理量的输运之和应该为零。最大残差或者 RSM 残差反映流场与所要
模拟流场(只收敛后应该得到的流场,当然收敛后得到的流场与真实流场之间
还是存在一定的差距)的残差,残差越小越好,由于存在数值精度问题,不可
能得到 0 残差,对于单精度计算一般应该低于初始残差 1e-03 以下才好,当注

文案大全
实用文案

意具体情况,看各个项的收敛情况(比方说连续项不易收敛而能量项容易)。
一般在 FLUENT 中可以进行进出口流量监控,当残差收敛到一定程度后,还要看
进出口流量是否稳定平衡,才可确定收敛与否(翼型计算时要监控升阻力的平
衡)。残差在较高位震荡,需要检查边界条件是否合理,其次检查初始条件是
否合理,必如激波的流场,初始条件的不合适会造成流场的振荡。有时流场可
能有分离或者回流,这本身是非定常现象,计算时残差会在一定程度上发生振
荡,这是如果进出口流量是否达到稳定平衡,也可以认为流场收敛。另外
fluent 缺省采用多重网格,在计算后期将多从网格设置为 0 可以避免一些波长
的残差在细网格上发生震荡。

其次设置面监视器。监视各个面上的所需数据随时间的变化,在本论文的
仿真中,需要检测各个高度层的体积分数变化。故设置相应的面监视器。

14 初始化物料

设置物料高度为 100mm。首先 ADAPT-REGION…,创建一个四方形区域,点击 MARK。即


创建出物料所处的位置 hexahedron-r0。

文案大全
实用文案

其次初始化后,DEFINE-INITIALIZE-PATCH….在设置在上步设置的区域内的 MILLET 的
体积分数为 0.6,后点 PATCH。可点 GRID-DISPLAY-CONTOURS 查看体积分数图,确认初始化
成功。具体设置如下图所示。

15.设置动画

实际仿真时的数据是分一定时间步自动存储的,为能及时看到所仿真现象以便做出初
步判断,仿真是否和实际相近,以便修改边界条件及模型。
步骤 DEFINE-ANIMATE-DEFINE….

文案大全
实用文案

在设置中可以自己选择所需路径,注意设置动画时,必须先打开一个监视窗口才
能进行监视。如上图就应先点击 SET 按钮,打开监视窗口[1]。

文案大全

You might also like