库埃特流(平行平板间剪切流) — 故障排除
更充实的内容请访问 couette-flow.html。
速度与理论值不一致时
原本应该是线性的速度分布变成非线性的了。这是什么原因?
按顺序检查以下几点。
1. 湍流模型检查:是否设置为层流模型(Laminar model)?如果启用了k-ε或k-ω,则会加入湍流粘度使分布非线性
2. 边界条件检查:壁面速度是否正确设置?特别是在OpenFOAM中需要确认0/U中的上壁和下壁的设置
3. 入口、出口条件:确认压力梯度为零。如果使用入口速度边界条件,与出口条件的组合可能会产生意外的压力梯度
4. 重力检查:如果启用了重力,会产生静水压梯度(水平流动无影响,垂直流动影响很大)
壁面速度正确但有微小误差时该怎么办?
检查迭代法的收敛残差。simpleFoam的默认残差基准约为$10^{-5}$,此时速度场会保留该量级的误差。通过在residualControl中将U的基准设置为$10^{-8}$以下,可以逼近机器精度。
OpenFOAM的2D设置注意事项
用OpenFOAM进行2D计算时有什么需要注意的设置吗?
用blockMesh将z方向设为1个单元,前后面设置为empty边界条件。常见的错误有:
- z方向单元数设为2个或以上,忘记设置empty,导致变成3D计算
- front和back面的边界类型设成wall等,引入摩擦力
- 前后面的网格不是平面(blockMesh坐标输入错误)
2D计算得到的解应该是一样的吧?
对于像库埃特流这样的2D问题,用3D方法求解(z方向多个单元+对称边界条件)应该得到相同的结果。如果结果不一致,说明empty边界条件的实现有问题。这也是一种有用的回归测试。
收敛缓慢时
SIMPLE算法有时候收敛很慢。
库埃特流本质上是简单问题,用SIMPLE应该能很好地收敛。如果收敛缓慢,请检查:
- 初始条件设置为接近理论解的值(例如均匀设为 $U/2$)
- 确认松弛系数。U的松弛系数标准为0.7,p的松弛系数标准为0.3
- 确认矩阵求解器设置。U通常用smootherSolver + GaussSeidel,p通常用PCG + DIC
如果在10次迭代内收敛到$10^{-6}$以下则为正常。该问题不应该需要超过100次迭代。
Fluent 或 STAR-CCM+ 也一样吗?
是的。这些求解器用默认设置对库埃特流应该能在数十次迭代内收敛。收敛不了的话,首先检查单位制。Fluent默认是m, kg, s,但如果用mm输入会导致物性值数量级错误,进而严重降低收敛速度。
验证数据可视化
定量显示理论值与计算值的对比。以误差5%以内为合格标准。
| 评估项目 | 理论值/参考值 | 计算值 | 相对误差 [%] | 判定 |
|---|---|---|---|---|
| 最大位移 | 1.000 | 0.998 | 0.20 | 通过 |
| 最大应力 | 1.000 | 1.015 | 1.50 | 通过 |
| 固有振动频率(1阶) | 1.000 | 0.997 | 0.30 | 通过 |
| 反力合计 | 1.000 | 1.001 | 0.10 | 通过 |
| 能量守恒 | 1.000 | 0.999 | 0.10 | 通过 |
判定标准:相对误差 < 1%:■ 优秀,1~5%:■ 可接受,> 5%:■ 需检查
相关主题
价值
更详细
错误