6.3.1 Dual Time-Stepping for Explicit Multistage Schemes 显式多级格式的双时间步进[cfd-6-3-1]

Jameson[97]首先用由局部时间步进与多重网格加速的显式多级格式实现了双时间方法。该方法的重要优点是物理时间步长不像显式方法通常那样受限制,可以完全依据流动物理来选取。另一方面,只需为源项\(\vec{Q}^{*}\)增加额外存储,这使得该方法非常有吸引力。求解伪时间问题(6.68)的\(m\)级显式格式为en

Jameson [97] first implemented the dual-time methodology using an explicit multistage scheme accelerated by local time-stepping and multigrid. The significant advantage of this approach is that the physical time step is not restricted as usual in explicit methods. It can be chosen based solely on the flow physics. On the other hand, additional storage is needed only for the source term \(\vec{Q}^{*}\), which makes the approach very attractive. An \(m\)-stage explicit scheme for the solution of the pseudo-time problem (6.68) reads

\[\begin{aligned} \vec{W}^{(0)}_{I} &= \left(\vec{W}^{*}_{I}\right)^{l}\\ \vec{W}^{(1)}_{I} &= \vec{W}^{(0)}_{I} - \frac{\alpha_{1}\Delta t^{*}_{I}}{\Omega^{n+1}_{I}}\vec{R}^{*}_{I}\left(\vec{W}^{(0)}\right)\\ \vec{W}^{(2)}_{I} &= \vec{W}^{(0)}_{I} - \frac{\alpha_{2}\Delta t^{*}_{I}}{\Omega^{n+1}_{I}}\vec{R}^{*}_{I}\left(\vec{W}^{(1)}\right)\\ &\ \ \vdots\\ \left(\vec{W}^{*}_{I}\right)^{l+1} &= \vec{W}^{(0)}_{I} - \frac{\alpha_{m}\Delta t^{*}_{I}}{\Omega^{n+1}_{I}}\vec{R}^{*}_{I}\left(\vec{W}^{(m-1)}\right), \end{aligned} \tag{6.71}\]

其中\(l\)表示当前伪时间层,\((l+1)\)表示新伪时间层。时间推进过程或者以\(\left(\vec{W}^{*}\right)^{l} = \vec{W}^{n}\)启动,或者以由先前物理时间步外推的值启动,例如[98]en

where \(l\) denotes the actual and \((l+1)\) the new pseudo-time level, respectively. The time-marching process is started either with \(\left(\vec{W}^{*}\right)^{l} = \vec{W}^{n}\) or with a value extrapolated from previous physical time steps, e.g., [98]

\[\left(\vec{W}^{*}_{I}\right)^{l} = \vec{W}^{n} + \frac{3\vec{W}^{n} - 4\vec{W}^{n-1} + \vec{W}^{n-2}}{2}. \tag{6.72}\]

推进一直持续到\(\left(\vec{W}^{*}_{I}\right)^{l+1}\)以足够的精度逼近\(\vec{W}^{n+1}_{I}\)(通常当残差\(\vec{R}^{*}_{I}\)降低了两个或三个数量级时)。此后进行下一个物理时间步。伪时间步长\(\Delta t^{*}\)按6.1.4小节中同样方式计算。en

It is continued until \(\left(\vec{W}^{*}_{I}\right)^{l+1}\) approximates \(\vec{W}^{n+1}_{I}\) with sufficient accuracy (usually when the residual \(\vec{R}^{*}_{I}\) was reduced by two or three orders of magnitude). After that, the next physical time step is conducted. The pseudo time step \(\Delta t^{*}\) is computed in the same way that we saw in Subsection 6.1.4.

Arnone等人[98]指出,当物理时间步长\(\Delta t\)与伪时间步长\(\Delta t^{*}\)同量级或更小时,多级格式(6.71)会变得不稳定。Melson等人[99]证明,不稳定性由如下项引起en

Arnone et al. [98] pointed out that the multistage scheme (6.71) becomes unstable when the physical time step \(\Delta t\) is of the order of the pseudo time step \(\Delta t^{*}\) or smaller. Melson et al. [99] demonstrated that the instability is caused by the term

\[\frac{3}{2\Delta t}\left(\Omega\bar{M}\right)^{n+1}_{I}\vec{W}^{*}_{I} \tag{3}\]

它出现在式(6.69)中,在\(\Delta t\)较小时变得显著。他们建议对这一项作隐式处理。于是,必须修改式(6.71)的多级格式,使第\(k\)级变为[99]en

in Eq. (6.69), which becomes significant for small \(\Delta t\). They suggested an implicit treatment of this term. Thus, we have to modify the multistage scheme in Eq. (6.71) such that the \(k\)-th stage becomes [99]

\[\begin{aligned} \vec{W}^{(k)}_{I} &= \vec{W}^{(0)}_{I} - \frac{\alpha_{k}\Delta t^{*}_{I}}{\Omega^{n+1}_{I}}\left[\bar{I} + \frac{3}{2\Delta t}\alpha_{k}\Delta t^{*}_{I}\bar{M}^{n+1}\right]^{-1}\\ &\quad\cdot\left[\vec{R}_{I}\left(\vec{W}^{(k-1)}\right) + \frac{3}{2\Delta t}\left(\Omega\bar{M}\right)^{n+1}_{I}\vec{W}^{(0)}_{I} - \vec{Q}^{*}_{I}\right]. \end{aligned} \tag{6.73}\]

同样的方法也适用于混合多级格式(见6.1.2小节)。上述形式(6.73)对任何物理时间步长\(\Delta t\)都是稳定的[99]。en

The same methodology can also be applied to a hybrid multistage scheme (see Subsection 6.1.2). The above formulation (6.73) is stable for any physical time step \(\Delta t\) [99].

对单元中心格式,式(6.73)中的质量矩阵\(\bar{M}^{n+1}\)可以集中化(用单位矩阵代替)而不降低解的精度。这样,式中的项en

In the case of cell-centred schemes, the mass matrix \(\bar{M}^{n+1}\) in Eq. (6.73) can be lumped (substituted by the identity matrix) without reducing the solution accuracy. In this way, the term

\[\left[\bar{I} + \frac{3}{2\Delta t}\alpha_{k}\Delta t^{*}_{I}\bar{M}^{n+1}\right]^{-1} \tag{5}\]

便变成一个标量值。然而,对单元顶点空间离散格式,则必须考虑质量矩阵,否则多级格式在小物理时间步长下会不稳定。为了避免对\(\bar{M}^{n+1}\)的昂贵求逆,Venkatakrishnan[100]以及Venkatakrishnan与Mavriplis[101]对式(6.73)提出了如下修改en

in Eq. (6.73) is turned into a scalar value. However, we have to account for the mass matrix in the case of a cell-vertex spatial discretisation scheme. Otherwise, the multistage scheme will be unstable for small physical time steps. In order to circumvent the expensive inversion of \(\bar{M}^{n+1}\), Venkatakrishnan [100] and Venkatakrishnan and Mavriplis [101] suggested the following modification to Eq. (6.73)

\[\begin{aligned} \vec{W}^{(k)}_{I} &= \vec{W}^{(0)}_{I} - \frac{\alpha_{k}\Delta t^{*}_{I}}{\Omega^{n+1}_{I}}\left[1 + \frac{3}{2\Delta t}\alpha_{k}\Delta t^{*}_{I}\beta\right]^{-1}\\ &\quad\cdot\left[\vec{R}^{*}_{I}\left(\vec{W}^{(k-1)}\right) - \frac{3}{2\Delta t}\Omega^{n+1}_{I}\beta\,\vec{W}^{(k-1)}_{I}\right]. \end{aligned} \tag{6.74}\]

参数\(\beta\)此时可用来稳定时间推进格式。实践中发现取\(\beta = 2\)即已足够[100]、[101]。en

The parameter \(\beta\) can now be utilised to stabilise the time-stepping scheme. In practice, choosing \(\beta = 2\) was found sufficient [100], [101].

用显式多级格式获得伪时间内解的双时间步进方法应用广泛。当多级格式由局部时间步进(在\(t^{*}\)内)与多重网格加速时,计算效率最高。原因是多重网格格式能快速(在少数几个循环内)收敛到式(6.68)的定常解。结构网格上的应用实例可见文献[97]-[99]以及[102]-[104];该方法在非结构网格上的实现例如见于[100]、[101]与[105]。en

The dual time-stepping approach, where the solution in pseudo time is obtained by an explicit multistage scheme, is widely used. The highest computational efficiency results when the multistage scheme is accelerated by local time-stepping (in \(t^{*}\)) and multigrid. The reason is that the multigrid scheme converges quickly (in few cycles) to the stationary solution of Eq. (6.68). Examples of applications on structured grids can be found in Refs. [97]-[99] as well as in [102]-[104]. Implementations of the methodology on unstructured grids were described, e.g., in [100], [101] and [105].