Next Article in Journal
Recent Developments in the Immersed Boundary Method for Complex Fluid–Structure Interactions: A Review
Previous Article in Journal
Assessing the Effect of Air Ventilation on the Dispersion of Exhaled Aerosol Particles in a Lecture Hall: Simulation Strategy and Streamlined Workflow
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Modified Semi-Lagrangian Godunov-Type Method Without Numerical Viscosity for Shocks

Aircraft Construction and Design Department, Samara University, Moskovskoye shosse, 34, 443086 Samara, Russia
Fluids 2025, 10(5), 133; https://doi.org/10.3390/fluids10050133
Submission received: 28 February 2025 / Revised: 30 April 2025 / Accepted: 12 May 2025 / Published: 16 May 2025

Abstract

:
Most high-order Euler-type methods have been proposed to solve one-dimensional scalar hyperbolic conservational law. These methods resolve smooth variations in flow parameters accurately and simultaneously identify the discontinuities. A disadvantage of Euler-type methods is the parameter change stretching in the shock over a few mesh cells. In reality, in the shock, the flow properties change abruptly at once for the computational mesh. In our considerations, the mean free path of a flow particle is much smaller than the mesh cell size. This paper describes a modification of the semi-Lagrangian Godunov-type method, which was proposed by the author in the previously published paper. The modified method also does not have numerical viscosity for shocks. In the previous article, a linear law for the distribution of flow parameters was employed for a rarefaction wave when modeling the Shu-Osher problem with the aim of reducing parasitic oscillations. Additionally, the nonlinear law derived from the Riemann invariants was used for the remaining test problems. This article proposes an advanced method, namely, a unified formula for the density distribution of rarefaction waves and modification of the scheme for modeling moderately strong shock waves. The obtained results of numerical analysis, including the standard problem of Sod, the Riemann problem of Lax, the Shu–Osher shock-tube problem and a few author’s test cases are compared with the exact solution, the data of the previous method and the Total Variation Deminishing (TVD) scheme results. This article delineates the further advancement of the numerical scheme of the proposed method, specifically presenting a unified mathematical formulation for an expanded set of test problems.

1. Introduction

Compressible flows simulation presents a significant challenge due to the existence of discontinuities in the fluid flow, including shocks, contact waves, and a wide range of continuous flow scales. To address these challenges, various high-resolution methods have been developed to accurately resolve smooth flow scales while simultaneously capturing discontinuities. All numerical methods can be categorized into direct numerical simulation (DNS) [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17], large eddy simulation (LES) [18,19], and Reynolds-averaged Navier–Stokes simulation (RANS) [20,21,22]. The method proposed in this paper belongs to the class of DNS methods.
Notable examples include the artificial viscosity method [1,2], the total variation diminishing (TVD) method [3], the essentially non-oscillatory (ENO) scheme [4], and the weighted essentially non-oscillatory (WENO) scheme [5]. Harten et al. developed the ENO scheme [4,6,7,8], the first successful high-order method to allow the spatial discretization of hyperbolic conservation laws. This property is very useful for the numerical simulation of hyperbolic conservation laws because high-order numerical methods often cause false vibrations, especially near shocks or other interruptions. The spatial discretization of finite volumes of ENO has been studied [4], where it has been shown that it is uniformly accurate in the capturing of the location of any discontinuity in the flow. Subsequently, Shu and Osher [9,10] developed a finite difference ENO scheme. The main idea of the ENO scheme is to select the interpolation point stencil that suppresses the oscillations, i.e., to choose the best solution varying stencil, to approximate the cell boundary flow, and to avoid large false oscillations caused by interpolating data between discontinuities.
WENO schemes have been studied [5,11,12] to deal with potential numerical instability when selecting ENO stencils. The WENO method applies to a convex combination of all ENO stencils, which obtains higher precision in smooth regions than the ENO method while maintaining the ENO property at discontinuities.
The abovementioned methods belong to the class of Euler-type methods. These methods [1,2,3,4,5,6,7,8,9,10,11,12,13] exhibit numerical viscosity in the presence of shocks. Additionally, methods exist [14,15,16,17] that incorporate exact Riemann solutions while still being classified as Euler-type methods, which also exhibit numerical viscosity for shocks. Godunov et al. [14] proposed mitigating this issue by using moving grids; however, this approach significantly complicates the problem, particularly in multi-dimensional cases.
For highly rarefied gases, in particular, the direct simulation Monte Carlo (DSMC) method is applied, in the numerical scheme of which the fact of instantaneous change in flow parameters on shock waves is used [23].
In [24], we proposed a Lagrangian Godunov-type method that eliminates the numerical viscosity for shocks and provided a detailed description of the wall conditions. The method utilizes a fixed homogeneous grid. This paper presents a modified method that involves altering the formula for the density calculation in rarefaction waves. It was found that this formula allows obtaining good results for all types of test problems solved in [24]. While in work [24], two different formulas were used to obtain successful results: the linear law of the distribution of flow parameters in a rarefaction wave for the Shu and Osher shock tube problem [25] and the nonlinear law for the remaining problems of consideration. In addition, the following innovation is proposed here, which consists of considering an additional condition on the direction of the shock wave at the stage of calculating the acoustic substep. Moreover, this innovation, introduced into the scheme of the method, does not affect the results of the test problems already considered in [24], but manifests itself only in the numerical solution of the two last test cases of the interaction of two Riemann problems presented in this work.

2. Materials and Methods

In the case of the one-dimensional scalar hyperbolic conservation law [13], the equations are given as follows:
𝜕 ρ 𝜕 t + u 𝜕 ρ 𝜕 x + ρ 𝜕 u 𝜕 x = 0 , 𝜕 u 𝜕 t + u 𝜕 u 𝜕 x + 1 ρ 𝜕 p 𝜕 x = 0 , 𝜕 ε 𝜕 t + u 𝜕 ε 𝜕 x + p ρ 𝜕 u 𝜕 x = 0 .
Here, u is the convective velocity of flow, ρ is the density, p is the pressure, ε is the internal specific energy, x is the direction, and t is the time.
The pressure is determined using the equation of state
p = ( κ 1 )   ρ   ε .
where κ is the ratio of specific heat coefficients at constant pressure and volume. For air, κ = 1.4 .
Godunov et al. [14] proposed an iterative exact Riemann solver, which was implemented in a finite-difference scheme. Later, other researchers adopted a control volume method instead, while we employed the Lagrangian approach.
In this paper, as well as in a previous paper [24], the following method is proposed: The convection and acoustic stages are considered separately and are classified as distinct physical processes because the local acoustic velocity (i.e., sound speed) can vary significantly from the flow convection velocity. Therefore, we solve the following system during the acoustic stage:
𝜕 ρ 𝜕 t + ρ 𝜕 u 𝜕 x = 0 , 𝜕 u 𝜕 t + 1 ρ 𝜕 p 𝜕 x = 0 , 𝜕 ε 𝜕 t + p ρ 𝜕 u 𝜕 x = 0 .
and Equation (2). The system (3) is derived from (1) by discarding the convective terms and can be expressed in a matrix form as follows:
𝜕 ρ 𝜕 t 𝜕 u 𝜕 t 𝜕 ε 𝜕 t = A 𝜕 ρ 𝜕 x 𝜕 u 𝜕 x 𝜕 ε 𝜕 x
where A is the Jacobian matrix:
A = 0 ρ 0 ( κ 1 ) ε ρ 0 κ 1 0 ( κ 1 ) ε 0 .
The matrix A can be expressed as
A = R Λ L ,
where [ Λ ] is the diagonal matrix of eigenvalues of the matrix A .
Λ = c 0 0 0 0 0 0 0 c .
Here c is the sound velocity, which is determined as follows:
c = κ p ρ ,
A corresponding left-eigenvector matrix [ L ] , determined as
L = c κ ρ 1 κ 1 c 1 0 ρ κ c 2 c κ ρ 1 κ 1 c
and a corresponding right eigenvectors matrix [ R ] , defined as
R = ρ 2 c κ 1 κ ρ 2 c 1 2 0 1 2 c 2 κ ( κ 1 ) ε κ ρ c 2 κ .
Since
L R = E ,
where E is a diagonal identity matrix, multiplying Equation (4) from the left by L and applying (11) results in the following:
L 𝜕 ρ 𝜕 t 𝜕 u 𝜕 t 𝜕 ε 𝜕 t = Λ L 𝜕 ρ 𝜕 x 𝜕 u 𝜕 x 𝜕 ε 𝜕 x .
If L = [ c o n s t ] , from (12) we can obtain the characteristic form:
𝜕 w 1 𝜕 t c 𝜕 w 1 𝜕 x = 0 , 𝜕 w 2 𝜕 t = 0 ,   𝜕 w 3 𝜕 t + c 𝜕 w 3 𝜕 x = 0 ,
where
w 1 = c * κ ρ * ρ + u κ 1 c * ε , w 2 = ρ κ ρ * c * 2 ε ,   w 3 = c * κ ρ * ρ + u + κ 1 c * ε .
Here, an asterisk represents constant values. Equation (13) describes the motion of two waves with velocities c and c . The waves transfer the values w 1 and w 3 as given in (14), respectively.
The proposed Lagrangian approach can be used to solve the system of Equation (13). However, as in the previous paper [24], we use the Godunov exact solver to solve the full nonlinear systems (1) and (2). We then subtract the convective velocity from the solution to obtain the solution of Equation (3). For more details, see below.
We accept the time step t c Δ at the acoustic stage in accordance with the Courant criterion:
t c Δ = k c h c s ,
where c s is the shock acoustic velocity and k c is integer. For example, if k c = 3 , then the shock spreads through three grid cells during the acoustic stage.
During the convection stage, only the system with convective terms is solved:
𝜕 ρ 𝜕 t + u 𝜕 ρ 𝜕 x = 0 , 𝜕 u 𝜕 t + u 𝜕 u 𝜕 x = 0 , 𝜕 ε 𝜕 t + u 𝜕 ε 𝜕 x = 0 .
as well as Equation (13).
The time step during the convection stage is taken to be similar to that of (15):
t u Δ = k u h u s ,
where u s is the shock convective velocity and k u is integer. For example, if k u = 2 , then the shock spreads through two grid cells at the convection stage. If t c Δ t u Δ , then the marching time steps t Δ is chosen so that
t c Δ = n c t Δ , t u Δ = n u t Δ ,
where n c and n u are integers.

2.1. A Methodological Scheme During the Acoustics Stage

During the acoustics stage, the system of Equation (3) is solved. Although the wave equation system (13) cannot be derived for a nonlinear problem, the fundamental properties of the linear system (13) are retained in the nonlinear system (3). The topologies of the nonlinear and linear systems are identical. This phenomenon corresponds to either a shock wave or a rarefaction wave [14]. Unfortunately, the variables w 1 and w 3 for the nonlinear system (3) are unknown. However, the exact solution of the Riemann problem for the nonlinear systems (1) and (2) can be determined using the Godunov method [14]. This solution is represented using the large variables: R L and R R for density, U L = U R for speed, E L and E R for internal specific energy, P L = P R for pressure, D L and D R for the propagation velocity frequency of shock or rarefaction waves. The subscripts L and R denote the left and right cells adjacent to the edge between them.
In the proposed method, w 1 and w 3 (14) are replaced by w ¯ 1   = { P L ,   U L ,   R L ,   E L } and w ¯ 3   = { P R ,   U R ,   R R ,   E R } , which are each transported by the local acoustic velocities C L = D L U L and C R = D R U R .
First, we must solve the Riemann problem using the Godunov method [14] for each pair of cells ( i and i + 1 ) with the corresponding data ( p i , u i , ρ i , ε i and p i + 1 , u i + 1 , ρ i + 1 , ε i + 1 ), respectively. Therefore, the values of the large variables { P ,   U ,   R L ,   E L ,   D L ,   R R ,   E R ,   D R } are obtained and assigned to the grid cells as follows:
P L i + 1 k 1 = P ,   U L i + 1 k 1 = U ,   R L i + 1 k 1 = R L ,   E L i + 1 k 1 = E L ,   C L i + 1 k 1 = D L U ,
which causes the vector w ¯ 1 of the wave to spread to the left, along the negative direction of the x-axis; and
P R i k 1 = P ,   U R i k 1 = U ,   R R i k 1 = R R ,   E R i k 1 = E R ,   C R i k 1 = D R U ,
which causes the vector w ¯ 3 of the wave to spread to the right, along the positive direction of the x-axis. In the case of a rarefaction wave, the variable D represents the wave velocity of the slower characteristic. For instance, for the right rarefaction wave, DR is determined as
D R = U + c i + 1 ( κ 1 ) 2 ( u i + 1 U ) ,
where c i + 1 is the sound velocity for i + 1 grid cell, which is determined according to the Formula (8). For the left rarefaction wave D L is given as follows:
D L = U c i ( κ 1 ) 2 ( u i U ) .
Examine a wave spreading in the positive x-direction (toward the right). The grid cells are examined in pairs. The coordinates of the cells after transfer during the acoustic stage for the right wave w ¯ 3 are determined as follows:
  x 1 = x i + C R i k 1 t c Δ ,     x 2 = x i + 1 + C R i + 1 k 1 t c Δ .
The solution to the problem is expressed in the following form:
(1)
If the conditions
P R i + 1 k 1 P R i k 1 < e 1 ,   C R i + 1 k 1 C R i k 1 < e 1
are met, then for all grid cells satisfying condition x 1 x j x 2 , the solution at the next time step k is trivial and can be expressed as
P R j k = 1 2 ( P R i k 1 + P R i + 1 k 1 ) ,   U R j k = 1 2 ( U R i k 1 + U R i + 1 k 1 ) ,   R R j k = 1 2 ( R R i k 1 + R R i + 1 k 1 ) ,   E R j k = 1 2 ( E R i k 1 + E R i + 1 k 1 ) .
(2)
If the co nditions
C R i + 1 k 1 C R i k 1 < e 1 ,   x 2 x 1 > e 2
are satisfied, a weak shock occurs, which does not overtake the solution from the preceding cell. Therefore, the solution is given as follows:
P R j k = P R i k 1 ,   U R j k = U R i k 1 ,   R R j k = R R i k 1 ,   E R j k = E R i k 1 ,   if   x 1 x j ( x 1 + x 2 ) / 2 , P R j k = P R i + 1 k 1 ,   U R j k = U R i + 1 k 1 ,   R R j k = R R i + 1 k 1 ,   E R j k = E R i + 1 k 1 ,   if   ( x 1 + x 2 ) / 2 < x j x 2 ;
(3)
If
C R i + 1 k 1 C R i k 1 e 1
then
(A)
if
U R i + 1 k 1 U R i k 1 < e 1 ,
then we have the shock.
(a)
If
U R i + 1 k 1 + U R i k 1 0 ,
then
-
if
( x 1 h / 2 ) x j ( x 1 + h / 2 )
then
P R j k = P R i k 1 ,   U R j k = U R i k 1 ,   R R j k = R R i k 1 ,   E R j k = E R i k 1 ,
-
if
( x 1 + h / 2 ) < x j x 2
then
P R j k = P R i + 1 k 1 ,   U R j k = U R i + 1 k 1 ,   R R j k = R R i + 1 k 1 ,   E R j k = E R i + 1 k 1 .
(b)
If
U R i + 1 k 1 + U R i k 1 < 0 ,
then
-
if
( x 2 h / 2 ) x j ( x 2 + h / 2 )
then
P R j k = P R i + 1 k 1 ,   U R j k = U R i + 1 k 1 ,   R R j k = R R i + 1 k 1 ,   E R j k = E R i + 1 k 1 ;
-
if
x 1 x j < ( x 2 h / 2 )
then
P R j k = P R i k 1 ,   U R j k = U R i k 1 ,   R R j k = R R i k 1 ,   E R j k = E R i k 1 .
The modification of the method proposed in this article, compared to work [24], consists of introducing the conditions (30) and (33). Instead of checking these conditions, in [24] Formulas (31) and (32) were calculated, and Formulas (34) and (35) were not.
(B)
If
U R i + 1 k 1 U R i k 1 e 1 ,
then a rarefaction wave occurs, and the solution for x 1 x j x 2 is determined from the Riemann invariants of the hyperbolic conservation law as
U R j k = U R i k 1 + U R i + 1 k 1 U R i k 1 x 2 x 1 ( x j x 1 ) ,
E R j k = E R i k 1 + E R i + 1 k 1 E R i k 1 x 2 x 1 ( x j x 1 ) 2 ,
R R j k = R R i k 1 κ 1 2 + R R i + 1 k 1 κ 1 2 R R i k 1 κ 1 2 x 2 x 1 ( x j x 1 ) 2 κ 1 ,  
P R j k = ( κ 1 ) R R j k   E R j k .
It will be shown below that using Formula (39) instead of the formula from [24] allows us to obtain a universal scheme of the method, with good results being obtained for all test problems considered in this work. In this case, parasitic sawtooth oscillations do not arise in the case of using Formula (39) when solving the Shu and Osher problem, as well as test examples about the interaction of two Riemann problems. The algorithm for the acoustic stage is presented as a flowchart in Figure 1.
Under conditions (1)–(3), if the solution has already been assigned to the grid cell at the given substep, it is replaced with a new solution obtained using the exact Riemann solver. In this instance, the solution already assigned will be denoted with the subscript R, while the next solution applied to this cell will be denoted with the subscript L. The resulting new solution is obtained from the result of the Riemann problem with subscript R. Furthermore, when assigning a solution to the grid cell, the condition is checked to ensure that the spreading of these solutions with a local acoustic velocity does not overwrite the solution of the forward shock, if such a shock wave exists.
For the wave spreading in the negative x-direction (toward the left), and with transfer values w ¯ 1 = { P L ,   U L , R L ,   E L } , the conditions and expressions are derived in a similar manner.
After simulating wave spreading in both the left and right directions, each grid cell contains sets of transfer values, w ¯ 1 = { P L k ,   U L k , R L k ,   E L k } and w ¯ 3 = { P R k ,   U R k , R R k ,   E R k } , respectively, along with the solution from the previous time substep { p k 1 ,   u k 1 ,   ρ k 1 ,   ε k 1 } (see Figure 2). The Riemann problem for these values is solved three times using the Godunov exact solver. The first instance of solving the problem uses w ¯ 3 = { P R k ,   U R k , R R k ,   E R k } as the left-state data and { p k 1 ,   u k 1 ,   ρ k 1 ,   ε k 1 } as the right-state data (see Figure 3), the resulting right solution is saved for the later calculations. The second instance of solving the problem uses { p k 1 ,   u k 1 ,   ρ k 1 ,   ε k 1 } as the left-state data and w ¯ 1 = { P L k ,   U L k , R L k ,   E L k } as the right-state data (see Figure 4). The resulting left solution is then assigned as the right-state data for the third problem (see Figure 5). The previously saved solution is assigned to the data of the third problem on the left (see Figure 5). Finally, in the third instance, the problem is solved using the previously mentioned data (see Figure 5), resulting in the values of the large variables { P k * ,   U k * , R L k * ,   E L k * , R R k * ,   E R k * } once again.
Since the pressure and convective velocity are identical on both the left and right sides, their values after the acoustic stage are given as
p c i k = p i k * ,   u c i k = U i k * .
The density and energy values are determined as follows:
ρ c i k = R R i k * ,   ε c i k = E R i k * ,   if   U i k * 0 , ρ c i k = R L i k * ,   ε c i k = E L i k * ,   if   U i k * < 0 .
The solution at the acoustics stage is { p c k ,   u c k ,   ρ c k ,   ε c k } .

2.2. A Methodological Scheme During the Convection Stage

During the convection stage, the system of Equations (2) and (16) is solved. In the proposed method, the value { p c k ,   u c k ,   ρ c k ,   ε c k }   =   { p u k 1 ,   u u k 1 ,   ρ u k 1 ,   ε u k 1 } is transported using the local convective (advection) velocity u c k ; see Formulas (41) and (42). In this approach, the results obtained from the acoustic stage serve as the initial input for the convection stage. Moreover, the grid cells were examined in pairs at the convection stage. The coordinates of the cells after transfer during the convection stage were determined as follows:
  x 1 = x i + u u i k 1 t u Δ ,   x 2 = x i + 1 + u u i + 1 k 1 t u Δ .
The variables here refer to the convection stage and further we omit subscript u.
The solution during the convection stage is expressed in the following form:
(1)
If the conditions
u i + 1 u i < e 1 ,   ρ i + 1 ρ i < e 1 ,   ε i + 1 ε i < e 1
are met, then for all grid cells satisfying condition x 1 x j x 2 , the solution at the next time moment k is trivial and can be expressed as
p j k = 1 2 ( p i k 1 + p i + 1 k 1 ) ,   u j k = 1 2 ( u i k 1 + u i + 1 k 1 ) ,   ρ j k = 1 2 ( ρ i k 1 + ρ i + 1 k 1 ) ,   ε j k = 1 2 ( ε i k 1 + ε i + 1 k 1 ) .
When applying solution (45) to the grid cells, the separate condition is verified to ensure that its spreading with the convection velocity does not overwrite the solution of the forward shock, if such a shock wave exists. At the start of the convection stage, the positions of the shock boundaries at the next time step are determined.
(2)
If the conditions
( u i + 1 u i ) < e 1
are satisfied, then we have the shock.
(A)
If
( x 2 x 1 ) > e 2 ,
then the solution is defined as follows:
(a)
if
x 1 x j ( x 1 + x 2 ) / 2
Then
p j k = p i k 1 ,   u j k = u i k 1 ,   ρ j k = ρ i k 1 ,   ε j k = ε i k 1 ,
(b)
if
( x 1 + x 2 ) / 2 < x j x 2
then
p j k = p i + 1 k 1 ,   u j k = u i + 1 k 1 ,   ρ j k = ρ i + 1 k 1 ,   ε j k = ε i + 1 k 1 ,
(B)
if
( x 2 x 1 ) e 2 ,
then
(a)
if
p i + 1 k 1 p i k 1 < e 1
then the discontinuity boundary is first determined as
  x = x i + h / 2 + ( u i k 1 + u i + 1 k 1 )   Δ t u ,
and the solution is applied to cell j to the left of the discontinuity boundary
p j k = p i k 1 ,   u j k = u i k 1 ,   ρ j k = ρ i k 1 ,   ε j k = ε i k 1 ,
and in cell j + 1 to the right of the discontinuity boundary, the following values are applied:
p j k = p i + 1 k 1 ,   u j k = u i + 1 k 1 ,   ρ j k = ρ i + 1 k 1 ,   ε j k = ε i + 1 k 1 ,
(b)
if
p i + 1 k 1 p i k 1 e 1
then the solution is expressed as follows:
-
if
p i k 1 > p i + 1 k 1 and   ( x 1 h / 2 ) x j ( x 1 + h / 2 )
then
p j k = p i k 1 ,   u j k = u i k 1 ,   ρ j k = ρ i k 1 ,   ε j k = ε i k 1 ,
-
if
p i k 1 < p i + 1 k 1 and   ( x 2 h / 2 ) x j ( x 2 + h / 2 )
then
p j k = p i + 1 k 1 ,   u j k = u i + 1 k 1 ,   ρ j k = ρ i + 1 k 1 ,   ε j k = ε i + 1 k 1 .
(3)
If
( u i + 1 u i ) e 1 ,
then the rarefaction wave occurs, and the solution for x 1 x j x 2 is determined from the Riemann invariants of the hyperbolic conservation law as
u j k = u i k 1 + u i + 1 k 1 u i k 1 x 2 x 1 ( x j x 1 ) ,
ε j k = ε i k 1 + ε i + 1 k 1 ε i k 1 x 2 x 1 ( x j x 1 ) 2 ,
ρ j k = ρ i k 1 κ 1 2 + ρ i + 1 k 1 κ 1 2 ρ i k 1 κ 1 2 x 2 x 1 ( x j x 1 ) 2 κ 1 ,
p j k = ( κ 1 ) ρ j k   ε j k .
It will be shown below that Formula (61) using instead of the formula from [24] allows us to obtain a universal scheme of the method, with good results being obtained for all test problems considered in this work. In this case, parasitic sawtooth oscillations do not arise in the case of using Formula (61) when solving the Shu and Osher problem, as well as test examples about the interaction of two Riemann problems. The algorithm for the convection stage is shown as a flowchart in Figure 6.
Under conditions (1)–(3), if the solution has already been applied to the grid cell at the given substep, it is replaced with a new one when the pressure of the new solution is greater than the pressure of the solution already in the grid cell.

2.3. Wall Boundary Conditions

The main concept behind the choice of the following boundary conditions is to study the waves reflection mechanism from the wall. At the acoustics stage, when conditions (1)–(3) are met, the wave w ¯ 3 = { P R ,   U R ,   R R ,   E R } spreads to the right with velocity C R . Upon reaching the wall, it is reflected and transforms into a wave w ¯ 1 = { P R , U R ,   R R ,   E R } , which then spreads to the left of the wall with velocity C R . In this scenario, when the wave w ¯ 1 is distributed across the grid cells, the dam-break problem is solved using the Godunov method. In this algorithm, the variables on the left correspond to the data already applied to the cell, while the variables on the right represent w ¯ 1 = { P R , U R ,   R R ,   E R } . As a result, new values of the large variables { P * ,   U * ,   R L * ,   E L * ,   D L * ,   R R * ,   E R * ,   D R * } are obtained and applied to the grid cells as
p i k = p i * ,   u i k = U i * ,   ρ i k = R L i * ,   ε i k = E L i * ,   c i k = D L i * U i * .
For the wave w ¯ 1   = { P L ,   U L ,   R L ,   E L } , which transforms into the wave w ¯ 3   = { P L ,   U L ,   R L ,   E L } after encountering a wall
p i k = p i * ,   u i k = U i * ,   ρ i k = R R i * ,   ε i k = E R i * ,   c i k = D R i * U i * .
During the convection stage, a wave reverses direction upon encountering the wall. Under conditions (1)–(3) of this stage, the wave w ¯ = p k , u k , ρ k , ε k spreads to the right with velocity u k . Upon reaching the wall, it is reflected and transforms into a wave w ¯ = p k , u k , ρ k , ε k that moves to the left with velocity u k . In this scenario, when the wave w ¯ is distributed across the grid cells, the dam-break problem is solved using the Godunov method. In this algorithm, the variables on the left correspond to the data already applied to the cell, while the variables on the right represent w ¯ = p k , u k , ρ k , ε k . As a result, new values of the large variables { P * ,   U * ,   R L * ,   E L * ,   D L * ,   R R * ,   E R * ,   D R * } are obtained and applied to the grid cells as shown in (63). If the wave w ¯ = p k , u k , ρ k , ε k spreads to the left, a similar line of reasoning yields the result expressed in Formula (64).

3. Results

Seven Riemann problems are selected to evaluate the performance of the proposed method. These tests also serve to illustrate typical wave patterns arising from the solutions of the Riemann problems. The exact solutions for the test cases below were obtained using the formulas and methods described in [26].

3.1. Sod’s Standard Shock-Tube Problem

The first example is the standard shock-tube problem of Sod [27], with the following initial conditions:
p j 0 = 1 ,   u j 0 = 0 ,   ρ j 0 = 1 ,   if   x j < 0 , p j 0 = 0.1 ,   u j 0 = 0 ,   ρ j 0 = 0.125 ,   if   x j 0 .
The modeling region was defined as x 4.5 ,   5.5 . The grid consisted of 100 cells, with a grid spacing of h = 0.1 . The time step for the acoustics stage was determined based on the Courant criterion (15), with k c = 1 and c s = D R U = 0 . 824703 , meaning that the shock spreads through a single grid cell with t c Δ = 0.121256 during this stage. Similarly, the time step for the convection stage was determined based on Equation (17), with k u = 2 and u s = U = 0.927452 , indicating that the shock spreads through two grid cells with t u Δ = 0.215644 . The marching time step was therefore set to t Δ = 0.021 . The acoustics stage was executed over six time steps (i.e., t c Δ 6 t Δ ), followed by the convection stage, which was carried out after ten time steps (i.e., t u Δ 10 t Δ ).
The results after 110 marching time steps are presented in Figure 7, Figure 8 and Figure 9, where they are compared with the exact solution and the data obtained using the previous author’s method [24]. Figure 7, Figure 8 and Figure 9 show the agreement between the results for the previous and modified methods and demonstrate that the numerical viscosity is not present in the shock. However, due to the accumulation of positional round-off errors, the shock is delayed by one grid cell at the observed time.
A comparison of CPU time consumption between the new method and Harten’s ULT1C method [3] for the Sod problem is presented in Table 1. The results show that, for identical grids, the proposed method incurs a higher computational cost than the ULT1C scheme. However, we advise caution before drawing conclusions. A more detailed discussion of computational cost will be provided in Section 3.7.

3.2. Lax’s Riemann Problem

The second example is the Riemann problem of Lax [28], with the following initial conditions:
p j 0 = 3 . 52773 ,   u j 0 = 0.6988764 ,   ρ j 0 = 0.445 ,   if   x j < 0 , p j 0 = 0.571 ,   u j 0 = 0 ,   ρ j 0 = 0.5 ,   if   x j 0 .
The modeling region was defined as x 8 ,   6 . The grid consisted of 140 cells, with a grid spacing of h = 0.1. The time step for the acoustics stage was determined based on the Courant criterion (15), with k c = 2 and c s = D R U = 0.950587 , meaning the shock spreads through two grid cells with t c Δ = 0.210396 during this stage. The time step for the convection stage was determined based on Equation (17), with k u = 3 and u s = U = 1.528962 , indicating that the shock spreads through three grid cells with t u Δ = 0.196211 during this stage. The marching time step was set to t Δ = 0.2 . The acoustics and convection stages were executed during each marching time step, i.e., t c Δ t u Δ t Δ .
The results are presented in Figure 10, Figure 11 and Figure 12, where they are compared with the exact solution and the data obtained using the previous author’s method [24] at the time t = 2.0 . Figure 10, Figure 11 and Figure 12 show the agreement between the results for the previous and modified methods and demonstrate that the numerical viscosity is not present in the shock. However, due to the accumulation of positional round-off errors, the shock is delayed by one grid cell at the observed time (see Figure 10, Figure 11 and Figure 12), and the rarefaction wave propagates faster than that of the exact solution (see Figure 11 and Figure 12).
We repeated the calculation of the same problem using a different marching time step to demonstrate that the faster propagation of the rarefaction wave observed in the numerical solution is due to position rounding error. The time step for the acoustics stage was determined based on the Courant criterion (15), with k c = 4 and c s = D R 2 U = 3.165420 , implying that the second characteristic of the rarefaction wave spreads across four grid cells with a time step of t c Δ = 0.126366 . The time step for the convection stage was determined according to Equation (17), with k u = 2 and u s = U = 1.528962 , indicating that the second characteristic of the rarefaction wave spreads across two grid cells with a time step of t u Δ = 0.130808 . The overall marching time step was set to t Δ = 0.127 . During each marching time step, both the acoustics and convection stages were executed, using t c Δ t u Δ t Δ .
The results are presented in Figure 13, Figure 14 and Figure 15, where they are compared with the exact solution at time t = 2.032. These figures show improved agreement between the modified method and the exact solution for the rarefaction wave and illustrate that the shock is delayed by more than one grid cell at the observed time due to position round-off errors. Unfortunately, in this problem, it is not possible to eliminate the delay for both the shock wave and the rarefaction wave simultaneously.

3.3. The Shu–Osher Shock Tube Problem

The third example is the Shu–Osher shock-tube problem.
The Shu–Osher problem [25] simulates the propagation of a normal shock front within a one-dimensional inviscid flow, incorporating artificial density fluctuations. The simulation is initialized with the following conditions:
p j 0 = 10.3333 ,   u j 0 = 2.629369 ,   ρ j 0 = 3.857143 ,   if   x j < 1 / 8 , p j 0 = 1.0 ,   u j 0 = 0 ,   ρ j 0 = 1 + 0 . 2 sin ( 16 π x ) ,   if   x j 1 / 8 .
The modeling region was defined as x 0 , 1 . Three types of grids were utilized: a coarse grid with 192 points, a fine grid with 384 points, and a finer grid with 1000 points. The time step for the acoustics stage was determined based on the Courant criterion (15), with k c = 2 and c s = D R U = 0.920277 , meaning that the shock spreads across two grid cells during this stage for all grid resolutions. The corresponding time steps are t c Δ = 0 . 011319 for the coarse grid, t c Δ = 0 . 00565953 for the fine grid, and t c Δ = 0 . 00217325 for the finer grid. Similarly, the time step for the convection stage was determined based on Equation (17), with k u = 5 and u s = U = 2.62937 , indicating that the shock spreads across five grid cells during this stage for all grids, and t u Δ = 0 . 00990415 for the coarse grid, t u Δ = 0 . 00495208 for the fine grid, and t u Δ = 0 . 00190160 for the finer grid. The marching time step was set to t Δ = 0.01 for the coarse grid, t Δ = 0.005 for the fine grid, and t Δ = 0.002 for the finer grid. For each marching time step, both the acoustic and convection stages were executed, ensuring that t c Δ t u Δ t Δ .
The results are presented in Figure 16, Figure 17 and Figure 18, where they are compared with the “exact” solution [25] at t = 0.178. The results indicate that the fine and finer grids provide greater accuracy compared to the coarse grid. The proposed method has greater accuracy than the previous one [24], as shown in Figure 17. However, due to the accumulation of round-off errors in position calculations, the shock is delayed by several grid cells in the coarse grid results at the observed time.

3.4. The Double Expansion Wave Problem

The fourth example is the double expansion wave problem [29], with initial conditions specified as follows:
p j 0 = 10 5 ,   u j 0 = 100 ,   ρ j 0 = 1 . 2 ,   if   x j < 0 , p j 0 = 10 5 ,   u j 0 = 100 ,   ρ j 0 = 1.2 ,   if   x j 0 .
The modeling region was defined as x 0.5 , 0.5 . Two types of grids were utilized: a coarse grid with 100 points, and a finer grid with 1000 points; the grid step was h = 0.01 and h = 0.001 , respectively. The time step for the acoustics stage was determined based on the Courant criterion (15), with k c = 7 , meaning the shock spreads through seven grid cells during this stage—for all grids. The time step for the convection stage was determined based on Equation (17), with k u = 2 , indicating that the shock spreads through two grid cells during this stage—for all grids. The marching time step was set to t Δ = 0.0002 for the coarse grid, and t Δ = 0.00002 for the finer grid. The acoustics and convection stages were executed during each marching time step, i.e., t c Δ = t u Δ = t Δ .
The results after 4 marching time steps for the coarse grid and after 40 marching time steps for the finer grid (t = 0.0008) are presented in Figure 19, Figure 20, Figure 21, Figure 22, Figure 23 and Figure 24, where they are compared with the exact solution. Figure 19, Figure 20 and Figure 21 demonstrate a strong correlation between the exact and numerical solutions for the double expansion wave problem, while Figure 20, Figure 21 and Figure 22 exhibit an even higher degree of agreement. The maximum relative differences in density ( ρ ), velocity ( u ), and pressure ( p ) between the present method and the previous method [24], as depicted in Figure 19, Figure 20 and Figure 21, are reported in Table 2. Additionally, Table 2 presents both the maximum and average relative errors between the present method and the exact solution, corresponding to Figure 19, Figure 20, Figure 21, Figure 22, Figure 23 and Figure 24. The relatively large maximum error in velocity is attributed to locations where the velocity approaches zero, leading to relative errors of up to 100% at those points. Nevertheless, the average relative errors between the present method and the exact solution do not exceed 4% on either grid, which is considered acceptable for engineering applications.

3.5. Fifth Test Problem

The fifth example presents a one-dimensional problem defined by specific initial conditions
p j 0 = 101325.0 ,   u j 0 = 600.0 ,   ρ j 0 = 1.25 .
In this case, at time t = 0 , a thin wall was lowered at the channel section x = 0 .
The modeling region was defined as x 5 ,   5 . The grid consisted of 100 cells, with a grid spacing of h = 0.1 . The time step for the acoustics stage was determined based on the Courant criterion (15), with k c = 2 , meaning the shock spreads through two grid cells during this stage. The time step for the convection stage was determined based on Equation (17), with k u = 5 , indicating that the shock spreads through five grid cells during this stage. The marching time step was set to t Δ = 0.00079 . The acoustics and convection stages were executed during each marching time step, i.e., t c Δ = t u Δ = t Δ .
The results, compared with the exact solution at t = 0.00474 , are presented in Figure 25, Figure 26 and Figure 27. Figure 25, Figure 26 and Figure 27 show the same results for the previous [24] and modified methods. In this case, the shock does not induce any delay, nor is there any numerical viscosity associated with it.

3.6. Sixth Test Problem

Furthermore, we consider two (sixth and seventh) test examples of the interaction of two Riemann problems with different initial conditions. The initial conditions for the sixth example for the simulation are
p j 0 = 10 ,   u j 0 = 0 ,   ρ j 0 = 10 ,   if   x j < 0 , p j 0 = 1 ,   u j 0 = 0 ,   ρ j 0 = 1 ,   if   0 x j < 0.4 , p j 0 = 0.1 ,   u j 0 = 0 ,   ρ j 0 = 0.125 ,   if   x j 0.4 .
This is a more complicated problem proposed by Sod [27] (second and third lines of the formula), to which another discontinuity decay was added (using the first line of the Formula (70)).
The modeling region was defined as x 2 ;   2 . The grid consisted of 400 cells, with a grid spacing of h = 0.01 . The time step for the acoustics stage was determined based on the Courant criterion (15), with k c = 2 , meaning the shock spreads through two grid cells during this stage. The time step for the convection stage was determined based on Equation (17), with k u = 2 , indicating that the shock spreads through two grid cells during this stage. The marching time step was set to t Δ = 0.021 . The acoustics and convection stages were executed during each marching time step, i.e., t c Δ = t u Δ = t Δ .
The results are presented in Figure 28, Figure 29, Figure 30, Figure 31, Figure 32 and Figure 33, comparing the proposed method with the previous approach [24] and the data obtained by Harten [3] using the ULT1C scheme at t = 0.63 . It is important to note that more advanced numerical schemes, such as WENO [30,31], exhibit even higher numerical viscosity for shocks. Consequently, the ULT1C scheme was selected for comparison. Figure 28, Figure 29, Figure 30, Figure 31, Figure 32 and Figure 33 illustrate the absence of numerical viscosity for the shock, in contrast to Harten’s method. The proposed scheme allows us to obtain more universal and accurate results than the previous method [24], and it has no sawtooth oscillations (dashed blue line).

3.7. Seventh Test Problem

The seventh example is the interaction of two Riemann problems with the initial conditions given by (71).
p j 0 = 100 ,   u j 0 = 0 ,   ρ j 0 = 5 ,   if   x j < 0 , p j 0 = 1 ,   u j 0 = 0 ,   ρ j 0 = 1 ,   if   0 x j < 0.4 , p j 0 = 0.1 ,   u j 0 = 0 ,   ρ j 0 = 0.125 ,   if   x j 0.4 .
Also, this is a more complicated problem proposed by Sod [27] (second and third lines of the formula), to which another discontinuity decay (stronger than in (70)) was added (using the first line of the Formula (71)).
The modeling region was defined as x 2 ;   2 . The grid consisted of 400 cells, with a grid spacing of h = 0.01 . The time step for the acoustics stage was determined based on the Courant criterion (15), with k c = 3 , meaning the shock spreads through three grid cells during this stage. The time step for the convection stage was determined based on Equation (17), with k u = 11 , indicating that the shock spreads through eleven grid cells during this stage. The marching time step was set to t Δ = 0.0236 . The acoustics and convection stages were executed during each marching time step, i.e., t c Δ = t u Δ = t Δ .
The results are presented in Figure 34, Figure 35, Figure 36, Figure 37, Figure 38 and Figure 39, comparing the proposed method with the previous approach [24] and the data obtained by Harten [3] using the ULT1C scheme at t = 0.2124 . The proposed scheme allows us to obtain more universal and accurate results than the previous method [24] and it has no sawtooth oscillations (dashed blue line), while the TVD scheme shows strong numerical viscosity of the solution at the shock wave.
Figure 40, Figure 41, Figure 42, Figure 43, Figure 44, Figure 45, Figure 46, Figure 47 and Figure 48 present a comparison between the results obtained using the proposed method and those obtained with the ULT1C scheme on finer grids. In these figures, the ULT1C method demonstrates lower numerical viscosity at the shock wave compared to that observed on coarser grids.
A comparison of CPU time consumption between the new method and Harten’s ULT1C method [3] for the seventh problem is presented in Table 3. The results show that, for the grid with 40,000 points, the proposed method incurs significantly higher computational costs compared to the ULT1C scheme. However, as illustrated in Figure 46, Figure 47 and Figure 48, the results obtained with the proposed method on a grid with only 400 points are comparable to those obtained with the ULT1C method on a grid with 40,000 points, and moreover, the proposed method exhibits no numerical viscosity at the shock. Additionally, the computational cost of the proposed method for the grid with 400 points is substantially lower than that of the ULT1C scheme for the grid with 40,000 points. Thus, the proposed method enables faster solution times by employing a much coarser grid compared to the ULT1C method.

4. Discussion

The numerical solutions for the aforementioned well-known test cases were compared with the exact solutions, data from Harten’s method, and the results of the author’s previous approach. The obtained results lead to the following conclusions:
(1)
The primary advantage of the proposed method over the well-known TVD, ENO, and WENO methods is the elimination of the numerical viscosity (diffusion) for shocks.
(2)
Over time, shocks or rarefaction waves may spread slightly slower or faster than in the exact solution. This discrepancy arises from rounding the wave front positions to the grid cell accuracy, a consequence of using a fixed homogeneous grid.
(3)
The proposed scheme allows us to obtain more universal and accurate results than the previous method [24], and it has no sawtooth oscillations.
(4)
Although, for most of the test cases considered, the proposed method exhibits a higher computational cost than the ULT1C method; when using grids of the same size, it achieves comparable solution accuracy on much coarser grids. Consequently, when accounting for the required grid resolution, the proposed method ultimately outperforms the ULT1C method in terms of overall computational cost.
The accuracy of the proposed method for handling flow discontinuities is determined by the iterative Godunov exact solver. In the calculations, an iteration termination criterion of less than 10−5 is used to ensure convergence by measuring the pressure difference between consecutive iterations.
The directions for further research are connected with one-dimensional, two-dimensional Sedov problem modeling and two-dimensional Riemann problem simulations.

Funding

This research was funded by the Russian Science Foundation, project number 25-29-00762.

Data Availability Statement

The original contributions presented in this study are included in the article. Further inquiries can be directed to the corresponding author.

Acknowledgments

I am grateful to V.G. Shakhov and other anonymous referees for their insightful comments and advice, which have greatly improved the quality of this work.

Conflicts of Interest

The author declares no conflicts of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript; or in the decision to publish the results.

Nomenclature

u Convective velocity of flow
x Direction
t Time
t Δ Time step, marching time step
e 1 Tolerance associated with the comparison of the flow variables
e 2 Machine arithmetic tolerance associated with the comparison of the x coordinates
hGrid step
nNumber of grid cells
usConvective velocity of a shock
kuInteger coefficient in the formula for the time step at the convection stage
aLeft boundary of a modeling area
bRight boundary of the modeling area
ρ Density
pPressure
κRatio of specific heat coefficients
cSound velocity
wiTransfer variables of wave equations
w ¯ i Transfer vector variables
iCoordinate index
jCoordinate index
kTime index
P ˜ Pressure function for adiabatic law
t c Δ time step at the acoustics stage
csAcoustic velocity of a shock
kcInteger coefficient in the formula for the time step at the acoustics stage
t u Δ Time step at the convection stage
ncAn integer showing how many times the time step at the acoustics stage is greater than the marching time step
nuAn integer showing how many times the time step at the convection stage is greater than the marching time step
εInternal specific energy
[A]Jacobian matrix
[Λ]Diagonal matrix of eigenvalues of the Jacobian matrix
[L]Matrix of corresponding left eigenvectors
[R]Matrix of corresponding right eigenvectors
[E]Diagonal identity matrix
c * Constant sound velocity
ρ * Constant density
R L Density of the exact solution of the Riemann problem on the left
R R Density of the exact solution of the Riemann problem on the right
U L Velocity of the exact solution of the Riemann problem on the left
U R Velocity of the exact solution of the Riemann problem on the right
E L Internal specific energy of the Riemann problem on the left
E R Internal specific energy of the Riemann problem on the right
P L Pressure of the Riemann problem on the left
P R Pressure of the Riemann problem on the right
D L Velocity of the propagation of a shock or rarefaction wave of the Riemann problem on the left
D R Velocity of the propagation of a shock or rarefaction wave of the Riemann problem on the right
C L Local acoustic velocity of the Riemann problem on the left
C R Local acoustic velocity of the Riemann problem on the right
ρ c Density after the acoustics stage
p c Pressure after the acoustics stage
u c Velocity after the acoustics stage
ε c Internal specific energy after the acoustics stage
ρ u Density after the convection stage
p u Pressure after the convection stage
u u Velocity after the convection stage
ε u Internal specific energy after the convection stage
u r Velocity on the right
ρ 0 Density for the initial conditions
P 0 Pressure for the initial conditions
u 0 Velocity for the initial conditions
π Pi

References

  1. von Neumann, J.; Richtmyer, R.D. A method for the numerical calculation of hydrodynamic shocks. J. Appl. Phys. 1950, 21, 232. [Google Scholar] [CrossRef]
  2. Jameson, A. Analysis and design of numerical schemes for gas dynamics, 1: Artificial diffusion, upwind biasing, limiters and their effect on accuracy and multigrid convergence. Int. J. Comput. Fluid Dyn. 1994, 4, 171–218. [Google Scholar] [CrossRef]
  3. Harten, A. A high resolution scheme for the computation of weak solutions of hyperbolic conservation laws. J. Comput. Phys. 1983, 49, 357–393. [Google Scholar] [CrossRef]
  4. Harten, A.; Engquist, B.; Osher, S.; Chakravarthy, S.R. Uniform high order accurate essentially non-oscillatory schemes, III. J. Comput. Phys. 1987, 71, 231–303. [Google Scholar] [CrossRef]
  5. Liu, X.D.; Osher, S.; Chan, T. Weighted essentially non-oscillatory schemes. J. Comput. Phys. 1994, 115, 200–212. [Google Scholar] [CrossRef]
  6. Harten, A. ENO schemes with subcell resolution. J. Comput. Phys. 1987, 83, 148–184. [Google Scholar] [CrossRef]
  7. Harten, A.; Osher, S. Uniformly high order essentially non-oscillatory schemes I. SIAM J. Numer. Anal. 1987, 24, 279–309. [Google Scholar] [CrossRef]
  8. Harten, A.; Osher, S.; Engquist, B.; Chakravarthy, S. Some results on uniformly high order accurate essentially non-oscillatory schemes. Appl. Numer. Math. 1986, 2, 347–377. [Google Scholar] [CrossRef]
  9. Shu, C.-W.; Osher, S. Efficient implementation of essentially non-oscillatory shock-capturing schemes. J. Comput. Phys. 1988, 77, 439–471. [Google Scholar] [CrossRef]
  10. Shu, C.-W.; Osher, S. Efficient implementation of essentially non-oscillatory shock-capturing schemes II. J. Comput. Phys. 1989, 83, 32–78. [Google Scholar] [CrossRef]
  11. Jiang, G.-S.; Shu, C.-W. Efficient implementation of Weighted ENO schemes. J. Comput. Phys. 1996, 126, 202–228. [Google Scholar] [CrossRef]
  12. Pawar, S.; San, O. CFD Julia: A Learning Module Structuring an Introductory Course on Computational Fluid Dynamics. Fluids 2019, 4, 159. [Google Scholar] [CrossRef]
  13. Roe, P.L. Approximate Riemann solvers, parameter vectors, and difference schemes. J. Comput. Phys. 1997, 135, 250–258. [Google Scholar] [CrossRef]
  14. Godunov, S.K. A difference scheme for numerical computation of discontinuous solution of hyperbolic equation. Mat. Sb. 1959, 47, 271–306. [Google Scholar]
  15. LeVeque, R.J. Balancing source terms and flux gradients on high-resolution Godunov methods: The quasi-steady wave-propagation algorithm. J. Comput. Phys. 1998, 146, 346–365. [Google Scholar] [CrossRef]
  16. Einfeldt, B. On Godunov-type methods for gas dynamics. SIAM J. Numer. Anal. 1988, 25, 294–318. [Google Scholar] [CrossRef]
  17. Wu, Y.Y.; Cheung, K.F. Explicit solution to the exact Riemann problem and application in nonlinear shallow-water equations. Int. J. Numer. Meth. Fluids 2008, 57, 1649–1668. [Google Scholar] [CrossRef]
  18. Kornev, N.; Denev, J.; Samarbakhsh, S. Theoretical Background of the Hybrid V?LES Method for Flows with Variable Transport Properties. Fluids 2020, 5, 45. [Google Scholar] [CrossRef]
  19. Gadde, S.N.; Stieren, A.; Stevens, R.J.A.M. Large-Eddy Simulations of Stratified Atmospheric Boundary Layers: Comparison of Different Subgrid Models. Bound.-Layer Meteorol. 2021, 178, 363–382. [Google Scholar] [CrossRef]
  20. Spalart, P.R.; Allmaras, S.R. A one-equation turbulence model for aerodynamic flows. AIAA Paper. 1992, 92, 0439. [Google Scholar]
  21. Edeling, W.N.; Cinnella, P.; Dwight, R.P.; Bijl, H. Bayesian estimates of parameter variability in thek−εturbulence model. J. Comput. Phys. 2014, 258, 73–94. [Google Scholar] [CrossRef]
  22. Yang, M.; Guo, M.; Zhang, Y.; Tian, Y.; Yi, M.; Le, J.; Zhang, H. Uncertainty quantification and identification of SST turbulence model parameters based on Bayesian optimization algorithm in supersonic flow. Int. J. Numer. Meth. Fluids 2024, 96, 277–296. [Google Scholar] [CrossRef]
  23. Basiri, S.; Ghoreishi, S.M.; Safdari, J.; Yousefi-Nasab, S. Three-dimensional simulation of gas flow for predicting the pressure and velocity profiles inside a gas centrifuge machine using the DSMC method. Vacuum 2024, 219, 112664. [Google Scholar] [CrossRef]
  24. Nikonov, V.A. Semi-Lagrangian Godunov-Type Method without Numerical Viscosity for Shocks. Fluids 2022, 7, 16. [Google Scholar] [CrossRef]
  25. Taylor, E.M.; Wu, M.; Martin, M.P. Optimization of Nonlinear Error for Weighted Essentially Non-Oscillatory Methods in Direct Numerical Simulations of Compressible Turbulence. J. Comput. Phys. 2007, 223, 384–397. [Google Scholar] [CrossRef]
  26. Toro, F.E. Riemann Solvers and Numerical Methods for Fluid Dynamics; Springer: Berlin/Heidelberg, Germany, 2009; ISBN 3-540-65966-8. [Google Scholar]
  27. Sod, G.A. A survey of several finite difference methods for systems of nonlinear hyperbolic conservation laws. J. Comput. Phys. 1978, 107, 1–31. [Google Scholar] [CrossRef]
  28. Lax, P.D. Weak solutions of nonlinear hyperbolic equations and their numerical computation. Commun. Pure Appl. Math. 1954, 7, 159–193. [Google Scholar] [CrossRef]
  29. Carmouze, Q.; Saurel, R.; Chiapolino, A.; Lapebie, E. Riemann solver with internal reconstruction (RSIR) for compressible single-phase and non-equilibrium two-phase flows. J. Comput. Phys. 2020, 408, 109–176. [Google Scholar] [CrossRef]
  30. Feng, H.; Hu, F.; Wang, R. A New Mapped Weighted Essentially Non-oscillatory Scheme. J. Sci. Comput. 2012, 51, 449–473. [Google Scholar] [CrossRef]
  31. Fu, L.; Xiangyu, Y.H.; Nikolaus, A.A. A new class of adaptive high-order targeted ENO schemes for hyperbolic conservation laws. J. Comput. Phys. 2018, 374, 724–751. [Google Scholar] [CrossRef]
Figure 1. Algorithm for the acoustic stage.
Figure 1. Algorithm for the acoustic stage.
Fluids 10 00133 g001
Figure 2. Initial conditions prior to solving the three Riemann problems.
Figure 2. Initial conditions prior to solving the three Riemann problems.
Fluids 10 00133 g002
Figure 3. The first Riemann problem.
Figure 3. The first Riemann problem.
Fluids 10 00133 g003
Figure 4. The second Riemann problem.
Figure 4. The second Riemann problem.
Fluids 10 00133 g004
Figure 5. The third Riemann problem.
Figure 5. The third Riemann problem.
Fluids 10 00133 g005
Figure 6. Algorithm for the convection stage.
Figure 6. Algorithm for the convection stage.
Fluids 10 00133 g006
Figure 7. Density plot for the shock-tube problem of Sod: the exact solution (line), the previous method [24] (red cross), and the present method (blue circle).
Figure 7. Density plot for the shock-tube problem of Sod: the exact solution (line), the previous method [24] (red cross), and the present method (blue circle).
Fluids 10 00133 g007
Figure 8. Velocity plot for the shock-tube problem of Sod: the exact solution (line), the previous method [24] (red cross), and the present method (blue circle).
Figure 8. Velocity plot for the shock-tube problem of Sod: the exact solution (line), the previous method [24] (red cross), and the present method (blue circle).
Fluids 10 00133 g008
Figure 9. Pressure plot for the shock-tube problem of Sod: the exact solution (line), the previous method [24] (red cross), and the present method (blue circle).
Figure 9. Pressure plot for the shock-tube problem of Sod: the exact solution (line), the previous method [24] (red cross), and the present method (blue circle).
Fluids 10 00133 g009
Figure 10. Density plot for the Riemann problem of Lax: the exact solution (line), the previous method [24] (red cross), and the present method (blue circle).
Figure 10. Density plot for the Riemann problem of Lax: the exact solution (line), the previous method [24] (red cross), and the present method (blue circle).
Fluids 10 00133 g010
Figure 11. Velocity plot for the Riemann problem of Lax: the exact solution (line), the previous method [24] (red cross), and the present method (blue circle).
Figure 11. Velocity plot for the Riemann problem of Lax: the exact solution (line), the previous method [24] (red cross), and the present method (blue circle).
Fluids 10 00133 g011
Figure 12. Pressure plot for the Riemann problem of Lax: the exact solution (line), the previous method [24] (red cross), and the present method (blue circle).
Figure 12. Pressure plot for the Riemann problem of Lax: the exact solution (line), the previous method [24] (red cross), and the present method (blue circle).
Fluids 10 00133 g012
Figure 13. Density plot for the Riemann problem of Lax: the exact solution (line) and the present method (blue circle).
Figure 13. Density plot for the Riemann problem of Lax: the exact solution (line) and the present method (blue circle).
Fluids 10 00133 g013
Figure 14. Velocity plot for the Riemann problem of Lax: the exact solution (line) and the present method (blue circle).
Figure 14. Velocity plot for the Riemann problem of Lax: the exact solution (line) and the present method (blue circle).
Fluids 10 00133 g014
Figure 15. Pressure plot for the Riemann problem of Lax: the exact solution (line), and the present method (blue circle).
Figure 15. Pressure plot for the Riemann problem of Lax: the exact solution (line), and the present method (blue circle).
Fluids 10 00133 g015
Figure 16. Density plot for the Shu–Osher shock-tube problem (67), using the coarse grid (192 grid points): the “exact” solution [25] (line), the previous method [24] (cross), and the present method (circle).
Figure 16. Density plot for the Shu–Osher shock-tube problem (67), using the coarse grid (192 grid points): the “exact” solution [25] (line), the previous method [24] (cross), and the present method (circle).
Fluids 10 00133 g016
Figure 17. Density plot for the Shu–Osher shock-tube problem, using the fine grid (384 grid points): the “exact” solution [25] (line), the previous method [24] (red cross), and the present method (blue circle).
Figure 17. Density plot for the Shu–Osher shock-tube problem, using the fine grid (384 grid points): the “exact” solution [25] (line), the previous method [24] (red cross), and the present method (blue circle).
Fluids 10 00133 g017
Figure 18. Density plot for the Shu–Osher shock-tube problem, using the finer grid (1000 grid points): the “exact” solution [25] (line), the previous method [24] (cross), and the present method (circle).
Figure 18. Density plot for the Shu–Osher shock-tube problem, using the finer grid (1000 grid points): the “exact” solution [25] (line), the previous method [24] (cross), and the present method (circle).
Fluids 10 00133 g018
Figure 19. Density plot for the double expansion wave problem (68) for the one-dimensional scalar hyperbolic conservation law, using the coarse grid (100 grid points): the exact solution [29] (line), the author’s previous work method [24] (red cross), and the present method (blue circle).
Figure 19. Density plot for the double expansion wave problem (68) for the one-dimensional scalar hyperbolic conservation law, using the coarse grid (100 grid points): the exact solution [29] (line), the author’s previous work method [24] (red cross), and the present method (blue circle).
Fluids 10 00133 g019
Figure 20. Velocity plot for the double expansion wave problem (68) for the one-dimensional scalar hyperbolic conservation law, using the coarse grid (100 grid points): the exact solution [29] (line), the author’s previous work method [24] (red cross), and the present method (blue circle).
Figure 20. Velocity plot for the double expansion wave problem (68) for the one-dimensional scalar hyperbolic conservation law, using the coarse grid (100 grid points): the exact solution [29] (line), the author’s previous work method [24] (red cross), and the present method (blue circle).
Fluids 10 00133 g020
Figure 21. Pressure plot for the double expansion wave problem (68) for the one-dimensional scalar hyperbolic conservation law, using the coarse grid (100 grid points): the exact solution [29] (line), the author’s previous work method [24] (red cross), and the present method (blue circle).
Figure 21. Pressure plot for the double expansion wave problem (68) for the one-dimensional scalar hyperbolic conservation law, using the coarse grid (100 grid points): the exact solution [29] (line), the author’s previous work method [24] (red cross), and the present method (blue circle).
Fluids 10 00133 g021
Figure 22. Density plot for the double expansion wave problem (68) for the one-dimensional scalar hyperbolic conservation law, using the finer grid (1000 grid points): the exact solution [29] (black solid line), the author’s previous work method [24] (red dotted line), and the present method (blue dashed line).
Figure 22. Density plot for the double expansion wave problem (68) for the one-dimensional scalar hyperbolic conservation law, using the finer grid (1000 grid points): the exact solution [29] (black solid line), the author’s previous work method [24] (red dotted line), and the present method (blue dashed line).
Fluids 10 00133 g022
Figure 23. Velocity plot for the double expansion wave problem (68) for the one-dimensional scalar hyperbolic conservation law, using the finer grid (1000 grid points): the exact solution [29] (black solid line), the author’s previous work method [24] (red dotted line), and the present method (blue dashed line).
Figure 23. Velocity plot for the double expansion wave problem (68) for the one-dimensional scalar hyperbolic conservation law, using the finer grid (1000 grid points): the exact solution [29] (black solid line), the author’s previous work method [24] (red dotted line), and the present method (blue dashed line).
Fluids 10 00133 g023
Figure 24. Pressure plot for the double expansion wave problem (68) for the one-dimensional scalar hyperbolic conservation law, using the finer grid (1000 grid points): the exact solution [29] (black solid line), the author’s previous work method [24] (red dotted line), and the present method (blue dashed line).
Figure 24. Pressure plot for the double expansion wave problem (68) for the one-dimensional scalar hyperbolic conservation law, using the finer grid (1000 grid points): the exact solution [29] (black solid line), the author’s previous work method [24] (red dotted line), and the present method (blue dashed line).
Fluids 10 00133 g024
Figure 25. Density plot for the problem (69): the exact solution (line), the previous method [24] (cross), and the present method (circle).
Figure 25. Density plot for the problem (69): the exact solution (line), the previous method [24] (cross), and the present method (circle).
Fluids 10 00133 g025
Figure 26. Velocity plot for the problem (69): the exact solution (line), the previous method [24] (cross), and the present method (circle).
Figure 26. Velocity plot for the problem (69): the exact solution (line), the previous method [24] (cross), and the present method (circle).
Fluids 10 00133 g026
Figure 27. Pressure plot for the problem (69): the exact solution (line), the previous method [24] (cross), and the present method (circle).
Figure 27. Pressure plot for the problem (69): the exact solution (line), the previous method [24] (cross), and the present method (circle).
Fluids 10 00133 g027
Figure 28. Density plot for the two Riemann problems interaction (70): the ULT1C scheme of Harten (red dash dotted line), the previous method [24] (black solid line), and the present method (blue dashed line).
Figure 28. Density plot for the two Riemann problems interaction (70): the ULT1C scheme of Harten (red dash dotted line), the previous method [24] (black solid line), and the present method (blue dashed line).
Fluids 10 00133 g028
Figure 29. Magnified view of density plot for the two Riemann problems interaction (70): the ULT1C scheme of Harten (red dash dotted line), the previous method [24] (black solid line), and the present method (blue dashed line). Blue circles, red crosses and black crosses are indicating grid points.
Figure 29. Magnified view of density plot for the two Riemann problems interaction (70): the ULT1C scheme of Harten (red dash dotted line), the previous method [24] (black solid line), and the present method (blue dashed line). Blue circles, red crosses and black crosses are indicating grid points.
Fluids 10 00133 g029
Figure 30. Velocity plot for the two Riemann problems interaction (70): the ULT1C scheme of Harten (red dash dotted line), the previous method [24] (black solid line), and the present method (blue dashed line).
Figure 30. Velocity plot for the two Riemann problems interaction (70): the ULT1C scheme of Harten (red dash dotted line), the previous method [24] (black solid line), and the present method (blue dashed line).
Fluids 10 00133 g030
Figure 31. Magnified view of velocity plot for the two Riemann problems interaction (70): the ULT1C scheme of Harten (red dash dotted line), the previous method [24] (black solid line), and the present method (blue dashed line). Blue circles, red crosses and black crosses are indicating grid points.
Figure 31. Magnified view of velocity plot for the two Riemann problems interaction (70): the ULT1C scheme of Harten (red dash dotted line), the previous method [24] (black solid line), and the present method (blue dashed line). Blue circles, red crosses and black crosses are indicating grid points.
Fluids 10 00133 g031
Figure 32. Pressure plot for the two Riemann problems interaction (70): the ULT1C scheme of Harten (red dash dotted line), the previous method [24] (black solid line), and the present method (blue dashed line).
Figure 32. Pressure plot for the two Riemann problems interaction (70): the ULT1C scheme of Harten (red dash dotted line), the previous method [24] (black solid line), and the present method (blue dashed line).
Fluids 10 00133 g032
Figure 33. Magnified view of pressure plot for the two Riemann problems interaction (70): the ULT1C scheme of Harten (red dash dotted line), the previous method [24] (black solid line), and the present method (blue dashed line). Blue circles, red crosses and black crosses are indicating grid points.
Figure 33. Magnified view of pressure plot for the two Riemann problems interaction (70): the ULT1C scheme of Harten (red dash dotted line), the previous method [24] (black solid line), and the present method (blue dashed line). Blue circles, red crosses and black crosses are indicating grid points.
Fluids 10 00133 g033
Figure 34. Density plot for the two Riemann problems interaction (71): the ULT1C scheme of Harten (red dash dotted line), the previous method [24] (black solid line), and the present method (blue dashed line).
Figure 34. Density plot for the two Riemann problems interaction (71): the ULT1C scheme of Harten (red dash dotted line), the previous method [24] (black solid line), and the present method (blue dashed line).
Fluids 10 00133 g034
Figure 35. Magnified view of density plot for the two Riemann problems interaction (71): the ULT1C scheme of Harten (red dash dotted line), the previous method [24] (black solid line), and the present method (blue dashed line). Blue circles, red crosses and black crosses are indicating grid points.
Figure 35. Magnified view of density plot for the two Riemann problems interaction (71): the ULT1C scheme of Harten (red dash dotted line), the previous method [24] (black solid line), and the present method (blue dashed line). Blue circles, red crosses and black crosses are indicating grid points.
Fluids 10 00133 g035
Figure 36. Velocity plot for the two Riemann problems interaction (71): the ULT1C scheme of Harten (red dash dotted line), the previous method [24] (black solid line), and the present method (blue dashed line).
Figure 36. Velocity plot for the two Riemann problems interaction (71): the ULT1C scheme of Harten (red dash dotted line), the previous method [24] (black solid line), and the present method (blue dashed line).
Fluids 10 00133 g036
Figure 37. Magnified view of velocity plot for the two Riemann problems interaction (71): the ULT1C scheme of Harten (red dash dotted line), the previous method [24] (black solid line), and the present method (blue dashed line). Blue circles, red crosses and black crosses are indicating grid points.
Figure 37. Magnified view of velocity plot for the two Riemann problems interaction (71): the ULT1C scheme of Harten (red dash dotted line), the previous method [24] (black solid line), and the present method (blue dashed line). Blue circles, red crosses and black crosses are indicating grid points.
Fluids 10 00133 g037
Figure 38. Pressure plot for the two Riemann problems interaction (71): the ULT1C scheme of Harten (red dash dotted line), the previous method [24] (black solid line), and the present method (blue dashed line).
Figure 38. Pressure plot for the two Riemann problems interaction (71): the ULT1C scheme of Harten (red dash dotted line), the previous method [24] (black solid line), and the present method (blue dashed line).
Fluids 10 00133 g038
Figure 39. Magnified view of pressure plot for the two Riemann problems interaction (71): the ULT1C scheme of Harten (red dash dotted line), the previous method [24] (black solid line), and the present method (blue dashed line). Blue circles, red crosses and black crosses are indicating grid points.
Figure 39. Magnified view of pressure plot for the two Riemann problems interaction (71): the ULT1C scheme of Harten (red dash dotted line), the previous method [24] (black solid line), and the present method (blue dashed line). Blue circles, red crosses and black crosses are indicating grid points.
Fluids 10 00133 g039
Figure 40. Density plot for the two Riemann problems interaction (71) (4000 grid points): the ULT1C scheme of Harten (red dash dotted line) and the present method (blue dashed line).
Figure 40. Density plot for the two Riemann problems interaction (71) (4000 grid points): the ULT1C scheme of Harten (red dash dotted line) and the present method (blue dashed line).
Fluids 10 00133 g040
Figure 41. Velocity plot for the two Riemann problems interaction (71) (4000 grid points): the ULT1C scheme of Harten (red dash dotted line) and the present method (blue dashed line).
Figure 41. Velocity plot for the two Riemann problems interaction (71) (4000 grid points): the ULT1C scheme of Harten (red dash dotted line) and the present method (blue dashed line).
Fluids 10 00133 g041
Figure 42. Pressure plot for the two Riemann problems interaction (71) (4000 grid points): the ULT1C scheme of Harten (red dash dotted line) and the present method (blue dashed line).
Figure 42. Pressure plot for the two Riemann problems interaction (71) (4000 grid points): the ULT1C scheme of Harten (red dash dotted line) and the present method (blue dashed line).
Fluids 10 00133 g042
Figure 43. Density plot for the two Riemann problems interaction (71) (40,000 grid points): the ULT1C scheme of Harten (red dash dotted line) and the present method (blue dashed line).
Figure 43. Density plot for the two Riemann problems interaction (71) (40,000 grid points): the ULT1C scheme of Harten (red dash dotted line) and the present method (blue dashed line).
Fluids 10 00133 g043
Figure 44. Velocity plot for the two Riemann problems interaction (71) (40,000 grid points): the ULT1C scheme of Harten (red dash dotted line) and the present method (blue dashed line).
Figure 44. Velocity plot for the two Riemann problems interaction (71) (40,000 grid points): the ULT1C scheme of Harten (red dash dotted line) and the present method (blue dashed line).
Fluids 10 00133 g044
Figure 45. Pressure plot for the two Riemann problems interaction (71) (40,000 grid points): the ULT1C scheme of Harten (red dash dotted line) and the present method (blue dashed line).
Figure 45. Pressure plot for the two Riemann problems interaction (71) (40,000 grid points): the ULT1C scheme of Harten (red dash dotted line) and the present method (blue dashed line).
Fluids 10 00133 g045
Figure 46. Density plot for the two Riemann problems interaction (71): the ULT1C scheme of Harten (red dash dotted line) (40,000 grid points) and the present method (blue dashed line) (400 grid points).
Figure 46. Density plot for the two Riemann problems interaction (71): the ULT1C scheme of Harten (red dash dotted line) (40,000 grid points) and the present method (blue dashed line) (400 grid points).
Fluids 10 00133 g046
Figure 47. Velocity plot for the two Riemann problems interaction (71): the ULT1C scheme of Harten (red dash dotted line) (40,000 grid points) and the present method (blue dashed line) (400 grid points).
Figure 47. Velocity plot for the two Riemann problems interaction (71): the ULT1C scheme of Harten (red dash dotted line) (40,000 grid points) and the present method (blue dashed line) (400 grid points).
Fluids 10 00133 g047
Figure 48. Pressure plot for the two Riemann problems interaction (71): the ULT1C scheme of Harten (red dash dotted line) (40,000 grid points) and the present method (blue dashed line) (400 grid points).
Figure 48. Pressure plot for the two Riemann problems interaction (71): the ULT1C scheme of Harten (red dash dotted line) (40,000 grid points) and the present method (blue dashed line) (400 grid points).
Fluids 10 00133 g048
Table 1. Comparison of computational costs between the present method and the ULT1C scheme for the Sod problem.
Table 1. Comparison of computational costs between the present method and the ULT1C scheme for the Sod problem.
Cells of the GridThe ULT1C SchemeThe Present Method
10001 s2 s
10,00024 s13 min 51 s
Table 2. Maximum relative differences and errors in density, velocity, and pressure profiles.
Table 2. Maximum relative differences and errors in density, velocity, and pressure profiles.
δ ( ρ ) , % δ ( u ) , % δ ( p ) , %
The maximum relative differences in density, velocity, and pressure between the present method and the previous method [24] are shown in Figure 19, Figure 20 and Figure 213.5 × 10−52.0 × 10−34.8 × 10−5
The maximum relative errors between the present method and the exact solution are presented in Figure 19, Figure 20 and Figure 213934
The average relative errors between the present method and the exact solution are shown in Figure 19, Figure 20 and Figure 210.303.20.42
The maximum relative errors between the present method and the exact solution are presented in Figure 22, Figure 23 and Figure 240.871001.3
The average relative errors between the present method and the exact solution are shown in Figure 22, Figure 23 and Figure 240.0453.40.062
Table 3. Comparison of computational costs between the present method and the ULT1C scheme for the seventh problem.
Table 3. Comparison of computational costs between the present method and the ULT1C scheme for the seventh problem.
Cells of the GridThe ULT1C SchemeThe Present Method
4000.625 s0.735 s
400016 s7 s
40,00025 min 25 s1 h 11 min 53 s
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Nikonov, V. Modified Semi-Lagrangian Godunov-Type Method Without Numerical Viscosity for Shocks. Fluids 2025, 10, 133. https://doi.org/10.3390/fluids10050133

AMA Style

Nikonov V. Modified Semi-Lagrangian Godunov-Type Method Without Numerical Viscosity for Shocks. Fluids. 2025; 10(5):133. https://doi.org/10.3390/fluids10050133

Chicago/Turabian Style

Nikonov, Valeriy. 2025. "Modified Semi-Lagrangian Godunov-Type Method Without Numerical Viscosity for Shocks" Fluids 10, no. 5: 133. https://doi.org/10.3390/fluids10050133

APA Style

Nikonov, V. (2025). Modified Semi-Lagrangian Godunov-Type Method Without Numerical Viscosity for Shocks. Fluids, 10(5), 133. https://doi.org/10.3390/fluids10050133

Article Metrics

Back to TopTop