建议大家一起讨论一下湍流边界条件该如何设置本人也是刚刚接触 Fluent 系列软件不久,在应用它来求解 CFD 问题时遇到了不少问题,也得到了很多宝贵经验,其中湍流边界条件的设置就是一个很棘手的问题最近对该问题总结经验如下:在入口、出口或远场边界流入流域的流动,FLUENT 需要指定输运标量的值本节描述了对于特定模型需要哪些量,并且该如何指定它们也为确定流入边界值最为合适的方法提供了指导方针使用轮廓指定湍流参量在入口处要准确的描述边界层和完全发展的湍流流动,你应该通过实验数据和经验公式创建边界轮廓文件来完美的设定湍流量如果你有轮廓的分析描述而不是数据点,你也可以用这个分析描述来创建边界轮廓文件,或者创建用户自定义函数来提供入口边界的信息一旦你创建了轮廓函数,你就可以使用如下的方法: Spalart-Allmaras 模型:在湍流指定方法下拉菜单中指定湍流粘性比,并在在湍流粘性比之后的下拉菜单中选择适当的轮廓名通过将 m_t/m 和密度与分子粘性的适当结合, FLUENT 为修改后的湍流粘性计算边界值 k-e 模型:在湍流指定方法下拉菜单中选择 K 和 Epsilon 并在湍动能(Turb. Kinetic Energy)和湍流扩散速度(Turb. Dissipation Rate)之后的下拉菜单中选择适当的轮廓名。
雷诺应力模型:在湍流指定方法下拉菜单中选择 K 和 Epsilon 并在湍动能(Turb. Kinetic Energy)和湍流扩散速度( Turb. Dissipation Rate)之后的下拉菜单中选择适当的轮廓名在湍流指定方法下拉菜单中选择雷诺应力部分,并在每一个单独的雷诺应力部分之后的下拉菜单中选择适当的轮廓名湍流量的统一说明在某些情况下流动流入开始时,将边界处的所有湍流量指定为统一值是适当的比如说,在进入管道的流体,远场边界,甚至完全发展的管流中,湍流量的精确轮廓是未知的在大多数湍流流动中,湍流的更高层次产生于边界层而不是流动边界进入流域的地方,因此这就导致了计算结果对流入边界值相对来说不敏感然而必须注意的是要保证边界值不是非物理边界非物理边界会导致你的解不准确或者不收敛对于外部流来说这一特点尤其突出,如果自由流的有效粘性系数具有非物理性的大值,边界层就会找不到了你可以在使用轮廓指定湍流量一节中描述的湍流指定方法,来输入同一数值取代轮廓你也可以选择用更为方便的量来指定湍流量,如湍流强度,湍流粘性比,水力直径以及湍流特征尺度,下面将会对这些内容作一详细叙述湍流强度 I 定义为相对于平均速度 u_avg 的脉动速度 u^'的均方根。
小于或等于 1%的湍流强度通常被认为低强度湍流,大于 10%被认为是高强度湍流从外界,测量数据的入口边界,你可以很好的估计湍流强度例如:如果你模拟风洞试验,自由流的湍流强度通常可以从风洞指标中得到在现代低湍流风洞中自由流湍流强度通常低到 0.05% 对于内部流动,入口的湍流强度完全依赖于上游流动的历史,如果上游流动没有完全发展或者没有被扰动,你就可以使用低湍流强度如果流动完全发展,湍流强度可能就达到了百分之几完全发展的管流的核心的湍流强度可以用下面的经验公式计算:例如,在雷诺数为 50000 是湍流强度为 4%湍流尺度 l 是和携带湍流能量的大涡的尺度有关的物理量在完全发展的管流中,l 被管道的尺寸所限制,因为大涡不能大于管道的尺寸L 和管的物理尺寸之间的计算关系如下: 其中 L 为管道的相关尺寸因子 0.07 是基于完全发展湍流流动混合长度的最大值的,对于非圆形截面的管道,你可以用水力学直径取代 L如果湍流的产生是由于管道中的障碍物等特征,你最好用该特征长度作为湍流长度 L 而不是用管道尺寸 注意:公式 并不是适用于所有的情况它只是在大多数情况下得很好的近似对于特定流动,选择 L 和 l 的原则如下: 对于完全发展的内部流动,选择强度和水力学直径指定方法,并在水力学直径流场中指定 L=D_H。
对于旋转叶片的下游流动,穿孔圆盘等,选择强度和水力学直径指定方法,并在水力学直径流场中指定流动的特征长度为 L 对于壁面限制的流动,入口流动包含了湍流边界层选择湍流强度和长度尺度方法并使用边界层厚度 d_99 来计算湍流长度尺度 l,在湍流长度尺度流场中输入 l=0.4 d_99 这个值湍流粘性比 m_t/m 直接与湍流雷诺数成比例 (Re_t ?k^2/(e n))Re_t 在高湍流数的边界层,剪切层和完全发展的管流中是较大的(100 到 1000)然而,在大多数外流的自由流边界层中 m_t/m 相当的小湍流参数的典型设定为 1 < m_t/m <10要根据湍流粘性比来指定量,你可以选择湍流粘性比(对于 Spalart-Allmaras 模型)或者强度和粘性比(对于 k-e 模型或者 RSM)推导湍流量的关系式要获得更方便的湍流量的输运值,如:I, L,或者 m_t/m,你必须求助于经验公式,下面是FLUENT 中常用的几个有用的关系式要获得修改的湍流粘性,它和湍流强度 I 长度尺度l 有如下关系:在 Spalart-Allmaras 模型中,如果你要选择湍流强度和水力学直径来计算 l 可以从前面的公式中获得。
湍动能 k 和湍流强度 I 之间的关系为:其中 u_avg 为平均流动速度除了为 k 和 e 指定具体的值之外,无论你是使用湍流强度和水力学直径,强度和长度尺度或者强度粘性比方法,你都要使用上述公式如果你知道湍流长度尺度 l 你可以使用下面的关系式:其中 是湍流模型中指定的经验常数(近似为 0.09),l 的公式在前面已经讨论了除了为 k 和 e 制定具体的值之外,无论你是使用湍流强度和水力学直径还是强度和长度尺度,你都要使用上述公式E 的值也可以用下式计算,它与湍流粘性比 m_t/m 以及 k 有关:其中 是湍流模型中指定的经验常数(近似为 0.09)除了为 k 和 e 制定具体的值之外,无论你是使用湍流强度和水力学直径还是强度和长度尺度,你都要使用上述公式 如果你是在模拟风洞条件,在风洞中模型被安装在网格和/或金属网格屏下游的测试段,你可以用下面的公式:其中, 是你希望的在穿过流场之后 k 的衰减(比方说 k 入口值的 10%), 自由流的速度 是流域内自由流的流向长度 Equation 9 是在高雷诺数各向同性湍流中观察到的幂率衰减的线性近似它是基于衰减湍流中 k 的精确方程 U ?k/?x = - e. 如果你用这种方法估计 e,你也要用方程 7 检查结果的湍流粘性比 m_t/m,以保证它不是太大。
虽然这不是 FLUENT 内部使用的方法,但是你可以用它来推导 e 的常数自由流值,然后你可以用湍流指定方法下拉菜单中选择 K 和 Epsilon 直接指定在这种情况下,你需要使用方程 3 从 I 来计算 k当使用 RSM 时,如果你不在雷诺应力指定方法的下拉列表中使用雷诺应力选项,明显的制定入口处的雷诺应力值,它们就会近似的由 k 的指定值来决定湍流假定为各向同性,保证以及(下标 a 不求和 ). 如果你在雷诺应力指定方法下拉列表中选择 K 或者湍流强度,FLUENT 就会使用这种方法对大涡模拟(LES)指定入口湍流大涡模拟模型一节中所描述的 LES 速度入口中指定的的湍流强度值,被用于随机扰动入口处速度场的瞬时速度它并不指定被模拟的湍流量正如大涡模拟模型中介绍的边界条件中所描述的,通过叠加每个速度分量的随机扰动来计算流动入口边界处的随机成分.压力入口边界条件压力入口边界条件用于定义流动入口的压力以及其它标量属性它即可以适用于可压流,也可以用于不可压流压力入口边界条件可用于压力已知但是流动速度和/或速率未知的情况这一情况可用于很多实际问题,比如浮力驱动的流动压力入口边界条件也可用来定义外部或无约束流的自由边界。
对于流动边界条件的概述,请参阅流动入口和出口一节压力入口边界条件的输入综述对于压力入口边界条件你需要输入如下信息 驻点总压 驻点总温 流动方向 静压 湍流参数(对于湍流计算) 辐射参数(对于使用 P-1 模型、DTRM 模型或者 DO 模型的计算) 化学组分质量百分比(对于组分计算) 混合分数和变化(对于 PDF 燃烧计算) 程序变量(对于预混和燃烧计算) 离散相边界条件(对于离散相的计算) 次要相的体积分数(对于多相计算)所有的值都在压力入口面板中输入(Figure 1),该面板是从边界条件打开的Figure 1: 压力入口面板压力输入和静压头压力场(p_s^')和压力输入 (p_s^' or p_0^')包括静压头 r_0 g x也就是 FLUENT 以下式定义的压力:或者这一定义允许静压头放进体积力项(r - r_0)g 中考虑,而且当密度一致时,从压力计算中排除了因此你的压力输入不因该考虑静压的微分,压力(p^'_s)的报告也不会显示静压的任何影响有关浮力驱动流动的内容请参阅浮力驱动流动和自然对流的信息定义总压和总温在压力入口面板中的 Gauge Total Pressure field 输入总压值。
总温会在 Total Temperature field 中设定记住,总压值是在操作条件面板中定义的与操作压力有关的的总压值不可压流体的总压定义为:对于可压流体为:其中:p_0 =总压p_s = 静压M = 马赫数c = 比热比(c_p/c_v)如果模拟轴对称涡流,方程 1 中的 v 包括了旋转分量如果相邻区域是移动的(即:如果使用旋转参考坐标系,多重参考坐标系,混合平面或者滑移网格),而且你是使用分离解算器那么方程 1 中的速度(或者方程 3 中的马赫数)将是绝对的,或者相对与网格速度这依赖于解算器面板中绝对速度公式是否激活对于耦合解算器,方程 1 中的速度(或者方程 3 中的马赫数)通常是在绝对坐标系下的速度看了你的问题我也碰到过,你的初始是如何设置的?FLUENT 的初始化面板中有一项是设置从哪个地方开始计算(compute from), 选择从不同的边界开始计算有很大的区别吗? 一般是选取 ALL ZONE,即所有区域的平均处理,通常也可选择有代表性的进口 (如多个进口时)进行初始化对于一般流动问题,初始值的设定并不重要, 因为计算容易收敛。
但当几何条件复杂,而且流动速度高变化快(如音速流动) , 初始条件要仔细选择如果不收敛,还应试验不同的初始条件,甚至逐次改变边界 条件最后达到所要求的条件 2 要判断自己模拟的结果是否是正确的,似乎解的收敛性要比那些初始条件和 边界条件更重要,可以这样理解吗?也就是说,对于一个具体的问题,初始条件 和边界条件的设定并不是唯一的,为了使解收敛,需要不断调整初始条件和 边界条件直到解收敛为止,是吗?如果解收敛了,是不是就可以基本确定模拟 的结果是正确的呢? 对于一个具体的问题,边界条件的设定当然是唯一的,只不过初始化时可以选择 不同的初始条件(指定常流),为了使解的收敛比较好,我一般是逐渐的调节边界 条件到额定值( "额定值" 是指你题目中要求的入口或出口条件,例如计算一个管 内流动,要求入口压力和温度为 10MPa 和 3000K,那么我开始叠代时选择入口压力和 温度为 1MPa 和 500K(假设,这看你自己问题了),等流场计算的初具规模、收敛的 较好了,再逐渐调高压力和温度,经过好几次调节后最终到达额定值 10MPa 和 3000K, 这样比一开始就设为 10MPa 和 3000K 收敛的要好些)这样每次叠代可以比较容易收敛, 每次调节后不用再初始化即自动调用上次的解为这次的初始解,然后继续叠代。
即使解收敛了,这并不意味着就可。