← 回到首页 Skip to main content

8.1 虚拟单元的概念

第 8 章 边界条件

任何数值模拟都只能考虑真实物理区域或系统的一部分。区域截断会引入人工边界,必须在这些边界上指定某些物理量的值。此外,与流体接触的壁面构成物理区域的自然边界。边界条件的数值处理必须格外谨慎,不恰当的实现会使模拟无法准确反映真实系统,还可能损害求解格式的稳定性和收敛速度。

数值求解 Euler 方程和 Navier–Stokes 方程时,通常遇到以下类型的边界条件:

  • 固体壁面;

  • 外部流动的远场;

  • 内部流动的入口和出口;

  • 喷注边界;

  • 对称边界;

  • 坐标切口和周期边界;

  • 网格块之间的边界。

下面各节将详细介绍这些边界条件的数值处理。有关壁面热辐射、自由表面等其他边界条件的文献,参见 3.4 节。

8.1 虚拟单元的概念

讨论边界条件之前,先介绍虚拟单元或虚拟点的概念。这种方法在结构网格中十分常用,在非结构网格上也具有一定优势。虚拟单元是模拟物理区域之外附加的若干层网格单元或点。图 8.1 以二维结构网格为例作了说明:计算域四周由两层虚拟单元包围,以虚线表示。通常不像区域内部网格那样实际生成这些虚拟单元(点),网格块接口处除外;这些单元仅为虚拟存在,但仍具有体积、面矢量等几何量。

虚拟单元用于简化边界上的通量、梯度、耗散等计算,因为它允许将空间离散格式的模板延伸到物理边界以外。如图 8.1 所示,边界上可以采用与物理区域内部相同的离散格式,从而以相同方式求解所有“物理”网格点上的控制方程,使离散格式的实现大为简化。此外,可以通过单个循环访问结构网格上的全部网格点,这对循环并行化或向量化十分有利。当然,前提是虚拟单元(点)中存有适当的守恒变量值和几何量。显然,虚拟单元的层数必须足以完全覆盖模板位于物理区域之外的部分。虚拟单元(点)中的守恒变量由边界条件确定,几何量通常取自对应的边界控制体。对于多个网格块之间的边界(如图 3.4),所有流动变量和几何数据均从相邻网格块传递过来。

Image
图 8.1 二维计算域(粗线)周围的两层虚拟单元(虚线)。实心圆表示二阶单元顶点(对偶)格式的标准模板,实心矩形表示二阶单元中心格式的模板(见 4.3 节)。

图 8.1 中灰色阴影的虚拟单元及其对应点存在一定问题:如果没有相邻网格块,就不容易确定其数值。标准十字型离散模板不需要这些值,但计算梯度(黏性通量,见 4.4 节)或多重网格中的传递算子(9.4 节)时,这些单元(点)很重要。最简单的办法是对相邻“常规”虚拟单元的值取平均,如图 8.1 中箭头所示。不过,这种方法在壁面边界或对称边界上效果不佳。此时,最好将物理边界延伸到虚拟单元层中(见所附二维结构网格程序)。