0. 前言
本文3000多字(3363字),可以说是全网对于Fluent初始化介绍最详细的文章了。主要介绍了初始化作用及Fluent初始化方法(标准初始化和混合初始化),基本上把所有的参数及其设置意义都介绍了。
虽然但是,还是有很多没有顾及到讲解的,后面会补充上去,主要有:
Patch方法
通过UDF初始化
希望大家多多点赞、分享,再看呀
1. 初始化的概念
1.1 初始化概念
什么是初始化??很容易理解,所谓初始化就是给方程一个初始值。我们使用的所以数值模拟软件包括Fluent都是通过迭代的方式对方程组进行求解的,那么给出迭代的第一组值就被称为初始化。
比如超越方程
上述方程是没有解析解的,我们想要求解方程的解,需要用迭代的方法求解。比如牛顿迭代或者高斯迭代等,都需要先给一个初值。给出初值的过程就是初始化的过程。
只不过我们计算的是场的多个物理量如温度、速度等,因此需要给整个场多个物理量的初值
1.2 初始化的重要性
初始化重不重要呢??既重要又不重要,为什么这样说呢?
重要性:因为初始化的值会直接影响到我们的收敛过程。设想,如果非常巧我们恰好初始化给出的值就是收敛后的稳定值,那我们可能只需要迭代一步就可以达到收敛了。
而相反如果我们给的初始化值非常离谱,完全违背物理学规律,那我们可能要进行很多次迭代才能收敛,甚至最后会发散。对于瞬态计算,初始化更是非常重要
不重要性:但是我们99.99%的情况都不可能直接给出收敛结果作为初始化参数,相反我们并不知道结果是什么样?
因此我们只能猜测什么情况会比较接近收敛情况,或者我们干脆就以inlet参数作为初始化参数,以all-zones参数作为初始化参数。
虽然初始化会影响到收敛过程,但是毕竟是电脑计算的,多几百次的迭代步似乎也可以接受。但还是之前的原则,初始化参数不能太离谱,否则可能直接发散了。
注:
1. 对于稳态计算来说,只要初始化值别太离谱,选择什么样的初始化值都不会影响最终的收敛结果。无非是收敛快慢的影响
2. 对于瞬态计算来说,初始化非常重要,不能够随便给出。瞬态计算的结果是随着时间变化的,初始化就是你物理模型的初始值,必须严格给出。
比如我们想模拟溃坝过程,那么初始时水就应该被堤坝挡住。
2. Fluent初始化界面
Fluent提供了几种不同的初始方法
2.1 Standard Initialization标准初始化
a. Standard Initialization:标准初始化。最简单的初始化方法,也是默认的初始化方法。只有选择标准初始化才会出现上图中的各个选项。
所谓标准初始化,就是自定义初始化值,比如静压Gauge Pressure、湍动能Turbulent Kinetic Energy等值。
b. Initial Values:各物理量的初始化值,可以直接在Initial Values下面的各物理量栏中,输入我们想要初始化的值。但是需要一个一个的输入,可能会比较麻烦。
c. Compute from:为了方便输入初始化的值,可以直接从Compute from选择以各边界参数的值作为初始化值。
常见的选择入口inlet作为初始化值。当从Compute from选择边界或者计算域后,Initial Values中的值会自动改变为边界参数的值。
比如当inlet设置流速为5m/s、wet_air h2o设置为0.01454,Initial Values值会自动设置为此值。
注:
1. 如果Compute from选择all_zones,表示以整个计算域的平均值作为初始化值
2. 如果边界没有设置某些物理量,那该物理量就会保持之前的设置。
3. 设置原则:如果是稳态计算,初始化值不那么重要,一般Compute from选择inlet即可;如果是瞬态计算,则需要根据初始情况自己更改Initial Values的值。
4. 所谓初始化,就是给流场赋值。如果计算到一半又进行初始化,那之前的计算值会被初始化值覆盖掉,相当于重新计算;如果计算一半,没有点击初始化,又重新计算,那就会接着之前的结果继续算。
d. Reference Frame参考系
Relative to Cell Zone:表示初始速度是相对于cell zone的运动速度。
Absolute:表示初始速度是绝对速度。只有当问题涉及运动参考系或滑移网格时即cell发生运动时,这个选项才有意义,否则这两个选项是等效的。
如果你的计算域是旋转的,使用Relative to Cell Zone更好。一般忽略即可。
以上是关于标准初始化的设置,只有选择标准初始化Standard Initialization才会出现Initial Values和Compute from等设置。
e. 优缺点
Ø 优点:标准初始化的好处是我们可以自定义一些初始的物理量场,这可以满足对初始场有要求的情况
Ø 缺点:缺点是整个场的初始值是均匀的,比如初始的温度值是300K,那么整个流场的温度都是300K,这肯定是不合理的,因此需要通过计算加强收敛性。
2.2 Hybrid Initialization混合初始化
a. 特点
Hybrid Initialization:混合初始化。它求解拉普拉斯方程来确定速度场和压力场。所有其他变量,如温度、湍流、物种分数和体积分数,都将根据计算域的平均值或插值方法。
注:
1. 使用混合初始化,控制台会弹出上图的信息,下面的10个迭代步就是在求解拉普拉斯方程。有时候会弹出警告信息,大概意思就是求解拉普拉斯方程没有收敛,这种警告忽略即可。
2. 单相稳态流的默认初始化方法是混合初始化方法。对于其他流类型,如多相流或瞬态计算,默认的初始化方法是标准初始化方法。
这是什么意思呢???
就是说选择混合初始化后,速度场和压力场已经被计算了一定的次数,更加接近收敛后的值。但是其他的变量仍然是初始值。这样做的好处就是压力场和速度场会更容易收敛。
b. 优缺点:
优点:速度场和压力场已经被计算了一定的次数,更加接近收敛后的值。压力场和速度场会更容易收敛。
缺点:无法自定义一些物理量,比如我们想让初始时整个计算域温度全是300K,无法直接通过混合初始化完成,需要Patch才能实现。但标准初始化可以。
2.3 混合初始化More Settings
选择Hybrid Initialization后,大多数情况下不需要设置任何参数,直接点击Initialize即可。
如果想进行更多的设置,需要点击more settings
1. General Settings
Ø Number of Iterations:迭代次数默认值为10,也就是上面控制台输出10次迭代步的原因。即求解拉普拉斯方程以初始化速度和压力的迭代次数。
对于比较复杂的模型,如果迭代次数达不到1e-06残差(控制台输出的残差),可适当增加此值。一般默认即可。
Ø Explicit Under-Relaxation Factor显式下松弛因子,默认值为1。方程1表示速度场,方程2表示压力场。用于求解拉普拉斯方程。若残差达不到1e-06,可减小松弛因子来增加初始化的收敛性。
Ø Reference Frame:和标准初始化的Reference Frame参考系相同
Ø Use Specified Initial Pressure on Inlet:如果勾选此项,表示inlet设置的压力Supersonic/Initialization Gauge Pressure会被应用在入口作为初始化压力。
勾选Use Specified Initial Pressure on Inlet后的初始化压力场
Ø Use External-Aero Favorable Settings:对于外流场问题如机翼、汽车等,勾选此项会加速初始化速度场的收敛
Ø Maintain Constant Velocity Magnitude:勾选此值,表示通过求解方程-0获得的流动方向,但流速保持相同。对于一些不可压缩的外部流动问题和多孔介质问题,此选项有帮助。
勾选此选项后的速度场和之前不同
2. Turbulence Settings:默认是勾选的,使用湍流参数的计算域平均值。如果不勾选,则表示使用可变的湍流参数。当这个选项被禁用时,表示使用局部流参数来计算湍流参数,如湍动能和耗散能。
3. Species Settings:默认情况下不勾选Specify Species Parameters,表示初始化计算域大部分组分的质量分数为0。勾选并设置值,则会按照设置的值进行初始化,类似与标准初始化指定值。
为什么说大部分区域质量分数为0?这是因为混合初始化是按照插值方式进行初始化,壁面处的组分质量分数是按照壁面边界条件进行初始化的。
比如勾选后设置为0.1,则壁面处仍是按边界条件初始化,但主流区域则为0.1
3. 初始化原则
我们把两种初始化方法比较详细的讲解了一下。在一些情况下初始化有一些技巧。
3.1 稳态初始化
标准初始化和混合初始化均可。选择混合初始化,收敛速度会更快。选择标准初始化,一般都是compute from选择inlet。初始化值不会影响最终的计算结果,可能会影响收敛速度。
3.2 瞬态初始化
对于比较难收敛的瞬态问题,可能需要一些就技巧。
1. 先稳态计算,把能够稳态的场计算完成后,比如模拟蒸发问题,把速度场、温度场等先稳态计算完成。但要禁用掉瞬态方程,也就是只算部分方程。
2. 然后在此基础之上,再进行瞬态计算。但不要初始化,而是把稳态计算的场当作初始化值。类似与混合初始化先把速度场和压力场计算几步。
3. 为什么禁用瞬态方程??比如蒸发过程一定是个瞬态过程,那么水蒸汽组分的质量分数和水的体积分数都是和蒸发过程直接相关的。如果先用稳态计算,必须先禁用这两个方程,否则收敛性一定很差。
4. 禁用方法:
a. 方法1:直接关掉这个模型,比如蒸发问题,关掉蒸发模型。待稳态计算完成后再打开。
b. 方法2:不必关模型,只需要在solution controls---Equations不勾选相关方程即可。
c. 比如对于蒸发问题,不勾选Volume Fraction和air h2o就不会计算这两个方程。而只会计算流动、能量和湍流方程。