The previous chapter has shown that the necessary numerical dissipation can be introduced in 1D CESE schemes through either a central or upwind approach. In this chapter, we present the extensions of 2D CESE schemes based on cartesian meshes, followed by a detailed description of implementation on unstructured meshes. Both the central schemes and upwind schemes will be presented. Then, numerical examples will be provided to demonstrate the capabilities of the present schemes.

4.1 CESE Schemes on Cartesian Meshes

4.1.1 The Improved a-\(\boldsymbol{\alpha }\) CESE Scheme

The marching scheme requires physical variables and their spatial derivatives at each mesh point. In the pioneer development of the 2D CESE solver [1], the domain is discretized by congruent triangles. Based on a similar technique, Zhang, Yu, and Chang [2] reported a further extension of the 2D CESE scheme on quadrilateral meshes. In the above versions of CESE schemes, the solution points are solely updated at the cell centers with a staggered stencil. As a result, a generalized flux technique was also proposed as a post-marching procedure to handle the “flux decoupling” problem when two mesh points cohost one sub-CE. Alternatively, an improved 2D CESE scheme [3, 4] was proposed with a new definition of SE and CE. In this updated scheme, the entire space–time region is divided into non-overlapping CEs, making it convenient and simpler for calculation and straightforward for extension to 3D scheme. Figure 4.1 shows the space–time geometrical configuration of the improved 2D CESE scheme with a uniform rectangular mesh. The spatial projections of the solution points at (n −1/2)th and nth time levels are denoted as ∎ and ●, respectively. The solution is updated alternatively between the cell centers ● and cell vertices ∎. Here \(\Delta t/2 = t_{n} - t_{n - 1/2}\) and P, P’, and P'’ subsequently represent the points at three successive timesteps. The conservation element of point P’, denoted by CE(P’), is defined by the space–time hexahedron ABCDA'B'C'D’, i.e., the union of four sub-CEs: CELD(P’), CELU(P’), CERD(P’), and CERU(P’). In particular, CELD(P’) is defined as AFPEA'F'P'E’. Other sub-CEs are defined similarly. Next, consider the solution element of P’, SE(P’), which consists of three orthogonal planes, ABCD’, EGG''E'’, and FHH''F'’. The physical flux vector is assumed to be smooth within each SE and can be approximated by Taylor expansions about the mesh point associated with the SE. In the following, we present the construction of the 2D CESE solver using similar techniques as described in the 1D scheme.

Fig. 4.1
4 schematic diagrams. Diagram a presents grid points on x-y plane with center points labeled as A to H, and P. Diagram b presents 3 rectangles and a perpendicular rectangle intersecting these in x-y-z plane. Diagram b presents 3 intersected perpendicular rectangles in x-y-z plane. Diagram d presents 4 rectangles with common sides in x-y plane.

Grid points in the spatial domain, definitions of CE and SE, and corresponding fluxes in a CE for the 2D CESE scheme on rectangular meshes

In this section, we consider the 2D scalar hyperbolic conservation law

$$\frac{\partial u}{{\partial t}} + \frac{\partial f}{{\partial x}} + \frac{\partial g}{{\partial y}} = 0.$$
(4.1)

By using the Gauss’ divergence theorem, it is shown that Eq. (4.1) can be written in the form of

$$\oint_{S(CE(P^{\prime}))} {{\varvec{h}} \cdot {\varvec{n}}} \,{\text{d}}S = 0,$$
(4.2)

where \(h=\left(f,g,u\right)\) is the space–time flux vector, \(S\left( {{\text{CE}}\left( {P^{\prime}} \right)} \right)\) is the boundary of \({\text{CE}}\left( {P^{\prime}} \right)\), n is the unit outward normal vector on the surface of the control volume. Note that the u, f, and g are approximated by first-order Taylor expansion about point P’. For any \(\left( {x,y,t} \right) \in {\text{SE}}\left( {P^{\prime}} \right)\), let

$$u\left( {x,y,t} \right) = u\left( {\delta x,\delta y,\delta t} \right)_{{P^{\prime}}} ,$$
(4.3)
$$f\left( {x,y,t} \right) = f\left( {\delta x,\delta y,\delta t} \right)_{{P^{\prime}}} ,$$
(4.4)
$$g\left( {x,y,t} \right) = g\left( {\delta x,\delta y,\delta t} \right)_{{P^{\prime}}} ,$$
(4.5)

where \(X{\left(\delta x,\delta y,\delta t\right)}_{N}\) denotes the first-order Taylor expansion about point N as

$$X\left( {\delta x,\delta y,\delta t} \right)_{N} = X_{N} + \left( {X_{x} } \right)_{N} \delta x + \left( {X_{y} } \right)_{N} \delta y + \left( {X_{t} } \right)_{N} \delta t,$$
(4.6)

and

$$\delta x = x - x_{N} ,\;\delta y = y - y_{N} ,\;\delta t = t - t_{N} .$$
(4.7)

In addition, the spatial and temporal derivatives of f(u) and g(u) can be derived by the chain rule (Eqs. (2.26) and (2.28)) and \({u}_{t}=-{f}_{x}-{g}_{y}\).

Meanwhile, one obtains local flux conservation of the four sub-CEs by integrating Eq. (4.2) over their surfaces, given by

$$U^{\prime}_{LD} \frac{\Delta x\Delta y}{4} = U_{LD} \frac{\Delta x\Delta y}{4} + \left( {F_{LD} - F_{CD} } \right)\frac{\Delta y\Delta t}{4} + \left( {G_{DL} - G_{CL} } \right)\frac{\Delta x\Delta t}{4},$$
(4.8)
$$U^{\prime}_{RD} \frac{\Delta x\Delta y}{4} = U_{RD} \frac{\Delta x\Delta y}{4} + \left( {F_{CD} - F_{RD} } \right)\frac{\Delta y\Delta t}{4} + \left( {G_{DR} - G_{CR} } \right)\frac{\Delta x\Delta t}{4},$$
(4.9)
$$U^{\prime}_{RU} \frac{\Delta x\Delta y}{4} = U_{RU} \frac{\Delta x\Delta y}{4} + \left( {F_{CU} - F_{RU} } \right)\frac{\Delta y\Delta t}{4} + \left( {G_{CR} - G_{UR} } \right)\frac{\Delta x\Delta t}{4},$$
(4.10)
$$U^{\prime}_{LU} \frac{\Delta x\Delta y}{4} = U_{LU} \frac{\Delta x\Delta y}{4} + \left( {F_{LU} - F_{CU} } \right)\frac{\Delta y\Delta t}{4} + \left( {G_{CL} - G_{UL} } \right)\frac{\Delta x\Delta t}{4},$$
(4.11)

where ULD, U'LD, FLD, FCD, GDL, and GCL are the average fluxes on the surfaces of CELD(P’), AFPE, A'F'P'E’, AEE'A’, FPP'F’, AFF'A’, and EPP'E’, respectively. Similar definitions are applied to the other sub-CEs. By definition, the fluxes ULD, FLD, and GDL can be determined via the Taylor expansion in SE(A). It is also important to emphasize that the fluxes FCD and GCL that denote the fluxes across the “inner” surface of two neighboring sub-CEs, however, are not trivially available due to the presence of discontinuities. In fact, it will be shown later that all the fluxes across the interfaces among sub-CEs vanish in the formulation of the time marching scheme of u. Apart from this, based on the assumption that the distribution within each SE is linear, the average fluxes on the exterior surfaces of CELD(P’) read

$$U_{LD} = u\left( {\frac{\Delta x}{4},\frac{\Delta y}{4},0} \right)_{A}$$
(4.12)
$$U^{\prime}_{LD} = u\left( { - \frac{\Delta x}{4}, - \frac{\Delta y}{4},0} \right)_{{P^{\prime}}}$$
(4.13)
$$G_{DL} = g\left( {\frac{\Delta x}{4},0,\frac{\Delta t}{4}} \right)_{A}$$
(4.14)
$$F_{LD} = g\left( {0,\frac{\Delta y}{4},\frac{\Delta t}{4}} \right)_{A}$$
(4.15)

Fluxes are expressed similarly for the other three sub-CEs.

To proceed, by adding Eqs. (4.8)–(4.11), the fluxes through the interfaces between sub-CEs are well balanced. Consequently, the value of the solution point P’ can be derived as

$$\begin{gathered} u(P^{\prime}) = \frac{1}{4}\left( {U_{LD} + U_{RD} + U_{RU} + U_{LU} } \right) + \frac{\Delta t}{{4\Delta x}}\left( {F_{LD} - F_{RD} - F_{RU} + F_{LU} } \right) \hfill \\ \;\;\;\;\;\;\;\;\;\; + \frac{\Delta t}{{4\Delta y}}\left( {G_{LD} + G_{RD} - G_{RU} - G_{LU} } \right) \hfill \\ \end{gathered}$$
(4.16)

Moreover, by replacing the average fluxes in Eq. (4.16) with the Taylor expansions about their corresponding SEs centers, we can obtain the explicit time marching scheme for u(P’) as

$$u(P^{\prime}) = \frac{1}{4}\overline{u} + \frac{\Delta t}{{4\Delta x}}\overline{f} + \frac{\Delta t}{{4\Delta y}}\overline{g},$$
(4.17)

where

$$\overline{u} = u\left( {\frac{\Delta x}{4},\frac{\Delta y}{4},0} \right)_{A} + u\left( { - \frac{\Delta x}{4},\frac{\Delta y}{4},0} \right)_{B} + u\left( { - \frac{\Delta x}{4}, - \frac{\Delta y}{4},0} \right)_{C} + u\left( {\frac{\Delta x}{4}, - \frac{\Delta y}{4},0} \right)_{D} ,$$
$$\overline{f} = f\left( {0,\frac{\Delta y}{4},\frac{\Delta t}{4}} \right)_{A} + f\left( {0, - \frac{\Delta y}{4},\frac{\Delta t}{4}} \right)_{D} - f\left( {0,\frac{\Delta y}{4},\frac{\Delta t}{4}} \right)_{B} - f\left( {0, - \frac{\Delta y}{4},\frac{\Delta t}{4}} \right)_{C} ,$$
$$\overline{g} = g\left( {\frac{\Delta x}{4},0,\frac{\Delta t}{4}} \right)_{A} + g\left( { - \frac{\Delta x}{4},0,\frac{\Delta t}{4}} \right)_{B} - g\left( { - \frac{\Delta x}{4},0,\frac{\Delta t}{4}} \right)_{C} - g\left( {\frac{\Delta x}{4},0,\frac{\Delta t}{4}} \right)_{D} .$$

With respect to the spatial derivatives, by using the continuous assumptions at points A’, B’, C’, and D’, the following relations can be formulated

$$u\left( { - \frac{\Delta x}{2}, - \frac{\Delta y}{2},0} \right)_{{p^{\prime}}} = u\left( {0,0,\frac{\Delta t}{2}} \right)_{A} ,$$
(4.18)
$$u\left( {\frac{\Delta x}{2}, - \frac{\Delta y}{2},0} \right)_{{p^{\prime}}} = u\left( {0,0,\frac{\Delta t}{2}} \right)_{B} ,$$
(4.19)
$$u\left( {\frac{\Delta x}{2},\frac{\Delta y}{2},0} \right)_{{p^{\prime}}} = u\left( {0,0,\frac{\Delta t}{2}} \right)_{C} ,$$
(4.20)
$$u\left( { - \frac{\Delta x}{2},\frac{\Delta y}{2},0} \right)_{{p^{\prime}}} = u\left( {0,0,\frac{\Delta t}{2}} \right)_{D} .$$
(4.21)

After mathematical manipulation of Eqs. (4.19) and (4.20), (4.18) and (4.21), (4.20) and (4.21), (4.18) and (4.19), respectively, the spatial derivatives at solution point P’ can be explicitly calculated as

$$u_{x}^{ + } (P^{\prime}) = \frac{1}{\Delta x}\left[ {u\left( {0,0,\frac{\Delta t}{2}} \right)_{B} + u\left( {0,0,\frac{\Delta t}{2}} \right)_{C} - 2u(P^{\prime})} \right],$$
(4.22)
$$u_{x}^{ - } (P^{\prime}) = - \frac{1}{\Delta x}\left[ {u\left( {0,0,\frac{\Delta t}{2}} \right)_{A} + u\left( {0,0,\frac{\Delta t}{2}} \right)_{D} - 2u(P^{\prime})} \right],$$
(4.23)
$$u_{y}^{ + } (P^{\prime}) = \frac{1}{\Delta y}\left[ {u\left( {0,0,\frac{\Delta t}{2}} \right)_{C} + u\left( {0,0,\frac{\Delta t}{2}} \right)_{D} - 2u(P^{\prime})} \right],$$
(4.24)
$$u_{y}^{ - } (P^{\prime}) = - \frac{1}{\Delta y}\left[ {u\left( {0,0,\frac{\Delta t}{2}} \right)_{A} + u\left( {0,0,\frac{\Delta t}{2}} \right)_{B} - 2u(P^{\prime})} \right].$$
(4.25)

One note that, two derivatives were estimated along both spatial directions (denoted by superscripts + and −). Recall that to a weighted averaged function Eq. (3.6) is again adopted to suppress numerical wiggles, such that

$$u_{x} (P^{\prime}) = W\left( {\left( {u_{x}^{ - } } \right)_{{P^{\prime}}} ,\left( {u_{x}^{ + } } \right)_{{P^{\prime}}} ,\alpha } \right),$$
(4.26)
$$u_{y} (P^{\prime}) = W\left( {\left( {u_{y}^{ - } } \right)_{{P^{\prime}}} ,\left( {u_{y}^{ + } } \right)_{{P^{\prime}}} ,\alpha } \right).$$
(4.27)

The Eqs. (4.17) and (4.22)–(4.27) constitute the first half-step marching scheme from cell vertices to cell centers. The second half-step scheme that marches from centers to vertices follows a similar approach. As described above, constructing the improved 2D aα CESE scheme based on rectangular grids is genuinely simple and could be straightforwardly extended to the 3D scheme.

4.1.2 CNI CESE Scheme

When applying the above 2D aα schemes [1,2,3,4] for solving problems with highly non-uniform meshes, the local CFL number may vary significantly from its stability limit of 1 to approaching 0. Namely, the solutions tend to smear out by decreasing the CFL number. The Courant number insensitive (CNI) scheme was proposed to address this issue to alleviate the sensitivity problem by improving the strategy in updating the derivatives [5]. A new point, Im, is designated dynamically moving along the line segment connecting the vertices and the centers M'm of each sub-CEs (Fig. 4.2). Analogous to the 1D CNI scheme (Sect. 3.2), if we define the local and global Courant numbers as \(\nu\) and \({\nu }_{0}\), the interpolated points are designated to approach the centers when \(\nu /{\nu }_{0}\to 0\), and approach the cell vertices when \(\nu /{\nu }_{0}\to 1\).

Fig. 4.2
A schematic diagram resembles a rectangle in x-y plane. It is divided into 4 sub-rectangles inside with a center point P prime. The vertices are A prime, B prime, C prime, and D prime. A dotted diagonal line inside joins A prime, I subscript 1 prime, and M subscript 1 prime. Similarly for the other vertices.

Definition of points in 2D CNI CESE scheme

For example, the coordinates of \(I^{\prime}_{1}\) are

$$x(I^{\prime}_{1} ) = \frac{\nu }{{v_{0} }}x(A^{\prime}) + \left( {1 - \frac{\nu }{{v_{0} }}} \right)x(M^{\prime}_{1} ),$$
(4.28)
$$y(I^{\prime}_{1} ) = \frac{\nu }{{v_{0} }}y(A^{\prime}) + \left( {1 - \frac{\nu }{{v_{0} }}} \right)y(M^{\prime}_{1} ).$$
(4.29)

If we approximate \(u({I}_{1}^{^{\prime}})\) at t = tn from the expansions about A at t = tn−1/2 and P’ at t = tn as

$$u\left( {\delta x_{ + } ,\delta y_{ + } ,0} \right)_{{P^{\prime}}} = u(I^{\prime}_{1} ) = u\left( {\delta x_{ - } ,\delta y_{ - } ,\frac{\Delta t}{2}} \right)_{A}$$
(4.30)

where \(\delta {x}_{+}=x({I}_{1}^{^{\prime}})-x({P}^{^{\prime}})\), \(\delta {y}_{+}=y({I}_{1}^{^{\prime}})-y({P}^{^{\prime}})\), \(\delta {x}_{-}=x({I}_{1}^{^{\prime}})-x(A)\), and \(\delta {y}_{-}=y({I}_{1}^{^{\prime}})-y(A)\). Similar relations can be derived for each \({I}_{m}^{^{\prime}}\). Combining Eq. (4.30) for \(u({I}_{1}^{^{\prime}})\) and that for \(u({I}_{4}^{^{\prime}})\), one can explicitly formulate two independent conditions for calculating the spatial derivatives of u(P’). Repeating the same procedure for combinations of \(u({I}_{2}^{^{\prime}})\) and \(u({I}_{3}^{^{\prime}})\), \(u({I}_{1}^{^{\prime}})\) and \(u({I}_{2}^{^{\prime}})\), \(u({I}_{3}^{^{\prime}})\) and \(u({I}_{4}^{^{\prime}})\), we arrive at four sets of spatial derivatives. The weighted average function is then used to calculate the optimal derivatives for capturing the discontinuities.

4.1.3 Upwind CESE Scheme

In the 2D upwind CESE scheme that Shen et al. [6] proposed, the CE retains the same form as the central CESE scheme. The time marching scheme of u is the same as in the a-\(\alpha\) scheme. The upwind procedure only affects the calculation of the spatial derivatives, and global space–time conservation is ensured. In analogue to the definition in the 1D upwind scheme, for example, SE(P’) is defined as cuboid A'B'C'D'A''B''C''D'’ (Fig. 4.3), where the physical flux vector is approximated by the Taylor expansion about point P’. The average values at the top surfaces of the four sub-CEs of CE(P’) read

$$U^{\prime}_{LD} = u\left( { - \frac{\Delta x}{4}, - \frac{\Delta y}{4},0} \right)_{{P^{\prime}}} ,$$
(4.31)
$$U^{\prime}_{RD} = u\left( {\frac{\Delta x}{4}, - \frac{\Delta y}{4},0} \right)_{{P^{\prime}}} ,$$
(4.32)
$$U^{\prime}_{RU} = u\left( {\frac{\Delta x}{4},\frac{\Delta y}{4},0} \right)_{{P^{\prime}}} ,$$
(4.33)
$$U^{\prime}_{LU} = u\left( { - \frac{\Delta x}{4},\frac{\Delta y}{4},0} \right)_{{P^{\prime}}} .$$
(4.34)
Fig. 4.3
A diagram of a cuboid in x-y-z plane. The vertices are A prime to D prime at the bottom and A double prime to D double prime at the top. A point P prime is at the center of the bottom plane dividing it into 4 sub-rectangles with dimensions as delta x over 2 and delta y over 2. The height of the cuboid is delta t over 2.

Definition of SE of the upwind CESE scheme

Referring to Fig. 4.1d, by substituting Eqs. (4.31) in  (4.8),  (4.32) in (4.9) and subtracting the two, one obtains

$$u_{x}^{D} (P^{\prime}) = \frac{2}{\Delta x}\left[ {\left( {U_{RD} - U_{LD} } \right) + \frac{\Delta t}{{\Delta x}}\left( {2F_{CD} - F_{LD} - F_{RD} } \right) + \frac{\Delta t}{{\Delta y}}\left( {G_{DR} - G_{CR} - G_{DL} + G_{CL} } \right)} \right].$$
(4.35)

Equation (4.35) represents the spatial derivative in the x direction based on the information of the lower pair of CEs. Note that in contrast to central schemes, the upwind scheme requires additional estimations of inner fluxes (e.g., FCD, GCR, and GCL in Eq. (4.35)) to compute spatial derivatives. Analogously, with the aid of Eqs. (4.31) and (4.34) and by combining with Eqs. (4.10) and (4.11), Eqs. (4.8) and (4.11), Eqs. (4.9) and (4.10), respectively. The following equations for spatial derivatives can be formulated

$$u_{x}^{U} (P^{\prime}) = \frac{2}{\Delta x}\left[ {\left( {U_{RU} - U_{LU} } \right) + \frac{\Delta t}{{\Delta x}}\left( {2F_{CU} - F_{LU} - F_{RU} } \right) + \frac{\Delta t}{{\Delta y}}\left( {G_{CR} - G_{UR} - G_{CL} + G_{UL} } \right)} \right],$$
(4.36)
$$u_{y}^{L} (P^{\prime}) = \frac{2}{\Delta y}\left[ {\left( {U_{LU} - U_{LD} } \right) + \frac{\Delta t}{{\Delta x}}\left( {F_{LU} - F_{CU} - F_{LD} + F_{CD} } \right) + \frac{\Delta t}{{\Delta y}}\left( {2G_{CL} - G_{DL} - G_{UL} } \right)} \right],$$
(4.37)
$$u_{y}^{R} (P^{\prime}) = \frac{2}{\Delta y}\left[ {\left( {U_{RU} - U_{RD} } \right) + \frac{\Delta t}{{\Delta x}}\left( {F_{CU} - F_{RU} - F_{CD} + F_{RD} } \right) + \frac{\Delta t}{{\Delta y}}\left( {2G_{CR} - G_{DR} - G_{UR} } \right)} \right].$$
(4.38)

The final spatial derivatives are calculated by using WBAP limiter to remove small noises near the strong discontinuities, e.g.,

$$u_{x} (P^{\prime}) = u_{x}^{C} (P^{\prime})WBAP^{L2} \left( {1,\;\theta_{1} ,\;\theta_{2} } \right) = \frac{1}{2}\left[ {u_{x}^{D} (P^{\prime}) + u_{x}^{U} (P^{\prime})} \right]WBAP^{L2} \left( {1,\;\theta_{1} ,\;\theta_{2} } \right),$$
(4.39)

where

$$\theta_{1} = u_{x}^{D} (P^{\prime})/u_{x}^{C} (P^{\prime}),$$
$$\theta_{2} = u_{x}^{U} (P^{\prime})/u_{x}^{C} (P^{\prime}).$$

In the expressions for spatial derivatives in Eqs. (4.35)–(4.38), the fluxes on CE(P’) surfaces can be easily approximated by the Taylor expansions of the values from t = tn−1/2. To complete Eqs. (4.35)–(4.38), the fluxes through the inner boundaries of CE(P’), FCD, FCU, GCL, and GCR, need to be solved. However, the points at the two sides of the interface between two sub-CEs belong to different SEs. In that case, the fluxes across these interfaces may be discontinuous. For this reason, they can be calculated by an upwind procedure. For example,

$$F_{CD} = \widehat{F}\left( {u_{{^{CD} }}^{ - } ,u_{{^{CD} }}^{ + } } \right),$$
(4.40)

where \(\widehat{F}\) refers to any efficient Riemann solver, \(u_{CD}^{ - }\) and \(u_{CD}^{ + }\) denote the values at the centroid of the interface FPP'F’, and they are respectively approximated by

$$u_{{^{CD} }}^{ - } = U_{LD} + \left( {u_{x}^{ * } } \right)_{LD} \frac{\Delta x}{4} + \left( {u_{t}^{ * } } \right)_{LD} \frac{\Delta t}{4}$$
(4.41)
$$u_{{^{CD} }}^{ + } = U_{RD} - \left( {u_{x}^{ * } } \right)_{RD} \frac{\Delta x}{4} + \left( {u_{t}^{ * } } \right)_{RD} \frac{\Delta t}{4}$$
(4.42)

As an analogue to the 1D upwind CESE scheme, reconstructed slopes are employed in the calculation of the upwind fluxes to eliminate the spurious oscillations:

$$\left( {u_{x}^{ * } } \right)_{LD} = u_{x} (A)WBAP^{L2} \left( {1,\;\theta_{LD}^{1} ,\;\theta_{LD}^{2} } \right)$$
(4.43)
$$\left( {u_{x}^{ * } } \right)_{RD} = u_{x} (B)WBAP^{L2} \left( {1,\;\theta_{RD}^{1} ,\;\theta_{RD}^{2} } \right)$$
(4.44)

where the parameters in WBAP limiter are

$$\begin{gathered} \theta_{LD}^{1} = \frac{{\left( {U_{RD} - U_{LD} } \right)/\left( {\Delta x/2} \right)}}{{u_{x} (A)}},\;\;\;\theta_{LD}^{2} = \frac{{u_{x} (B)}}{{u_{x} (A)}},\;\;\; \hfill \\ \theta_{RD}^{1} = \frac{{\left( {U_{RD} - U_{LD} } \right)/\left( {\Delta x/2} \right)}}{{u_{x} (B)}},\;\;\;\theta_{RD}^{2} = \frac{{u_{x} (A)}}{{u_{x} (B)}}. \hfill \\ \end{gathered}$$
(4.45)

The temporal derivatives are hereafter calculated by the chain rule and Eq. (4.1),

$$\left( {u_{t}^{ * } } \right)_{LD} = - f_{x} \left( {U_{LD} ,\left( {u_{x}^{ * } } \right)_{LD} } \right) - g_{y} \left( {U_{LD} ,u_{y} (A)} \right)$$
(4.46)
$$\left( {u_{t}^{ * } } \right)_{RD} = - f_{x} \left( {U_{RD} ,\left( {u_{x}^{ * } } \right)_{RD} } \right) - g_{y} \left( {U_{RD} ,u_{y} (B)} \right)$$
(4.47)

4.2 CESE Schemes on Unstructured Meshes

In order to extend the capability of the CESE scheme to solve problems with complex spatial geometries, CESE schemes on unstructured meshes have been proposed and developed. Notably, both central and upwind versions have been developed for hybrid meshes of triangular and quadrilateral elements. Hereafter, the second order CESE scheme on hybrid meshes [7] is presented here.

4.2.1 a-\(\boldsymbol{\alpha }\) CESE Scheme

Consider a 2D mesh consisting of quadrilateral and triangular elements as sketched in Fig. 4.4. The Vi denotes the vertices of the cells. Initially, the value of u, and its spatial derivatives, ux and uy, are provided at these vertices. For each cell, Cm represents its centroid, and Om is the mid-point of the cell edge. Meanwhile, \(V_{i}\), \(V_{i}^{^{\prime}}\), and \(V_{i}^{^{\prime\prime}}\) denote points at time step tn−1/2, tn, tn+1/2, respectively. Other space–time points are defined similarly.

Fig. 4.4
4 schematic diagrams. Diagram a has a hexagonal mesh made up of quadrilaterals in x-y plane. Diagram b has a decagon made up of 5 intersected vertical rectangles in x-y-t plane. Diagram c resembles a triangular prism with 3 vertical rectangles inside in x-y-t plane. Diagram d has a quadrilateral with 4 vertical rectangles inside in x-y-t plane.

Definition of conservation elements in CESE schemes based on a hybrid mesh

The staggered marching strategy is again adopted here. The scheme marches from vertices \({V}_{i}^{^{\prime}}\) to cell centroids \(C_{m}^{^{\prime\prime}}\) from t = tn to t = tn+1/2. The corresponding CE for \(C^{\prime\prime}_{m}\) is either a triangular prism or a hexahedron (Fig. 4.4c and d). \({\text{SE}}\left( {C_{m}^{^{\prime\prime}} } \right)\)) is defined as four (e.g., \({\text{SE}}\left( {C_{1}^{^{\prime\prime}} } \right)\)) or five (e.g., \({\text{SE}}(C_{2}^{^{\prime\prime}}\))) planes intersecting at the centers. Similarly, in the other half marching step, from t = tn−1/2 to t = tn, Cm and Om form a polygonal element of which the centroid is denoted as Gi, and the scheme marches from Cm to the Gi. Note that Gi does not necessarily coincide with Vi. Thus, interpolation is required at each marching step. SE(\({V}_{i}^{^{\prime}}\)) is defined as M vertical planes and one horizontal plane intersecting at \({V}_{i}^{^{\prime}}\), where M denotes the number of Cm linked to CE(Vi). Each CE is composed of a group of hexahedral sub-CEs. As shown in Fig. 4.5, \({O}_{m-1}{C}_{m}{O}_{m}{V}_{i}{O}_{m-1}^{^{\prime}}{C}_{m}^{^{\prime}}{O}_{m}^{^{\prime}}{V}_{i}^{^{\prime}}\) is the mth sub-CE belonging to CE(\({V}_{i}^{^{\prime}}\)), \({\tilde{G }}_{m}\) and \({\tilde{G }}_{m}^{^{\prime}}\) are defined as the centroids of the bottom surface \({O}_{m-1}{C}_{m}{O}_{m}{V}_{i}\) and top surface \({O}_{m-1}^{^{\prime}}{C}_{m}^{^{\prime}}{O}_{m}^{^{\prime}}{V}_{i}^{^{\prime}}\), respectively.

Fig. 4.5
A diagram of a quadrilateral in x-y-t plane. It has vertices O subscript m minus 1, C subscript m, O subscript m, O prime subscript m, V prime subscript i, and O prime subscript m minus 1. It has 2 dotted arrows inside with labels F cap subscript m minus 1 and F cap subscript m.

The mth sub-CE of CE(Vi)

It should be noted that the marching scheme from t = tn to t = tn+1/2 is a particular case of that from t = tn−1/2 to t = tn. From t = tn to t = tn+1/2, the projection of a CE on the spatial domain is either a quadrilateral or a triangle, while the projection in the other step is a polygon with an arbitrary shape. Without loss of generality, we present the marching scheme from t = tn−1/2 to t = tn. By applying the integral conservation law Eq. (4.1) to the mth sub-CE, the flux-balancing relation is obtained as

$$\,\iint\limits_{{O^{\prime}_{m - 1} C^{\prime}_{m} O^{\prime}_{m} V^{\prime}_{i} }} {u\;}d\sigma = \iint\limits_{{O_{m - 1} C_{m} O_{m} V_{i} }} {u\;}d\sigma - \iint\limits_{\begin{subarray}{l} O_{m - 1} C_{m} C^{\prime}_{m} O^{\prime}_{m - 1} + C_{m} O_{m} O^{\prime}_{m} C^{\prime}_{m} \\ + O_{m - 1} V_{i} V^{\prime}_{i} O^{\prime}_{m - 1} + O_{m} V_{i} V^{\prime}_{i} O^{\prime}_{m} \end{subarray} } {{\mathbf{V}} \cdot {\mathbf{n}}\;}d\sigma ,$$
(4.48)

where \(\mathbf{V}=\left(f,g\right)\) is the vector of the fluxes, and n is the unit outward normal vector of the surface. In second-order schemes, the integration over a surface is equivalent to the average value at the centroid multiplied by the surface area. Therefore, the above equation can be rewritten as

$$U^{\prime}_{m} = U_{m} - \frac{\Delta t}{{2S_{m} }}\sum\limits_{l = 1}^{2} {\left( {\Delta y_{m}^{(l)} F_{m}^{(l)} - \Delta x_{m}^{(l)} G_{m}^{(l)} } \right)} + \frac{\Delta t}{{2S_{m} }}\left( {L_{m - 1} \widehat{F}_{m - 1} - L_{m} \widehat{F}_{m} } \right),$$
(4.49)

where Sm denotes the area of the top surface, and \(\Delta t/2={t}_{n}-{t}_{n-1/2}\). \({U}_{m}^{^{\prime}}\), \({U}_{m}\), (\({F}_{m}^{(1)}\), \({G}_{m}^{(1)}\)), and (\({F}_{m}^{(2)}\), \({G}_{m}^{(2)}\)) represent the average values over \({O}_{m-1}^{^{\prime}}{C}_{m}^{^{\prime}}{O}_{m}^{^{\prime}}{V}_{i}^{^{\prime}}\), \({O}_{m-1}{C}_{m}{O}_{m}{V}_{i}\), \({O}_{m-1}{C}_{m}{C}_{m}^{^{\prime}}{O}_{m-1}^{^{\prime}}\), and \({C}_{m}{O}_{m}{O}_{m}^{^{\prime}}{C}_{m}^{^{\prime}}\), respectively. They can be approximated by first-order Taylor expansion in the corresponding SEs. \({\widehat{F}}_{m-1}\) and \({\widehat{F}}_{m}\) are the fluxes in the normal direction across the interfaces \({O}_{m-1}{V}_{i}{V}_{i}^{^{\prime}}{O}_{m-1}^{^{\prime}}\) and \({O}_{m}{V}_{i}{V}_{i}^{^{\prime}}{O}_{m}^{^{\prime}}\) with the neighbouring sub-CEs. Lm-1 and Lm are the lengths of the line segments \({O}_{m-1}{V}_{i}\) and \({O}_{m}{V}_{i}\), respectively. The summation of the flux-balancing equations of every sub-CEs is expressed as

$$\,\iint\limits_{{C^{\prime}_{1} O^{\prime}_{2} C^{\prime}_{2} ...C^{\prime}_{M} }} {u\;}d\sigma = \sum\limits_{m = 1}^{M} {\iint\limits_{{O^{\prime}_{m - 1} C^{\prime}_{m} O^{\prime}_{m} V^{\prime}_{i} }} {u\;}d\sigma }$$
(4.50)

where \({O}_{0}\equiv {O}_{M}\). By substituting Eqs. (4.48) and (4.49) into (4.50), the interface fluxes between sub-CEs are cancelled, the conservation law on the entire CE(\({V}_{i}^{^{\prime}}\)) yields

$$u(G^{\prime}_{i} ) = {{\left[ {\sum\limits_{m = 1}^{M} {U_{m} S_{m} } - \frac{\Delta t}{2}\sum\limits_{m = 1}^{M} {\sum\limits_{l = 1}^{2} {\left( {\Delta y_{m}^{(l)} F_{m}^{(l)} - \Delta x_{m}^{(l)} G_{m}^{(l)} } \right)} } } \right]} \mathord{\left/ {\vphantom {{\left[ {\sum\limits_{m = 1}^{M} {U_{m} S_{m} } - \frac{\Delta t}{2}\sum\limits_{m = 1}^{M} {\sum\limits_{l = 1}^{2} {\left( {\Delta y_{m}^{(l)} F_{m}^{(l)} - \Delta x_{m}^{(l)} G_{m}^{(l)} } \right)} } } \right]} {\sum\limits_{m = 1}^{M} {S_{m} } }}} \right. \kern-0pt} {\sum\limits_{m = 1}^{M} {S_{m} } }}$$
(4.51)

Equation (4.51) is the explicit marching scheme for \(u({G}_{i}^{^{\prime}})\). In addition, the treatment of spatial derivatives is similar to that in cartesian meshes. By using the continuous assumption at \({C}_{m}^{^{\prime}}\), the following relation can be established

$$u(C_{m} ) + u_{t} (C_{m} )\frac{\Delta t}{2} = u(C^{\prime}_{m} ) = u(G^{\prime}_{i} ) + u_{x} (G^{\prime}_{i} )\delta x_{m} + u_{y} (G^{\prime}_{i} )\delta y_{m}$$
(4.52)

for each m, where δxm = x(Cm) − x(Gi), and δym = y(Cm) − y(Gi). Apply the same relation at \({C}_{m+1}^{^{\prime}}\), together with Eq. (4.52), the two spatial derivatives are ready to be solved using Cramer’s rule,

$$u_{x} (G^{\prime}_{i} ) = \frac{{\left| {\begin{array}{*{20}c} {\delta u_{m} } & {\delta y_{m} } \\ {\delta u_{m + 1} } & {\delta y_{m + 1} } \\ \end{array} } \right|}}{{\left| {\begin{array}{*{20}c} {\delta x_{m} } & {\delta y_{m} } \\ {\delta x_{m + 1} } & {\delta y_{m + 1} } \\ \end{array} } \right|}},\;\;\;\;\;u_{y} (G^{\prime}_{i} ) = \frac{{\left| {\begin{array}{*{20}c} {\delta x_{m} } & {\delta u_{m} } \\ {\delta x_{m + 1} } & {\delta u_{m + 1} } \\ \end{array} } \right|}}{{\left| {\begin{array}{*{20}c} {\delta x_{m} } & {\delta y_{m} } \\ {\delta x_{m + 1} } & {\delta y_{m + 1} } \\ \end{array} } \right|}},$$
(4.53)

where

$$\delta u_{m} = u(C_{m} ) + u_{t} (C_{m} )\frac{\Delta t}{2} - u(G^{\prime}_{i} ).$$
(4.54)

Totally, M pairs of derivatives can be calculated in this approach. Shen et al. [7] suggested using the weighted average function to obtain the final derivatives as

$$u_{x} (G^{\prime}_{i} ) = \frac{{\sum\limits_{m = 1}^{M} {W^{(m)} u_{x}^{(m)} (G^{\prime})} }}{{\sum\limits_{m = 1}^{M} {W^{(m)} } }},\;\;\;\;u_{y} (G^{\prime}_{i} ) = \frac{{\sum\limits_{m = 1}^{M} {W^{(m)} u_{y}^{(m)} (G^{\prime})} }}{{\sum\limits_{m = 1}^{M} {W^{(m)} } }},$$
(4.55)

where

$$W^{(m)} = \left( {\prod\limits_{i = 1,\;i \ne m}^{M} {\sqrt {\left[ {u_{x}^{(i)} \left( {G^{\prime}} \right)_{i} } \right]^{2} + \left[ {u_{y}^{(i)} \left( {G^{\prime}} \right)_{i} } \right]^{2} } } } \right)^{\alpha }$$
(4.56)

Here, the adjustable variable \(\alpha\) (\(\alpha =0\sim 2\)) controls the dissipation near the discontinuities. Smaller \(\alpha\) results in lower dissipation, and the function will reduce to an arithmetic average when \(\alpha =0\). Finally, the value at \({V}_{i}^{^{\prime}}\) is interpolated from \({G}_{i}^{^{\prime}}\) as

$$u(V^{\prime}_{i} ) = u(G^{\prime}_{i} ) + u_{x} (G^{\prime}_{i} )\left[ {x(V^{\prime}_{i} ) - x(G^{\prime}_{i} )} \right] + u_{y} (G^{\prime}_{i} )\left[ {y(V^{\prime}_{i} ) - y(G^{\prime}_{i} )} \right].$$
(4.57)

The a\(\alpha\) CESE scheme on the hybrid mesh formulated by Eqs. (4.51) and (4.57), while robust, is nevertheless sensitive to the Courant number. The following section addresses the further improvements to make the scheme Courant number insensitive, including the CNI scheme and upwind scheme. These two updated schemes, being closely analogous to those presented in Sects. 4.1.2 and 4.1.3, possess the identical time-marching scheme for u as provided in the a-\(\alpha\) CESE scheme on a hybrid mesh. Only the marching scheme for spatial derivatives is modified accordingly.

4.2.2 CNI CESE Scheme

As a straightforward extension of the 1D CNI scheme, Shen and Parsani [8] extended the CNI scheme to a hybrid mesh. Recall that the central idea of the CNI scheme is that when the local Courant number (\(\nu\)) approaches the global Courant number (\({\nu }_{0}\)), the scheme becomes the a-\(\alpha\) scheme. When \(\nu\) approaches 0, the scheme reduces to the non-dissipative counterpart. As depicted in Fig. 4.6, a new point \({I}_{m}^{^{\prime}}\) is defined such that

$$x(I^{\prime}_{m} ) = \frac{\nu }{{v_{0} }}x(C^{\prime}_{m} ) + \left( {1 - \frac{\nu }{{v_{0} }}} \right)x(\tilde{G^{\prime}}_{m} ),$$
(4.58)
$$y(I^{\prime}_{m} ) = \frac{\nu }{{v_{0} }}y(C^{\prime}_{m} ) + \left( {1 - \frac{\nu }{{v_{0} }}} \right)y(\tilde{G^{\prime}}_{m} ).$$
(4.59)
Fig. 4.6
A diagram resembles a decagon in x-y plane with center point V prime subscript 1. The vertices are C prime subscript 1 to C prime subscript 5, and O prime subscript 1 to O prime subscript 5, alternatively. A dotted line inside joins C prime subscript 3, I prime subscript 3, and G tilde prime subscript 3. Similarly for C prime subscript 4.

Definition of points in instructed mesh for CNI scheme

The value of \({I}_{m}^{^{\prime}}\) can be obtained using the expansion from \({G}_{i}^{^{\prime}}\) as

$$u(I^{\prime}_{m} ) = u\left( {x(I^{\prime}_{m} ) - x(G^{\prime}_{i} ),y(I^{\prime}_{m} ) - y(G^{\prime}_{i} ),0} \right)_{{G^{\prime}_{i} }} ,$$
(4.60)

where \(u({I}_{m}^{^{\prime}})\) can be calculated as

$$u(I^{\prime}_{m} ) = u\left( {x(I^{\prime}_{m} ) - x(C_{m} ),y(I^{\prime}_{m} ) - y(C_{m} ),\frac{\Delta t}{2}} \right)_{{C_{m} }} .$$
(4.61)

With the aid of Eqs. (4.60) and (4.61) to each \({I}_{m}^{^{\prime}}\). Every two neighboring \({I}_{m}^{^{\prime}}\) explicitly provide one set of \({u}_{x}({G}_{i}^{^{\prime}})\) and \({u}_{y}({G}_{i}^{^{\prime}})\). Then, the optimal derivatives can be weightedly averaged from these M sets of derivatives.

4.2.3 Upwind CESE Scheme

In the upwind CESE scheme, the definition of SE is modified and SE(Vi) is the polyhedron \(C_{1}^{^{\prime}} O_{1}^{^{\prime}} C_{2}^{^{\prime}} ...C_{M}^{^{\prime}} O_{M}^{^{\prime}} C_{1}^{^{\prime\prime}} P^{\prime\prime}O_{1}^{^{\prime\prime}} C_{2}^{^{\prime\prime}} ...C_{M}^{^{\prime\prime}} O_{M}^{^{\prime\prime}}\) (Fig. 4.4b). The values of u, f, and g are continuous within each SE. However, the interface flux \({\widehat{F}}_{m}\) between two neighboring sub-CEs may be discontinuous. The flux \({\widehat{F}}_{m}\) can be evaluated in an upwind manner in the normal direction as

$$\hat{F}_{m} = \hat{F}\left( {u_{L} ,u_{R} } \right)$$
(4.62)

where \(\hat{F}\) denotes the Riemann solver, and the values at the center of the interface, uL and uR, are reconstructed from SE(Cm) and SE(Cm+1) with a similar procedure as the 2D upwind CESE scheme on a uniform mesh. The WBAP limiter (Eq. (3.42)) is used to reconstruct the derivatives. Once the fluxes across inner interfaces are determined, the averaged value on the top surface of mth sub-CE \({U}_{m}^{^{\prime}}\) in Eq. (4.49) can be explicitly computed. We can therefore relate \({U}_{m}^{^{\prime}}\) to \(u({G}_{i}^{^{\prime}})\) using the Taylor expansion as

$$U^{\prime}_{m} = u(G^{\prime}_{i} ) + u_{x} (G^{\prime}_{i} )\left[ {x(G^{\prime}_{m} ) - x(G^{\prime}_{i} )} \right] + u_{y} (G^{\prime}_{i} )\left[ {y(G^{\prime}_{m} ) - y(G^{\prime}_{i} )} \right]$$
(4.63)

Two linear equations can be derived for each set of m and m + 1. Accordingly, a similar procedure for averaging the derivatives in the central scheme can be directly applied here.

4.3 Numerical Examples

Two canonical problems are selected to demonstrate the performance of the a\(\alpha\), CNI, and upwind CESE schemes on either structured or unstructured meshes. For Euler equations, the above schemes can be directly applied to solve each component of the conserved variables. The interface fluxes in the upwind CESE scheme can be solved as a Riemann problem, where Riemann solvers including Harten, Lax and van Leer (HLL) Riemann solver, the contact discontinuity restoring HLLC Riemann solver, and the Roe Riemann solver, can be applied to solve the local Riemann problem. Since the upwind direction may not be perpendicular to the grid-aligned direction, here we use the rotated HLLC Riemann solver. The first example is the Mach 3 wind tunnel problem with step. The computational domain is [0, 3] × [0, 1] with a step of height 0.2 placed at 0.6 from the entrance. The inflow boundary condition is imposed at the left boundary, and supersonic outflow is applied at the right boundary. The upper and lower boundaries are treated as reflective boundaries. Initially, the primitive variables \(\left(\rho ,\hspace{0.33em}u,\hspace{0.33em}v,\hspace{0.33em}p\right)\) are set as (1.4, 3, 0, 1). Figure 4.7 depicted the simulations using different CESE schemes with 1800 × 600 structured cartesian meshes. Both the CNI scheme and the upwind scheme can capture the shear layer instability that is missed in the result from a\(\alpha\) scheme.

Fig. 4.7
3 density contours a, b, and c. The lines start after 0.3 of the x-axis and form vertical wavy structures. The lines have fluctuating wavy structures after 1.5 of the x-axis. A rectangle is formed between (0.6, 0.2) and (3, 0.2).

Mach 3 wind tunnel with a step simulated by different CESE schemes with 1800 × 600 mesh grids: density contours at t = 4.0

The second example is the double Mach reflection problem. A Mach 10 shock propagates to the right and reflects over a solid wedge with an incline angle of 30 \(^\circ\). A supersonic inflow boundary condition was implemented on the left boundary. Reflective and non-reflective boundary conditions were applied on the lower and upper boundary, respectively. The problem was solved using unstructured quadrilateral meshes with a mesh size of 1/400. Figure 4.8 compares the results by applying different schemes at computation time t = 0.2. All the three schemes can accurately describe the structures while the upwind scheme surpasses with finer resolved feature near the wall-adjacent jet.

Fig. 4.8
3 density contours a, b, and c. An increasing line and a concave down increasing curve above this line start at (0, 0). It has a few wavy, and triangular structures inside these lines.

Double Mach reflection problem computed by different CESE schemes with unstructured quadrilateral meshes: density contours at t = 0.2