Keywords

1 Introduction

Computation of high-speed compressible flows, governed by the Euler system of equations, continues to be a major challenge in the field of Computational Fluid Dynamics. Complexities arise inaccurately and robustly resolving the genuinely nonlinear waves like the shock wave and expansion fans, the linearly degenerate waves like the contact wave and shear wave and the mutual interactions between these wavefields. Over the past several decades, various upwind schemes have been developed to address this challenge. The two major categories of these schemes are the Flux Vector Splitting (FVS) schemes and the Flux Difference Splitting (FDS) schemes. While the FVS schemes work by decomposing the total Euler flux vector at an interface into an upwind and downwind contribution based on local wavespeeds, the FDS schemes seek the solution of a Riemann problem to estimate the numerical flux at an interface. The most cost-effective implementation of the FDS schemes is the approximate Riemann solvers and the most popular of them include the Roe scheme [1], the HLL scheme [2], the HLLC scheme [3] etc. Although the superior accuracy has rendered these schemes more popular than the FVS schemes over the years, they still lack the inherent robustness of the FVS schemes against the phenomenon of numerical shock instability [4].

A particular scheme that represents a combination of the philosophy of the FVS and the FDS schemes, yet remains distinct from each of them, is the AUSM scheme of Liou et al. [5]. The AUSM scheme is notable for pioneering the philosophy of Convective-Pressure Splitting (CPS) by arguing that since the Euler equations comprise of separable convective and pressure systems with distinct physics of propagation, it is meaningful to decompose it accordingly and discretize these components independently. The AUSM scheme rivaled most of the approximate Riemann solvers in its accuracy while closely retaining the robustness of the FVS schemes in shock-capturing. The philosophy of CPS that was put forward by this scheme had subsequently inspired several other schemes [6,7,8]. Most of these schemes used a one-sided differencing for the convective component and a Mach number or velocity-based polynomial approximations for the pressure component.

Recently, Mandal et al. [9] proposed an interesting CPS based approximate Riemann solver called the HLL-CPS scheme. In this scheme, the Euler flux is first decomposed into its respective convective and pressure systems based on either AUSM-type or Zha-Bilgen-type [6] splitting. The resulting convective system was governed by a single linear wave and the pressure system was governed by two nonlinear waves and a stationary contact wave. While the convective system is upwinded based on locally averaged fluid velocity, the pressure system is subjected to HLL-type discretization inspired by the AUFS scheme of Sun et al. [10]. The contact ability was introduced explicitly by replacing the density jumps appearing in the numerical dissipation of the pressure system to pressure jumps using an isentropic condition. The individually discretized convective and pressure systems are then coupled to each other using the slowest and fastest wavespeeds that occur as the solution of the local Riemann problem. The HLL-CPS scheme was shown to be as accurate as the HLLC scheme at least on several inviscid problems. It also inherited several appealing features like positivity, entropy satisfaction without explicit entropy fixes and flux differentiability from the HLL scheme. Further, all versions of the scheme were shown to avoid numerical shock instability on selected problems. The HLL-CPS formulation has been shown to work effectively even on the Toro-Vazquez-type flux splitting [11] and has been easily extended to its genuinely multidimensional version [12], which clearly demonstrates the versatility of the method. However, recent studies reveal that the HLL-CPS scheme has two major drawbacks. Firstly, the numerical dissipation tuning employed to resolve stationary contacts adversely affected the capability of the scheme to resolve shear waves [13]. Secondly, our experience shows that the HLL-CPS may succumb to numerical shock instability on certain problems.

To alleviate these shortcomings, in this work, we propose a new low diffusion approximate Riemann solver based on the CPS philosophy. Although we reuse the framework made available by the HLL-CPS scheme, the proposed scheme differs from it specifically in the discretization of the pressure system. In particular, we show that full accuracy on the linearly degenerate wavefields can be recovered by simply introducing an HLLC-type anti-diffusive term into the formulation. Further, we demonstrate that the proposed scheme could be made robust against numerical shock instability by simply controlling this anti-diffusive term in the vicinity of a numerical shock front.

2 Formulation

The governing equations for x-directional-split inviscid compressible flow can be expressed in their conservative form as,

$$\begin{aligned} \frac{\partial \mathbf {U}}{\partial t} + \frac{\partial \mathbf {F(U)}}{\partial x} = 0 \end{aligned}$$
(1)

where \(\mathbf {U}\) and \(\mathbf {F(U)}\) are the vector of local conserved variables and grid normal fluxes at any interfaces given respectively as \(\mathbf {U} = \left[ \rho , \rho u, \rho v, \rho E \right] ^T\) and \( \mathbf {F(U)} = \left[ \rho u, \rho u^2 + p, \rho u v, (\rho E + p)u \right] ^T\). In these expressions, \(\rho , u, v, p\) and E stands, respectively, for density, normal velocity, tangential velocity, pressure, and specific total energy. The system of equations are closed through the equation of state. In the above expression the grid tangent fluxes are neglected in a finite volume discretization because they do not contribute to the flux across an interface. A semi discretized form of Eq. (1) that uses a conventional Finite Volume based two-state approximate Riemann solver on a two-dimensional quadrilateral mesh with a cell element i of area \(|\varOmega _i|\) can be written as,

$$\begin{aligned} \frac{d\mathbf {U}_i}{dt} = -\frac{1}{|\varOmega |_i} \sum _{k=1}^{4} [ \mathbf {F}_\mathrm{Riemann} (\mathbf {U_L},\mathbf {U_R})]\Delta s_k \end{aligned}$$
(2)

where \(\mathbf {U_L},\mathbf {U_R}\) indicates the initial conditions of a local Riemann problem across kth interface of cell i and \(\mathbf {F}_\mathrm{Riemann}\) is the Riemann flux operator at any interface with face length \(\Delta s_k\). In this work we use the Zha-Bilgen type flux splitting strategy [6] to split the total Euler flux vector into its convective (\(\mathbf {F^C}\)) and pressure (\(\mathbf {F^P}\)) systems as,

$$\begin{aligned} \mathbf {F} = \mathbf {F^C}+ \mathbf {F^P} \end{aligned}$$

where,

$$\begin{aligned} \mathbf {F^C} = u \begin{pmatrix} \rho \\ \rho u \\ \rho v \\ E \end{pmatrix} \qquad \mathbf {F^P} = \begin{pmatrix} 0 \\ p \\ 0 \\ p u \end{pmatrix} \end{aligned}$$
(3)

For the proposed scheme, the convective part is discretized using a simple local average velocity based upwinding similar to [9].

$$\begin{aligned} {\mathbf {F}^C} = {M}_{k}\begin{pmatrix} \rho \\ \rho u\\ \rho v \\ E \end{pmatrix}_{k} a_k \end{aligned}$$
(4)
$$\begin{aligned} k = \left\{ \begin{array}{l l} L &{} \quad \text{ if } \bar{u}\ge 0\\ R &{} \quad \text{ if } \bar{u}<0\\ \end{array} \right. \end{aligned}$$
(5)

where the local average velocity \(\displaystyle \bar{u} = \frac{{u}_L+{u}_R}{2}\)

$$\begin{aligned} {M}_k = \left\{ \begin{array}{l l} \displaystyle \frac{\bar{u}}{\bar{u}-S_L} &{} \quad \text{ if } \bar{u}\ge 0\\ \displaystyle \frac{\bar{u}}{\bar{u}-S_R} &{} \quad \text{ if } \bar{u}<0\\ \end{array} \right. \end{aligned}$$
(6)

and

$$\begin{aligned} a_k = \left\{ \begin{array}{l l} \displaystyle {u}_L-S_L &{} \quad \text{ if } \bar{u}\ge 0\\ \displaystyle {u}_R-S_R &{} \quad \text{ if } \bar{u}<0\\ \end{array} \right. \end{aligned}$$
(7)

The \(S_L=\text {min}(0,{u}_L-a_L,\tilde{u}-\tilde{a})\) and \(S_R=\text {max}(0,{u}_R+a_R,\tilde{u}+\tilde{a})\) are the wavespeeds. The pressure part can be discretized using the two-wave HLL Riemann solver as in [9],

$$\begin{aligned} \mathbf {F^P}=\frac{S_R\mathbf {F^P_{L}}-S_L\mathbf {F^P_{R}} +S_RS_L(\mathbf {U_R}-\mathbf {U_L})}{S_R-S_L} \end{aligned}$$
(8)

Now, instead of tuning the term \((\mathbf {U_R}-\mathbf {U_L})\) to recover accuracy on linearly degenerate waves like contact waves and shear waves as advocated in the HLL-CPS scheme, we simply add an HLLC-type anti-diffusive term to the pressure discretization. Hence, we write,

$$\begin{aligned} \mathbf {F^P}=\frac{S_R\mathbf {F^P_{L}}-S_L\mathbf {F^P_{R}} +S_RS_L(\mathbf {U_R}-\mathbf {U_L})}{S_R-S_L} + \omega \mathbf {A_{HLLC}} \end{aligned}$$
(9)

where the anti-diffusion term \(\mathbf {A_{HLLC}}\) can be written as,

$$\begin{aligned} \mathbf {A_{HLLC}}= {\left\{ \begin{array}{ll} S_L(\mathbf {U_{*L}}^{HLLC} - \mathbf {U}_{*}^{HLL}),&{} \text {if } S_L\le 0 \le S_M\\ S_R(\mathbf {U_{*R}}^{HLLC} - \mathbf {U}_{*}^{HLL}),&{} \text {if } S_M \le 0 \le S_R\\ \end{array}\right. } \end{aligned}$$
(10)

where, \(S_M\) is the estimated speed of the contact and shear wave and can be obtained as suggested in [14]. Since this anti-diffusive term is responsible for triggering shock instability [15], a pressure-ratio based control parameter \(\omega \) is introduced in order to control this term in the vicinity of strong normal shocks. The control parameter \(\omega \) is given as,

$$\begin{aligned} \omega _{i,j+1/2} = \mathrm{min}_k (f_k),\ \ \ k=1...4 \end{aligned}$$
(11)

The term \(f_k\) denotes a pressure-ratio based function that uses a predefined stencil around a particular interface as shown in Fig. 1a. At any interface k, \(f_k\) is defined as,

$$\begin{aligned} f_k = \mathrm{min}\left( \frac{p_R}{p_L},\frac{p_L}{p_R} \right) _k^5 \end{aligned}$$
(12)
Fig. 1
figure 1

Stencils for evaluation of the anti-diffusion control parameter \(\omega \). a On horizontal interfaces. b On vertical interfaces

We term the resulting scheme as HLLC-CPS-Z (Zha-Bilgen split). We note that an HLLC-CPS-A and an HLLC-CPS-T can also be constructed in similar fashion by starting, respectively, with the AUSM-type or the Toro-Vazquez-type flux splittings although we choose not to discuss them presently. In the next section, we test the HLLC-CPS-Z scheme for its accuracy on linearly degenerate waves and robustness against numerical shock instability.

3 Results and Discussions

3.1 Subsonic Laminar Flow Over a Flat Plate

A \(M = 0.1\) laminar flow over a flat plate is used as a test case to demonstrate the capability of the proposed HLLC-CPS-Z scheme to satisfactorily resolve a shear dominated viscous flow. The domain is divided into 31 \(\times \) 33 Cartesian cells with fifteen cells retained in the boundary layer. Viscous fluxes are discretized using simple averaging. The CFL number is taken to be 0.7. In Fig. 2, we plot the normalized longitudinal velocity profiles \((\frac{u}{u_{\infty }})\) against the Blasius parameter \(\eta =y\sqrt{u_{\infty }/\mu L}\). It can be clearly seen that HLLC-CPS-Z scheme has a marked improvement over the HLL-CPS-Z scheme in capturing the boundary layer.

Fig. 2
figure 2

Comparison of velocity profiles computed by the HLL-CPS-Z scheme and the proposed HLLC-CPS-Z scheme for a \(M=0.1\) laminar flow over a flat plate

3.2 Two-Dimensional Supersonic Shear Flow

This problem investigates the inviscid contact capturing ability of a given scheme by simulating a fluid system consisting of two different density fluids sliding over each other at different speeds [16]. The top fluid is chosen to have conditions \((\rho , p,M)_\mathrm{top}\) = (1, 1, 2) while the bottom fluid is chosen to have conditions \((\rho , p,M)_\mathrm{bottom}\) = (10, 1, 1.1). The domain of 1.0 \(\times \) 1.0 is coarsely discretized using 10 \(\times \) 10 cells. The simulation is run for 1000 iterations using a CFL number of 1.0. All simulations are plain first-order accurate. Figure 3 shows a comparison of the density variation along y-location at the center of the domain. The plot clearly shows that while the HLL-CPS-Z scheme diffuses the interface to an unacceptable level, the proposed HLLC-CPS-Z scheme is able to retain it exactly.

Fig. 3
figure 3

Variation of density along the y-direction at the center of the domain in the two-dimensional supersonic shear flow

3.3 Standing Shock Instability

This simple test case evaluates the ability of a numerical scheme to compute an isolated normal shock front without allowing random perturbations to grow and distort the initial shock structure or produce contaminated post-shock values [17]. A normal shock of strength \(M=7\) is located in the middle of an unit-dimensional domain divided into 26 \(\times \) 26 Cartesian cells. The CFL number is 0.5. First-order solution is sought. Figure 4 shows thirty density contour lines equally spanning values from 1.0 to 7.4 for this experiment at t \(=\) 50 units. From the figure, it is evident that HLL-CPS-Z scheme produces this variant of shock instability while the HLLC-CPS-Z scheme is completely free of this.

Fig. 4
figure 4

Results for \(M = 7\) standing shock instability problem

3.4 Supersonic Flow Over Bluntbody

This problem investigates the susceptibility of the numerical scheme to produce the dreaded “Carbuncle” phenomenon. A unit-dimensional cylinder is placed in a \(M=20\) inviscid flow with free stream conditions chosen as \((\rho ,u,v,p) = (1.4,20.0,0.0,1.0)\). The computational mesh consists of 320 \(\times \) 40 body-fitted structured quadrilateral cells in circumferential and radial directions, respectively. To trigger the instability, the centerline grid is perturbed to the order of \(10^{-3}\). The CFL number for the computation is taken to be 0.5 and First-order simulation is run for 20,000 iterations. The results showing twenty density contours equally spanning value from 1.4 to 8.5 are shown in Fig. 5. The contours clearly show the presence of instability in the HLL-CPS-Z scheme while the HLLC-CPS-Z scheme is completely free of it.

Fig. 5
figure 5

Results for \(M = 20\) supersonic flow over a blunt body problem

4 Conclusions

In this paper we propose a novel approximate Riemann solver called the HLLC-CPS-Z scheme for robust and accurate computation of high speed flows. The proposed scheme is primarily based on the Convective-Pressure split (CPS) strategy wherein the total Euler flux is split into a convective and pressure systems. The resulting convective and pressure systems are discretized similar to the HLL-CPS scheme [9]. However, for resolving contact and shear waves accurately, we introduce an HLLC-type anti-diffusive term to the pressure system in contrast to the numerical dissipation tuning employed by the HLL-CPS scheme. This anti-diffusive term is also selectively controlled near strong shocks using a pressure-ratio-based control parameter to prevent the occurrence of numerical shock instability. Numerical results demonstrate that the HLLC-CPS-Z scheme possesses superior accuracy on linearly degenerate waves while displaying high robustness against numerical shock instability.