1 Introduction

The conventional WENO scheme is specifically designed for the reconstruction in Cartesian coordinates on uniform grids [1]. The employment of Cartesian-based reconstruction scheme on a cylindrical grid suffers from a number of drawbacks [2, 3], e.g., in the original PPM paper, reconstruction was performed in volume coordinates (than the linear ones) so that algorithm for a Cartesian mesh can be used on a curvilinear mesh. However, the resulting interface states became first-order accurate even for smooth flows [2]. Another example can be the volume average assignment to the geometrical cell center of finite-volume than the centroid [2]. A breakthrough in the field of high order reconstruction in cylindrical coordinates is the application of the Vandermonde-like linear systems of equations with spatially varying coefficients [2]. It is reintroduced in the present work to build a basis for the derivation of the high order WENO schemes.

The motivation for the present work is to develop a fifth-order finite-volume WENO reconstruction scheme in the efficient dimension-by-dimension framework, specifically aimed at regularly-spaced and irregularly-spaced grids in cylindrical coordinates.

2 Finite-Volume Discretization in Curvilinear Coordinates

2.1 Evaluation of the Linear Weights

A non-uniform grid spacing with zone width \(\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} \) is considered having ξ ∈ (x 1, x 2, x 3) as the coordinate along the reconstruction direction and \(\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} \) denoting the location of the cell interface between zones i and i + 1. Let \(\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} \) be the cell average of conserved quantity Q inside zone i at some given time, which can be expressed in form of Eq. (1).

$$\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} $$
(1)

where the local cell volume \(\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} \) of ith cell in the direction of reconstruction given in Eq. (1) and \(\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} \) is the one-dimensional Jacobian. Now, our aim is to find a pth order accurate approximation to the actual solution by constructing a (p − 1)th order polynomial distribution, as given in Eq. (2).

$$\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} $$
(2)

where a i,n corresponds to a vector of the coefficients which needs to be determined and \(\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} \) can be taken as the cell centroid. However, the final values at the interface are independent of the particular choice of \(\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} \) and one may as well set \(\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} \) [2]. Unlike the cell center, the centroid is not equidistant from the cell interfaces in the case of cylindrical-radial coordinates, and the cell averaged values are assigned at the centroid [2]. Further, the method has to be locally conservative, i.e., the polynomial Q i(ξ) must fit the neighboring cell averages, satisfying Eq. (3).

$$\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} $$
(3)

where the stencil includes i L cells to the left and i R cells to the right of the ith zone such that i L + i R + 1 = p. Implementing Eqs. ((1)–(2)) in Eq. (3) along with a simple mathematical manipulation leads to Eq. (4), which is the fundamental equation for reconstruction in cylindrical coordinates. For the detailed derivation, kindly refer to [3].

$$\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} $$
(4)

where ‘±’ represents the positive and negative weights i.e. weights for reconstructing right (+ ) and left (−) interface values respectively. Also, the grid dependent linear weights (\(\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} \)) satisfy the normalization condition [2].

2.2 Optimal Weights

For the case of fifth-order WENO interpolation, the third order interpolated variables are optimally weighed in order to achieve fifth-order accurate interpolated values as given in Eq. (5) for the case of p = 3 [1].

$$\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} $$
(5)

where \(\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} \) is the optimal weight for the positive/negative cases on the ith finite-volume. So, Eq. (4) is used again to evaluate the weights for the fifth-order (2p − 1 = 5) interpolation (i L = 2, i R = 2).

Linear and optimal weights are independent of the mesh size for standard regularly-spaced grid cases. They can be evaluated and stored (at a nominal cost) independently before the actual computation. Also, they conform to the original WENO-JS [1] for the limiting case (R →). The weights required for source term and flux integration in one or more dimensions are given in [3].

2.3 Smoothness Indicators and the Nonlinear Weights

The mathematical definition of the smoothness indicator is given in Eq. (6) [1].

$$\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} $$
(6)

To evaluate the value of IS i,l, a third order polynomial interpolation on ith cell is required using positive and negative reconstructed values by stencil S l, as given in Eq. (2). Finally, evaluating the values of the coefficient a’s and substituting their values in smoothness indicator formula (6) yields the grid-independent fundamental relation (7). The nonlinear weight (\(\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} \)) for the WENO-C interpolation is defined in Eq. (8) [1], where 𝜖 is chosen to be 10−6 [1, 3].

$$\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} $$
(7)
$$\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} $$
(8)

The final interpolated interface values are evaluated from Eq. (9).

$$\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} $$
(9)

3 Stability Analysis of WENO-C for Hyperbolic Conservation Laws

For WENO-C to be practically useful, it is crucial that it enables a stable discretization for hyperbolic conservation laws when coupled with a proper time-integration scheme. In this section, we analyze WENO-C scheme for model problems involving smooth flow in 1D cylindrical-radial coordinates, based on a modified von Neumann stability analysis [4]. We consider scalar advection equation (10) in 1D cylindrical-radial coordinates.

$$\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} $$
(10)

where Q is the conserved variable, \(\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} \) is the one-dimensional Jacobian in cylindrical-radial coordinates. Boundary conditions are not considered in the present approach to reduce the complexity of the analysis. Assuming a uniform grid with ξ i = iΔξ and ξ i+1 − ξ i = Δξi and (i ± 1∕2) denotes the boundaries of the finite-volume i. In the finite-volume framework, Eq. (10) transforms into the conservative scheme given in Eq. (11).

$$\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} $$
(11)

where numerical flux \(\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} \) is the Lax-Friedrich flux, and \(\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} \) and \(\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} \) are given in Eq. (1). For this particular problem, let v = 1 in Eq. (10). Therefore, only the values on the left side of the interface are considered. Based on the von Neumann stability analysis, the semi-discrete solution can be expressed as a discrete Fourier series. By the superposition principle, only one term in the series can be used for analysis, as illustrated in Eq. (12).

$$\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} $$
(12)

By substituting Eq. (12) in Eq. (11), we can separate the spatial operator L, as given in Eq. (13).

$$\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} $$
(13)

where the complex function z(θ k) is the Fourier symbol. By substituting the values of \(\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} \) and \(\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} \) using fifth-order positive weights of cells (i − 1) and i respectively for a smooth solution, the value of z(θ k) for WENO-C can be evaluated using Eq. (14).

$$\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} $$
(14)

where m = 1 for cylindrical-radial coordinates. Using the same approach as given in [4], we can plot the spatial spectrum {S: −z(θ k) for θ k ∈ [0, 2π]} and the stability domain S t for TVD-RK order 3. The maximum stable CFL number of this scheme can be computed by finding the largest rescaling parameter σ~, so that the rescaled spectrum still lies in the stability domain.

It can be observed from Fig. 1 that the spatial spectrums S of WENO-C differs initially with the index numbers i due to the geometrical variation of the finite-volume. However, the spectrums are the same for high index numbers (i), similar to WENO-JS, as the fifth-order interpolation weights converge. Some regions (i = 1, 2) require boundary conditions and thus, are not considered in the present analysis. The values of CFL number for cylindrical-radial coordinates lie in between 1.45 and 1.52. As a final remark, it can be concluded that the proposed scheme is A-stable with third or higher order of RK method with an appropriate value of CFL number for this case.

Fig. 1
figure 1

Rescaled spectrums (with maximum stable CFL number σ~) and stability domains of fifth-order WENO-C in cylindrical-radial coordinates in a complex plane for different cell index numbers i. (a) i = 3, σ~ = 1.45. (b) i = 5, σ~ = 1.52. (c) i = 10, σ~ = 1.50. (d) i = 50, σ~ = 1.46. (e) i = 100, σ~ = 1.45. (f) Legend***

4 Numerical Tests

In this section, several tests on Euler equations are performed to analyze the performance of the WENO-C reconstruction scheme. Tests are performed on a gamma law gas (γ = 1.4) in cylindrical coordinates to investigate the essentially non-oscillatory property of WENO-C for discontinuous flows and the convex combination property for smooth flows. For first-order and second-order (MUSCL) spatial reconstructions, Euler time marching and Maccormack (predictor-corrector) schemes are respectively employed. For WENO-C, time marching is done with TVD-RK order 3 for 1D cases and RK order 5 for the 2D case.

4.1 Acoustic Wave Propagation

A smooth problem involving a nonlinear system of 1D gas dynamical equations is solved to test fifth-order accuracy of the spatial discretization scheme [3]. The Euler equations in cylindrical-radial coordinates can be written in the form of Eq. (15).

$$\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} $$
(15)

where ρ is the mass density, u is the radial velocity, p is the pressure, and E is the total energy. Equation (16) serves as the adiabatic equation of state.

$$\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} $$
(16)

The initial conditions are provided in Eq. (17) with the perturbation given in Eq. (18). The interface flux is evaluated with Rusanov scheme [3].

$$\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} $$
(17)
$$\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} $$
(18)

A sufficiently small perturbation with ε = 10−4 yields a smooth solution. The interface flux is evaluated using Rusanov scheme with a CFL number of 0.3.

The initial perturbation splits into two acoustic waves traveling in opposite directions. The final time (t = 0.3) is set such that the waves remain in the domain and the problem is free from the boundary effects. The computational domain of unity length is uniformly divided into N different zones i.e. N = 16, 32, 64, 128, 256. Although an exact solution known up to O(ε 2) is known, the solution on the finest mesh N = 1024 is taken as the reference. Figure 2 illustrate the spatial variation of density at t = 0.3 inside the domain. From Table 1, it clear that the scheme approaches the desired fifth-order accuracy.

Table 1 L 1 norm errors and order of convergence table for acoustic wave propagation test
Fig. 2
figure 2

Spatial profiles of density at t = 0.3 for acoustic wave propagation test in cylindrical-radial coordinates

4.2 Sedov Explosion Test

Sedov explosion test is performed to investigate code’s ability to deal with strong shocks and non-planar symmetry [3]. The problem involves a self-similar evolution of a cylindrical blastwave in a uniform grid (N = 100) from a localized initial pressure perturbation (delta-function) in an otherwise homogeneous medium. Governing equations are given in Eq. (15) and the fluxes are evaluated with Rusanov scheme and GKS [5]. For the code initialization, dimensionless energy 𝜖 = 1 is deposited into a small region of radius δ = 3ΔR. Inside this region, the dimensionless pressure \(\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} \) is given by Eq. (19).

$$\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} $$
(19)

where m = 1 for cylindrical geometry. Reflecting boundary condition is employed at the center (R = 0), whereas boundary condition at R = 1 is not required for this problem. The initial velocity and density inside the domain are 0 and 1 respectively and the initial pressure everywhere except the kernel is 10−5. As the source term is very stiff, the CFL number is set to be 0.1. The final time is t = 0.05.

Fig. 3
figure 3

Variation of density, velocity, and pressure with the radius for Sedov explosion test in cylindrical-radial coordinates. Domain is restricted to R = 0.4 for the sake of clarity

Figure 3 shows that the peak for WENO-C is higher for density and is closest to the analytical value, similar to fifth-order finite difference version [3], but MUSCL has higher offset peaks for pressure and velocity. GKS performs slightly better than RS, as the peaks are slightly higher for all the cases.

Fig. 4
figure 4

Modified 2D Riemann problem in cylindrical (r − z) coordinates: schematic (top left), density contours at t = 0.2 with first-order (top right), second-order MUSCL (bottom left), and WENO-C (bottom right) reconstruction schemes

4.3 Modified 2D Riemann Problem in (R − z) Coordinates

The final test for the present scheme involves a modified 2D Riemann problem in cylindrical (R − z) coordinates, as illustrated in Fig. 4 (top left). The problem involves 2 contact discontinuities and 2 shocks as the initial condition, resulting in the formation of a self-similar structure propagating towards the low density-low pressure region (region 3). The governing equations in cylindrical (R − z) coordinates are provided in Eq. (20).

The computations are performed until t = 0.2 with a CFL number of 0.5 on a domain (R, z)= [0,1]×[0,1] divided into 500×500 zones. The boundary conditions are symmetry at the center (except for the antisymmetric radial velocity) and outflow elsewhere. HLL Riemann solver is used for flux evaluations. Rich small-scale structures in the contact-contact region (region 1) can be observed from Fig. 4 for WENO-C reconstruction, when compared with first and second-order MUSCL reconstruction. Structures are highly smeared for the case of first-order reconstruction.

$$\displaystyle \begin{aligned} \begin{aligned} u_t + f(u)_x &= 0, & (x,t) \in \mathbb{R}\times \mathbb{R}_{+},\\ u(0) &= u_0, \end{aligned} {} \end{aligned} $$
(20)

5 Conclusions

The fifth-order finite-volume WENO-C reconstruction scheme is proposed for structured grids in cylindrical coordinates to achieve high order spatial accuracy along with ENO transition. A grid independent smoothness indicator is derived for this scheme. For uniform grids, the analytical values in cylindrical-radial coordinates for the limiting case (R →) conform to WENO-JS. Linear stability analysis of the present scheme is performed using a scalar advection equation in radial coordinates. Several tests involving smooth and discontinuous flows are performed, which testify for the fifth-order accuracy and ENO property of the scheme.