文章目录
- 一、基本理论背景
- 1. 坐标变换原理
- 2. 控制方程在曲线坐标下的形式
- 3. 优势与挑战
- 二、经典理论参考资料
- 三、支持曲线坐标网格的开源 CFD 项目
- 1. **Nek5000 / NekRS**
- 2. **OpenFOAM(部分功能)**
- 3. **CFL3D(NASA)**
- 4. **OVERFLOW(NASA)**
- 5. **SU2(部分支持)**
- 6. **ANSYS Fluent / Star-CCM+(商业软件)**
- 四、曲线坐标网格生成工具(开源)
- 五、典型应用领域
- 六、建议学习路径
在计算流体力学(CFD)中,曲线坐标网格(Curvilinear Grids)是一种广泛用于复杂几何外形模拟的网格类型,尤其适用于贴体(body-fitted)求解。与结构化直角坐标网格不同,曲线坐标网格通过坐标变换将物理域中的复杂边界映射到计算域中的规则矩形(或立方体)区域,从而便于使用高精度的有限差分或有限体积方法。
一、基本理论背景
1. 坐标变换原理
- 通过引入贴体曲线坐标系(如 ((\xi, \eta, \zζ)))映射物理空间 ((x, y, z))。
- 使用链式法则将控制方程(如 Navier-Stokes 方程)转换为计算空间中的形式。
- 引入度量张量(metric terms)和雅可比行列式(Jacobian)处理几何变形。
2. 控制方程在曲线坐标下的形式
- 保守形式需保持通量守恒,通常采用守恒型坐标变换(conservative form)。
- 对于可压缩流,需处理密度、动量、能量的守恒形式。
3. 优势与挑战
- 优点:可高保真贴合几何边界,适用于高雷诺数流动、边界层解析等。
- 缺点:度量项计算复杂;网格生成困难;强弯曲区域可能出现数值不稳定。
二、经典理论参考资料
《Computational Fluid Dynamics: The Basics with Applications》
- 作者:John D. Anderson
- 第7章详细讲解了曲线坐标系与坐标变换。
《Numerical Computation of Internal and External Flows》
- 作者:Charles Hirsch
- 第2卷(第13–15章)深入介绍了贴体网格、守恒形式变换及离散方法。
Thompson, J. F., Thames, F. C., & Mastin, C. W. (1974).
- “Automatic Numerical Generation of Body-Fitted Curvilinear Coordinate System”
- 开创性论文,提出使用椭圆型偏微分方程生成贴体网格。
NASA Technical Reports
- 如 NASA CR-2146, “Numerical Grid Generation” by Thompson et al.
- 免费公开,涵盖网格生成、度量项计算等。
三、支持曲线坐标网格的开源 CFD 项目
1.Nek5000 / NekRS
- 简介:基于谱元法(Spectral Element Method)的高精度 CFD 求解器,天然支持曲线坐标(通过高阶映射)。
- 特点:
- 使用 Gauss-Lobatto-Legendre 节点;
- 网格由六面体单元构成,通过映射函数贴体;
- 支持可压缩/不可压缩、DNS/LES。
- 官网:https://nek5000.mcs.anl.gov / https://nekrs.nek5000.org
2.OpenFOAM(部分功能)
- 说明:虽然 OpenFOAM 主要用非结构化网格,但可通过blockMesh生成贴体结构化网格(适用于简单曲面)。
- 注意:OpenFOAM 内部求解器本身不显式使用曲线坐标变换,而是基于非结构网格的通量重构。
- 适用场景:仅适用于可被结构化块贴合的几何(如翼型、管道弯头)。
3.CFL3D(NASA)
- 简介:NASA 开发的结构化网格 CFD 求解器,专为曲线坐标设计。
- 特点:
- 支持多块结构化贴体网格;
- 使用 Jameson-Schmidt-Turkel 格式;
- 适用于跨/超音速流动。
- 开源地址:https://github.com/nasa/CFL3D
4.OVERFLOW(NASA)
- 说明:重叠网格(Chimera)方法,支持复杂几何下的多块曲线坐标网格。
- 注意:不开源,但 NASA 提供学术使用版本。
5.SU2(部分支持)
- 说明:SU2 主要面向非结构网格,但在structured mesh mode下可处理简单贴体网格。
- 限制:不原生依赖曲线坐标理论,而是通过网格节点直接离散。
6.ANSYS Fluent / Star-CCM+(商业软件)
- 虽非开源,但它们内部使用贴体多块结构化网格处理旋转机械等场景,可作参考。
四、曲线坐标网格生成工具(开源)
Gridgen / Pointwise(商业)
- 虽非开源,但常用于学术研究生成高质量贴体网格。
Mandoline(你曾关注过)
- 由 LLNL 开发的网格生成工具,支持复杂几何的结构化/非结构化混合网格生成,可用于曲线坐标前处理。
Gmsh + Scripting
- 可通过脚本生成参数化曲面网格,配合自定义映射函数用于 CFD 求解器。
五、典型应用领域
- 涡轮机械(压气机、涡轮叶片)
- 航空航天(机翼、整流罩)
- 内燃机缸内流动
- 高超声速飞行器热防护系统
六、建议学习路径
- 理论入门:读 Anderson 或 Hirsch 的教材相关章节;
- 代码实践:尝试 CFL3D 或 Nek5000 的标准算例(如圆柱绕流、翼型);
- 网格生成:用 blockMesh(OpenFOAM)或 Mandoline 生成贴体网格;
- 验证:对比直角坐标与曲线坐标下同一问题的精度和稳定性。