1 INTRODUCTION

Numerical modeling of multispecies multi‑reaction gas flows, in particular, the simulation of detonation is of great interest for both physics, i.e., for the study of processes occurring in gases, and for purely engineering applications.

The dominant approach in such simulations is based on splitting with respect to physical processes [14]. In this approach, the original system of equations describing gas dynamics splits into convective, chemical, and, possibly, diffusion (viscous) parts, which are then integrated using certain numerical methods. The necessity of splitting is dictated by the fact that the characteristic time scales of convection and chemical reactions often differ substantially (by several orders of magnitude).

The convection part is integrated, as a rule, by applying explicit shock-capturing schemes [59]. For gas flows involving a detonation wave (DW), the computations based on explicit schemes may lead to this true DW splitting into two spurious waves: a shock wave (SW) and a DW precursor propagating much faster than the true DW. The analysis carried out in [10] showed that this nonphysical phenomenon is caused by the nonzero numerical dissipation of any shock-capturing scheme. Smearing the DW front, dissipation “warms up” the reagents ahead of it. As a result, chemical reactions start prematurely. The rate of the warming process has the order of the ratio of the spatial cell length to the time step, i.e., \({h \mathord{\left/ {\vphantom {h \tau }} \right. \kern-0em} \tau }\). In the case of explicit schemes, any wave is propagated through less than one cell over a time step, since the Courant number must be less than unity. As a result, the computed reaction front detaches from the SW and two above-mentioned spurious waves, rather than one true DW, are observed.

This nonphysical breakdown of DW can be eliminated extensively by reducing the mesh sizes and increasing the number of cells. At some moment, under mesh refinement, the extremely narrow reaction zone behind the DW becomes completely resolved and the DW precursor disappears. However, this approach is suitable only for nearly one-dimensional flows (ones in long narrow tubes and channels) and unsuitable for essentially three-dimensional flows of complex geometry.

Another approach, which avoids mesh refinement, is based on special correction procedures preventing the premature start of reactions. A rather detailed overview of such procedures and their chronology can be found in [11]. They include the randomization of ignition temperatures [12, 13]; the MinMax method based on two-value reconstruction within each cell [14]; capturing of DW with the help of subcell-resolution WENO reconstructions with the subsequent correction of the gas temperature and the reactants mass fractions near DW at the stage of integrating the chemical part [7, 11]; and a threshold values method [6], which explicitly limits the speed of the numerical DW. The last three approaches and numerous similar ones are based on the explicit introduction of DW in the solution, which seems irrelevant in shock-capturing computations.

An alternative approach for coping with nonphysical DW breakdown was proposed in [15]. It is based on implicit shock-capturing schemes for computing convection. Implicit schemes make it possible to use Courant numbers exceeding unity. In this case, the true DW moves over the grid quicker than a potential precursor, which prevents the latter from emerging and developing. Of course, there is no need to use special correction procedures of the type considered in [11]. As a particular implicit scheme, a third-order bicompact scheme is used in [15] (see [16, 17]).

The goal of this work is twofold: first, we show that the ideas of [15] are valid not only in the case of two species and a single reaction, but also in the multispecies multi-reaction case, and, second, we demonstrate the capabilities of bicompact schemes and compare them with the explicit WENO5/SR scheme from [7].

This paper is organized as follows. In Section 2, we formulate a gas model and the system of equations governing the gas dynamics. A bicompact scheme for the numerical solution of this system is briefly described in Section 3. Numerical results for one- and two-dimensional flows with DW are analyzed in Section 4. The conclusions are given in Section 5.

2 SYSTEM OF EQUATIONS

As was indicated in the Introduction, our goal is to demonstrate the capabilities of bicompact schemes as applied to the problems in [7] and to compare them with the schemes of [7]. For this reason, we use the same gas model and governing system of equations as in [7].

Consider an ideal (inviscid) gas consisting of ns species with chemical formulas \({{X}_{1}},...,{{X}_{{{{n}_{s}}}}}\). The gas equation of state has the form

$$p(\rho ,\varepsilon ) = (\gamma - 1)(\rho \varepsilon - \rho {{Z}_{1}}{{q}_{1}} - ... - \rho {{Z}_{{{{n}_{s}}}}}{{q}_{{{{n}_{s}}}}}),\,\,\,\,T = {p \mathord{\left/ {\vphantom {p \rho }} \right. \kern-0em} \rho },$$

where ρ, p, ε, T are the density, pressure, internal energy density, and temperature of the gas, respectively; \({{Z}_{i}} \in [0,1]\) is the mass fraction of the species \({{X}_{i}}\); \({{q}_{i}} = {\text{const}}\) is the specific heat of \({{X}_{i}}\); and \(\gamma = {\text{const}}\) is the ratio of specific heats. The gas species participate in the chemical reactions

$$\nu _{{1,r}}^{{{'}}}{{X}_{1}} + ... + \nu _{{{{n}_{s}},r}}^{{{'}}}{{X}_{{{{n}_{s}}}}} \to \nu _{{1,r}}^{{{{''}}}}{{X}_{1}} + ... + \nu _{{{{n}_{s}},r}}^{{{{''}}}}{{X}_{{{{n}_{s}}}}},\,\,\,\,r = \overline {1,{{n}_{r}}} .$$

The rate \({{K}_{r}}\) of reaction r is specified using simple Heaviside kinetics:

$${{K}_{r}}(T) = {{B}_{r}}{{T}^{{{{\alpha }_{r}}}}}\theta {\kern 1pt} (T - {{T}_{r}}),$$

where \(\theta ( \cdot )\) is the Heaviside step function, \({{B}_{r}}\) and \({{\alpha }_{r}}\) are constant parameters, and \({{T}_{r}} = {\text{const}}\) is the temperature of the reaction.

The dynamics of this gas is described by the system of Euler equations with a source. Specifically, for two-dimensional flows in a Cartesian coordinate system, it has the form

$$\begin{gathered} \frac{{\partial {\mathbf{Q}}}}{{\partial t}} + \frac{{\partial {\mathbf{F}}({\mathbf{Q}})}}{{\partial x}} + \frac{{\partial {\mathbf{G}}({\mathbf{Q}})}}{{\partial y}} = {\mathbf{S}}({\mathbf{Q}}), \\ {\mathbf{Q}} = \left[ {\begin{array}{*{20}{c}} \rho \\ {\rho {{{v}}_{x}}} \\ {\rho {{{v}}_{y}}} \\ E \\ {\rho {{Z}_{1}}} \\ \vdots \\ {\rho {{Z}_{{{{n}_{s}} - 1}}}} \end{array}} \right],\,\,\,\,{\mathbf{F}}({\mathbf{Q}}) = \left[ {\begin{array}{*{20}{c}} {\rho {{{v}}_{x}}} \\ {\rho {v}_{x}^{2} + p} \\ {\rho {{{v}}_{x}}{{{v}}_{y}}} \\ {{{{v}}_{x}}(E + p)} \\ {\rho {{Z}_{1}}{{{v}}_{x}}} \\ \vdots \\ {\rho {{Z}_{{{{n}_{s}} - 1}}}{{{v}}_{x}}} \end{array}} \right],\,\,\,\,{\mathbf{G}}({\mathbf{Q}}) = \left[ {\begin{array}{*{20}{c}} {\rho {{{v}}_{y}}} \\ {\rho {{{v}}_{x}}{{{v}}_{y}}} \\ {\rho {v}_{y}^{2} + p} \\ {{{{v}}_{y}}(E + p)} \\ {\rho {{Z}_{1}}{{{v}}_{y}}} \\ \vdots \\ {\rho {{Z}_{{{{n}_{s}} - 1}}}{{{v}}_{y}}} \end{array}} \right],\,\,\,\,{\mathbf{S}}({\mathbf{Q}}) = \left[ {\begin{array}{*{20}{c}} 0 \\ 0 \\ 0 \\ 0 \\ {{{{\dot {\omega }}}_{1}}} \\ \vdots \\ {{{{\dot {\omega }}}_{{{{n}_{s}} - 1}}}} \end{array}} \right], \\ E = \rho \varepsilon + \frac{{\rho ({v}_{x}^{2} + {v}_{y}^{2})}}{2}. \\ \end{gathered} $$
(1)

Here, \({\mathbf{Q}} = {\mathbf{Q}}(x,y,t)\) is the sought vector of conservative variables; \({\mathbf{F}}({\mathbf{Q}})\) and \({\mathbf{G}}({\mathbf{Q}})\) are the flux vectors in the Ox and \(Oy\) directions, respectively; and \({\mathbf{S}}({\mathbf{Q}})\) is the source vector. By \({\mathbf{v}} = ({{{v}}_{x}},{{{v}}_{y}})\) and E, we denote the velocity and the total energy per unit gas volume. The terms responsible for the chemical reactions are written as

$${{\dot {\omega }}_{i}} = {{M}_{i}}{{\sum\limits_{r = 1}^{{{n}_{r}}} {(\nu _{{i,r}}^{{{{''}}}} - \nu _{{i,r}}^{{{'}}}){{K}_{r}}(T)\prod\limits_{s = 1}^{{{n}_{s}}} {\left( {\frac{{\rho {{Z}_{s}}}}{{{{M}_{s}}}}} \right)} } }^{{\nu _{{i,r}}^{{{'}}}}}},\,\,\,\,i = \overline {1,{{n}_{s}}} ,$$

where \({{M}_{i}}\) is the atomic weight of the species \({{X}_{i}}\). The equation for the mass fraction \({{Z}_{{{{n}_{s}}}}}\) is not solved, since it can be computed using the obvious formula

$${{Z}_{{{{n}_{s}}}}} = 1 - {{Z}_{1}} - ... - {{Z}_{{{{n}_{s}} - 1}}}.$$

The computational domain and the initial and boundary conditions specified for system (1) will be discussed in detail in describing the problems in Section 4.

3 NUMERICAL SCHEME

To solve system (1) numerically, we apply the second-order Marchuk–Strang splitting scheme with respect to physical processes [1, 4]. System (1) is split into two parts: convective

$${{\partial {\mathbf{Q}}} \mathord{\left/ {\vphantom {{\partial {\mathbf{Q}}} {\partial t}}} \right. \kern-0em} {\partial t}} + {{\partial {\mathbf{F}}({\mathbf{Q}})} \mathord{\left/ {\vphantom {{\partial {\mathbf{F}}({\mathbf{Q}})} {\partial x}}} \right. \kern-0em} {\partial x}} + {{\partial {\mathbf{G}}({\mathbf{Q}})} \mathord{\left/ {\vphantom {{\partial {\mathbf{G}}({\mathbf{Q}})} {\partial y}}} \right. \kern-0em} {\partial y}} = {\mathbf{0}}$$
(2)

and chemical

$${{\partial {\mathbf{Q}}} \mathord{\left/ {\vphantom {{\partial {\mathbf{Q}}} {\partial t}}} \right. \kern-0em} {\partial t}} = {\mathbf{S}}({\mathbf{Q}}).$$
(3)

The convection part (2) is computed using a bicompact shock-capturing scheme that has the fourth order of classical approximation in space [16]. Time stepping in this scheme is based on the singly diagonally implicit stiffly accurate L-stable Runge–Kutta method of the third order [18, Theorem 5]. This bicompact scheme is referred to as SDIRK3B4. Importantly, two methods are used to implement it:

1. Locally one-dimensional splitting in x and y with symmetrization [13] (as applied to bicompact schemes, see [19]).

2. A conservative limiting (monotonization) method [20]. As a monotone partner scheme A, we use a bicompact scheme of fourth-order accuracy in space with time discretization based on the implicit Euler method. SDIRK3B4 is used as scheme \(B\) in this method. The formula for weighting factors involves \({{C}_{1}}\), which is the only tuning parameter of the method; additionally, this formula involves normalization by \({{\max }_{{x \in {{K}_{i}}}}}\left| {{{Q}_{{As}}}} \right|\) (see formula (13) in [20]). The parameter \({{C}_{1}} \geqslant 0\) is responsible for the degree to which the spatial finite-element approximation is restricted: for \({{C}_{1}} = 0\), there is no restriction at all, while, in the limit as С1 → ∞, this approximation at every time level is reduced to an integral average. In all computations of this work, \({{C}_{1}} = 10\).

Additionally, SDIRK3B4 involves the global Lax–Friedrichs flux splitting method (see [21]); its parameter is specified as δ = 0.2 for all the computations described in Section 4. The mesh parameters and the Courant number \(\kappa \) are indicated separately for each computation.

The level-to-level transition operator of the SDIRK3B4 scheme is denoted by \(\operatorname{A} (\tau )\), where \(\tau \) is the time step.

The chemical part (3) is integrated using a singly diagonally implicit L‑stable second-order stiffly accurate Runge–Kutta method [18, Theorem 5] with the Butcher tableau

$$\begin{array}{*{20}{c}} a&| & a&{} \\ 1&| & {1 - a}&a \\ \hline {}&| & {1 - a}&a \end{array}\,\,\,\,\,\,a = 1 - \frac{{\sqrt 2 }}{2}.$$
(4)

The level-to-level transition operator of method (4) is denoted by \(\operatorname{R} (\tau )\).

With the use of the above notation, the resulting level-to-level transition operator of the Marchuk–Strang splitting method is written as

$${{{\mathbf{Q}}}^{{n + 1}}} = \operatorname{A} \left( {\frac{\tau }{2}} \right)\underbrace {\operatorname{R} \left( {\frac{\tau }{{{{N}_{r}}}}} \right) \ldots \operatorname{R} \left( {\frac{\tau }{{{{N}_{r}}}}} \right)}_{{{N}_{r}}\;{\text{factors}}}\operatorname{A} \left( {\frac{\tau }{2}} \right){{{\mathbf{Q}}}^{n}},$$
(5)

where n is the time level number. Note that, in computing the chemical part, the time step \(\tau \) is additionally partitioned into \({{N}_{r}}\) subintervals. The number \({{N}_{r}}\) is given by the formula

$${{N}_{r}} = \left\lceil {z_{{{\text{ODE}}}}^{{ - 1}}\tau \mathop {\max }\limits_{r = \overline {1,\,{{n}_{r}}} } {{B}_{r}}} \right\rceil ,$$

where \({{z}_{{{\text{ODE}}}}}\) is a prescribed parameter of scheme (5) (which is necessary like the Courant number \(\kappa \)). The values of \({{z}_{{{\text{ODE}}}}}\) are presented in Section 4.

Below, the scheme with operator (5) is referred to as SDIRK3B4 to emphasize its use for the computation of the convection part.

4 NUMERICAL RESULTS FOR TEST PROBLEMS WITH DW

The bicompact scheme SDIRK3B4 described in Section 3 was tested as applied to five problems from [7]. In each of them, the gas flow contained a DW.

Problem 1. The gas consists of three species:

$${{X}_{1}} = {{{\text{H}}}_{{\text{2}}}},\,\,\,\,{{X}_{2}} = {{{\text{O}}}_{{\text{2}}}},\,\,\,\,{{X}_{3}} = {{{\text{H}}}_{{\text{2}}}}{\text{O}}{\text{,}}$$

and there is a single chemical reaction:

$${\text{2}}{{{\text{H}}}_{{\text{2}}}} + {{{\text{O}}}_{{\text{2}}}} \to 2{{{\text{H}}}_{{\text{2}}}}{\text{O}}{\text{.}}$$

The gas parameters are specified as \(\gamma = 1.4\), \({{q}_{1}} = {{10}^{3}}\), \({{q}_{2}} = {{q}_{3}} = 0\), \({{T}_{1}} = 2\), \({{B}_{1}} = 500\), and \({{\alpha }_{1}} = 1\).

In this gas, we consider a one-dimensional Riemann problem:

$$\left( {\rho ,{{{v}}_{x}},p,{{Z}_{1}},{{Z}_{2}}} \right)(x,0) = \left\{ {\begin{array}{*{20}{l}} {(2,10,40,0.325,0)}&{{\text{if}}\,\,x < 2.5} \\ {(1,0,1,0.4,0.6)}&{{\text{if}}\,\,x \geqslant 2.5.} \end{array}} \right.$$

The computational domain is the interval \(x \in (0,50)\), and free outflow is set on the boundaries x = 0 and x = 50. The decay of the discontinuity gives rise to three structures: an SW, a contact discontinuity (CD), and a DW (listed from left to right in increasing order of x).

The SDIRK3B4 bicompact scheme was used on a rather coarse uniform grid with N = 50 cells (as in [7]) at the Courant number κ = 2 and the parameter \({{z}_{{{\text{ODE}}}}} = 0.25\).

Figure 1 shows the profiles of the gas temperature and the reactants mass fractions at the time t = 3. For comparison, the figure presents the reference solution and the solutions produced by the WENO5/SR and WENO5 schemes according to the data from [7].

Fig. 1.
figure 1

Profiles of gas temperature and reactants mass fractions in Problem 1 at t = 3: the reference solution (solid) and the solutions produced by the bicompact scheme SDIRK3B4 (squares), the WENO5/SR scheme (circles), and the WENO5 scheme (dashed).

Inspection of Fig. 1 shows that SDIRK3B4 adequately reproduces the dynamics of the DW, which is in the correct place. The standard WENO5 scheme fails in this problem: the DW is propagated far to the right beyond the computational domain. WENO5/SR is able to produce the correct DW dynamics, but at the cost of special corrections. In SDIRK3B4, the correct solution is obtained automatically due to the use of a large Courant number. Note also that the SW and CD are resolved well in SDIRK3B4.

Note that the reaction rate immediately behind the DW is \({{K}_{1}} = {{B}_{1}}{{T}^{{{{\alpha }_{1}}}}} = 500 \times 40 = \) \(2 \times {{10}^{4}}\). This is much greater than any characteristic scale associated with convection processes, which suggests that system (1) is highly stiff. The same is true for the other four problems. It is the stiffness of system (1) that causes the incorrect work of the standard WENO5 version and other explicit schemes.

Problem 2. The formulation is similar to Problem 1, so we describe in detail only the differences between them.

The gas consists of four species:

$${{X}_{1}} = {\text{C}}{{{\text{H}}}_{4}},\,\,\,\,{{X}_{2}} = {{{\text{O}}}_{{\text{2}}}},\,\,\,\,{{X}_{3}} = {\text{C}}{{{\text{O}}}_{2}}{\text{,}}\,\,\,\,{{X}_{4}} = {{{\text{H}}}_{{\text{2}}}}{\text{O}}{\text{.}}$$

A single chemical reaction occurs in the gas:

$${\text{C}}{{{\text{H}}}_{4}} + {\text{2}}{{{\text{O}}}_{2}} \to {\text{C}}{{{\text{O}}}_{2}} + {\text{2}}{{{\text{H}}}_{2}}{\text{O}}{\text{.}}$$

The gas parameters are specified as \(\gamma = 1.4\), \({{q}_{1}} = 500\), \({{q}_{2}} = {{q}_{3}} = {{q}_{4}} = 0\), \({{T}_{1}} = 2\), \({{B}_{1}} = {{10}^{6}}\), and \({{\alpha }_{1}} = 0\).

As in the preceding example, we consider a one-dimensional Riemann problem:

$$\left( {\rho ,{{{v}}_{x}},p,{{Z}_{1}},{{Z}_{2}},{{Z}_{3}}} \right)(x,0) = \left\{ {\begin{array}{*{20}{l}} {(2,10,40,0,0.2,0.475)}&{{\text{if}}\,\,x < 2.5} \\ {(1,0,1,0.1,0.6,0.2)}&{{\text{if}}\,\,x \geqslant 2.5.} \end{array}} \right.$$

The computational domain and the boundary conditions are the same as before. The decay of the discontinuity gives rise to the same structures, SW, CD, and DW, located in the same order. The reaction rate immediately behind the DW is \({{K}_{1}} = {{B}_{1}}{{T}^{{{{\alpha }_{1}}}}} = {{10}^{6}}\), i.e., once again system (1) is highly stiff.

The computation based on SDIRK3B4 was performed on the same grid with the same parameters, except for \({{z}_{{{\text{ODE}}}}} = 10\) (the significant change in this parameter is associated with the fact that the reaction rate in Problem 1 involves a power-law dependence on the gas temperature, since α1 = 1, rather than 0).

Figure 2 presents the profiles of the gas temperature and the reactants mass fractions at the time t = 3. It can be seen that the compared schemes WENO5/SR and SDIRK3B4 as applied to Problem 2 are in nearly the same relation as in the case of Problem 1. Both schemes adequately reproduce the DW dynamics, but SDIRK3B4 does not require special procedures for solution correction. Note that SDIRK3B4 is slightly less dissipative than WENO5/SR. Note also that in Problem 2, as in Problem 1, the Courant number in WENO5/SR is equal to 0.1 (see [7]), which is 1/20 times as large as the Courant number in SDIRK3B4. This means that the computation of the convection part by applying SDIRK3B4 is 20 times more efficient in terms of the number of time steps.

Fig. 2.
figure 2

Profiles of gas temperature and reactants mass fractions in Problem 2 at t = 3: the reference solution (solid) and the solutions produced by the bicompact scheme SDIRK3B4 (squares), the WENO5/SR scheme (circles), and the WENO5 scheme (dashed).

Problem 3. It is similar to the preceding two problems. The gas consists of five species:

$${{X}_{1}} = {{{\text{H}}}_{2}},\,\,\,\,{{X}_{2}} = {{{\text{O}}}_{{\text{2}}}},\,\,\,\,{{X}_{3}} = {\text{OH}}{\text{,}}\,\,\,\,{{X}_{4}} = {{{\text{H}}}_{{\text{2}}}}{\text{O}}{\text{,}}\,\,\,\,{{X}_{5}} = {{{\text{N}}}_{2}}{\text{.}}$$

There are two chemical reactions:

$${\text{Reaction 1:}}\,\,\,\,{{{\text{H}}}_{2}} + {{{\text{O}}}_{2}} \to 2{\text{OH}},\,\,\,\,{\text{Reaction 2:}}\,\,\,\,2{\text{OH}} + {{{\text{H}}}_{2}} \to 2{{{\text{H}}}_{{\text{2}}}}{\text{O}}{\text{.}}$$

The fifth gas species, nitrogen (\({{{\text{N}}}_{{\text{2}}}}\)), does not participate in the reactions directly, but plays the role of a catalyst. The gas parameters are \(\gamma = 1.4\), \({{q}_{1}} = {{q}_{2}} = 0\), \({{q}_{3}} = - 20\), \({{q}_{4}} = - 100\), \({{q}_{5}} = 0\), \({{T}_{1}} = 2\), \({{T}_{2}} = 10\), \({{B}_{1}} = {{B}_{2}} = {{10}^{6}}\), and \({{\alpha }_{1}} = {{\alpha }_{2}} = 0\).

The initial condition in Problem 3 is specified as a one-dimensional discontinuity:

$$\left( {\rho ,{{{v}}_{x}},p,{{Z}_{1}},{{Z}_{2}},{{Z}_{3}},{{Z}_{4}}} \right)(x,0) = \left\{ {\begin{array}{*{20}{l}} {(2,10,40,0,0,0.17,0.63)}&{{\text{if}}\,\,x < 2.5} \\ {(1,0,1,0.08,0.72,0,0)}&{{\text{if}}\,\,x \geqslant 2.5.} \end{array}} \right.$$

The computational domain and the boundary conditions are the same as in Problems 1 and 2. The decay of this discontinuity gives rise to the same three structures: SW, CD, and DW (listed from left to right).

The computation based on SDIRK3B4 was performed on the same grid consisting of 50 cells with the same parameters as in Problem 2.

Figure 3 presents the profiles of the gas temperature and the reactants mass fractions at the time t = 3. SDIRK3B4 slightly overestimates the DW velocity as compared with the reference solution and the solution produced by WENO5/SR. However, the structure of the DW front in WENO5/SR has a feature (near x = 38) similar to the initial stage of the nonphysical decay of a strong DW into an SW and a weak DW precursor, while the DW front in SDIRK3B4 has a usual form without any features. As expected, the DW produced by the standard WENO5 scheme (without special corrections) is shifted much further to the right than its correct position, but, in contrast to Problems 1 and 2, part of this false DW precursor lies within the computational domain and can be seen in Fig. 3 near x = 50. Note that the Courant number in WENO5/SR is equal to 0.05 against 2 in SDIRK3B4, i.e., in Problem 3, the computation of the convection part based on SDIRK3B4 requires fewer time steps than in WENO5/SR by a factor of 40.

Fig. 3.
figure 3

Profiles of gas temperature and reactants mass fractions in Problem 3 at t = 3: the reference solution (solid) and the solutions produced by the bicompact scheme SDIRK3B4 (squares), the WENO5/SR scheme (circles), and the WENO5 scheme (dashed).

Problem 4. This test is a two-dimensional version of Problem 2 with cylindrical symmetry. The gas model is the same as in Problem 2, except for the parameter \({{q}_{1}}\), which is specified as \({{q}_{1}} = 200\). The initial condition is given by

$$(\rho ,{{{v}}_{x}},{{{v}}_{y}},p,{{Z}_{1}},{{Z}_{2}},{{Z}_{3}})(x,y,0) = \left\{ {\begin{array}{*{20}{l}} {(2,{{10x} \mathord{\left/ {\vphantom {{10x} r}} \right. \kern-0em} r},{{10y} \mathord{\left/ {\vphantom {{10y} r}} \right. \kern-0em} r},40,0,0.2,0.475)}&{{\text{if}}\,\,r < 10} \\ {(1,0,0,1,0.1,0.6,0.2)}&{{\text{if}}\,\,r \geqslant 10,} \end{array}} \right.\,\,\,\,r = \sqrt {{{x}^{2}} + {{y}^{2}}} .$$

The computational domain is the square \((x,y) \in (0,50) \times (0,50)\). The boundaries x = 0 and y = 0 are solid impermeable walls with the condition vn = 0; while free outflow is set on the boundaries x = 50 and y = 50. The decay of the initial discontinuity gives rise to a cylindrically symmetric expanding DW and a zone of continuous flow behind it.

The computation based on SDIRK3B4 was performed on a coarse uniform grid consisting of N = 25 × 25 cells (as in [7]). The other parameters of the scheme were the same as in Problem 2.

Figure 4 presents the gas temperature and the reactants mass fractions at the time t = 2 produced by SDIRK3B4. The function values are shown by shades of gray. The right panel additionally depicts the approximate DW front position for WENO5/SR and WENO5.

Fig. 4.
figure 4

Plots of gas temperature and reactants mass fractions in Problem 4 at t = 2 produced by SDIRK3B4. The right panel also depicts the DW front position for WENO5/SR (circles) and WENO5 (triangles).

Inspection of Fig. 4 suggests that SDIRK3B4 and WENO5/SR identically correctly reproduce the DW dynamics: the DW radius is in good agreement, and, in both schemes, the DW does not split into an SW and a weak DW precursor. WENO5 without special modifications fails on such a grid, generating a false precursor with a radius of about 40. The relation between the Courant numbers in SDIRK3B4 and WENO5/SR is the same as in Problem 2, i.e., the Courant number in the bicompact scheme is 20 times larger.

Problem 5. The gas model in this two-dimensional test is the same as in Problem 3. The initial condition is specified as a discontinuity in the \((x,y)\) plane in the form of a straight line with a corner (see also Fig. 5):

$$\begin{gathered} (\rho ,{{{v}}_{x}},{{{v}}_{y}},p,{{Z}_{1}},{{Z}_{2}},{{Z}_{3}},{{Z}_{4}})(x,y,0) = \left\{ {\begin{array}{*{20}{l}} {(2,10,0,40,0,0,0.17,0.63)}&{{\text{if}}\,\,x < \xi (y)} \\ {(1,0,0,1,0.08,0.72,0,0)}&{{\text{if}}\,\,x \geqslant \xi (y),} \end{array}} \right. \\ \xi (y) = \left\{ {\begin{array}{*{20}{l}} {12.5 - \left| {y - 12.5} \right|}&{{\text{if }}\left| {y - 12.5} \right| < 7.5} \\ 5&{{\text{if }}\left| {y - 12.5} \right| \geqslant 7.5.} \end{array}} \right. \\ \end{gathered} $$
Fig. 5.
figure 5

Plots of gas temperature in Problem 5 at the times t = 0, 1, 2 (from top to bottom) produced by SDIRK3B4 and the approximate DW front position for WENO5/SR (circles).

The computational domain is the rectangle \((x,y) \in (0,150) \times (0,25)\). On its lower and upper boundaries (\(y = 0,25\)), there are solid impermeable walls with the condition \({{{v}}_{n}} = 0\); on the left boundary (x = 0), we set the incoming flow with the same parameters as at t = 0 to the left of the discontinuity; and the free outflow condition is specified on the right boundary (x = 150). The decay of the initial discontinuity gives rise to a DW of varying shape propagating to the right along this channel.

The computation based on SDIRK3B4 was performed on a uniform grid consisting of N = 300 × 50 cells (as in [7]). The other parameters of the scheme were the same as in Problem 3.

Figures 5–7 present the plots of the gas temperature produced by SDIRK3B4 at the times \(t = 0,1,2,...,8\) and the approximate DW front position for WENO5/SR shown by circles.

Fig. 6.
figure 6

Continuation of Fig. 5, the time moments t = 3, 4, 5.

Fig. 7.
figure 7

Continuation of Fig. 6, the time moments t = 6, 7, 8.

A comparison with the results of [7] and the general form of the computed flow pattern suggest that the bicompact scheme SDIRK3B4 ensures physically correct propagation of DW. As in Problem 3, the Courant number in SDIRK3B4 is 40 times as large as in WENO5/SR.

5 CONCLUSIONS

In this work, we developed the idea proposed in [15] about the suppression of a nonphysical DW precursor manifested on relatively coarse grids by computing convection at large Courant numbers. This idea was generalized to a more complicated gas model with an arbitrary number of species and chemical reactions.

The idea is numerically implemented by applying, in fact, the same implicit scheme as in [15]. It is constructed using the second-order Marchuk–Strang splitting with respect to physical processes. The convection part of the Euler system is computed by applying the shock-capturing bicompact scheme SDIRK3B4 of fourth-order accuracy in space. The time discretization in this scheme is based on a singly diagonally implicit stiffly accurate L-stable Runge–Kutta method of the third order. The chemical part is integrated using the second-order Runge–Kutta method with the same properties. The SDIRK3B4 scheme involves a conservative limiting method and efficient locally one-dimensional splitting in space with symmetrization.

Five problems concerning DW propagation were solved: three one-dimensional and two two-dimensional. The number of gas species varied from three to five, and the number of reactions, from one to two. These problems were used to demonstrate the capabilities of bicompact schemes and to compare SDIRK3B4 with the WENO5/SR scheme from [7].

The numerical results suggest three conclusions. First, the idea of [15] can be extended to more complicated chemical models. Second, at the same actual accuracy, the Courant number in SDIRK3B4 is 20–40 times larger than in WENO5/SR. Third, SDIRK3B4 automatically reproduces the physically correct DW dynamics without resorting to special correcting procedures necessary in WENO5/SR.