圆柱周围的流动
圆柱周围流动的理论基础
概述
老师,圆柱周围的流动,就是风吹在柱子上的事情吗?
看似简单,但随Re数变化流动结构发生剧烈变化。从定常对称分离到卡尔曼涡街,再到湍流转变,这是流体力学教科书中必然出现的经典问题。
卡尔曼涡街是指那种交替放出涡的情况吧。为什么会交替呢?
Re约47以上时,后流的对称性变成绝对不稳定。一侧的分离剪切层卷入反对侧的涡度,产生反馈环路,上下交替放出涡。这就是Benard-von Karman涡街。
Re数分类
Re数会改变多少呢?
总结如下。
| Re范围 | 流动状态 | 特征 |
|---|---|---|
| Re < 5 | 爬行流 | 前后对称,无分离 |
| 5 < Re < 47 | 定常双涡 | 对称再循环区形成 |
| 47 < Re < 190 | 2D卡尔曼涡街 | 周期涡脱落,层流 |
| 190 < Re < 260 | 3D转变(Mode A/B) | 展向不稳定性出现 |
| 260 < Re < 1000 | 湍流转变区 | 后流湍流化,分离点层流 |
| $10^3$ < Re < $3 \times 10^5$ | 亚临界域 | 层流分离,$C_D \approx 1.2$ |
| $3 \times 10^5$ < Re < $10^6$ | 临界域(抗力危机) | 转变在分离前发生,$C_D$急剧下降 |
| Re > $10^6$ | 超临界域 | 湍流边界层分离 |
Re=47就有涡街了吗。出乎意料的低啊。
是的。这个阈值对应Hopf分岔。用线性稳定性分析精密求得临界Re约为46.7。
控制方程式
请教我控制方程式。
不可压Navier-Stokes方程。
其中$\nu = \mu / \rho$是动粘度,$\mathbf{u}$是速度矢量,$p$是压力。无量纲化后,Reynolds数$Re = U_\infty D / \nu$成为唯一的支配参数。
Strouhal数与涡脱落频率
涡脱落的频率能预测吗?
用Strouhal数整理。
亚临界域($300 < Re < 3 \times 10^5$)中$\mathrm{St} \approx 0.2$基本保持为常数。这是Roshko实验证实的著名结果。低Re侧经常使用以下经验公式。
阻力·升力系数
请确认阻力系数的定义。
单位跨度长度的定义是这样的。
定常流的$C_D$随Re剧烈变化。在Stokes区,$C_D \propto Re^{-1}$;亚临界域中,$C_D \approx 1.0 \text{--} 1.2$;临界域中$C_D \approx 0.3$下降,超临界域中再次回升至$C_D \approx 0.6 \text{--} 0.7$。
升力变动的频率和涡脱落频率相同吗?
升力的变动频率就是涡脱落频率$f$本身。而阻力的变动频率是$2f$。上下交替脱落涡时阻力增减,但升力在一侧脱落涡时正负互换。
阻力变成$2f$很有趣呢。仔细想想确实是这样。
卡尔曼涡与烟囱坍塌——Strouhal数保护建筑
圆柱后流产生的卡尔曼涡街在工程上引发严重问题。涡脱落频率($f = St \cdot U/D$)与结构固有振动频率一致时会发生共振,振动增幅。1965年英国Ferrybridge发电站的3座冷却塔连续坍塌事故被判定为卡尔曼涡导致的涡励振所致。CFD能否精确计算Strouhal数直接影响烟囱、桥梁、海洋立管的设计成本或安全性。"Re≈100的2D层流CFD可以产生卡尔曼涡"是检验代码动态行为的有用基准。
圆柱周围流动的数值计算方法
数值解法选择
用CFD解圆柱周围流动时,应该用哪种方法?
最优方法随Re数变化。总结如下。
| Re范围 | 推荐方法 | 理由 |
|---|---|---|
| Re < 200 | DNS(直接数值模拟) | 2D计算足够,全尺度可解 |
| 200 < Re < 1000 | DNS (3D) | 需要分析3D不稳定性 |
| $10^3$ < Re < $10^4$ | LES | 直接分析后流湍流结构 |
| $10^4$ < Re < $10^6$ | URANS / DES / DDES | LES壁面分析成本过大 |
| Re > $10^6$ | RANS (SST $k$-$\omega$) | 工程精度足够 |
用DNS全部解不就好了吗?
高Re的DNS的格子点数以$Re^{9/4}$尺度增长。Re=$10^6$时需要$10^{13}$点以上,现在的超级计算机也不现实。
压力-速度耦合
不可压的情况下,压力怎么解?
不可压Navier-Stokes需要解压力的Poisson方程。代表性方法如下。
- SIMPLE法:Patankar的半隐式方法。适于定常计算。通过迭代求压力修正
- PISO法:非定常计算优化。单个时间步内进行2次压力修正
- 耦合求解器:同时解速度和压力。收敛快但内存消耗大
- 分离型(分式Step):求中间速度后用压力Poisson修正。DNS/LES标准
圆柱涡脱落这种非定常问题,PISO看起来很合适呢。
正是。OpenFOAM的pimpleFoam用PISO环和SIMPLE外迭代相结合的PIMPLE法,即便时间步长较大也能稳定计算。
空间离散化
空间离散化方案怎么处理?
对流项处理最关键。
| 方案 | 精度 | 特征 |
|---|---|---|
| 中心差分(CD) | 2阶 | 无耗散。LES/DNS标准,易不稳定 |
| 风上差分(UD) | 1阶 | 数值扩散大。涡消失 |
| 2阶风上(SOU) | 2阶 | RANS标准。适度耗散 |
| TVD方案 | 2阶 | 限制函数抑制振荡。MUSCL、van Leer等 |
| QUICK | 3阶 | 六面体网格有效。非结构网格注意 |
要分析卡尔曼涡,最低需要2阶精度。1阶风上的数值扩散会消除涡。
时间积分
时间方向离散化呢?
要正确捕捉涡脱落,时间步长很重要。满足CFL条件$\mathrm{CFL} = u \Delta t / \Delta x < 1$基本要求,非定常计算中常用2阶隐式方法(如后向2阶差分BDF2)。Strouhal数$\mathrm{St} \approx 0.2$推出涡脱落周期$T = D / (\mathrm{St} \cdot U_\infty)$,每周期至少200步以上。
网格设计
网格划分需要注意什么?
圆柱流的网格设计要点是这样。
- 圆柱壁面:O型网格包围圆柱。第1层垂直厚度$y^+ < 1$(LES/DNS)或$30 < y^+ < 300$(使用壁函数时)
- 后流域:流向至少$20D$以上。追踪涡发展和耗散
- 计算域:圆柱中心到入口$10D$以上,到侧面$10D$以上。堵塞率$< 5\%$
- 展向(3D):Mode A波长$\lambda_A \approx 4D$,Mode B为$\lambda_B \approx 1D$,跨度长度最少$\pi D$
$y^+$是壁面无量纲距离吧。LES的$y^+ < 1$很细呢。
$y^+ = y u_\tau / \nu$,$u_\tau = \sqrt{\tau_w / \rho}$是摩擦速度。从亚临界$C_f$估算,Re=$10^4$时第1层厚度约$10^{-3}D$。这是高Re圆柱LES的成本来源。
"O型网格"为何成为圆柱计算的标配
CFD分析圆柱周围流动时,经常使用"O字形包围圆柱的结构网格"。这种网格从圆柱表面向外呈放射状伸展,自然实现了壁面附近的y+管理和远场的要素膨胀。另一方面"C型网格(后流侧开口)"也常用。选择哪种取决于Re数和目的——高Re且重视后流细节时,C型能保持后流要素均匀密度更有利;低Re且以表面压力/摩擦系数为主要目标时,O型绝对管理方便。网格类型选择是"计算精度之前要搞清楚想精确看什么"的决策。
圆柱周围流动的实务应用
分析流程
实际做圆柱周围流的CFD时,该怎么推进?
以下标准流程。
1. 问题定义:确认Re数,判断2D/3D,判断定常/非定常
2. 计算域设计:堵塞率$< 5\%$,后流$> 20D$
3. 网格生成:O型网格+后流区细化
4. 边界条件设置:入口均匀流,出口压力指定,侧面滑移或周期边界
5. 求解器设置:非定常解法(PISO/PIMPLE),适当乱流模型
6. 计算执行:排除初期过渡,涡脱落稳定建立后统计平均
7. 后处理:$C_D$、$C_L$时间历程,St数确认,速度场可视化
边界条件设置
请详细讲边界条件设置。
各边界设置如下。
| 边界 | 速度 | 压力 |
|---|---|---|
| 入口 | $\mathbf{u} = (U_\infty, 0, 0)$ | 零梯度 |
| 出口 | 零梯度 | $p = 0$(基准压) |
| 圆柱壁面 | $\mathbf{u} = 0$(无滑动) | 零梯度 |
| 侧面 | 滑移或对称 | 零梯度 |
| 展向端面(3D) | 周期边界 | 周期边界 |
出口压力固定为零没问题吗?涡到达出口不会反射吗?
好问题。出口太近会涡到达边界反射。所以出口要$20D$以上距离,或使用对流条件(convective outflow:$\partial \phi / \partial t + U_c \partial \phi / \partial x = 0$)更妥善。
验证与有效性确认
结果正确与否,和什么比较?
和这些基准数据比较。
| 物理量 | Re = 100 (2D) | Re = 1000 (3D) | 来源 |
|---|---|---|---|
| $C_D$(时间平均) | $1.33 \pm 0.01$ | $1.0 \pm 0.05$ | Williamson (1996) |
| $C_L$(RMS) | $0.23$ | $0.1 \text{--} 0.2$ | 各种DNS |
| St | $0.164$ | $0.21$ | Williamson & Roshko |
| 分离角 | $\sim 117°$ | $\sim 85°$ | 实验数据 |
| 再循环长度$L_r/D$ | $1.4$ | $0.9$ | 各种实验/DNS |
Re=100的$C_D = 1.33$是有名的值吧。自己的计算出这个值就放心了吗?
是的。先用Re=100的2D计算验证$C_D$和St。合不上就是网格或时间步有问题。
网格收敛性确认
网格越细越好吧?
至少3水准的网格计算Grid Convergence Index (GCI)。用Richardson外推估算离散误差阶数和网格收敛解。
其中$F_s = 1.25$(3水准时),$\epsilon$是粗密网格间相对差,$r$是网格比,$p$是观测收敛阶。
实际需要多少个百万单元?
Re=100的2D计算数万单元足够。Re=$3900$的3DLES约500万~2000万单元,Re=$10^5$的DES约1000万~5000万单元。
埃俄罗斯音——电线"呜呜"鸣的物理
冬夜有没听过电线"呜呜"叫?那就是"埃俄罗斯音(Aeolian tone)"——圆柱后流卡尔曼涡脱落发出的声波。从Strouhal数计算涡脱落频率,常常落在可听范围(数十~数百Hz)。吉他弦也是同理,弦直径和风速满足条件时弦会振动发声。工厂管道设计者讨厌这现象,叫"流体诱导振动(FIV)"。标准对策是CFD预先计算涡脱落频率,调整管道支撑间距避免共振。
圆柱周围流动的软件比较
CFD工具的实现
解圆柱周围流动,哪个CFD软件合适?
从圆柱流动角度对各工具特点比较。
| 工具 | 非定常解法 | LES支持 | 圆柱流实绩 |
|---|---|---|---|
| Ansys Fluent | PISO, Coupled | Smagorinsky, WALE, WMLES | 有教程。DES/DDES实现充实 |
| Ansys CFX | 耦合求解器 | Smagorinsky | 转子机械强,涡脱落分析也适用 |
| STAR-CCM+ | SIMPLE/PISO | WALE, Dynamic SGS | 多面体网格适应复杂形状 |
| OpenFOAM | PIMPLE/PISO | 各种SGS模型 | pimpleFoam/pisoFoam的丰富案例 |
| COMSOL | 分离型/耦合型 | 无(RANS中心) | 教育·研究用。低Re验证适合 |
OpenFOAM实现示例
OpenFOAM的具体设置请教一下。
pimpleFoam使用时的目录结构和主要设置如下。
```
constant/
transportProperties: nu = 1e-4 (Re=100则U=1, D=0.01)
turbulenceProperties: simulationType laminar (Re=100情况)
system/
controlDict: deltaT=0.005, endTime=300
fvSchemes: ddt(backward), div(phi,U)(Gauss linearUpwind grad(U))
fvSolution: PIMPLE{nOuterCorrectors 2; nCorrectors 1}
```
网格能用blockMesh生成吗?
O型网格能用blockMeshDict生成。用块围绕圆柱,arc边界定义圆弧。但高Re精密分析边界层时,snappyHexMesh或外部生成器(Pointwise、ICEM CFD、Gmsh)更高效。
Ansys Fluent设置
Fluent的情况呢?
Fluent推荐以下设置。
- 求解器:Pressure-Based, Transient
- 压力-速度耦合:Coupled(收敛快)或PISO
- 空间离散:Second Order Upwind(RANS),Bounded Central Differencing(LES)
- 时间离散:Second Order Implicit
- 乱流模型:SST $k$-$\omega$(RANS),WALE SGS(LES),SST-DDES(混合型)
Fluent的TUI命令监控涡脱落时,设定圆柱表面升力系数每时间步输出,用FFT处理可得St数。
工具选择指南
最后怎么选?
判断依据是这样。
- 学习·研究低Re:OpenFOAM(免费)或COMSOL(GUI直观)
- 工程设计RANS:Fluent或STAR-CCM+(自动网格与流程集成)
- 高精度LES/DNS:OpenFOAM(自由度高)或Nek5000(谱元方法)
- VIV(涡励振)分析:Fluent/STAR-CCM+的FSI功能,或OpenFOAM的overset网格
VIV就是圆柱的实际工程问题呀。海洋立管那种。
没错。涡励振是Strouhal周频与结构固有频率锁定现象。$U_r = U_\infty / (f_n D) = 1/\mathrm{St} \approx 5$附近最危险。
Strouhal数计算精度是求解器评价的"隐性指标"
商用求解器的性能评价中,"圆柱后流Strouhal数计算精度有多好"是相当严苛的测试。St数对时间步大小、计算域广度、网格分析度全都敏感,任何一个不当都会导致数值偏差。实验值St≈0.20(Re=100附近)对应计算0.18或0.22就需要追根究底。求解器选型时若能请厂商提供"圆柱后流St数验证数据",能一次性评估时间精度·空间精度·非定常计算稳定性。敢于公开这数据的厂商,说明对非定常分析有自信。
圆柱周围流动的前沿研究
3D转变模式
老师,圆柱流的3D转变是什么机制?
Williamson (1996)的分类最著名。2D卡尔曼涡街3D化时出现2种不稳定模式。
- Mode A (Re ≈ 190):展向波长$\lambda_A \approx 3\text{--}4D$。源于椭圆型不稳定。涡管波动现象
- Mode B (Re ≈ 260):$\lambda_B \approx 1D$。叶片间流线结构。与双曲型不稳定相关
用Floquet分析调查吧?
正是。基态(2D周期解)上叠加微小3D扰动求Floquet乘子。$|\mu| > 1$的展向波数处模式不稳定化。Barkley & Henderson (1996)的Floquet稳定性分析决定性工作。
LES与壁面模型
高Re圆柱LES,壁面分析很麻烦吧。
wall-resolved LES的格子点数以$Re^{13/7}$尺度增长。高Re时墙面建模LES(WMLES)必需。壁面附近用RANS(如Spalart-Allmaras),离壁后切换LES。
DES (Detached-Eddy Simulation) 就是这思想。Spalart-Allmaras基DES中,把壁面距离$d$替换为$\tilde{d} = \min(d, C_{DES} \Delta)$。DDES再加延迟函数,防止边界层内LES化(Grid Induced Separation)。
谱元方法
DNS也用谱元方法吗?
Nek5000或Nektar++用高阶谱元法($p$阶=7~15)。指数收敛性能以少自由度达到同精度。Karniadakis & Sherwin团队在圆柱DNS上成果丰硕。
主动流动控制
有抑制卡尔曼涡的研究吗?
工程上很重要的课题。
- 分流板:圆柱背面置薄板。抑制涡相互作用
- 吹出/吸入:壁面周期吹出控制涡脱落
- 旋转控制:圆柱自身旋转。Magnus效应与涡抑制组合
- 反馈控制:压力传感器检测涡位相,执行器注入对向涡度
反馈控制真是现代方法呢。
最近深强化学习(Deep Reinforcement Learning)优化控制受关注。Rabault et al. (2019)报告2D圆柱涡脱落被强化学习代理完全抑制。
移动/变形网格
VIV分析圆柱动起来。网格怎么办?
3种方法。
- ALE法 (Arbitrary Lagrangian-Eulerian):网格本身变形。小振幅适用
- Overset(Chimera)网格:圆柱周围网格在背景上滑动。大位移对应
- 浸没边界法:固定网格上虚拟力表现物体。无需网格重生成
OpenFOAM那边overPimpleDyMFoam吗?
阻力系数的"危机"——Re=5×10⁵处突然减半的悖论
圆柱周围阻力系数CD随Re增大基本保持(≈1.0~1.2),但在Re≈5×10⁵前后突然降到0.3左右的"阻力危机(drag crisis)"发生。原因是"边界层从层流转变为湍流,分离点后移",后流宽度剧缩。这现象本身就是高尔夫球酒窝设计的理据——酒窝有意引发层流→湍流转变,低速域就制造阻力危机。CFD精密重现这转变需要转变模型(γ-Re_θ模型等),仅乱流模型无法对应。
圆柱周围流动的故障排除
常见问题与对策
圆柱周围流计算常见坑点请教。
实务频出的故障总结。
1. 不出现涡(收敛到定常解)
原因与对策:
- 用1阶风上方案→数值扩散消灭涡。改为最低2阶
- 计算域太狭窄→堵塞效应改变实效Re。侧面距$10D$以上
- 初始条件完全对称→对称性不破裂。初值加微小非对称扰动
- 用定常求解器→改非定常(PISO/PIMPLE)
- 时间步太大→确保CFL < 1。每脱落周期200步以上
初值加扰动,物理上对吗?
实际流有必然微小扰动。数值计算没有才分岔不发生。Y方向速度加$O(10^{-3})$阶随机噪声足够。
2. Strouhal数偏离
检查要点:
- 统计是否足够→抛弃初期过渡(最少20周期)再统计
- 网格分辨→后流网格粗则涡快速耗散,频率改变
- 堵塞效应→Behr等有修正公式
- FFT窗函数→足够长数据的FFT。补零提高频率分辨率
3. $C_D$与实验值不合
$C_D$出来$1.5$啥的。
Re=100时$C_D > 1.4$须确认以下。
- 2D计算与3D实验对比:2D计算的$C_D$比3D实验值高5~10%。物理正确(3D效应降阻)
- 壁面网格分辨:壁面压力分布是否正确分析
- 出口边界影响:出口过近背压变化影响$C_D$
4. 计算发散
症状的对策:
| 症状 | 原因 | 对策 |
|---|---|---|
| Courant数爆炸 | 时间步太大 | $\Delta t$减半。用adjustableRunTime |
| 压力振荡 | 棋盘现象 | 确认Rhie-Chow插值。非结构格子检查单元重心配置 |
| 壁面附近速度爆炸 | $y^+$超范围 | 壁函数时$30 < y^+ < 300$,壁解时$y^+ < 1$ |
| LES非物理涡 | SGS模型不当 | Smagorinsky($C_s=0.1$)壁面耗散过大。改WALE |
5. 3D计算展向周期性不出现
3D计算只出现展向均一的涡。
展向计算长不足或展向网格过粗。Mode A需$L_z > 4D$,Mode B需$\Delta z < 0.5D$。展向端面必用周期边界,不用壁面条件——端部效应会主导。
2D验证后再上3D是安全方案吧。
完全同意。先2D低Re验证$C_D$、St→3D低Re检验Mode A/B→逐步升到目标Re,这是最确实的路线。
"涡左右对称放出"——非定常初始化陷阱
圆柱周围非定常计算中"卡尔曼涡不发展,涡左右对称流出"的故障是初学者常踩的坑。原因是"初始场完全对称,数值上没有打破对称性的扰动"。Navier-Stokes方程对对称边界和初值会产生对称解。涡脱落需微小非对称扰动。对策是"圆柱稍微偏非对称网格"或"最初几步加小横向速度扰动"。"该发生的物理却在CFD里不发生"常是初值对称性问题的典型。
详细
报告