壁函数

类别:流体分析(CFD)| 整合版 2026-04-06
CAE visualization for wall function theory - technical simulation diagram
壁函数

壁函数的理论基础

概述

🧑‍🎓

老师,壁函数经常要求「y+要30以上」,这到底是为什么呢?


🎓

壁面附近的湍流边界层有粘性底层、缓冲层、对数层三个明确的结构。壁函数是利用其中对数层的速度分布,保持壁面附近单元粗糙状态计算的手法。不需要直接求解粘性底层,可以大幅削减网格数量。


🧑‍🎓

是不是干脆就跳过粘性底层了?


🎓

严格地说,不是「跳过」,而是用半经验函数近似壁面附近的速度、温度、湍流量。这就是壁函数的本质。


壁面边界层的结构

🧑‍🎓

首先请讲讲边界层的结构。


🎓

从靠近壁面开始,有三个区域。


区域$y^+$ 范围主导效应速度分布
粘性底层$y^+ < 5$分子粘性主导$u^+ = y^+$(线性)
缓冲层$5 < y^+ < 30$粘性和湍流混合过渡区(无明确公式)
对数层$30 < y^+ < 300$湍流应力主导$u^+ = \frac{1}{\kappa}\ln(y^+) + B$
🎓

这里无量纲量的定义如下。


$$ y^+ = \frac{y\, u_\tau}{\nu}, \quad u^+ = \frac{U}{u_\tau}, \quad u_\tau = \sqrt{\frac{\tau_w}{\rho}} $$

$u_\tau$ 是摩擦速度,$\tau_w$ 是壁面剪应力,$\nu$ 是动力粘性系数。


对数律(Law of the Wall)

🧑‍🎓

请详细讲讲对数律的公式。


🎓

对数层中的速度分布用以下公式表示。


$$ u^+ = \frac{1}{\kappa}\ln(E\, y^+) $$

这里 $\kappa \approx 0.41$(von Karman常数)、$E \approx 9.793$(光滑面的积分常数)。改写为:


$$ u^+ = \frac{1}{\kappa}\ln(y^+) + B, \quad B = \frac{1}{\kappa}\ln(E) \approx 5.5 $$

🧑‍🎓

粗糙壁面的情况怎么处理?


🎓

粗面上的常数会根据粗糙度高度 $k_s$ 进行修正。


$$ u^+ = \frac{1}{\kappa}\ln\left(\frac{y^+}{f(k_s^+)}\right) + B $$

这里 $k_s^+ = k_s u_\tau / \nu$ 是粗糙度Reynolds数。$k_s^+ < 2.25$ 时为水力光滑面,$k_s^+ > 90$ 时为完全粗面。


壁函数的种类

🧑‍🎓

壁函数也有不同种类吗?


🎓

大体上分为三种。


壁函数种类特点$y^+$ 要求
标准壁函数严格应用对数律。Launder-Spalding (1974)$30 < y^+ < 300$
可伸缩壁函数当 $y^+ < 11.225$ 时切换为粘性底层公式无限制(内部补正)
增强壁面处理低Re阻尼 + 壁函数混合$y^+ \approx 1$ 最理想
🎓

标准壁函数是最经典的方法,需要第一个单元的 $y^+$ 在30~300范围内。这个范围外精度会大幅下降。


🧑‍🎓

明白了,所以才要求「y+要30以上」。反过来,低Reynolds数模型需要 $y^+ \approx 1$。

知识漫谈 小知识

对数律的发现——Prandtl和弟子们的细致实验

壁函数的理论基础「对数律」的发现源于Ludwig Prandtl及其弟子们在20世纪初进行的耐心管内湍流实验。距离壁面较远的湍流区域速度分布遵循对数函数这一事实,最初是从实验数据经验地得出的,后来才有理论推导。这个百年前的实验数据支撑着今天每天数百万次CFD计算中的壁函数应用,足可见其生命力。

壁函数的数值计算手法

壁函数的数值实现

🧑‍🎓

壁函数在求解器中具体怎么实现的?


🎓

壁函数作为壁面边界条件实现。从靠近壁的单元中心(质心)的值,计算出壁面的剪应力、热流束、湍流量。在FVM(有限体积法)的CFD求解器中,壁函数介入壁面通量的计算。


运动量的壁函数

🧑‍🎓

速度场的壁函数怎么计算?


🎓

靠近壁单元中心的速度 $U_P$ 与壁面剪应力 $\tau_w$ 的关系,从对数律反推。


$$ \frac{U_P}{u_\tau} = \frac{1}{\kappa}\ln(E\, y_P^+) $$

求解 $\tau_w$ 得:


$$ \tau_w = \frac{\rho\, \kappa\, U_P\, u_\tau}{\ln(E\, y_P^+)} $$

🎓

但 $u_\tau = \sqrt{\tau_w/\rho}$,所以 $\tau_w$ 隐含在式子中。实现时通常用牛顿法或简单迭代法反复求解,或者定义等效涡粘性。


$$ \mu_{t,\text{wall}} = \frac{\rho\, \kappa\, u_\tau\, y_P}{\ln(E\, y_P^+)} - \mu $$

k 和 epsilon 的壁边界条件

🧑‍🎓

湍流量 $k$ 和 $\varepsilon$ 怎样设定边界条件?


🎓

靠近壁的单元中 $k$ 和 $\varepsilon$ 设定如下。


$$ k_P = \frac{u_\tau^2}{\sqrt{C_\mu}}, \quad \varepsilon_P = \frac{u_\tau^3}{\kappa\, y_P} $$

这里 $C_\mu = 0.09$。$\varepsilon$ 一般作为单元中心值直接赋值(固定值)。$k$ 有些求解器求解运输方程到靠近壁的单元,有些则用上式固定。


🧑‍🎓

这样各求解器处理方式不同啊。


🎓

完全对。Ansys Fluent中,$k$ 求解运输方程同时用壁函数修正壁面生成项,$\varepsilon$ 在靠近壁的单元强制上式的值。OpenFOAM的 epsilonWallFunction 也是类似的实现。


温度的壁函数

🧑‍🎓

热的壁函数也有吗?


🎓

有的。温度场也有类似对数律的壁函数。标准做法是用Jayatilleke (1969)的P函数。


$$ T^+ = \text{Pr}_t \left[ \frac{1}{\kappa}\ln(E\, y^+) + P(\text{Pr})\right] $$

$$ P(\text{Pr}) = 9.24 \left[ \left(\frac{\text{Pr}}{\text{Pr}_t}\right)^{3/4} - 1\right]\left[1 + 0.28\, e^{-0.007\text{Pr}/\text{Pr}_t}\right] $$

🎓

这里 $\text{Pr}_t \approx 0.85$(湍流Prandtl数),$\text{Pr}$ 是分子Prandtl数。空气($\text{Pr} \approx 0.71$)的P函数补正较小,但油类($\text{Pr} > 100$)等高Prandtl数流体会有较大影响。


y+ 的事前估算

🧑‍🎓

网格生成前有办法估算 $y^+$ 吗?


🎓

可以用平板边界层的经验公式估算。


$$ C_f \approx 0.058\, Re_L^{-0.2} $$
$$ \tau_w = \frac{1}{2} C_f \rho U_\infty^2 $$
$$ u_\tau = \sqrt{\tau_w / \rho} $$
$$ y = \frac{y^+ \nu}{u_\tau} $$

🧑‍🎓

也就是说,从目标 $y^+$ 和代表Reynolds数可以反推第一层厚度 $y$。这样就能设定膨胀层了。

知识漫谈 小知识

y+计算工具的真正价值——「事前估算」文化的确立

如今搜索「y+ calculator」就能找到无数在线工具,但这些工具普及是在2010年代以后。那之前的CFD工程师通过手算或表格用边界层解析解(Blasius公式等)来估算第一层厚度。「试着切网格,计算后再确认y+」的做法逐渐被「先算y+,再设计网格」的事前估算文化取代,这个转变与计算工具的普及密不可分。即使现在,一开始进行分析时坚持y+事前推算的工程师,也很少在结果上遇到麻烦。

壁函数的实务应用

实务中的壁函数选择流程

🧑‍🎓

实际项目中怎样选择壁函数?


🎓

基本判断流程是这样的。


1. 壁面现象对结果是否重要? -- 如果分离、过渡、热传递是重点,选低Re分析($y^+ \approx 1$)而非壁函数

2. 计算成本有约束吗? -- 数千万单元以上的大型工业问题,壁函数更现实

3. Reynolds数多大? -- 高Re流($Re > 10^6$)中壁函数更稳定


网格设计的实务指针

🧑‍🎓

用壁函数时网格要注意什么?


🎓

最重要的是第一层单元的 $y^+$ 要保持在对数层范围内。


壁函数类型目标 $y^+$第一层成长率边界层内推荐层数
标准壁函数30~1001.2~1.38~15层
可伸缩壁函数30~300(自动补正)1.2~1.38~15层
增强壁面处理1~51.1~1.215~25层
🎓

实务中最常见的失误是 $y^+$ 落在缓冲层(5~30)。标准壁函数无法正确表现此区域的速度分布,导致壁面摩擦系数和热传递系数大幅偏离。


🧑‍🎓

网格生成后怎样确认 $y^+$?


🎓

各求解器都能输出壁面 $y^+$ 的等高图。

  • Fluent: Report > Surface Integrals > Wall Yplus,或等高线显示
  • STAR-CCM+: Wall Y+ 场函数
  • OpenFOAM: 运行 yPlus 工具

壁函数失效的情况

🧑‍🎓

什么情况下壁函数不适用?


🎓

以下情况壁函数的前提(稳态、平衡边界层、对数层成立)会崩塌。


情况原因推荐方法
大规模分离(钝物体后)不存在对数层低Re模型或LES
强压力梯度(扩散段偏离对数律较大非平衡壁函数或增强壁面处理
过渡流(翼型层流区)与层流假设矛盾过渡模型($\gamma$-$Re_\theta$)
浮力驱动流(自然对流速度分布与对数律不同低Re模型
高马赫数压缩性流可压性效应改变壁面律可压性壁函数
🧑‍🎓

从产业实践看,哪种壁函数用得最多?


🎓

汽车、建筑外部空气动力学多用可伸缩壁函数。涡轮机械中SST k-omega的自动壁面处理事实上是标准。这种做法内部自动根据 $y^+$ 切换壁函数和低Re分析,对网格品质很有鲁棒性,备受推崇。

知识漫谈 小知识

热流束计算中的壁函数——温度和速度为何需要不同的y+

涉及热传递的分析中,速度场和温度场需要分别应用壁函数。速度对数律在湍流Prandtl数为0.7~0.9的流体中相对稳健,但液态金属(Prandtl数<<1)或高粘度流体的温度对数律可能失效。某电子设备冷却CFD分析中,速度y+为35(很好),但热流束却是实验值的2倍,原因是水的低Prandtl数区域热壁函数不适用。「涉及热才需更谨慎对待壁函数」是实务的重要经验。

壁函数的软件比较

求解器别的壁函数实现

🧑‍🎓

壁函数的实现在求解器间差异大吗?


🎓

基本思路相同,具体的实现名称和自动切换逻辑有差异。对比看看。


求解器标准壁函数可伸缩/自动切换低Re/增强
Ansys Fluent标准壁函数可伸缩壁函数增强壁面处理
Ansys CFX--自动壁面处理(标准)--
STAR-CCM+标准壁函数y+ 壁处理y+ 壁处理
OpenFOAMnutUWallFunction + kqRWallFunctionnutUSpaldingWallFunctionnutLowReWallFunction
🧑‍🎓

CFX没有标准壁函数?


🎓

CFX的自动壁面处理是与SST k-omega一体设计的,自动根据 $y^+$ 混合粘性底层分析和对数律,无需单独选标准。这是CFX的一大特色。


OpenFOAM的壁函数边界条件

🧑‍🎓

OpenFOAM的设置方法讲讲。


🎓

典型的壁函数BC组合如下。


变量标准壁函数Spalding壁函数(全 $y^+$ 适用)
nutnutUWallFunctionnutUSpaldingWallFunction
kkqRWallFunctionkqRWallFunction
epsilonepsilonWallFunctionepsilonWallFunction
omegaomegaWallFunctionomegaWallFunction
🎓

Spalding壁函数采用Spalding (1961)的方程 $y^+ = u^+ + e^{-\kappa B}\left[e^{\kappa u^+} - 1 - \kappa u^+ - \frac{(\kappa u^+)^2}{2} - \frac{(\kappa u^+)^3}{6}\right]$,覆盖全 $y^+$ 范围。无论是粘性底层($y^+ < 5$)还是对数层($y^+ > 30$)都能连续接续,对网格品质鲁棒。


求解器选择的指针

🧑‍🎓

从壁函数角度选求解器,怎样考虑?


🎓

判断基准整理如下。


判断基准FluentCFXSTAR-CCM+OpenFOAM
壁函数选择余地多(3种+非平衡WF)少(仅自动)3种(低/高/全 y+多(易定制)
自动 $y^+$ 适配增强WT适配标准适配全y+适配Spalding WF适配
粗面模型Cebeci-Chang式适配砂粒适配砂粒适配nutURoughWallFunction
温度壁函数Jayatilleke P函数自动3种alphatWallFunction系
🧑‍🎓

实务中怎么推荐?


🎓

网格品质波动大的产业问题,用全 $y^+$ 适配的壁函数比较保险。Fluent选增强壁面处理,STAR-CCM+选全 y+ 壁处理,OpenFOAM选 nutUSpaldingWallFunction。CFX默认自动切换,无需特别考虑。

知识漫谈 小知识

OpenFOAM的壁函数菜单——选项过多的困扰

OpenFOAM的nutWallFunction词典中有kqRWallFunction、nutKWallFunction、nutUSpaldingWallFunction等多个选项。初学者常常«谁了该选哪个»是很正常的,OpenFOAM用户论坛每个月都有同样问题。答案是«根据湍流模型和y+范围决定»,但nutUSpaldingWallFunction覆盖全y+范围,对y+适应最宽松,许多用户在迷茫时都选这个作为保险的起点。

壁函数的先端研究

非平衡壁函数

🧑‍🎓

有压力梯度的流中标准壁函数用不了,有替代手段吗?


🎓

有。Kim-Choudhury (1995)和Craft et al. (2002)提出的非平衡壁函数。靠近壁的单元内考虑压力梯度和对流效应,解析积分速度分布。


🎓

Fluent的非平衡壁函数基于这思想。靠近壁单元的 $k$ 预算方程纳入考虑,压力梯度影响如下纳入:


$$ \tilde{u}^+ = \frac{1}{\kappa}\ln(E\, y^+) + \frac{\Delta p}{\tau_w}\cdot g(y^+) $$

这里 $g(y^+)$ 是表示压力梯度效应的修正函数。


自适应壁函数(Adaptive Wall Function)

🧑‍🎓

近期有什么进展?


🎓

自适应壁函数(Popovac-Hanjalic, 2007)引人注目。它在靠近壁的单元内解简化的1D RANS方程,高精度地估算壁面通量。


🎓

靠近壁的单元内引入虚拟的子网格,用下式解单元内速度分布 $U(y)$。


$$ \frac{d}{dy}\left[(\mu + \mu_t(y))\frac{dU}{dy}\right] = \frac{dp}{dx} $$

这样做的好处是,即使对数律不成立的地方,也能获得精确的壁面剪应力。OpenFOAM可以定制实现,已在研究应用中使用。


LES/DES向壁模型(WMLES)

🧑‍🎓

LES也有壁函数式的方法吗?


🎓

有。壁建模LES(WMLES)。LES中壁面附近涡尺度极小,直接解的话网格数正比于 $Re^{13/7}$ 爆炸。所以只在壁面附近用RANS式壁模型,外层用LES求解。


🎓

代表的WMLES壁模型有:

  • 平衡应力模型:对数律基础。最简单
  • ODE平衡模型:壁面附近解TBL方程
  • 积分壁模型 (Kawai-Larsson, 2012):壁面附近运动量方程积分

🧑‍🎓

WMLES用哪些求解器支持?


🎓

Fluent(2020R2起支持WMLES)、STAR-CCM+(WMLES选项)、OpenFOAM(多种定制实现)。随LES应用于航空航天、汽车产业扩大,WMLES重要性急速上升。


机器学习的壁模型

🧑‍🎓

用AI改进壁函数也有研究吗?


🎓

有。用DNS数据训练,用神经网络预测壁面通量的研究日益活跃。Yang et al. (2019)、Lozano-Duran et al. (2020)等工作用ML构建壁模型,纳入压力梯度、曲率效应,比传统对数律基础模型精度更高。


🧑‍🎓

壁函数的世界也在不断进化。既要认识对数律的局限,也要根据情景选择最优壁模型,这点我理解了。

知识漫谈 小知识

全y+壁函数出现——「无需关心y+」时代来临

STAR-CCM+引入的«全y+壁处理»(后来ANSYS CFX也采纳类似的自动壁处理)是革命性创新,无论y+=1还是300,都自动选择恰当的壁处理。低y+时切为低Reynolds数模式,高y+时切为对数律模式。«从y+管理中解放出来»对设计工程师意义重大,网格品质管理能少一项,生产力提升。但«y+可以随意»的理解是错的,该是«理解全y+的信任范围后合理使用»。

壁函数的故障排查

常见问题和对策

🧑‍🎓

壁函数常见问题有哪些?


🎓

现场最常见的问题总结如下。


1. y+ 落在缓冲层

🎓

现象:壁面 $y^+$ 在5~30范围内


原因:第一层网格太薄(不小心用成了低Re的厚度而非壁函数用)


对策

  • 加厚第一层使 $y^+ > 30$
  • 或反向减薄到 $y^+ < 5$,切换到增强壁面处理
  • 用可伸缩壁函数(Fluent)或全 y+ 处理(STAR-CCM+),即便y+在缓冲层也有一定的补正

2. 壁面摩擦系数与实验值不符

🧑‍🎓

$C_f$ 与实验偏差20%以上的情况。


🎓

可能原因

  • $y^+$ 超出对数层范围
  • 强逆压力梯度,对数律破裂
  • 粗面模型的粗糙度参数 $k_s$ 设置不当
  • 沿流向网格太粗(流向分辨率不足)

对策

  • 确认全壁面 $y^+$ 等高图,看是否都在30~100范围
  • 强压力梯度区用非平衡壁函数
  • 实验粗糙度数据要正确换算为等效砂粒粗糙度 $k_s$

3. 壁面热传递系数过大/过小

🧑‍🎓

Nu数只有实验的一半左右。


🎓

温度壁函数比速度壁函数对网格更敏感。


原因:高Pr数流体(如油类)中,y+太大会导致温度边界层(比速度边界层薄)完全埋入第一个单元


对策

  • Pr > 1流体中把y+设小些(参考:$y^+ < 50 / \text{Pr}^{0.5}$)
  • 切换到增强壁面处理
  • STAR-CCM+用两层全 y+ 壁处理

4. 局部反流导致发散

🎓

现象:靠近壁单元出现反流,壁函数计算不稳定


对策

  • 检查分离区的y+。对数律不成立,壁函数不适用
  • 切换到增强WT或全y+处理
  • 降低松弛因子(Fluent中动量从0.5降到0.3)

调试步骤

🧑‍🎓

怎样高效诊断壁函数问题?


🎓

1. 先输出壁面y+等高图。确认全壁是否在适当范围

2. 比较壁面 $C_f$ 分布与理论值或实验,找出偏差最大的位置

3. 在疑问壁面附近取垂直线,绘 $u^+$ vs $y^+$,与对数律公式对比

4. 网格敏感性检验:第一层厚改为1/2和2倍,看结果变化


🧑‍🎓

$u^+$ vs $y^+$ 的图,求解器标准功能能输出吗?


🎓

Fluent中在垂直壁的线上取样 $U$ 和 $y$,用摩擦速度 $u_\tau$ 无量纲化。ParaView也能计算。和对数律公式 $u^+ = 2.44 \ln(y^+) + 5.5$ 对比,一目了然能看出是否正确再现对数层。

知识漫谈 小知识

「y+=11.25魔数」带来的悲剧

«y+=11.25»是粘性底层和对数层的交点,已成著名的壁函数限制。这附近的网格«太粗无法解粘性底层,太细无法用对数律»,最坏的区域。大网格一批生成时,局部高速区常好奇地落在这值,那部分壁面剪应力会出现异常。«压力损失在特定流量条件下特别大»这类症状,往往是y+=11附近的壁单元在作祟,所以y+等高图确认很关键。

相关模拟器

通过该领域的交互式模拟器体验理论

模拟器列表

相关领域

热分析V&V·品质保证结构分析
本文评分
感谢反馈!
有帮助
想更详细
报告错误
有帮助
0
想更详细
0
报告错误
0
由 NovaSolver 贡献者撰写
匿名工程师和AI — 网站地图
查看作者信息