膨胀层(边界层网格)
膨胀层(边界层网格)的理论基础
概述
老师!今天是膨胀层(边界层网格)的讨论对吧?这是什么东西?
壁面附近的棱柱层。y+的要求。增长比的设置。
现在听到这里,终于理解了为什么壁面附近的棱柱层如此重要!
控制方程
前辈说过"膨胀层一定要做好",现在我理解了为什么。
离散化方法
这个方程在计算机上具体怎样求解呢?
使用有限元法(FEM)进行空间离散化。组装单元刚度矩阵,构建整体刚度方程。
矩阵求解算法
矩阵求解算法具体是什么意思呢?
通过直接法(LU分解、Cholesky分解)或迭代法(CG法、GMRES法)求解线性方程组。大规模问题中使用预处理迭代法很有效。
| 求解法 | 分类 | 内存使用 | 适用规模 |
|---|---|---|---|
| LU分解 | 直接法 | O(n²) | 小~中规模 |
| Cholesky分解 | 直接法(对称正定值) | O(n²) | 小~中规模 |
| PCG法 | 迭代法 | O(n) | 大规模 |
| GMRES法 | 迭代法 | O(n·m) | 大规模·非对称 |
| AMG前处理 | 前处理 | O(n) | 超大规模 |
也就是说,如果有限元法的地方马虎,后面就会吃亏对吧。我要牢记在心!
商用工具中的实现
那么,膨胀层(膨胀层)(边界层网格)需要用什么软件呢?
| 工具名 | 开发商/现在 | 主要文件格式 |
|---|---|---|
| Ansys Fluent | Ansys Inc. | .cas, .dat, .msh, .jou |
| Simcenter STAR-CCM+ | 西门子数字工业软件 | .sim, .java, .csv |
| OpenFOAM | 开源(OpenCFD/ESI、OpenFOAM 基金会) | 字典文件(blockMeshDict等), .foam |
| Ansys CFX | Ansys Inc. | .cfx, .def, .res, .ccl |
供应商系谱与产品集成历史
各个软件的发展历史是不是也挺有意思的?
Ansys Fluent
接下来讲Ansys Fluent的事情吧。什么内容呢?
由Fluent Inc.开发。2006年被Ansys收购。基于非结构网格的通用CFD求解器。
现在的所属公司:Ansys Inc.
Simcenter STAR-CCM+
接下来讲Simcenter STAR的事情吧。什么内容呢?
由CD-adapco开发。2016年被西门子收购并并入Simcenter品牌。多面体网格为特色。
现在的所属公司:西门子数字工业软件
现在听到这里,终于理解了为什么开发这么重要!
OpenFOAM
OpenFOAM具体是什么意思呢?
起源于伦敦帝国学院的开源CFD。OpenCFD Ltd(ESI集团旗下)和OpenFOAM基金会并行开发。
现在的所属公司:开源(OpenCFD/ESI、OpenFOAM基金会)
哇!开发的故事非常有趣!请给我讲更多。
文件格式与互操作性
在不同软件之间交换数据时,有什么需要注意的吗?
| 格式 | 扩展名 | 类型 | 说明 |
|---|---|---|---|
| CGNS | .cgns | CFD数据 | CFD通用符号系统。CFD结果的标准交换格式。 |
| VTK | .vtk/.vtu | 可视化 | 可视化工具包格式。在ParaView等中使用。 |
| STL | .stl | 网格 | 仅三角形面片。3D打印标准。不适合CAE网格。 |
在不同求解器之间转换模型时,需要注意单元类型的对应关系、材料模型的兼容性、荷载和边界条件的表示差异。特别是高阶单元或特殊单元(内聚单元、用户定义单元等)通常无法在求解器间直接转换。
原来格式看起来很简单,但实际上很深奥啊。
实务注意事项
有没有教科书上没有的"现场智慧"之类的东西?
网格收敛性的确认、边界条件的合理性验证、材料参数的敏感性分析非常重要。
膨胀层(边界层网格)的全貌我已经掌握了!明天起我就会在实务中注意。
很好!实际动手操作是最好的学习方法。有不明白的地方随时问我。
为什么只有壁面附近需要特殊处理——边界层的物理含义
要直观理解膨胀层(边界层网格)的必要性,关键在于"壁面摩擦"的物理学。壁面处,流体速度必须为零(不滑移条件)。但稍离壁面,速度迅速接近主流值——这个速度梯度陡峭的薄层就是边界层。在直径100mm的水管中,边界层厚度只有数十μm~1mm。如果没有充分的解析精度,就无法计算壁面剪应力(摩擦力),传热系数的误差会超过10倍。边界层虽薄但支配性——这就是膨胀层存在的理由。
膨胀层(边界层网格)的数值计算方法
数值方法详解
具体用什么算法来求解膨胀层(边界层网格)呢?
离散化表述
用形状函数 $N_i$ 近似未知量:
用表达式表示就是这样。
基本方程的离散形式
用表达式表示就是这样。
嗯,光看公式我还是有点理解不了… 这表示什么呢?
将连续体的控制方程离散化后,可得到以下代数方程组:
这里 $[K]$ 是整体刚度矩阵(或等价的系统矩阵),$\{u\}$ 是未知节点变量向量,$\{F\}$ 是外荷载向量。
啊!原来如此!连续体的控制方程就是这样变换的啊。
单元技术
听说过"单元技术",但可能没真正理解…
| 单元类型 | 阶数 | 节点数(3D) | 精度 | 计算成本 |
|---|---|---|---|---|
| 四面体1阶 | 线性 | 4 | 低(剪切锁定) | 低 |
| 四面体2阶 | 二阶 | 10 | 高 | 中等 |
| 六面体1阶 | 线性 | 8 | 中等 | 中等 |
| 六面体2阶 | 二阶 | 20 | 非常高 | 高 |
| 棱柱 | 线性/二阶 | 6/15 | 中等~高 | 中等 |
积分方案
积分方案具体是什么意思?
现在听到这里,终于理解了为什么单元类型很重要!
收敛性和稳定性
收敛不了的时候,首先应该检查什么?
收敛速度:二阶单元以 $O(h^2)$ 阶数减小误差(光滑解的情况)
原来网格细化看起来简单,但实际上很深奥啊。
求解器设置建议
具体用什么算法来求解膨胀层(边界层网格)呢?
| 参数 | 推荐值 | 备注 |
|---|---|---|
| 迭代法收敛判定 | $10^{-6}$ | 残差范数标准 |
| 前处理方法 | ILU(0) or AMG | 取决于问题规模 |
| 最大迭代次数 | 1000 | 不收敛时需检查设置 |
| 内存模式 | In-core | 尽可能使用 |
风上差分(Upwind)
1阶风上:数值扩散大但稳定。2阶风上:精度提高但有振荡风险。高雷诺数流动中必需。
中心差分(Central Differencing)
2阶精度,但当 Pe 数 > 2 时出现数值振荡。适用于低雷诺数的扩散主导流。
TVD方案(MUSCL、QUICK等)
通过限制器函数抑制数值振荡,同时维持高精度。对冲击波和陡峭梯度的捕捉有效。
有限体积法 vs. 有限元法
FVM:自然满足守恒律。CFD主流。FEM:对复杂形状和多物理场有优势。SPH等无网格法也在发展中。
CFL条件(库兰数)
显式法:CFL ≤ 1 为稳定条件。隐式法:CFL > 1 仍然稳定,但影响精度和迭代次数。LES:推荐 CFL ≈ 1。物理意义:一个时间步长内信息不超过一个网格。
残差监控
连续方程、动量、能量各残差下降3~4个数量级时判断为收敛。质量守恒残差特别重要。
松弛系数
压力:0.2~0.3、速度:0.5~0.7 是一般的初始值。发散时降低松弛系数。收敛后提高以加速。
非定常计算的内层迭代
每个时间步内迭代至定常状态收敛。内层迭代数:5~20次为目标。残差在时间步间波动时检查时间步长。
膨胀层(边界层网格)的实务应用
实践指南
老师,给我讲讲"实践指南"吧!
分析流程
从第一步开始教我!什么先做?
1. 前处理 (Pre-processing)
- 导入CAD数据并简化形状
- 定义材料特性
- 网格生成(单元类型·尺寸的决定)
- 设定边界条件和荷载条件
2. 求解 (Solving)
- 求解器设置(求解法、收敛基准、输出控制)
- 作业提交和计算执行
- 收敛监控
3. 后处理 (Post-processing)
- 结果可视化(位移、应力等物理量)
- 结果验证和合理性确认
- 报告编制
网格生成最佳实践
怎样判断网格的好坏?
单元品质指标
给我讲讲"单元品质指标"!
| 指标 | 理想值 | 允许范围 | 影响 |
|---|---|---|---|
| 宽高比 | 1.0 | < 5.0 | 精度下降 |
| 雅可比比 | 1.0 | > 0.3 | 单元退化 |
| 翘曲 | 0° | < 15° | 精度下降 |
| 斜度 | 0° | < 45° | 收敛性恶化 |
| 锥化比 | 0 | < 0.5 | 精度下降 |
网格密度的决定
网格密度的决定具体怎样做?
边界条件设置指南
听说边界条件这里搞错的话全部都白搭…
原来如此!过拘束要注意的道理我现在明白了。
商用工具分别的实现步骤
有很多种软件吧?各自的特点给我讲讲!
| 工具名 | 开发商/现在 | 主要文件格式 |
|---|---|---|
| Ansys Fluent | Ansys Inc. | .cas, .dat, .msh, .jou |
| Simcenter STAR-CCM+ | 西门子数字工业软件 | .sim, .java, .csv |
| OpenFOAM | 开源(OpenCFD/ESI、OpenFOAM 基金会) | 字典文件(blockMeshDict等), .foam |
| Ansys CFX | Ansys Inc. | .cfx, .def, .res, .ccl |
Ansys Fluent
接下来讲Ansys Fluent的事情吧。什么内容呢?
由Fluent Inc.开发。2006年被Ansys收购。基于非结构网格的通用CFD求解器。
现在的所属公司:Ansys Inc.
Simcenter STAR-CCM+
接下来讲Simcenter STAR的事情吧。什么内容呢?
由CD-adapco开发。2016年被西门子收购并并入Simcenter品牌。多面体网格为特色。
现在的所属公司:西门子数字工业软件
老师的讲解很清楚!对工具名的困惑解开了。
常见失败及对策
初学者容易犯的失败有哪些?提前知道的话有帮助!
| 现象 | 原因 | 对策 |
|---|---|---|
| 计算不收敛 | 网格品质不良,边界条件不适当 | 改善网格,重新检查拘束条件 |
| 应力异常大 | 应力奇点,网格依赖 | 回避奇点,局部网格细化 |
| 位移不现实 | 材料常数错误,单位系不统一 | 检查输入数据 |
| 计算时间过长 | 不必要的细化,求解法低效 | 网格优化、并行计算 |
质量保证检查清单
有没有教科书上没有的"现场智慧"之类的东西?
膨胀层(边界层网格)的全貌我已经掌握了!明天起我就会在实务中注意。
很好!实际动手操作是最好的学习方法。有不明白的地方随时问我。
y+计算工具的"陷阱"——条件变了就得全部重做
膨胀层的实践中,首先要做的是"y+计算工具"来求出第一层厚度。在线y+计算工具输入代表速度、粘性、长度尺度,就能算出"第1层厚度 = ××mm"。很方便,但有陷阱。CFD中常用的是对象整体的代表Re数,但实际上局部的壁面剪应力差异很大。比如汽车的A柱后流中,局部Re数可能是整体的10倍以上,y+也跟着变化10倍左右。"全体平均用y+=1的目标,结果角部只有y+=20"这样的失败很常见。实践中的做法是设定多个代表点,计算各点y+,按最严格的地方设计第一层,这样才是正确的。
膨胀层(边界层网格)的软件对比
商用工具对比
有很多种软件吧?各自的特点给我讲讲!
支持工具列表
| 工具名 | 开发商/现在 | 主要文件格式 |
|---|---|---|
| Ansys Fluent | Ansys Inc. | .cas, .dat, .msh, .jou |
| Simcenter STAR-CCM+ | 西门子数字工业软件 | .sim, .java, .csv |
| OpenFOAM | 开源(OpenCFD/ESI、OpenFOAM 基金会) | 字典文件(blockMeshDict等), .foam |
| Ansys CFX | Ansys Inc. | .cfx, .def, .res, .ccl |
Ansys Fluent
接下来讲Ansys Fluent的事情吧。什么内容呢?
由Fluent Inc.开发。2006年被Ansys收购。基于非结构网格的通用CFD求解器。
现在的所属公司:Ansys Inc.
Simcenter STAR-CCM+
接下来讲Simcenter STAR的事情吧。什么内容呢?
由CD-adapco开发。2016年被西门子收购并并入Simcenter品牌。多面体网格为特色。
现在的所属公司:西门子数字工业软件
现在听到这里,终于理解了为什么开发这么重要!
OpenFOAM
OpenFOAM具体是什么意思呢?
起源于伦敦帝国学院的开源CFD。OpenCFD Ltd(ESI集团旗下)和OpenFOAM基金会并行开发。
现在的所属公司:开源(OpenCFD/ESI、OpenFOAM基金会)
Ansys CFX
关于"Ansys CFX"给我讲讲!
由AEA Technology (UK) 开发的CFX。2003年被Ansys收购。耦合型求解器为特点。
现在的所属公司:Ansys Inc.
原来如此!开发就是这样的机制啊。
功能对比矩阵
预算和时间都很紧张,哪个性价比最好?
| 功能 | Fluent | Star-CCM+ | OpenFOAM | CFX |
|---|---|---|---|---|
| 基础功能 | ○ | ○ | ○ | ○ |
| 高级功能 | ○ | ○ | ○ | △ |
| 自动化/脚本 | ○ | ○ | ○ | ○ |
| 并行计算 | ○ | ○ | ○ | ○ |
| GPU对应 | △ | △ | △ | ○ |
变换时的风险
变换时的风险具体怎样?
原来如此!不同工具间的模型变换就是这样的机制啊。
许可证形式
听说过"许可证形式",但可能没真正理解…
| 工具 | 许可证 | 特点 |
|---|---|---|
| 商用FEA | 节点锁定/浮动许可 | 高价但有官方支持 |
| OpenFOAM | GPL | 免费但支持收费 |
| COMSOL | 节点锁定/浮动许可 | 按模块购买 |
| Code_Aster | GPL | EDF开发的开源求解器 |
选型指南
结果怎么选,判断基准给我讲讲?
膨胀层(边界层网格)工具选型时应考虑以下几点:
膨胀层(边界层网格)的全貌我已经掌握了!明天起我就会在实务中注意。
很好!实际动手操作是最好的学习方法。有不明白的地方随时问我。
y+自动控制——各工具"自动给你做"的陷阱
近年来商用工具的膨胀层功能中增加了"y+自动指标"设置。ANSYS Fluent选择壁函数模式时自动针对y+=30~300。StarCCM+的棱柱层网格生成器也只需输入"Target y+"就行——看起来很方便。但陷阱是"工具计算的y+是基于均匀平板假设的估算值"。在曲面、角部、分离域,实际的y+会与估算值大幅偏离。工具自动设置后用y+等值线可视化时,往往会发现"这里偏离了5倍"。商用工具的自动化很有用,但不能省略最后用自己的眼睛确认结果y+等值线的步骤。
膨胀层(边界层网格)的先端研究
先端课题与研究动向
最新的数值方法
接下来最新数值方法的话题吧。什么内容呢?
嗯,光看公式我还是有点理解不了… 这表示什么呢?
高性能计算 (HPC) 的对应
| 并行化手法 | 概要 | 适用求解器 |
|---|---|---|
| MPI (区域分割) | 分布式内存型。大规模问题的标 |