● 摘要
Navier-Stokes方程是粘性流动的基本控制方程,但对该方程的三维数值求解——即计算流体力学 (Computational Fluid Dynamics,简称CFD)技术——是一件极其耗费计算资源、极具挑战性的任务。虽然计算机技术不断发展,现有条件下对复杂外形飞行器数值模拟和预测仍然只能使用雷诺平均等折中手段。网格自适应方法是一种广泛使用的折中策略,人们使用该方法提高数值求解精度、同时尽可能让必要的计算量最小化。网格自适应方法的研究内容主要有两大块,一是自适应指示因子,以指示在流场何处进行自适应,二是网格修改方法,主要是如何在需要的地方进行网格加密或网格放疏。
随着分布式内存体系结构的发展以及并行CFD求解器的发展,人们自然而然地提出了并行自适应方法。使用并行自适应而不是串行,不仅仅是为了提高并行求解器的效率,更是因为大网格情况下串行方法由于内存限制往往不能够进行计算。因此需要发展一个分布式内存环境下的并行自适应框架以及相应的自适应方法。
自适应方法既适用结构网格,又适用非结构网格。本文首先提出一个适合并行自适应的网格模块及并行框架。该网格模块能协调的处理结构/非结构混合网格,为结构/非结构的交互提供了方法,其中非结构网格可以包含四面体、六面体、金字塔、棱柱四种网格单元。并行框架部分主要对并行通信数据结构、并行IO、结构/非结构网格分区、结构/非结构网格并行负载均衡、网格动态迁移等问题进行研究,提出相应的处理方法。为了实现数据结构的动态性与高抽象,同时保持与CFD求解器的兼容,本文使用的Fortran语言、面向对象思想,自定义了一系列的高级数据结构,在软件工程上进行了方法创新。
本文实现了一种二维非结构网格的自适应方法,可作为三维非结构网格自适应方法的基础部分。实现的方法使用启发式的指示因子,使用本地网格剖分的手段,实现协调的网格自适应。算例表明,该方法具有很好的鲁棒性,同时自适应加密的效果明显。