CFD网格质量指标
CFD网格质量指标的理论基础
概述
老师!今天讲的是CFD网格质量指标对吧?那是什么?
非正交性、偏斜度。网格质量与收敛性、精度的关系。
老师的解释很容易理解!非正交性的疑惑解决了。
控制方程
啊,原来如此!网格质量指标就是这样工作的。
离散化方法
这个方程在计算机上具体怎样求解?
采用有限元法(FEM)进行空间离散化。组装单元刚度矩阵,构建整体刚度方程。
矩阵求解算法
矩阵求解算法具体是什么意思?
通过直接法(LU分解、Cholesky分解)或迭代法(CG法、GMRES法)求解线性方程组。对于大规模问题,预处理迭代法很有效。
| 求解方法 | 分类 | 内存使用 | 适用规模 |
|---|---|---|---|
| LU分解 | 直接法 | O(n²) | 小~中规模 |
| Cholesky分解 | 直接法(对称正定) | O(n²) | 小~中规模 |
| PCG法 | 迭代法 | O(n) | 大规模 |
| GMRES法 | 迭代法 | O(n·m) | 大规模、非对称 |
| AMG预处理 | 预处理 | O(n) | 超大规模 |
也就是说,有限元法阶段少一分,后期就得付出十倍的代价。记住了!
商业工具中的实现
那CFD网格质量指标需要什么软件来做?
| 工具名 | 开发商/现属 | 主要文件格式 |
|---|---|---|
| Ansys Fluent | Ansys Inc. | .cas, .dat, .msh, .jou |
| Simcenter STAR-CCM+ | Siemens Digital Industries Software | .sim, .java, .csv |
| OpenFOAM | 开源(OpenCFD/ESI、OpenFOAM Foundation) | 字典文件(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品牌。多面体网格为特色。
现属:Siemens Digital Industries Software
听完这些,开发历史的疑惑总算解开了!
OpenFOAM
OpenFOAM具体是什么意思?
来自Imperial College London的开源CFD。OpenCFD Ltd(ESI集团子公司)与The OpenFOAM Foundation并行开发。
现属:开源(OpenCFD/ESI、OpenFOAM Foundation)
哇,开发历史的故事,超有意思!再讲讲。
文件格式与互操作性
在不同软件间交换数据时有什么要注意的?
| 格式 | 扩展名 | 类型 | 说明 |
|---|---|---|---|
| CGNS | .cgns | CFD数据 | CFD通用符号系统。CFD结果标准交换格式。 |
| VTK | .vtk/.vtu | 可视化 | 可视化工具包格式。ParaView等使用。 |
| STL | .stl | 网格 | 仅三角形面。3D打印标准。不适合CAE网格。 |
在不同求解器间转换模型时,要注意单元类型的对应关系、材料模型的兼容性、荷载与边界条件的表达差异。特别是高阶单元或特殊单元(内聚单元、用户自定义单元等)通常不能直接在求解器间转换。
看来格式简单,但其实内涵很深啊。
实务注意事项
教科书外还有什么「实战经验」之类的东西吗?
网格收敛性验证、边界条件妥当性检验、材料参数敏感性分析特别重要。
CFD网格质量指标真的很深啊…感谢老师的讲解,整理好了!
不错,进度不错啊!实际动手是最好的学习方式。有疑问随时问。
偏斜度0.85以上导致计算发散——网格质量指标的真实含义
CFD教科书说偏斜度(Skewness)要保证在0.85以下。但某流体机械厂商的实际经验是——新员工用自动生成网格,「最大偏斜度0.87,平均值良好」,结果计算跑了200步就残差爆表。问题不在「平均」,而在「局部」——高偏斜度单元集中在压力梯度大的壁面附近。这类单元的梯度计算误差非线性放大,那一个点成了「引爆点」导致全局发散。所以网格质量指标的数值不如「坏单元在哪」来得重要。
CFD网格质量指标的数值计算方法
数值方法详解
具体用什么算法来求解CFD网格质量指标?
离散化表述
用形状函数 $N_i$ 近似未知量:
用公式表示是这样。
基本方程式的离散形式
用公式表示是这样。
嗯…只看公式,有点摸不着头脑…什么意思啊?
连续体的控制方程离散化后,得到代数方程组:
其中 $[K]$ 是整体刚度矩阵(或等价的系统矩阵),$\{u\}$ 是未知节点变量向量,$\{F\}$ 是外力向量。
啊,原来如此!连续体的控制方程离散化就是这样的机制。
单元技术
听过「单元技术」,但没完全理解…
| 单元类型 | 次数 | 节点数(3D) | 精度 | 计算成本 |
|---|---|---|---|---|
| 四面体1次 | 线性 | 4 | 低(剪切锁定) | 低 |
| 四面体2次 | 二次 | 10 | 高 | 中 |
| 六面体1次 | 线性 | 8 | 中 | 中 |
| 六面体2次 | 二次 | 20 | 非常高 | 高 |
| 棱柱 | 线性/二次 | 6/15 | 中~高 | 中 |
积分格式
积分格式具体是什么?
听到这里,终于明白单元类型为什么重要了!
收敛性与稳定性
收敛失败了,首先看什么?
收敛速率:二次单元在光滑解情况下以 $O(h^2)$ 阶数误差减少
看来网格细化看似简单,其实内涵很深。
求解器设置建议
具体用什么算法来求解CFD网格质量指标?
| 参数 | 推荐值 | 备注 |
|---|---|---|
| 迭代法收敛判定 | $10^{-6}$ | 残差范数基准 |
| 预处理方法 | ILU(0) or AMG | 按问题规模 |
| 最大迭代次数 | 1000 | 非收敛则重新设置 |
| 内存模式 | In-core | 尽可能使用 |
迎风差分(Upwind)
一阶迎风:数值扩散大但稳定。二阶迎风:精度提高但振荡风险。高雷诺数流动必需。
中心差分(Central Differencing)
二阶精度,但 Pe 数 > 2 时出现数值振荡。低雷诺数扩散主导流适用。
TVD格式(MUSCL、QUICK等)
用限流函数压制数值振荡同时保持高精度。有效捕捉激波与陡峭梯度。
有限体积法 vs 有限元法
FVM:自然满足守恒律。CFD主流。FEM:复杂形状、多物理耦合优势。SPH等无网格法也在发展。
CFL条件(库朗数)
显式法:CFL ≤ 1 稳定条件。隐式法:CFL > 1 也稳定,但影响精度与迭代次数。LES:推荐 CFL ≈ 1。物理意义:1时间步信息不超过1单元。
残差监控
连续方程、动量、能量各残差下降3~4个数量级则判为收敛。质量守恒残差特别重要。
松弛因子
压力:0.2~0.3,速度:0.5~0.7 是常见初值。发散时降低松弛因子,收敛后提高来加速。
非稳态计算的内部迭代
每时间步内迭代至定常解。内部迭代数:5~20次为目安。时间步间残差变动大则改进时间步。
CFD网格质量指标的实际应用
实践指南
老师,请讲「实践指南」!
讲CFD网格质量指标的实际分析流程与注意事项。
等等,网格质量指标的实战,那这样的情况也能用?
分析流程
从最开始教起!该从什么着手?
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+ | Siemens Digital Industries Software | .sim, .java, .csv |
| OpenFOAM | 开源(OpenCFD/ESI、OpenFOAM Foundation) | 字典文件(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品牌。多面体网格为特色。
现属:Siemens Digital Industries Software
老师的解释很清楚!工具名的疑惑解决了。
常见失败与对策
初学者常犯什么错?想先了解避免!
| 症状 | 原因 | 对策 |
|---|---|---|
| 计算不收敛 | 网格质量差、边界条件不当 | 改进网格、重新检查约束 |
| 应力异常大 | 应力奇异点、网格依赖 | 避免奇异点、局部网格细化 |
| 位移不现实 | 材料常数错、单位制混乱 | 确认输入数据 |
| 计算时间过长 | 不必要的细化、低效求解法 | 网格优化、并行计算 |
质量保证检查清单
教科书外还有什么「实战经验」之类的东西吗?
CFD网格质量指标真的很深啊…感谢老师的讲解,整理好了!
不错,进度不错啊!实际动手是最好的学习方式。有疑问随时问。
「运行前确认的3件事」——实务经验法则
经验丰富的CFD工程师在网格前总做3件事。(1)CAD数据几何公差检查——面间隙(gap)或重复面会导致自动网格崩溃。(2)确认特征长度尺度——最小形状与最大域名尺度比超过1万倍易破网。(3)提前算目标 $y^+$——现阶段确定乱流模型选择(壁函数法 vs. 低Re数法)。跳过这些是导致后期全部返工的最大时间浪费。
CFD网格质量指标的软件对比
商业工具对比
各软件差异很大吧?分别讲讲特点!
CFD网格质量指标支持的主要商业CAE工具的功能对比及各产品历史背景详述。
支持工具清单
那CFD网格质量指标需要什么软件来做?
| 工具名 | 开发商/现属 | 主要文件格式 |
|---|---|---|
| Ansys Fluent | Ansys Inc. | .cas, .dat, .msh, .jou |
| Simcenter STAR-CCM+ | Siemens Digital Industries Software | .sim, .java, .csv |
| OpenFOAM | 开源(OpenCFD/ESI、OpenFOAM Foundation) | 字典文件(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品牌。多面体网格为特色。
现属:Siemens Digital Industries Software
听完这些,开发历史的疑惑总算解开了!
OpenFOAM
OpenFOAM具体是什么意思?
来自Imperial College London的开源CFD。OpenCFD Ltd(ESI集团子公司)与The OpenFOAM Foundation并行开发。
现属:开源(OpenCFD/ESI、OpenFOAM Foundation)
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开发的OSS求解器 |
选择指南
最后,应该选哪个,给个判断标准?
CFD网格质量指标工具选择要考虑以下:
CFD网格质量指标真的很深啊…感谢老师的讲解,整理好了!
不错,进度不错啊!实际动手是最好的学习方式。有疑问随时问。
网格质量「基准」为何按工具而异
「偏斜度0.9以下」是Fluent等有限体积法的基准,ANSYS Mechanical等有限元法工具用雅可比比等别的指标。更麻烦的是,同样叫「偏斜度」,工具间定义也有微妙差异。Fluent的偏斜度用等体积形状比较、OpenFOAM的非正交性(non-orthogonality)是面法线与连接向量的角度、Star用别的指标为主。用别工具的网格时「前工具下良好却这里警告」就是这个定义差异引起。
CFD网格质量指标的前沿研究
前沿话题与研究趋势
CFD网格质量指标领域,今后怎样发展?
看CFD网格质量指标最新研究动向与先进方法。
啊,原来如此!网格质量指标的机制就是这样。
最新数值方法
接下来讲最新数值方法?什么内容?
嗯…只看公式,有点摸不着头脑…什么意思啊?
高性能计算(HPC)支持
| 并行化方法 | 说明 | 适用求解器 |
|---|---|---|
| MPI (领域分割) | 分布式内存型。大规模问题标准 | 全主要求解器 |
| OpenMP | 共享内存型。节点内并行 | 多数求解器 |
| GPU (CUDA/OpenCL) | GPGPU应用。特别是显式法有效 | LS-DYNA, Fluent等 |
| 混合 MPI+OpenMP | 节点间+节点内并行 | 大规模HPC环境 |
CFD网格质量指标的故障排查
故障排查
常见错误与对策
老师也为CFD网格质量指标调试熬过夜吗?(笑)
1. 收敛失败
收敛失败具体是什么意思?
症状:求解器在指定迭代次数内未收敛而异常终止
可能原因:
- 网格质量不足(过度歪曲的单元)
- 材料参数设置不当
- 不恰当的初始条件
- 非线性性过强(荷载步不足)
对策:
- 执行网格质量检查(纵横比、雅可比比)
- 确认材料参数的单位制
- 荷载分多步进行(增加子步数)
- 放宽收敛判定基准(但注意精度)
也就是说,收敛失败处理不好,后期会很惨。要永记心间!
2. 非物理结果
接下来讲非物理结果?什么内容?
症状:应力/位移/温度等出现物理上不现实的值
可能原因:
- 边界条件误设
- 单位制混用(SI单位与工程单位混淆)
- 不恰当的单元类型选择
- 应力奇异点存在
对策:
- 确认反力合计(力的平衡)
- 检查单位制一致性
- 重新考虑单元类型适合性
- 移除奇异点或子模型化
前辈说过「收敛失败一定要好好处理」,现在明白了。