4.2.2 Cell-Vertex Scheme: Overlapping Control Volumes 单元顶点格式:重叠控制体[cfd-4-2-2]

在单元顶点格式中,所有流动变量都与计算网格的节点相关联。在基于重叠控制体的做法中,网格单元仍然充当控制体,与单元中心格式的情形一样。区别在于:此时为各控制体算出的残差必须分配到网格点上[4]、[7]、[8]。图4.4示意了这一情形。en

In a cell-vertex scheme, all flow variables are associated with the nodes of the computational grid. Within the approach based on overlapping control volumes, the grid cells still represent the control volumes, just as in the case of the cell-centred scheme. The difference is that now the residuals computed for the control volumes have to be distributed to the grid points [4], [7], [8]. The situation is sketched in Fig. 4.4.

考察图4.4中的控制体\(\Omega_{I,J}\),它由下列节点定义en

Let us consider the control volume \(\Omega_{I,J}\) in Fig. 4.4, which is defined by the nodes

\[(i,j)\quad (i+1,j)\quad (i+1,j+1)\quad (i,j+1)\,. \tag{1}\]

注意,点\((i,j)\)位于\(\Omega_{I,J}\)的左下角。对流通量——例如对面\(\Delta S_{I,J-1/2}\),它由点\((i,j)\)与\((i+1,j)\)给定——近似为en

Note that the point \((i,j)\) is located at the lower left corner of \(\Omega_{I,J}\). The convective fluxes, e.g., for the face \(\Delta S_{I,J-1/2}\), which is given by the points \((i,j)\) and \((i+1,j)\), are approximated as

\[\left(\vec{F}_c\,\Delta S\right)_{I,J-1/2} \approx \vec{F}_c(\vec{W}_{I,J-1/2})\,\Delta S_{I,J-1/2}\,. \tag{4.25}\]

面中点处的变量用定义该面的两个节点上变量的算术平均来计算,即en

The variables at the midpoint of the face are evaluated using an arithmetic average of the variables at the nodes defining the face, i.e.,

\[\vec{W}_{I,J-1/2} = \frac{1}{2}\left[\vec{W}_{i,j} + \vec{W}_{i+1,j}\right]. \tag{4.26}\]

面面积\(\Delta S_{I,J-1/2}\)由关系式(4.6)与(4.7)计算。en

The face area \(\Delta S_{I,J-1/2}\) is computed from the relations (4.6) and (4.7).

这一做法在三维中保持不变。例如,对于与图4.1b中法向量\(\vec{n}_3\)相关联的面,平均变量为en

The approach remains the same in three dimensions. For example, for the face associated with the normal vector \(\vec{n}_3\) in Fig. 4.1b, the averaged variables read

\[\vec{W}_{I,J,K-1/2} = \frac{1}{4}\left[\vec{W}_1 + \vec{W}_2 + \vec{W}_5 + \vec{W}_6\right]. \tag{4.27}\]

图4.4:单元顶点格式的重叠控制体(二维);箭头表示残差从单元形心向公共节点i,j的分配

图4.4:单元顶点格式的重叠控制体(二维);箭头表示残差从单元形心向公共节点\(i,j\)的分配。图例:四个单元\(\Omega_{I-1,J-1}\)、\(\Omega_{I,J-1}\)、\(\Omega_{I-1,J}\)、\(\Omega_{I,J}\)(阴影四边形)共享公共节点\(i,j\)(实心圆点);各单元形心以实心方块标记\(I-1,J-1\)、\(I,J-1\)、\(I-1,J\)、\(I,J\);箭头表示把各单元(形心)的残差分配到公共节点;外圈网格点标记为\(i-1,j-1\)、\(i,j-1\)、\(i+1,j-1\)、\(i-1,j\)、\(i+1,j\)、\(i-1,j+1\)、\(i,j+1\)、\(i+1,j+1\)。

如果假定边1-2沿\(i\)方向、边1-5沿\(j\)方向、边1-4沿\(k\)方向,并把点\((i,j,k)\)与图4.1b中的角点1相关联,则方程(4.27)中的平均也可以写成en

If we assume the edge 1-2 being oriented in the \(i\)-direction, edge 1-5 in the \(j\)-direction, edge 1-4 in the \(k\)-direction, and if we finally associate the point \((i,j,k)\) with the corner 1 in Fig. 4.1b, the average in Eq. (4.27) can also be written as

\[\vec{W}_{I,J,K-1/2} = \frac{1}{4}\left[\vec{W}_{i,j,k} + \vec{W}_{i+1,j,k} + \vec{W}_{i,j+1,k} + \vec{W}_{i+1,j+1,k}\right]. \tag{4.28}\]

对流通量于是同样由下式得到en

The convective flux is then again obtained from

\[\left(\vec{F}_c\,\Delta S\right)_{I,J,K-1/2} \approx \vec{F}_c(\vec{W}_{I,J,K-1/2})\,\Delta S_{I,J,K-1/2}, \tag{4.29}\]

其中面面积\(\Delta S_{I,J,K-1/2}\)由公式(4.8)与(4.9)得出。黏性通量通常采用与对偶控制体格式相同的方法计算[9]、[10],这样得到的格式更为紧凑(即涉及的节点值更少)。en

where the face area \(\Delta S_{I,J,K-1/2}\) results from the formulae (4.8) and (4.9). The viscous fluxes are normally computed employing the same approach as for the dual control-volume scheme [9], [10], which results in a more compact scheme (i.e., one which involves fewer nodal values).

把关系式(4.25)、(4.26)与(4.28)、(4.29)给出的所有面的贡献分别求和,便得到所有网格单元的中间残差\(\vec{R}_{I,J,K}\)。为了把基于单元的残差与基于节点的残差联系起来,还需要作进一步近似,即采用残差分布公式(residual distribution formula)。它基本上是一个函数,由共享该网格节点的所有单元的加权和来计算未知的基于节点的残差。已经提出的分布公式有:

  • Ni的体积加权和[7];
  • Hall的非加权求和[8];
  • Rossow的特征(上风)加权方法[11]、[12]。
en

Summing up all face contributions given by relations (4.25), (4.26) and (4.28), (4.29), respectively, we obtain intermediate residuals \(\vec{R}_{I,J,K}\) for all grid cells. In order to relate the cell-based to the node-based residuals, a further approximation is made using a residual distribution formula. It is basically a function, which evaluates the unknown node-based residual from a weighted sum of all cells having the particular grid node in common. The following distribution formulae were devised:

  • volume weighted sum due to Ni [7];
  • non-weighted sum due to Hall [8];
  • characteristic (upwind) weighting procedure of Rossow [11], [12].

对截断误差的理论研究[4]表明,Ni的格式比Hall的方法更精确。然而在实践中,Ni的分布公式在网格强烈扭曲和拉伸的地方会导致问题。例如,使用O型网格时,曾观察到翼型后缘附近压力场的强烈振荡[13]、[4]。此外,只有把数值黏性加大很多才能获得收敛。上风加权方法[11]、[12]的基本思想与脉动分裂(fluctuation-splitting)格式[14]-[17]相当类似(参见3.1.5小节),但其数值实现要简单得多。从根本上说,残差只沿特征方向向上游发送。en

Theoretical investigations of the truncation error [4] suggest that Ni's scheme is more accurate than Hall's approach. However, in practice Ni's distribution formula leads to problems in places, where the grid is strongly distorted and stretched. For example, strong oscillations of the pressure field near the trailing edge of an airfoil were observed when using O-grids [13], [4]. Furthermore, convergence could only be achieved when the numerical viscosity was increased considerably. The underlying idea of the upwind weighting procedure [11], [12] is quite similar to that of the fluctuation-splitting schemes [14]-[17] (cf. Subsection 3.1.5), but the implementation is numerically much simpler. Basically, the residuals are sent only upstream in the characteristic direction.

在这三种做法中,Hall的分布格式被证明最为稳健。在Hall的格式中,某一节点处的残差由共享该节点的所有单元的中间残差\(\vec{R}_{I,J,K}\)直接求和得到。于是,在图4.4所示的二维情形中,我们得到en

Of the three approaches, Hall's distribution scheme proved to be the most robust. In Hall's scheme, the residual at a particular node results from a simple sum of all intermediate residuals \(\vec{R}_{I,J,K}\), which cells share the node. Thus, in the 2-D case rendered in Fig. 4.4, we get

\[\vec{R}_{i,j} = \vec{R}_{I,J} + \vec{R}_{I-1,J} + \vec{R}_{I-1,J-1} + \vec{R}_{I,J-1}\,. \tag{4.30}\]

在三维中,必须以同样的方式把总共八个基于单元的残差求和。仔细考察(4.30)可以发现,\(\vec{R}_{i,j}\)恰好就是穿过超级单元(supercell)边界的净通量en

In three dimensions, in total eight cell-based residuals have to be summed up in the same way. A close inspection of (4.30) reveals that \(\vec{R}_{i,j}\) is just the net flux through the boundary of the supercell

\[\Omega_{i,j} = \Omega_{I,J} + \Omega_{I-1,J} + \Omega_{I-1,J-1} + \Omega_{I,J-1}, \tag{4.31}\]

这是因为穿过内部各面的通量互相抵消。超级单元也代表以点\((i,j)\)为中心的“总”控制体。在三维情形中,总体积由以下单元构成en

due to the fact that the fluxes across the inner faces cancel each other. The supercell also represents the "total" control volume, centred at the point \((i,j)\). In the 3-D case, the total volume consists of the cells

\[\begin{aligned} \Omega_{i,j,k} = {}& \Omega_{I,J,K} + \Omega_{I-1,J,K} + \Omega_{I-1,J-1,K} + \Omega_{I,J-1,K} \\ & + \Omega_{I,J,K-1} + \Omega_{I-1,J,K-1} + \Omega_{I-1,J-1,K-1} + \Omega_{I,J-1,K-1}\,. \end{aligned} \tag{4.32}\]

从图4.4可以看出,这些控制体至少重叠一个单元,该格式正因此得名。en

As it can be seen from Fig. 4.4, the control volumes overlap by at least one cell, which gave the scheme its name.

源项用相应网格节点处的流动变量计算,即en

The source term is calculated using the flow variables from the corresponding grid node, i.e.,

\[\left(\vec{Q}\,\Omega\right)_{i,j,k} = \vec{Q}(\vec{W}_{i,j,k})\,\Omega_{i,j,k}\,. \tag{4.33}\]

采用上述定义后,方程(4.2)中的时间推进格式变为en

With the above definitions, the time-stepping scheme in Eq. (4.2) becomes

\[\frac{d\vec{W}_{i,j,k}}{dt} = -\frac{1}{\Omega_{i,j,k}}\,\vec{R}_{i,j,k}\,. \tag{4.34}\]

这代表一个常微分方程组,它必须在每个网格点\((i,j,k)\)上求解,方式与单元中心格式相同。注意,方程(4.34)中分别使用总体积(4.31)或(4.32)。en

This represents a system of ordinary differential equations, which has to be solved in each grid point \((i,j,k)\) in the same way as for the cell-centred scheme. Note that the total volume (4.31) or (4.32), respectively, is utilised in Eq. (4.34).