标准k-ε模型
标准k-ε的理论基础
概要
老师,标准k-ε模型在湍流世界中是最著名的模型吧?能从基础开始教我吗?
Launder和Spalding(1974)提出的2方程式湍流模型。求解湍流能 $k$ 和其耗散率 $\varepsilon$ 的输运方程。工业CFD中使用最广泛的历史模型。
2方程式模型是指求解 $k$ 和 $\varepsilon$ 这2个方程吗?
没错。基于涡粘性假设(Boussinesq假设),用涡粘性系数 $\mu_t$ 近似Reynolds应力张量。形式如下。
输运方程
$k$ 和 $\varepsilon$ 各自的输运方程是什么形式?
首先是湍流能 $k$ 的方程。
接下来是耗散率 $\varepsilon$ 的方程。
其中涡粘性定义如下。
生成项 $P_k$ 用平均应变率张量 $S_{ij}$ 表示如下。
模型常数
请告诉我各常数的标准值。
标准k-ε模型的常数如下。这些值是Launder-Spalding从均匀各向同性湍流衰减数据和对数律等确定的。
| 常数 | 值 | 确定依据 |
|---|---|---|
| $C_\mu$ | 0.09 | 对数律区域的一致性 |
| $C_{\varepsilon 1}$ | 1.44 | 均匀剪切流实验 |
| $C_{\varepsilon 2}$ | 1.92 | 网格湍流衰减实验 |
| $\sigma_k$ | 1.0 | 湍流扩散经验值 |
| $\sigma_\varepsilon$ | 1.3 | 湍流扩散经验值 |
这些常数能改变吗?
原则上不应改变。但是有一种已知的"圆形射流修正",将 $C_{\varepsilon 1}$ 改为1.60以匹配圆形射流的扩展率。这种知识在实际工程中偶尔会用到。
强项与弱项
能总结一下标准k-ε的优缺点吗?
优点:
- 鲁棒性强,易于收敛
- 工业内部流(管道、风道)有丰富的工程经验
- 计算成本低
- 初始条件设置简便(由湍流强度和特征长度确定 $k$、$\varepsilon$)
缺点:
- 旋流、高曲率流中湍流能预测值过高
- 逆压力梯度下的分离捕捉不准确
- 壁面附近需要壁函数(标准模型为高Reynolds数型)
- 各向同性涡粘性假设的局限性,对强各向异性湍流不适用
为什么在旋流中预测值过大?
因为 $C_\mu$ 固定为常数0.09。在旋流和曲率强的区域,实际的 $C_\mu$ 应该更小,但标准模型无法反映这一点。这是Realizable k-ε模型改进的地方。
C_μ=0.09这个数字的分量——Launder和Spalding的执着
标准k-ε模型的常数C_μ=0.09是Launder和Spalding在1972年发表的论文中提出的。这个数字不是理论推导出来的,而是通过对管内湍流、边界层、后向台阶等多个实验数据的耐心拟合而得。当时还没有超级计算机,数值计算采用穿孔卡批处理方式。计算结果需要等待数天,然后根据返回的结果逐步调整常数。正是这种执着的标定工作,才为半个世纪后至今仍被誉为"首选k-ε"的信任基础奠定了基础。
标准k-ε的数值计算方法
有限体积法离散化
标准k-ε的输运方程在CFD求解器中如何求解?
CFD中的标准方法是有限体积法(FVM)。对 $k$ 和 $\varepsilon$ 的输运方程在单元体积内积分,用Gauss散度定理转换为单元面上的通量。一般的离散化方案选择如下。
| 项 | 推荐方案 | 备注 |
|---|---|---|
| 对流项 | 2阶迎风(Second Order Upwind) | 抑制数值扩散 |
| 扩散项 | 中心差分 | 2阶精度为标准 |
| 时间项(非定常) | 2阶隐式 | 稳定性和精度的平衡 |
为什么不能用1阶迎风?
1阶迎风的数值扩散太大,会严重降低湍流场的预测精度。特别在分离区和剪切层中问题突出。不过实务中有一种做法:开始用1阶迎风跑几个迭代初始化,然后切换到2阶,这样既保证收敛又提高精度。
SIMPLE系算法耦合
压力-速度耦合与k-ε方程的关系是怎样的?
SIMPLE、SIMPLEC、PISO等基于压力的求解器在一次迭代中采用以下顺序求解。
1. 求解动量方程(速度场的暂时更新)
2. 求解压力修正方程
3. 修正速度和压力
4. 求解 $k$ 方程
5. 求解 $\varepsilon$ 方程
6. 更新 $\mu_t$
7. 收敛判定 → 未收敛则回到第1步
$k$ 和 $\varepsilon$ 用分离求解法(segregated)依次求解是标准做法。密度基求解器(耦合)有时会同时求解所有变量。
松弛因子设置
松弛因子很重要吗?
非常重要。标准k-ε模型的推荐欠松弛因子(URF)如下。
| 变量 | 推荐URF(定常) | 备注 |
|---|---|---|
| 压力 | 0.3 | 收敛慢则降至0.2 |
| 动量 | 0.7 | |
| $k$ | 0.8 | |
| $\varepsilon$ | 0.8 | |
| 湍流粘性比 | 1.0 | 通常无需改动 |
如果 $k$ 或 $\varepsilon$ 的松弛太低会怎样?
收敛会变得极其缓慢。同时 $\mu_t$ 的更新滞后,导致速度场不匹配产生振荡。实在发散时,可尝试仅将 $\varepsilon$ 的URF降至0.5左右。
边界条件
入口处的湍流边界条件如何设置?
由湍流强度 $I$ 和湍流长度尺度 $l$ (或水力直径 $D_H$)计算是通用方法。
管内流的湍流强度约为 $I = 5\%$ 。外部流的远场则设为 $I = 0.1\sim1\%$ 较小。也可直接指定湍流粘性比 $\mu_t/\mu$ (通常1-10)。
壁面附近的y+管理——新手工程师最常踩的坑
k-ε模型的数值实现中,新人工程师一定会在壁面附近网格的y+管理上绊跟头。标准k-ε依赖壁函数,如果第一层单元进入粘性底层(y+<30),结果会严重失真。笔者的一个同事在汽车发动机舱的热流体分析中,使用了y+=5的网格,得到了很差的结果。后来重新学习了壁函数的适用范围,才重新计算。"用k-ε时y+应保持在30-300"——这是实战中的铁律。
标准k-ε的实际应用
适用场景选择
标准k-ε真正适用的问题具体是什么?
在以下场景中可靠性较高。
反过来应避免的情况:
- 翼型分离预测 → 用SST k-ω
- 旋风、旋转燃烧器 → Realizable k-ε或RSM
- 壁面传热精密评估 → 低Re型模型或壁面分辨网格
网格要求
标准k-ε模型的网格如何生成?
依赖壁函数,所以壁面第一层单元的 $y^+$ 必须在30-300范围内。这是最关键的点。
| $y^+$ 范围 | 状态 | 处理 |
|---|---|---|
| < 11.2 | 进入粘性底层 | 网格过细。切换到增强壁面处理或粗化网格 |
| 30-300 | 对数律区域 | 合适。标准壁函数有效 |
| > 300 | 对数律外 | 网格太粗。细化壁面 |
壁面外的网格密度需要多细?
剪切层和再循环区附近需要充分分辨。应至少在粗、中、密三个网格水平做网格无关性验证,用GCI(网格收敛指数)评估。
初始条件与收敛技巧
计算不收敛时怎么办?
实务中常用的技巧整理如下。
1. 分步启动:先用1阶迎风跑100-200步稳定,再切到2阶迎风
2. 初始场:合理设置 $k$ 和 $\varepsilon$ 初值。目标 $\mu_t/\mu \approx 10$
3. Courant数限制:压力基约200,发散倾向则降低
4. $\varepsilon$ 下限:$\varepsilon$ 为零或负会导致崩溃。确认最小值限制器
非定常计算呢?
非定常时时间步长很关键。主流域CFL数应≤1。每个时间步内运行20-30个子迭代,确认残差下降2-3个量级。
"先试k-ε"为何能通行——工厂配管分析现场
某家专做工厂配管流体分析的设计事务所,每年接单100多个项目,几乎全部用标准k-ε。即使年轻员工提议用SST"为什么不用SST?",回答总是"能向客户展示验证历史吗?"。标准k-ε在ANSYS、OpenFOAM、STAR等平台上都有20多年的产业案例积累,计算成本也低。在需要承担结果责任的实际工作中,"信任的历史"比模型精度的微小差别重要得多。
标准k-ε的软件比较
Ansys Fluent
Fluent中标准k-ε模型的设置步骤是什么?
Fluent GUI设置步骤如下。
1. Models → Viscous → k-epsilon (2 eqn) 选择
2. k-epsilon Model 中选 Standard
3. Near-Wall Treatment 中选 Standard Wall Functions
4. Model Constants 保持默认值($C_\mu=0.09$, $C_{\varepsilon 1}=1.44$, $C_{\varepsilon 2}=1.92$)
TUI命令如下。
```
/define/models/viscous/ke-standard yes
/define/models/viscous/near-wall-treatment/standard-wall-fn yes
```
Fluent壁函数选项有何区别?
Fluent有3种选项。
| 壁函数 | $y^+$ 要求 | 特点 |
|---|---|---|
| Standard Wall Functions | 30-300 | Launder-Spalding。最基础 |
| Scalable Wall Functions | 任意 | $y^+<11.2$ 时自动修正 |
| Enhanced Wall Treatment | $y^+ \approx 1$ | 双层模型。需壁面分辨网格 |
Ansys CFX
CFX中如何设置?
CFX-Pre中选 Domain → Fluid Models → Turbulence → k-Epsilon。CFX默认用Scalable壁函数,自动适应不同 $y^+$。CCL格式如下。
```
TURBULENCE MODEL:
Option = k-Epsilon
END
```
OpenFOAM
OpenFOAM的设置方法?
在 constant/turbulenceProperties 中写入:
```
simulationType RAS;
RAS
{
RASModel kEpsilon;
turbulence on;
printCoeffs on;
}
```
壁面边界条件在 0/ 目录各变量中设置。
```
// 0/k 的壁面补丁
wall
{
type kqRWallFunction;
value uniform 0.1;
}
// 0/epsilon 的壁面补丁
wall
{
type epsilonWallFunction;
value uniform 10;
}
// 0/nut 的壁面补丁
wall
{
type nutkWallFunction;
value uniform 0;
}
```
STAR-CCM+
STAR-CCM+呢?
在 Physics Continuum 中选择:
1. Turbulent → RANS
2. K-Epsilon Turbulence → Standard K-Epsilon
3. Wall Treatment → High y+ Wall Treatment(使用壁函数时)
STAR-CCM+也提供All y+ Wall Treatment,根据y+值自动混合壁函数和壁面分辨法。
同样的k-ε结果却不同——求解器迁移的陷阱
某厂商把Fluent分析转到STAR-CCM+时,虽然都选了"标准k-ε",但压力损失计算值偏差超过10%。调查发现壁函数实现(enhanced wall treatment有无)和低Reynolds数修正的默认值不同。"k-ε虽然名字相同,内部实现略有不同",这在求解器间很常见。迁移时务必在相同几何、相同边界条件下交叉验证。
标准k-ε的前沿研究
k-ε模型族对比
标准k-ε的改进版本有哪些?
k-ε族的三个主要模型对比如下。
| 项目 | Standard | RNG | Realizable |
|---|---|---|---|
| $C_\mu$ | 0.09(常数) | 0.0845(RNG推导) | 可变 $C_\mu(S,\Omega)$ |
| $\varepsilon$ 方程 | 标准形式 | 加入R项 | 新型$\varepsilon$方程 |
| 旋流 | 不擅长 | 略有改善 | 大幅改善 |
| 低Re效应 | 无 | 微分粘性模型 | 无 |
| 当前推荐度 | 低 | 中 | 高 |
标准k-ε不用了吗?
在保持既有验证历史和过往计算一致性的情况下仍然有用。新的分析则推荐首选Realizable k-ε或SST k-ω。
湍流粘性比限制器
听说 $\mu_t/\mu$ 有时会异常增大。
在k-ε模型中 $\mu_t = \rho C_\mu k^2/\varepsilon$,当 $\varepsilon$ 变小时 $\mu_t$ 会爆炸式增长。多数求解器设有 $\mu_t/\mu$ 的上限限制器(默认约$10^5$)。
Fluent中可用TUI查看或修改。
```
/define/models/viscous/turbulence-expert/turb-viscosity-ratio-limit
```
k-ε模型的PINN/机械学习校正
最新研究进展怎样?
数据驱动型的湍流模型校正研究很活跃。维持k-ε框架下,尝试以下方法。
- 场反演与机械学习(FIML):从DNS/LES数据学习 $\beta$ 修正场,把 $P_k$ 替换为 $\beta \cdot P_k$
- 张量基神经网络(TBNN):用不变量和张量基函数学习Reynolds应力的非线性项
- $C_\mu$ 局部自适应:根据流场特征量局部调整 $C_\mu$
这些能在商用求解器中用吗?
目前多数还在研究阶段。但Fluent 2024后版通过UDF可轻松嵌入自定义湍流模型,OpenFOAM更可直接修改源代码。
k-ε的"变形体"为何如此之多
以标准k-ε为起点衍生出的模型数十种,包括RNG k-ε、Realizable k-ε、AKN、Yang-Shih、Chien等。某位湍流模型研究者说"k-ε是'改造的基础角色'"。因为基础形式简单易懂,想改进特定缺点的研究者独自修改,又被其他研究者进一步改进,这个循环没完没了。反过来说,正因为标准k-ε的缺点明确(曲率、旋流、逆压力梯度下的过大评估),改进方向一目了然,所以改进版本层出不穷。
标准k-ε的故障排除
常见问题及对策
标准k-ε计算时容易踩的坑有哪些?
1. 发散(Divergence)
现象:残差增大计算停止。出现"浮点异常"等错误。
原因与对策:
- $\varepsilon$ 接近0:初值 $\varepsilon$ 太小 → 用 $\mu_t/\mu = 1\sim10$ 来设初值
- 网格品质差:高纵横比单元或负体积 → 网格品质检查(斜率<0.95,正交性>0.1)
- 形状陡变:台阶、急扩大 → 降低松弛系数,用1阶迎风初始化再换2阶
2. 壁面y+超出范围
$y^+$ < 30的壁面会怎样?
标准壁函数失效,壁面摩擦系数和传热系数不准。三种对策:
1. 网格粗化:增大Inflation层第一层高度
2. 切到Scalable壁函数:$y^+ = \max(y^+, 11.2)$ 计算,更安全
3. 改用增强壁处理:此时网格需细化至 $y^+ \approx 1$
3. 分离位置偏差
后向台阶流的重附长度与实验不符。
标准k-ε的典型问题。$P_k$ 过大评估导致再循环区偏短。
对策:
- 切到Realizable k-ε:$C_\mu$ 可变化,有改善
- 切到SST k-ω:分离流预测最可靠
- 启用 $P_k$ 限制器:Kato-Launder修正($P_k = \mu_t S \Omega$)。Fluent中TUI可设置
4. 非物理湍流值
淀积点附近湍流能异常高是为什么?
这是"淀积点异常"问题。淀积点的法向应变速率很大,导致 $P_k = \mu_t S^2$ 过大。
对策:
- Kato-Launder修正:用涡度 $\Omega$ 与应变速度 $S$ 结合修正生成项
- 生成项限制:$P_k \leq c \cdot \rho \varepsilon$($c \approx 10$)截断
- Fluent:
/define/models/viscous/turbulence-expert/kato-launder yes
有时改模型比修复参数快吗?
当然有。这些问题若影响解析的关键关注点,应毫不犹豫地考虑切到SST k-ω或Realizable k-ε。改模型只需分钟级,但网格修复或参数调试可能要数小时。
"发散了"通常不是湍流模型的错
k-ε发散时常疑是"模型坏了",但现场经验表明8成以上是网格品质或边界条件设置错。尤其是入口湍流强度设成0%,k初值为0,ε变零导致除以零的案例是经典故障。"乱流强度1-5%,乱流长度尺度取代表长的10%"作为入口的暂定值一输入,发散竟然变收敛,这样的例子看了不少。先检查边界条件,再怀疑模型。
相关主题
错误