4.3.4 Total Variation Diminishing Schemes 总变差减小(TVD)格式[cfd-4-3-4]

总变差减小(TVD)格式的思想最早由Harten[77]提出。TVD格式基于旨在防止流动解中产生新极值的概念。TVD格式的基本条件是:解的总变差,定义为en

The idea of Total Variation Diminishing (TVD) schemes was first pursued by Harten [77]. The TVD schemes are based on a concept aimed at preventing the generation of new extrema in the flow solution. The principal condition for a TVD scheme is that the total variation of the solution, defined as

\[\mathrm{TV} \equiv \sum_{I}\left|U_{I+1} - U_I\right| \tag{4.97}\]

对标量守恒方程而言,须随时间减小。这意味着解中的极大值必须不增,极小值必须不减,因而在时间演化过程中不得产生新的局部极值。这样,具有TVD性质的离散方法能够准确分辨强激波,而不会产生解的任何虚假振荡——例如标量或矩阵人工耗散中心格式(4.3.1小节)就会产生这类振荡。en

for a scalar conservation equation, decreases in time. This implies that maxima in the solution must be non-increasing and minima non-decreasing. Hence no new local extrema may be created during the time evolution. Thus, a discretisation methodology with TVD properties allows it to resolve strong shock waves accurately, without any spurious oscillations of the solution, as they are for example generated by the central scheme with scalar or matrix artificial dissipation (Subsection 4.3.1).

TVD格式实现为对流通量的平均再加上一个满足TVD条件的附加耗散项(通量限制耗散)[77]、[78]。若耗散项依赖于特征速度的符号,则称为对称(symmetric)TVD格式[79]、[80];否则称为上风(upwind)TVD格式[81]-[85]。经验表明,上风TVD格式比对称TVD格式精度更高[86]。上风TVD格式特别适合模拟超声速与高超声速流场[87];它也能精确分辨边界层[53],尤其在采用文献[88]所述修改时。en

The TVD schemes are implemented as an average of the convective fluxes combined with an additional dissipation term (flux-limited dissipation), which complies with the TVD conditions [77], [78]. If the dissipation term depends on the sign of the characteristic speeds, we speak of a symmetric TVD scheme [79], [80], otherwise of an upwind TVD scheme [81]-[85]. Experience shows that the upwind TVD scheme offers higher accuracy than the symmetric TVD scheme [86]. The upwind TVD scheme is particularly suitable for the simulation of supersonic and hypersonic flow fields [87]. It is also capable of accurate resolution of boundary layers [53], especially if the modification described in Ref. [88] is applied.

Upwind TVD Scheme 上风TVD格式

在此框架下,通过控制体面\((I+1/2)\)(见图4.8)的对流通量可表示为en

In this framework, the convective fluxes through the face \((I+1/2)\) of the control volume (see Fig. 4.8) can be expressed as

\[(\vec{F}_c)_{I+1/2} = \frac{1}{2}\left[(\vec{F}_c)_{I+1} + (\vec{F}_c)_I\right] + \frac{1}{2}\bar{T}_{I+1/2}\vec{\Theta}_{I+1/2}. \tag{4.98}\]

在采用对偶控制体的单元顶点格式(4.2.3小节)情形,指标应为\((i+1/2)\)、\((i+1)\)等。矩阵\(\bar{T}\)包含Jacobian\(\bar{A}_c = \partial\vec{F}_c/\partial\vec{W}\)的右特征向量,其元素见附录A.11。方程(4.98)中的\(\vec{\Theta}\)项考虑特征速度的方向,控制差分算子的上风方向。向量\(\vec{\Theta}\)的第l个分量定义为(参见[84])en

In the case of the cell-vertex scheme with dual control volumes (Subsection 4.2.3), the indices would read \((i+1/2)\), \((i+1)\), etc. The matrix \(\bar{T}\) contains the right eigenvectors of the Jacobian \(\bar{A}_c = \partial\vec{F}_c/\partial\vec{W}\). The entries of the matrix can be found in the Appendix A.11. In Equation (4.98), the term \(\vec{\Theta}\) takes account of the direction of the characteristic speeds. It controls the upwind direction of the difference operator. The l-th component of the vector \(\vec{\Theta}\) is defined as (cf. [84])

\[\Theta^{l}_{I+1/2} = \frac{1}{2}\psi(\Lambda^{l}_{I+1/2})\left(\Psi^{l}_{I+1} + \Psi^{l}_{I}\right) - \psi(\Lambda^{l}_{I+1/2} + \chi^{l}_{I+1/2})\Delta C^{l}_{I+1/2}, \tag{4.99}\]

其中\(\Lambda^{l}\)表示对角矩阵\(\bar{\Lambda}_c\)的各特征值(见附录A.11),\(\Psi\)为限制器函数(方程(4.122))。此外,en

where \(\Lambda^{l}\) represents the individual eigenvalues of the diagonal matrix \(\bar{\Lambda}_c\) (see Appendix A.11), and \(\Psi\) the limiter function (Eq. (4.122)), respectively. Furthermore,

\[\chi^{l}_{I+1/2} = \frac{1}{2}\psi(\Lambda^{l}_{I+1/2})\cdot\begin{cases} \dfrac{\Psi^{l}_{I+1} - \Psi^{l}_{I}}{\Delta C^{l}_{I+1/2}} & \text{if } \Delta C^{l}_{I+1/2} \ne 0\\ 0 & \text{if } \Delta C^{l}_{I+1/2} = 0\,, \end{cases} \tag{4.100}\]

最后,\(\Delta C^{l}\)是特征变量之差的元素,即en

and finally \(\Delta C^{l}\) are the elements of the difference of characteristic variables, i.e.,

\[\Delta\vec{C}_{I+1/2} = \bar{T}^{-1}_{I+1/2}(\vec{W}_{I+1} - \vec{W}_I) \tag{4.101}\]

其中\(\bar{T}^{-1}\)为左特征向量矩阵。Harten所谓的熵修正(entropy correction)[70]、[71],即en

with \(\bar{T}^{-1}\) being the matrix of left eigenvectors. The so-called entropy correction of Harten [70], [71], i.e.,

\[\psi(z) = \begin{cases} |z| & \text{if } |z| > \delta_1\\ \dfrac{z^2 + \delta_1^2}{2\delta_1} & \text{if } |z| \le \delta_1 \end{cases} \tag{4.102}\]

可防止\(|z| \rightarrow 0\)时\(\psi(z)\)变为零。参数\(\delta_1\)最好表示为速度分量与声速的函数[84]en

prevents the value \(\psi(z)\) from vanishing for \(|z| \rightarrow 0\). The parameter \(\delta_1\) is best formulated as function of the velocity components and the speed of sound [84]

\[(\delta_1)_{I+1/2} = \delta\left(\left|u_{I+1/2}\right| + \left|v_{I+1/2}\right| + \left|w_{I+1/2}\right| + c_{I+1/2}\right), \tag{4.103}\]

其中\(0.05 \le \delta \le 0.5\)。面\((I+1/2)\)处原始变量的值既可由Roe平均(4.89)得到,也可由\(I\)与\((I+1)\)处状态的简单算术平均得到。防止在强梯度附近产生虚假解的限制器函数\(\Psi\)将在下一小节介绍。应当强调,上述上风TVD格式并不借助MUSCL方法来获得高阶精度。en

where \(0.05 \le \delta \le 0.5\). Values of the primitive variables at the face \((I+1/2)\) are obtained either from Roe's (4.89) or from simple arithmetic averaging of the states at \(I\) and \((I+1)\). The limiter function \(\Psi\), which prevents the generation of spurious solutions near strong gradients, will be presented in the next subsection. It should be stressed that the above upwind TVD scheme does not employ the MUSCL approach to achieve higher order accuracy.

可以证明,当方程(4.99)、(4.100)中的限制器函数\(\Psi\)取为零时(这恰好发生在间断处),上风TVD方法在空间上恰为一阶精度[89];除此之外,如上所述的上风TVD格式在流动光滑区域具有二阶精度。en

One can show that the upwind TVD method is precisely of first-order in space when the limiter function \(\Psi\) in Eqs. (4.99), (4.100) is set equal to zero [89], which happens at discontinuities. Otherwise, the upwind TVD scheme, as presented above, is second-order accurate in smooth flow regions.