4.3.3 Flux-Difference Splitting Schemes 通量差分分裂格式[cfd-4-3-3]
通量差分分裂格式通过求解黎曼(激波管)问题ï¼由(一般不连续的)左、右状态计算控制体面上的对流通量。这一思想最早由Godunov[64]提出。与通量向量分裂格式不同ï¼通量差分分裂不仅考虑波(信息)的传播方向ï¼还考虑波本身。为了降低Godunov精确求解黎曼问题格式的计算量ï¼人们发展了近似黎曼求解器ï¼例如Osher等人[65]与Roe[63]的工作。其中,Roe方法因其在边界层流动中的高精度和良好的激波分辨率而应用较多。因此ï¼下一小节将更详细地介绍Roe求解器。en
The flux-difference splitting schemes evaluate the convective fluxes at a face of the control volume from the (in general discontinuous) left and right state by solving the Riemann (shock tube) problem. The idea was first introduced by Godunov [64]. In contrast to the flux-vector splitting schemes, the flux-difference splitting considers not only the direction of wave (information) propagation, but also the waves themselves. In order to reduce the computational effort of Godunov's scheme for the exact solution of the Riemann problem, approximate Riemann solvers were developed, e.g., by Osher et al. [65] and by Roe [63]. In particular, Roe's method is applied quite often because of its high accuracy in boundary layer flows and good resolution of shocks. Therefore, the Roe solver shall be presented in more detail in the following subsection.
Roe Upwind Scheme Roe上风格式
Roe近似黎曼求解器既可在单元中心格式框架下实现ï¼也可在对偶控制体格式框架下实现。它基于把控制体一个面上的通量差分解为若干波贡献之和ï¼同时保证欧拉方程的守恒性质。在面\((I+1/2)\)或\((i+1/2)\)上ï¼该差分表示为[63]en
Roe's approximate Riemann solver can be implemented either in the framework of the cell-centred scheme or the dual control-volume scheme. It is based on the decomposition of the flux difference over a face of the control volume into a sum of wave contributions, while ensuring the conservation properties of the Euler equations. On the face \((I+1/2)\) or \((i+1/2)\), respectively, the difference is expressed as [63]
在方程(4.88)中,\(\bar{A}_{Roe}\)表示所谓的Roe矩阵(Roe matrix),\(L\)与\(R\)分别表示左、右状态(见图4.8)。Roe矩阵与对流通量Jacobian\(\bar{A}_c\)(见附录A.9)完全相同ï¼只是流动变量换成了所谓的Roe平均(Roe-averaged)变量。若Roe平均由左、右状态按以下公式计算[63]、[66]ï¼则方程(4.88)中的通量差分是精确的en
In the above Eq. (4.88), \(\bar{A}_{Roe}\) denotes the so-called Roe matrix, and \(L\) or \(R\) the left and right state (see Fig. 4.8), respectively. The Roe matrix is identical to the convective flux Jacobian \(\bar{A}_c\) (see Appendix A.9), where the flow variables are replaced by the so-called Roe-averaged variables. The flux difference in Eq. (4.88) is exact, if the Roe's averages are computed from the left and the right state by the following formulae [63], [66]
左特征向量矩阵\((\bar{T}^{-1})\)、右特征向量矩阵\((\bar{T})\)以及特征值对角矩阵\((\bar{\Lambda}_c)\)都用Roe平均(4.89)计算。在方程(4.90)中ï¼特征变量\(\vec{C}\)代表波幅ï¼特征值\(\bar{\Lambda}_c\)是近似黎曼问题相应的波速ï¼而右特征向量就是波本身。en
The matrix of left \((\bar{T}^{-1})\) and right \((\bar{T})\) eigenvectors, as well as the diagonal matrix of eigenvalues \((\bar{\Lambda}_c)\) are evaluated using Roe's averaging (4.89). In the above Eq. (4.90), the characteristic variables \(\vec{C}\) represent the wave amplitudes, the eigenvalues \(\bar{\Lambda}_c\) are the associated wave speeds of the approximate Riemann problem, and finally the right eigenvectors are the waves themselves.
根据以上讨论ï¼控制体各面上的对流通量按下式计算[63]en
Following from the previous discussion, the convective fluxes are evaluated at the faces of a control volume faces according to the formula [63]
\(|\bar{A}_{Roe}|\)与左、右状态之差的乘积可以高效地计算如下en
The product of \(|\bar{A}_{Roe}|\) and the difference of the left and right state can be efficiently evaluated as follows
其中en
where
左、右状态用MUSCL格式[29]确定ï¼即方程(4.46)。若流场存在任何间断ï¼所有高阶格式(\(\hat{\kappa} = -1\)、\(\hat{\kappa} = 0\)与\(\hat{\kappa} = 1/3\))都必须辅以限制器(4.3.5小节)。en
The left and the right state are determined using the MUSCL scheme [29], which is given in Eq. (4.46). All higher-order schemes (\(\hat{\kappa} = -1\), \(\hat{\kappa} = 0\), and \(\hat{\kappa} = 1/3\)) have to be supplemented by limiters (Subsection 4.3.5), if the flow field contains any discontinuities.
由于方程(4.88)的构造,Roe近似黎曼求解器在定常膨胀情形会产生非物理的膨胀激波ï¼此时\((\vec{F}_c)_L = (\vec{F}_c)_R\)但\(\vec{W}_L \ne \vec{W}_R\)。此外ï¼可能出现所谓的carbuncle现象(“红玉”现象)ï¼即扰动沿滞止线在强弓形激波前增长[67]、[68];另见文献[69]的讨论。其内在困难在于原始格式不能识别声速点。为解决这一问题ï¼特征值的模\(|\bar{\Lambda}_c| = |\tilde{V} \pm \tilde{c}|\)用Harten熵修正(entropy correction)[70]、[71]加以修改en
Because of the formulation in Eq. (4.88), Roe's approximate Riemann solver will produce an unphysical expansion shock in the case of stationary expansion, for which \((\vec{F}_c)_L = (\vec{F}_c)_R\) but \(\vec{W}_L \ne \vec{W}_R\). Furthermore, the so-called carbuncle phenomenon may occur, where a perturbation grows ahead of a strong bow shock along the stagnation line [67], [68]. See also the discussion in Ref. [69]. The underlying difficulty is that the original scheme does not recognise the sonic point. In order to solve this problem, the modulus of the eigenvalues \(|\bar{\Lambda}_c| = |\tilde{V} \pm \tilde{c}|\) is modified using Harten's entropy correction [70], [71]
其中\(\delta\)是一个小值ï¼可方便地取为当地声速的某一分数(例如1/10)。为防止线性波\(|\Delta\vec{F}_{2,3,4}|\)在\(\tilde{V} \rightarrow 0\)时消失(例如在驻点或网格对齐流动处)ï¼上述修正也可应用于\(|\tilde{V}|\)。与中心格式或通量向量分裂格式相比,Roe求解器的一个明显缺点出现在真实气体模拟中:Roe矩阵与平均必须相应改变ï¼这可能变得相当复杂。平衡与非平衡真实气体流动的公式示例可在文献[72]-[75]及其引用的文献中找到。文献[76]最近描述了Roe格式对任意可压缩与不可压缩流体的实现。en
where \(\delta\) is a small value, which can be conveniently set equal to some fraction (e.g., 1/10) of the local speed of sound. In order to prevent the linear waves \(|\Delta\vec{F}_{2,3,4}|\) from disappearing for \(\tilde{V} \rightarrow 0\) (e.g., at stagnation points or for grid-aligned flow), the above modification can also be applied to \(|\tilde{V}|\). A clear disadvantage of the Roe solver as compared to the central scheme or to the flux-vector splitting schemes shows up for a real gas simulation. Namely, the Roe matrix and averaging have to be changed correspondingly, which may become quite complicated. The reader may find examples of formulations for equilibrium as well as non-equilibrium real gas flows in [72]-[75] and in the references cited therein. An implementation of Roe's scheme for arbitrary compressible and incompressible fluids was recently described in Ref. [76].