膨胀层(边界层网格)
理论:为何只在壁面附近叠放薄网格
概述
我们的CFD阻力和实验差了三成。前辈问我“加膨胀层了吗?”,这是什么?
就是沿壁面叠放多层薄网格。壁面附近速度从0急剧增大到主流速度,形成边界层,摩擦阻力和传热都由这层薄薄的区域决定。只用四面体网格去捕捉,需要海量网格;而叠放沿壁面方向粗、只在法向细的棱柱网格,就能用少量网格分辨它。摩擦阻力占比大的流动中,没有它结果会严重偏离。
什么是 y+
$y$ 为到壁面的距离,$u_\tau$ 为摩擦速度,$\nu$ 为运动黏度。$y^+$ 是“以壁面附近流动尺度衡量的到壁距离”,约 $y^+ < 5$ 为黏性底层,30~300 左右为对数律区域。
| 壁面处理 | 第一层目标 y+ | 特点 |
|---|---|---|
| 解析到壁面(低雷诺数型、SST k-ω 等) | ≈ 1 | 适合分离和传热,网格多 |
| 壁面函数(标准 k-ε 等) | 30〜100 | 网格少,不擅长分离和低雷诺数区域 |
| 中间(5~30) | 避免 | 两种假设都不符合(具有自动壁面处理的模型除外) |
“壁面律”源自实验
壁面附近速度分布只由 $y^+$ 决定、呈现普适形状的“壁面律”,是20世纪30年代普朗特、冯·卡门等人整理管道和平板实验数据得出的。流速和管径各不相同的实验,在壁面附近重合为一条曲线。没有这一发现,就不会有“不求解壁面附近”的壁面函数,也不会有如今按 $y^+$ 确定网格的做法。CFD 的壁面处理建立在九十年前实验室的智慧之上。
算例:第一层厚度与层数
第一层厚度
20 ℃ 空气沿长1 m 的平板流动(在平板后缘评估),使用湍流边界层摩擦系数的近似式:
| 流速 | 雷诺数 | y+ = 1 的第一层 | y+ = 30 的第一层 | 边界层厚度 |
|---|---|---|---|---|
| 20 m/s | 1.3 × 10⁶ | 0.018 mm | 0.55 mm | 22 mm |
| 60 m/s | 4.0 × 10⁶ | 0.0066 mm | 0.20 mm | 18 mm |
y+ = 1 时,即使20 m/s 第一层也只有约0.02 mm,是边界层厚度的千分之一。
没错,所以才有了壁面函数。取 y+ = 30,第一层可以厚30倍。不过流速越高第一层越薄,同一个物体上前缘、后缘和分离点附近的 y+ 也差别很大。计算后一定要显示壁面 y+ 分布,确认是否落在预期范围内。
层数与增长率
$g$ 为增长率(每层厚度增大的倍数),$H_n$ 为 $n$ 层的总厚度。20 m/s、y+ = 1(第一层0.018 mm)时,覆盖约22 mm 厚的边界层所需层数如下:
| 增长率 | 层数 | 最后一层厚度 |
|---|---|---|
| 1.1 | 51 | 2.1 mm |
| 1.2 | 31 | 4.3 mm |
| 1.3 | 23 | 5.8 mm |
| 1.2(壁面函数,y+ = 30) | 13 | 4.9 mm |
解析到壁面需要30~50层,用壁面函数则十几层即可。增长率越大层数越少,但相邻网格厚度差增大,误差也随之增加。一般推荐约1.1~1.2,通常不超过1.3。
实务要点
网格生成技巧
- 与核心区的衔接:最后一层厚度与其外侧网格尺寸之比控制在约2倍以内。四面体核心区容易在最后一层之上形成细长四面体,可稍微减小核心尺寸或转换为多面体网格。
- 角部与窄缝:凹角和窄缝处各层相互碰撞,层数可能被自动削减(层塌陷)或产生劣质网格。要显示塌陷位置并确认。
- 传热:温度边界层厚度随普朗特数变化。水或油(普朗特数大)的温度边界层比速度边界层薄,评估传热时第一层要更薄。
- 网格无关性:用两三种不同第一层厚度确认阻力或换热系数不再变化。
“y+ 太小”比“太大”更可怕的情形
使用壁面函数的模型时,第一层太薄、y+ 降到5~10左右,就会脱离壁面函数所假设的对数律区域,摩擦和传热反而偏差更大。这是凭“越细越准”的直觉加薄第一层,结果比粗网格还差的例子。如今许多软件都提供按 y+ 自动切换壁面处理的模型,但一定要确认所用模型基于哪种假设。
常见错误
错误与对策
| 错误 | 后果 | 对策 |
|---|---|---|
| 没有膨胀层 | 摩擦阻力和传热严重偏差 | 按 y+ 加入膨胀层 |
| 模型与 y+ 不匹配 | 壁面处理的前提失效 | 解析到壁面取1,壁面函数取30以上 |
| 层数太少覆盖不了边界层 | 速度分布进入粗网格 | 总厚度达到边界层以上 |
| 增长率过大 | 相邻网格尺寸差带来误差 | 控制在约1.1~1.2 |
| 计算后不检查 y+ | 察觉不到 y+ 偏离预期 | 显示壁面 y+ 分布 |
我想换些流速和长度计算第一层。