1 Introduction

Multi-component multi-phase compressible flows are encountered in several scientific fields and due to the complexity of the interaction of different states of matter a detailed understanding of them is required for many applications. The choice of schemes to simulate these interactions are far neither unique nor obvious, due to several factors such as the level of fidelity, the computational resources, and due to the mechanism of the interface that separates two fluids (e.g. liquid and gas), since the thermodynamic properties of the interface might be different from the two separate states, that can obey different equation of state (EOS). Most of the schemes in an Eulerian framework belong to the class of sharp interface type methods (SIM) or the class of diffuse interface methods (DIM). The SIM class of methods treat the material interface between the fluids as infinitely thin, or sharp and several successful methods have been developed including the volume-of-fluid [28], the front-tracking [55], and the level-set methods [40]. The DIM class of methods is treating the interface as a non-zero thickness based on the idea originally formulated by Rayleigh [45] and van der Waals [69] who developed gradient theories for predicting the thickness of the interfaces based on thermodynamic principles. The DIM allow artificially the two states to develop some mixing, and therefore a thermodynamic state of this mixture is required as the interface evolves. Among the common DIM models are the five-equation model of Kapila’s et al. [35], which is tailored for two-phase immiscible non-reacting flows which was also adopted by Allaire’s et al. [1]. The complete Baer–Nunziato’s [6] seven equation model that includes non-equilibrium effects and the unified hyperbolic formulation of Godunov–Peshkov–Romenski (GPR model) [24, 42] that can treat traditional fluid and solid problems within one framework which is the ultimate goal of several highly sophisticated and elegant advanced diffuse interface models [8, 14, 22, 23, 29, 38, 70, 71].

In the present study the five-equation model of Kapila et al. [35] is employed in the form adopted by Allaire et al. [1] where an isobaric closure law is deployed that can simulate two fluids with arbitrary EOSs. This form has been extended by numerous researchers to include viscosity, capillary effects, and has been also extended to unstructured meshes by Chiapolino et al. [11], Price et al. [43], Faucher et al. [21] and Cheng et al. [10]. The simplified and more compact five-equation model of Allaire et al. has found many applications as listed in [10, 11, 13, 21, 32, 36, 43, 47, 72, 73].

The hyperbolic character of the PDEs involved in this context, the simplicity of this type of DIM and their ease of implementation are the primary reasons for the selection of this five-equation model. For engineering applications unstructured meshes offer significant advantages when dealing with optimisation of complicated geometries that require computational workflows with rapid and highly automated mesh generation. In order for the DIM class of methods to work correctly the spatial accuracy should be sufficient to resolve the interfaces correctly without an excessive diffusion across them and this requirement can be achieved by either increasing the spatial resolution at the interface regions or resorting to high-resolution numerical methods. Additionally the numerical methods should be non-oscillatory since very strong gradients across material interfaces can result in spurious oscillations and a blown-up simulation. There are several high-order high-resolution numerical methods in the unstructured finite-volume framework such as the Weighted Essentially Non-Oscillatory (WENO) [17, 63, 75], Central Weighted Essentialy Non-Oscillatory (CWENO) [19, 61], Multidimensional Optimal Order Detection (MOOD) [15, 20], Monotone Upstream Scheme for Conservation laws (MUSCL) [52, 57] and the Edge Based Reconstruction WENO (EBR-WENO) [7].

In this study however we will be focusing on the application of the CWENO type of schemes as developed in [19, 61] since these methods were found to be more robust and significantly more computational efficient compared to the original WENO type of schemes for unstructured meshes, that have previously been successfully applied by Dumbser et al. [18] to the full seven equation Baer–Nunziato model. The improved robustness and efficiency is provided by the low-order polynomials associated with the directional stencils and their reduced size compared to the high-order polynomial associated with the central stencil. The reader is referred to [19, 61] for an overview of the methods. All the schemes/models are developed in the open source community UCNS3D solver [68], and we assess their performance in terms of for a series of stringent 2D and 3D test problems. The paper is organized as follows. In Sect. 2 we introduce the formulation of the governing equations employed for this study, followed by the numerical framework used to describe the high-order finite-volume framework for unstructured meshes, the reconstruction process for the CWENO schemes, while describing the chosen fluxes and temporal discretisation employed in Sect. 3. In Sect. 4 the numerical results obtained for all the test problems are presented and compared against analytical, reference or experimental solution whenever possible. Finally, the last section describes the conclusions drawn from this study.

2 Governing Equations

The quasi-conservative five-equation model of Allaire et al. [1] is considered in this study for inviscid compressible multicomponent flows. For two fluids this involves two continuity equations Eqs. (1) and (2), a momentum equation per dimension Eq. (3), an energy equation Eq. (4), and the non-conservative advection equation of the volume fraction of one of the two fluids Eq. (5) as given below:

$$\begin{aligned}&\frac{\partial {{(a_{1}\rho _{1})}}}{\partial t}+\nabla \cdot (a_{1}\rho _{1}{\mathbf {u}})=0, \end{aligned}$$
(1)
$$\begin{aligned}&\frac{\partial {{(a_{2}\rho _{2})}}}{\partial t}+\nabla \cdot (a_{2}\rho _{2}{\mathbf {u}})=0, \end{aligned}$$
(2)
$$\begin{aligned}&\frac{\partial {{\rho }{\mathbf {u}}}}{\partial t}+\nabla \cdot (\rho {\mathbf {u}}{\mathbf {u}}+p{\mathbf {I}})=0, \end{aligned}$$
(3)
$$\begin{aligned}&\frac{\partial {{E}}}{\partial t}+\nabla \cdot (E+p){\mathbf {u}}=0, \end{aligned}$$
(4)
$$\begin{aligned}&\frac{\partial {{a_{1}}}}{\partial t}+{\mathbf {u}} \cdot \nabla a_{1}=0, \end{aligned}$$
(5)

where \(\rho \) is the density, \({\mathbf {u}}=(u,v,w)^T\) is the velocity, p is the pressure, E is the total energy and a is the volume fraction. The widely use stiffened gas EOS is employed for closing the five-equation model. It has been primarily selected due to its application for flow problems involving gases, liquids and solids. The stiffened gas EOS characterises each fluid pressure as:

$$\begin{aligned} p_{i}=(\gamma _{i} -1)\rho _{i}\epsilon _{i}-\gamma _{i}\pi _{\infty ,i}, \end{aligned}$$
(6)

where \(\pi _{\infty ,i}\ge 0\) is a reference pressure, and will be set to \(\pi _{\infty }= 0\) for gases. The total mass and \(\rho \epsilon \) being given by the following equations:

$$\begin{aligned}&\rho =\sum \limits _{i} a_{i}\rho _{i}, \end{aligned}$$
(7)
$$\begin{aligned}&\rho \epsilon =\sum \limits _{i} a_{i}\rho _{i}\epsilon _{i}, \end{aligned}$$
(8)

where \(\epsilon \) is the internal energy, with \(\rho \epsilon =E-\frac{1}{2}\rho \mathbf {uu}\). The EOS of the mixture reads

$$\begin{aligned}&\xi =\frac{1}{\gamma -1}=\sum \limits _{i} \frac{a_{i}}{\gamma _{i}-1}, \end{aligned}$$
(9)
$$\begin{aligned}&\frac{\pi _{\infty }\gamma }{\gamma -1}=\sum \limits _{i} a_{i} \frac{\pi _{\infty ,i}\gamma _{i}}{\gamma _{i}-1}, \end{aligned}$$
(10)
$$\begin{aligned}&p=(\gamma -1)\rho \epsilon -\gamma \pi _{\infty }. \end{aligned}$$
(11)

Finally, the non-conservative volume fraction advection Eq. (5) is rewritten in a mathematically equivalent form as introduced by Johnsen and Colonius [32]:

$$\begin{aligned} \frac{\partial {{a_{1}}}}{\partial t}+\nabla \cdot (a_{1} {\mathbf {u}})=a_{1} \nabla \cdot {\mathbf {u}}. \end{aligned}$$
(12)

3 Numerical Framework

3.1 Spatial Discretization

Consider a 3D domain \(\varOmega \) consisting of conforming tetrahedral, hexahedral, prism, and pyramid cells each one of them indexed by a unique mono-index i, and the governing equations of the five-equation model written in vector form as follows:

$$\begin{aligned} \frac{\partial }{\partial t} \int \limits _{V_{i}}\! {{\mathbf {U}}}\,dV +\int \limits _{\partial {V}_{i}} \! {{\mathbf {F}}_{n}}\,dS=\int \limits _{V_{i}}\! {{\mathbf {s}}}\,dV \end{aligned}$$
(13)

where \({{\mathbf {U}}}={{\mathbf {U}}}({\mathbf {x}},t)\) is the vector of conserved variables and the volume fraction of one species, \({\mathbf {F}}_{n}\) is the non-linear flux in the direction normal to the cells interface as given below:

$$\begin{aligned} \mathbf{U }= \begin{bmatrix} a_{1}\rho _{1} \\ a_{2}\rho _{2} \\ \rho u \\ \rho v \\ \rho w \\ E \\ a_{1} \end{bmatrix}, \mathbf{F }_{n}= \begin{bmatrix} a_{1}\rho _{1} u_n \\ a_{2}\rho _{2} u_n \\ \rho u u_n +n_x p \\ \rho v u_n +n_y p \\ \rho w u_n +n_z p \\ u_n(E+p) \\ a_{1} u_n \end{bmatrix}, \end{aligned}$$
(14)

where \(u_n\) is the velocity normal to the bounded surface area, defined by \(u_n=n_{x}u+n_{y}v+n_{z}w\). The source term \(\mathbf{s }\) is with regards to the term \(a_{1} \nabla \cdot {\mathbf {u}}\) of Eq. (5). Following the approach of Johnsen and Colonius [32] the source term is numerically approximated as surface integral, rather than a volume one, while using the same velocity estimate as the one used for the evaluation of the fluxes as shown below:

$$\begin{aligned} \int \limits _{V_{i}}\! a_{1} \nabla \cdot {\mathbf {u}}\,dV\approx \int \limits _{V_{i}}\! {a_{1}} \,dV \cdot \int \limits _{\partial {V}_{i}} \!(u_n)^{Riem.}\,dS. \end{aligned}$$
(15)

Integrating Eq. (13) over the mesh element i using a high-order explicit finite-volume formulation the following equation is obtained that incorporates the source term as previously defined:

$$\begin{aligned} \frac{d{\mathbf {U}}_{i}}{dt}=\frac{1}{|V_{i}|}\sum \limits _{j=1}\limits ^{N_{f}}\sum \limits _{\alpha =1}\limits ^{N_{qp}} \left( {F}_{\mathbf {n_{ij}}}\left( {{\mathbf {U}}}^{n}_{ij,L} ({\mathbf {x}}_{ij,\alpha },t),{{\mathbf {U}}}^{n}_{ij,R}({\mathbf {x}}_{ij,\alpha },t) \right) - {\mathbf {a}}_{i,1}^{n} \cdot u_n^{Riem}({\mathbf {x}}_{ij,\alpha },t) \right) \omega _{\alpha }|S_{ij}|, \nonumber \\ \end{aligned}$$
(16)

where \({{{\mathbf {U}}}_{i}}\) is the volume averaged vector of variables

$$\begin{aligned} {{\mathbf {U}}}_{i}=\frac{1}{\left| V_{i}\right| }\int _{V_{i}}{{\mathbf {U}}}(x,y,z)\, dV, \end{aligned}$$
(17)

and \({F}_{\mathbf {n_{ij}}}\) is a numerical flux function in the direction normal to the cell interface between a considered cell i and one of its neighbouring cells j. \(N_{f}\) is the number of faces per element, \(N_{qp}\) is the number of quadrature points used for approximating the surface integrals, \(|S_{ij}|\) is the surface area of the corresponding face, and \({{\mathbf {U}}}^{n}_{ij,L}({\mathbf {x}}_{ij,\alpha },t)\) and \({{\mathbf {U}}}^{n}_{ij,R}({\mathbf {x}}_{ij,\alpha },t)\) are the high-order approximations of the solutions for cell i and cell j respectively. \(\alpha \) corresponds to different Gaussian integration points \({\mathbf {x}}_{\alpha }\) and weights \(\omega _{\alpha }\) over each face. \({\mathbf {a}}_{i,1}^{n}\) corresponds to the volume averaged volume fraction of cell i at time level n. The volume, surface and line integrals are numerically approximated by a suitable Gauss–Legendre quadrature.

3.2 Reconstruction

A high-order polynomial \(p_{i}(x,y,z)\) of order r can be built that provides \(r+1\) order of accuracy for a cell i , by ensuring that it has the same average as a general quantity \({\mathbf {U}}_{i}\). This can be formulated as:

$$\begin{aligned} {{\mathbf {U}}}_{i}=\frac{1}{\left| V_{i}\right| }\int _{V_{i}}p_{i}(x,y,z)\, dV. \end{aligned}$$
(18)

The present polynomial reconstruction is based upon the approaches of [53, 63], that have been applied to smooth and discontinuous flow problems [2,3,4,5, 20, 46, 49, 50, 57, 59,60,61,62, 64,65,67], and only the key-components will be presented herein and the reader is referred to [53, 63] for further details. For the reconstruction, a transformation from physical space to a reference space as introduced by Dumbser et al. [16, 17] is employed to reduce the scaling effects that occur at unstructured meshes consisting of elements of different shape and size. In particular we employ the decomposition strategy defined in [63, 64], where each element is decomposed into triangular (2D) or tetrahedral (3D) elements and using one of the decomposed elements as the reference element for transforming to the new system of coordinates. Let \(\mathbf {vx}_{ij}\), \(j=1,2,\ldots J_{i}\) be the vertices of the considered 3D general element. Non tetrahedral elements are decomposed into tetrahedrals and one of them is chosen with \({\mathbf {w}}_{1}=(x_{1},y_{1},z_{1})\), \({\mathbf {w}}_{2}=(x_{2},y_{2},z_{2})\), \({\mathbf {w}}_{3}=(x_{3},y_{3},z_{3})\) and \({\mathbf {w}}_{4}=(x_{4},y_{4},z_{4})\) being its four vertices. The transformation from the Cartesian coordinates xyz into a reference space \(\xi ,\eta ,\zeta \) is given by the following equations:

$$\begin{aligned} \left( \begin{array}{c} x\\ y\\ z \end{array}\right) =\left( \begin{array}{c} x_{1}\\ y_{1}\\ z_{1} \end{array}\right) +J\cdot \left( \begin{array}{c} \xi \\ \eta \\ \zeta \end{array}\right) , \end{aligned}$$
(19)

with the Jacobian matrix given by:

$$\begin{aligned} J=\left[ \begin{array}{ccc} x_{2}-x_{1} &{} x_{3}-x_{1} &{} x_{4}-x_{1}\\ y_{2}-y_{1} &{} y_{3}-y_{1} &{} y_{4}-y_{1}\\ z_{2}-z_{1} &{} z_{3}-z_{1} &{} z_{4}-z_{1} \end{array}\right] . \end{aligned}$$
(20)

Using an inverse mapping the element \(V_{i}\) can be transformed to the element \(V'_{i}\) in the reference co-ordinate system as:

$$\begin{aligned} \mathbf {vx}'_{ij}=J^{-1}\cdot \left( \mathbf {vx}_{ij}-{\mathbf {w}}_{1}\right) ,\quad j=1,2,\ldots J_{i}. \end{aligned}$$
(21)

while the spatial average of the conserved variable \({{\mathbf {U}}}_{i}\) does not change during transformation

$$\begin{aligned} {{\mathbf {U}}}_{i}=\frac{1}{|V_{i}|}\int _{V_{i}}{{\mathbf {U}}}(x,y,z)~dV\equiv \ \frac{1}{|V'_{i}|}\int _{V'_{i}}{{\mathbf {U}}}(\xi ,\eta ,\zeta )~d\xi d\eta d\zeta . \end{aligned}$$
(22)

The reconstruction polynomial uses a central stencil \({{\mathcal {S}}}^{1}\), which is built by recursively adding neighbouring elements, consisting of \(M+1\) cells including the considered cell i. We employ the stencil based compact algorithm (SBC) introduced in [58], which is characteristed by a low computational cost and increased robustness in regions of poor quality meshing. In the present study we employ \(M=2K\), for enhanced robustness as reported in several previous studies [15, 30, 58], where K is the total number of polynomial coefficients given by:

$$\begin{aligned} K(r,d)=\frac{1}{d!}\displaystyle \prod _{l=1}^{d} \left( r+l\right) , \end{aligned}$$
(23)

where \(d\in [2,3]\) is the space dimensions. The central stencil \({{\mathcal {S}}}^{1}\) is given by

$$\begin{aligned} {{\mathcal {S}}}_{i}^{c}=\bigcup \limits _{m=0}^{M_{c}}V_{m}, \end{aligned}$$
(24)

where the index m refers to the local numbering of the elements in the stencil with the element with index 0 being the considered cell i, and the index c referring to the stencil number (in case of multiple stencils) where for the central stencil \(c=1\). All the cells of each stencil are transformed in the reference space \({{\mathcal {S}}'}_{i}^{c}\), where the rth order reconstruction polynomial is an expansion over local polynomial basis functions \(\phi _{k}(\xi ,\eta ,\zeta )\) given by:

$$\begin{aligned} p(\xi ,\eta ,\zeta )=\sum \limits _{k=0}^{K}a_{k}\phi _{k}(\xi ,\eta ,\zeta )={{\mathbf {U}}}_{0}+\sum \limits _{k=1}^{K}a_{k}\phi _{k}(\xi ,\eta ,\zeta ), \end{aligned}$$
(25)

where \({{\mathbf {U}}}_{0}\) corresponds to the vector of conserved variables at the considered cell i, and \(a_{k}\) are the degrees of freedom of the polynomial. The degrees of freedom \(a_{k}\) for the polynomial for each cell m are obtained by ensuring that the cell average of the reconstruction polynomial \(p(\xi ,\eta ,\zeta )\) is equal to the cell average of the solution \({{\mathbf {U}}}_{m}\):

$$\begin{aligned} \begin{aligned}&\int \limits _{V'_{m}}p(\xi ,\eta ,\zeta )\, d\xi d\eta d\zeta =|V'_{m}|{{\mathbf {U}}}_{0}+\sum \limits _{k=1}^{K}\int \limits _{V'_{m}}a_{k}\phi _{k}\, d\xi d\eta d\zeta =|V'_{m}|{{\mathbf {U}}}_{m},\quad m=1,\ldots ,M. \end{aligned}\nonumber \\ \end{aligned}$$
(26)

The conservation condition in Eq. (18) is such that requires the basis functions to have a zero mean value over the considered transformed cell \(V'_{0}\). This can be achieved by using hierarchical orthogonal basis functions defined on a unit element in reference space. For triangular and tetrahedral elements hierarchical orthogonal basis functions can achieve this requirement. However for arbitrary shaped quadrilaterals, pyramids, prisms and hexahedrals they do not transform to a unit-element exactly, and therefore their basis functions need to be constructed in a way that the conservation condition in Eq. (18) is satisfied. The basis functions employed \(\phi _{k}\) for all the elements in the stencil are defined as follows and satisfy this requirement:

$$\begin{aligned} \phi _{k}(\xi ,\eta ,\zeta )\equiv \psi _{k}(\xi ,\eta ,\zeta )-\frac{1}{|V'_{0}|}\int \limits _{V'_{0}}\psi _{k}~d\xi d\eta d\zeta \quad k=1,2,\ldots ,K, \end{aligned}$$
(27)

and in the present study \(\psi _{k}\) are Legendre polynomials basis functions. Denoting the integrals of the basis function k over the cell m in the stencil, and the vector of right-hand side by \(A_{mk}\) and b respectively as given by

$$\begin{aligned} A_{mk}=\int \limits _{V'_{m}}\phi _{k}\, d\xi d\eta d\zeta ,\quad b_{m}=|V'_{m}|({{\mathbf {U}}}_{m}-{{\mathbf {U}}}_{0}), \end{aligned}$$

the equations for degrees of freedom \(a_{k}\) can be rewritten in a matrix form as:

$$\begin{aligned} \sum \limits _{k=1}^{K}A_{mk}a_{k}=b_{m},\quad m=1,2,\ldots M. \end{aligned}$$
(28)

The resulting linear system is solved by a QR decomposition based on Householder transformation while using a Moore–Penrose pseudo-inverse of \(A_{mk}\) which is only computed once at the beginning of the simulation as detailed in [58].

3.2.1 CWENO Scheme

The CWENO scheme employed follows the implementation of Tsoutsanis and Dumbser [61] and is the combination of an optimal (high-order) polynomial \(p_{opt}\) with lower-order polynomials. The reconstruction for the optimal (high-order) polynomial uses an expanded central stencil, (suitable for the desired polynomial order) while the reconstruction for the lower-order polynomials employs the compact directional stencils. When the variation of the solution is smooth across all the stencils, the optimal polynomial is recovered and therefore the desired-order of accuracy is obtained. At the presence of discontinuous data at least one of the directional stencils associated with the lower-order polynomials could contain smooth data, hence it is going to have the largest influence in the reconstruction. All the polynomials involved satisfy the requirement of matching the cell averages of the solution, therefore they are solved with the same constrained least-squares technique. The directional stencils employ the Type3 definition which includes one directional stencil per element face as detailed in the work by Tsoutsanis [58]. The optimal polynomial is defined as follows:

$$\begin{aligned} p_{opt}(\xi ,\eta ,\zeta )=\sum \limits _{s=1}^{s_t} \lambda _{s}p_{s}(\xi ,\eta ,\zeta ), \end{aligned}$$
(29)

where s is the stencil index, with \(s=1\) being the central, \(s=2,3,\) being the directional, \(s_t\) being the total number of stencils, and \(\lambda _{s}\) being the linear coefficients for each stencil, whose sum is equal to 1. The \(p_{1}\) polynomial is not computed directly, but computed by subtracting the lower-order polynomials from the optimum polynomial as follows:

$$\begin{aligned} p_{1}(\xi ,\eta ,\zeta )=\frac{1}{\lambda _{1}} \left( p_{opt}(\xi ,\eta ,\zeta )-\sum \limits _{s=2}^{s_t} \lambda _{s}p_{s}(\xi ,\eta ,\zeta )\right) . \end{aligned}$$
(30)

The CWENO reconstruction polynomial is given as a non-linear combination of all the polynomials in the following manner:

$$\begin{aligned} p(\xi ,\eta ,\zeta )^{cweno }=\sum \limits _{s=1}^{s_t} \omega _{s}p_{s}(\xi ,\eta ,\zeta ), \end{aligned}$$
(31)

where \(\omega _{s}\) correspond to the non-linear weights assigned to each polynomial, and in regions with smooth data \(\omega _{s}\approx \lambda _{s}\), hence obtaining the high-order approximation from the central stencil, and in regions of discontinuous solutions the reconstructed solution will be mostly influenced from the lower-order polynomials of the directional stencils. where \({\tilde{a}}_k\) are the reconstructed degrees of freedom; and the non-linear weight \(\omega _s\) is defined as:

$$\begin{aligned} \omega _s=\frac{{\tilde{\omega }}_s}{\sum \nolimits _{s=1}^{s_t}{\tilde{\omega }}_s} \quad where \quad {\tilde{\omega }}_s=\frac{\lambda _m}{(\epsilon +\mathcal {SI}_s)^b}. \end{aligned}$$
(32)

The smoothness indicator \(\mathcal {SI}_m\) is given by:

$$\begin{aligned} \mathcal {SI}_s=\sum \limits _{1\le |\beta | \le r} \int \limits _{{V'_{0}}} \left( \mathcal {D}^{\beta }p_s(\xi ,\eta ,\zeta ) \right) ^2(d\xi ,d\eta ,d\zeta ), \end{aligned}$$
(33)

where \(\beta \) is a multi-index, r is the polynomial’s order, \(\lambda _m\) is the linear weight. The value set to prevent division by zero of \(\epsilon =10^{-6}\) is used, with \(b=4\) and \(\mathcal {D}\) being the derivative operator. The smoothness indicator is a quadratic function of the degrees of freedom (\(a_k^s\)) and Eq. (33) can be rewritten as:

$$\begin{aligned} \mathcal {SI}_s=\sum \limits _{k=1}^{K} a_{k}^{s} \left( \sum \limits _{q=1}^{K} \mathcal {OI}_{kq} a_{q}^{s} \right) , \end{aligned}$$
(34)

where the oscillation indication matrix \(\mathcal {OI}_{kq}\) is given by:

$$\begin{aligned} \mathcal {OI}_{kq}=\sum \limits _{1\le |\beta | \le r} \int \limits _{{V'_{0}}} \left( \mathcal {D}^{\beta }\phi _{k}(\xi ,\eta ,\zeta ) \right) \left( \mathcal {D}^{\beta }\phi _{q}(\xi ,\eta ,\zeta ) \right) (d\xi ,d\eta ,d\zeta ), \end{aligned}$$
(35)

which can be precomputed and stored at the beginning of the simulation. For the directional stencils and their corresponding polynomials we employ \(r=1\) to obtain 2nd-order of accuracy, and any arbitrary order of accuracy for the polynomial associated with the central stencil. The linear weights are computed by firstly assigning the non-normalised linear weight for the central stencil \(\lambda _{1}^{'}\) an arbitrary value, and then normalising this as follows:

$$\begin{aligned} \lambda _{1}=1-\frac{1}{\lambda _{1}^{'}}, \end{aligned}$$
(36)

with the linear weights associated with lower-order polynomials being equal and provided by the following expression:

$$\begin{aligned} \lambda _{s}=\frac{1-\lambda _{1}}{{s_t}-1}, \end{aligned}$$
(37)

where \({s_t}\) is the total number of stencils. From this point forward the order of the scheme will be defined by a number next to the type of the scheme, such as CWENO3 and WENO4 corresponding to a 3rd-order CWENO scheme and a 4th-order WENO scheme respectively.

3.3 Fluxes Approximation and Temporal Discretisation

For the inviscid fluxes the approximate Harten-Lax-van Leer-Contact (HLLC) Riemann solver of Toro [54] is employed, unless otherwise stated. The temporal discretisation employs the 3rd-order explicit Strong Stability Preserving (SSP) Runge–Kutta method [26] which is stable for \(CFL\le 1\). All the volume/surface/line integrals are approximated by Gaussian quadrature rule suitable for the order of polynomial employed. It has to be noted that the reconstruction in the present study is carried out with respect to the conserved variables or primitive variables by transforming to either one of them only during the reconstruction process, while always transforming to conservative variables prior to the fluxes calculation. All the schemes developed are implemented in the open-source UCNS3D CFD code [68] using object-oriented Fortran 2003, and employing MPI message passing interface (MPI), and the Open Multi-Processing (OpenMP) application programming interface (API). The reader is referred to [56, 67] for more details on implementation and performance benchmarks.

4 Applications

We present the numerical simulations employed to assess the performance of the CWENO interface capturing schemes for the solution of the inviscid compressible Euler equations for multicomponent flows. Several benchmark test problems have been performed.

4.1 Multi-Species Convergence Test

For verifying the designed order of spatial accuracy for the numerical schemes developed, a multi-species advection test similar to the one employed by Wong and Lele [73] is used. In this test a smooth volume fraction initial profile of two gases is advected for one period in a periodic computational domain. The initial condition is given by:

$$\begin{aligned} \left( \rho _{1},\rho _{2},u,v,p,a_{1}\right) =\left( 7,1,1,0,1/1.4,0.5+0.25\sin (2\pi (x-0.5))\right) . \end{aligned}$$
(38)

The 2D computational domain \([0,1]^2\) consists of arbitrary unstructured triangular elements of 10, 20, 40 and 80 edges per side resolution as shown in Fig. 1, and the simulation is run for a time of \(t_{f}=1\). The two gases selected are nitrogen and helium with specific heats 1.4 and 1.66 respectively. The numerical errors \(e_{L^{2}}\) and the \(e_{L^{\infty }}\) are computed as follows:

$$\begin{aligned} e_{L^{2}}= & {} \sqrt{\frac{\sum _i \int _{\varOmega _{i}} \left( {\mathbf {U}}_{e}\left( x,t_{f}\right) -{\mathbf {U}}_{c} \left( x,t_{f}\right) \right) ^{2}dV}{\sum _i \left| \varOmega _{i}\right| }}, \end{aligned}$$
(39)
$$\begin{aligned} e_{L^{\infty }}= & {} \mathcal {M}ax \left| ({\mathbf {U}}_{e}\left( x,t_{f}\right) -{\mathbf {U}}_{c}\left( x,t_{f}\right) \right| , \end{aligned}$$
(40)

where \({\mathbf {U}}_{c}\left( x,t_{f}\right) \) and \({\mathbf {U}}_{e}\left( x,t_{f}\right) \) are the computed and exact solutions at the end of the simulation \(t_f=1.0\). The exact solution \({\mathbf {U}}_{e}\left( x,t_{f}\right) \) being given by the initial condition itself at \(t=0\). The simulations were performed using \(CFL=0.1\) in order to ensure a sufficiently small time-step size so that the schemes are not restricted by the time-discretisation for achieving the designed order of spatial accuracy. The wallclock time per simulation is normalised with respect to the fastest time taken for a simulation, which in this setup is provided by the CWENO3 scheme on the coarsest mesh.

From the obtained convergence orders of the schemes as shown in Table  1 it is clear that the schemes achieve their designed order of convergence for both \(e_{L^{\infty }}\) and \(e_{L^{2}}\). The desirable feature of the CWENO variant is that it comes with significant lower computational cost—due to the reduction of the size of the directional stencils—compared to the WENO schemes. For this test the CWENO schemes require approximately 60–80% of the time taken by a WENO scheme of the same spatial order, a figure which is expected to improve when larger mesh sizes, and 3D test problems are deployed.

Table 1 \(e_{L^{\infty }}\) and \(e_{L^{2}}\) errors, and convergence orders of the schemes with respect to volume fraction and normalised wallclock time for the 2D multi-species convergence test at \(t=1.0\)
Fig. 1
figure 1

Typical examples of 2D unstructured meshes used, where a zoomed region provides details of the structure for a triangular mesh (left) and a mixed-element mesh (right)

4.2 Isolated Material Interface

For assessing the non-oscillatory properties of the considered schemes, the advection of a sharp material interface within a periodic domain is considered. A sharp material interface is frequently encountered in several multicomponent flows, hence the robustness of the proposed methods is of paramount importance, for the successful deployment of these schemes in multicomponent flows. The material interface is advected with constant velocity across the computational domain, and the pressure and temperature is also constant across the interface. The initial conditions are given by:

$$\begin{aligned} \left( \rho ,u,v,p,\gamma ,a_{1}\right) = {\left\{ \begin{array}{ll} \left( 10.0,0.5,0,1/1.4,1.4,1\right) , &{} \text {if}\ x <0.5 \\ \left( 1.0,0.5,0,1/1.4,1.66,0\right) , &{} \text {otherwise.} \end{array}\right. } \end{aligned}$$
(41)

The 2D computational domain \([0,1]^2\) consists of a mixed-element mesh as shown in Fig. 1 consisting of triangular and quadrilateral mesh elements of 80 edges per side resolution, and the simulation is run for a time of \(t_{f}=2\). Firstly a comparison between 3rd-order CWENO3 and WENO3 is made to assess the non-oscillatory properties of the schemes and as it can be noticed from the obtained results in Fig. 2 the CWENO3 is significantly less oscillatory near the material interface. The relative coarse resolution of the present mesh, is intentionally selected to highlight one of the key differences between the two schemes, which is the compactness of their directional stencils. In the CWENO the directional stencils correspond to lower-order polynomials compared to WENO schemes and therefore are significantly more compact, therefore resulting in improved robustness in such situations. Secondly the influence of two types of reconstructions are explored with respect to the conserved and primitive variables. As it can be seen in Fig. 3, the solutions obtained with the primitive variable reconstruction are free from any oscillations in the pressure and velocity solution. It is well documented [31,32,33,34] that primitive variable reconstruction is needed to prevent spurious oscillations in problems where \(\gamma \) is not constant, since reconstruction in conservative or characteristic variables suffer from oscillations across them. Finally the CWENO scheme with primitive variables employed provide the correct solution with no oscillations, and as seen in Fig. 4 the minute oscillations in normalised pressure and velocity errors are close to machine precision. Therefore unless otherwise stated from this point onwards the reconstruction with respect to primitive variables is going to be employed.

Fig. 2
figure 2

Plots of density \(a_{1} \rho _{1}\) for the isolated sharp-material interface at \(t=2\) obtained with WENO3 and CWENO3 schemes, and compared with the reference exact solution. It can be noticed that the the WENO3 is producing some oscillations near the material interface, while they are absent from the CWENO3 obtained solution

Fig. 3
figure 3

Plots of density \(a_{1} \rho _{1}\), pressure and velocity for the isolated sharp-material interface at \(t=2\) obtained with the CWENO3 scheme with primitive and conservative variables reconstruction, and comparison with the exact solution. The primitive variable reconstruction is producing an oscillation-free solution for both pressure and velocity

Fig. 4
figure 4

Plot of density \(a_{1} \rho _{1}\), pressure and velocity for the isolated sharp-material interface at \(t=2\) obtained with several CWENO schemes where it can be noticed that all the schemes provide the correct solution with no oscillations, and normalised pressure and velocity error at the \(t=2\) where it can be seen that the minute oscillations are close to machine precision

4.3 Gas–Liquid Riemann Problem

The 2D equivalent of the well established gas liquid Riemann problem of Cocchi et al. [12] is deployed in this study. It is an ideal test problem for exposing the performance of the developed numerical schemes in for stiffened gas EOS. The left state of the problem consists of highly compressed air, and the right state is water at atmospheric pressure. The initial conditions for this problem following the non-dimensionalisation of Cocchi et al. [12] are:

$$\begin{aligned} \left( \rho _{1},\rho _{2},u,v,p,a_{1}\right) = {\left\{ \begin{array}{ll} \left( 1.241,0,0,2.753,1.4,1\right) , &{} \text {if}\ {\mathbf {x}}<0 \\ \left( 0,0.991,0,3.059x10^{-4},0\right) , &{} \text {otherwise.} \end{array}\right. } \end{aligned}$$
(42)

The specific heats for air and water are 1.4 and 5.5 respectively, with the \(\pi _{\infty }=1.505\) for water. The 2D computational domain \([-1,1]^2\) is discretised by a mixed-element unstructured mesh similar to the one shown in Fig. 1 which consists of arbitrary triangular and quadrilateral elements of 100 edges per side resolution, and the simulation is run for a time of \(t_{f}=0.2\). Two schemes are employed for this test problem a WENO3 and a CWENO5. The CWENO5 scheme employs a higher-order polynomial for the central stencil compared to the WENO3 order scheme, and a lower-order polynomial (and stencil size) than the WENO3 order scheme. As it can be noticed from the obtained results shown in Fig. 5 while both schemes provide results in good agreement with the exact solution, the CWENO5 order scheme is less oscillatory in this coarse grid resolution due to the compactness offered by the smaller directional stencils. Therefore from this point onwards only the CWENO schemes will be employed in the following test problems.

Fig. 5
figure 5

Plots of density, pressure, velocity and volume fraction for the gas–liquid Riemann problem at \(t=0.2\) obtained with WENO3, and CWENO5 schemes and compared with the exact solution. It can be noticed that the CWENO5 order scheme is less prone to oscillations compared to the WENO3 order scheme

4.4 Gas Bubble in Water

A problem that has been frequently used [25, 39] to assess the performance of various numerical methods is considered. This problem involves very high-pressure due to the collapse of a gas bubble in a liquid. These types of problems are typically found in applications such as fuel injectors, naval propulsion systems and shockwave lithotripsy. In this study a strong shock \(M_{sh}=1.72\) is travelling through water and moving towards an air bubble. The initial condition is given by:

$$\begin{aligned} \left( \rho ,u,v,p,\gamma ,\pi _{\infty },a_{1}\right) = {\left\{ \begin{array}{ll} \left( 1323.65,681.058,0,1.9\cdot 10^{9},4.4,6\cdot 10^{8},0\right) , &{} \text {for Post-shock} \\ \left( 1000,0,0,10^{5},4.4,6\cdot 10^{8},0\right) , &{} \text {for Pre-shock} \\ \left( 1,0,0,10^{5},1.4,0,1\right) , &{} \text {for Bubble} \\ \end{array}\right. }\nonumber \\ \end{aligned}$$
(43)

The domain is a \([0, 0.024]^2\) square, the gas bubble is placed at the centre of the domain (0.012 m, 0.012 m), and the interface between shocked and unshocked regions placed at \(x=0.0066\) m. Non-reflecting boundary conditions are prescribed at the left and right boundaries of the domain, while an Euler slip-wall is prescribed for the top and bottom boundaries. The domain is discretised by an quadrilateral mesh with approximately 1.0 million cells and an average edge length of \(e_{c}\approx D_{b}/250\), where \(D_{b}\) is the diameter of the gas bubble \(D_{b}=6\) mm. The CWENO5 scheme was employed for this test problem, and the simulation is run until \(t=6.2\,\upmu \)s.

The evolution of the bubble dynamics obtained with the present schemes is illustrated in Fig. 6 and in Fig. 7 where all the expected features including the reflected rarefaction wave, the water jet, the blast wave and the secondary jets are well captured and are similar to the ones obtained by others Nourgaliev et al. [39] and Goncalves et al. [25]. The maximum pressure obtained in the computational domain is 7.7GPa, which is inline with the findings of other studies where higher pressures are seen in fine grid resolutions with Nourgaliev et al. [39] reporting 10.1GPa at a grid resolution of \(e_{c}\approx D_{b}/800\), and lower peak pressures at lower grid resolutions with Goncalves et al. [25] reporting a peak pressure of 7.8GPa at a grid resolution of \(e_{c}\approx D_{b}/300\). Similarly the peak temperature at the time of lowest volume obtained is \(\approx 15,670K\) which is within the range obtained from the other studies [25, 39].

Fig. 6
figure 6

Plots of the Mach number (contours) and volume fraction (lines) for the gas bubble collapse test problem at different instants. It can be noticed that all the expected features are captured using the present CWENO5 scheme

Fig. 7
figure 7

Plots of the density contours (top), volume fraction (middle), and density gradient magnitude (bottom) for the gas bubble collapse test problem at different instants

The time evolution of the pressure along the centreline of the computational domain can be seen in Fig. 8, where it can be noticed that the first peak is associated with the blast wave at \(t\approx 3.9\,\upmu \)s and the second peak a later time \(t\approx 4.9\,\upmu \)s occurs when the blast wave collides with the bubble fragments as also reported by Goncalves et al. [25]. Finally the time history of the non-dimensional volume of the gas bubble is illustrated in Fig. 8, where it can be noticed that the results obtained are in good agreement with the results of Nourgaliev et al. [39] capturing the correct compression slope, and rebound at late times. However due to the coarser grid-resolution employed in this study the maximum compression of the bubble is lower compared to the one obtained by Nourgaliev et al. [39].

Fig. 8
figure 8

Plots of pressure evolution along the centreline of the computational domain (left), and evolution of the non-dimensional volume of the gas bubble (right) for the gas bubble collapse in water test problem

4.5 Water Column in Air

The shock wave interaction with a cylindrical water column test case of Xiang and Wang [74] is employed in this study, and in essence it is the opposite of the gas-bubble collapse in water problem seen previously. In this test a water droplet is surrounded by air, where a shockwave at \(M_{sh}=2.4\) is moving towards the water bubble. The subject test serves as an ideal computational test-problem for development and assessment of numerical methods for interface dynamics of compressible multi-fluid flows with several practical applications including the liquid jet atomization in a scramjet engines, combustion, and supernova explosion. We are considering two variants of the water column in this test one without an air cavity, and one with an air cavity as performed by Xiang and Wang [74]. The setup of the test problem can be seen in Fig. 9, where for the water column without the air cavity \(r=0\), while with air cavity \(r=3.6\) mm.

Fig. 9
figure 9

Schematic diagram of the setup for the shock wave cylindrical water column test problem (left), and the corresponding mesh refinement used for the interaction zone (right)

Fig. 10
figure 10

Contour plots of density gradient magnitude of the computed solution of the shock wave interaction with a water column with a cavity (top) and without a cavity (bottom), at various instants \(t^{*}=0\), \(t^{*}=0.8\), \(t^{*}=1.62\), \(t^{*}=3.02\) (left to right). It can be noticed that all the expected flow features are captured by the present CWENO scheme

Fig. 11
figure 11

Numerical Schlieren contours computed in this work (top) and obtained by experiments of Sembian et al. [48] (bottom) for the shock-wave interaction with a water column at \(M=2.4\)

Fig. 12
figure 12

Contour plots of density gradient magnitude of the computed solution of the shock wave interaction with a water column with a cavity (top) and without a cavity (bottom), at various instants \(t^{*}=5.48\), \(t^{*}=10.0\), (left to right). The flow separation for both variations as well as the transverse jet impact with the water cavity wall downstream (top) and the flattening of the water column downstream (bottom) can be noticed

Fig. 13
figure 13

Pressure distribution at the centreline of the water column at \(t^{*}=0.8\) (left), and time evolution of the maximum pressure in the computational domain for the water column with an air cavity (right) and comparison with the results of Xiang and Wang [74]

Fig. 14
figure 14

Computational domain setup (top) and corresponding mesh for the helium bubble shock wave test problem

The initial condition is given by:

$$\begin{aligned} \left( \rho ,u,v,p,\gamma ,\pi _{\infty },a_{1}\right) = {\left\{ \begin{array}{ll} \left( 3.85,567.3,0,0.664\cdot 10^{6},1.4,0,0\right) , &{} \text {for Post-shock} \\ \left( 1.2,0,0,0.101\cdot 10^{6},1.4,0,0\right) , &{} \text {for Pre-shock} \\ \left( 1000,0,0,10^{5},6.12,0.343\cdot 10^{9},1\right) , &{} \text {for Water} \\ \end{array}\right. } \end{aligned}$$
(44)

The domain is \(x\in [0, 0.2208],y\in [0,0.1152]\), the water column is centred at (0.0576 m, 0.0576 m), and the interface between shocked and unshocked regions placed at \(x=0.05\) m. Non-reflecting boundary conditions are prescribed at the left and right boundaries of the domain, while an Euler slip-wall is prescribed for the top and bottom boundaries. The domain is discretised by an quadrilateral mesh with approximately 0.89 million cells and an average edge length of \(e_{c}\approx D_{b}/192\), where \(D_{b}\) is the diameter of the water column/or the outer diameter when a cavity is included \(D_{b}=96\) mm. The CWENO5 scheme was employed for this test problem, and the simulation is run until the non dimensional \(t^{*}={t u}/{D_{b}}=10\) where u corresponds to the initial velocity behind the shock. The obtained computed density gradient magnitude for both variants are in good agreement with the numerical results of Xiang and Wang [74] as shown in Fig. 10. All the key flow features (reflected expansion wave, the transmitted wave, the Mach stem, and re-circulation zone) are correctly captured as shown in comparison with the experimental results for the water column without cavity of Sembian et al. [48] in Fig. 11.

As expected at late times the flow separates for both variants as seen in Fig. 12, where the water column without the cavity is compressed continuously while it gets flattened downstream as documented by Xiang and Wang [74] and Meng and Colonius [37]. For the water column with cavity the transverse jet formation and the associated Richtmyer–Meshkov instability occurring when the water is driven into the air cavity are well resolved, and in agreement with the study of Xiang and Wang [74].

Finally, the pressure along the centreline of the water column without the cavity at time \(t^{*}=0.8\) is plotted against the computational results of Xiang and Wang [74] in Fig. 13 and a good agreement is achieved. It has to be stressed that the expected negative pressure drop is not as pronounced as the study of Xiang and Wang [74] since their grid resolution was finer with an edge length of of \(e_{c}\approx D_{b}/333\). However, the negative pressure is correctly captured due to the reflected expansion wave, which is attributed to the cohesive forces that hold liquids together and can withstand negative pressure [9, 41]. For the water column with the air cavity, a time-history of the maximum pressure present in the computational domain is plotted against the computational results of Xiang and Wang [74] in Fig. 13, where it is evident that a good agreement is achieved although the peak pressure is slightly lower due to the lower grid resolution as expected. However the timing of the maximum peak pressure agrees with the results of [74], where the maximum peak pressure is seen at the time of impact of the transverse jet with the inner cavity wall downstream.

Fig. 15
figure 15

Plot of the definition of the interfaces and of the evolution of the position of these interfaces using a CWENO5 scheme on the finest 2D mesh and 3D mesh. The evolution of the interfaces position is in good agreement with the results of Terashima and Tryggvason [51] and Quirk and Karni [44]

Fig. 16
figure 16

Density contour plots (24 equally distanced levels between 0.19 to 1.74) of the computed solution of the shockwave helium bubble interaction test problem at various instants using the finest mesh. As the shock wave passes the helium bubble, Kelvin–Helmholtz instabilities develop at the material interface that later on break down while resulting in an asymmetric solution profiles

Fig. 17
figure 17

Contour plots of volume fraction (24 equally distanced levels between 0 to 1) of the computed solution of the shockwave helium bubble interaction test problem at \(t=983 \,\upmu \)s, at several mesh resolutions. More vortical structures are captured as the grid resolution is increased due to the absence of physical viscosity to diffuse them

4.6 Helium Bubble Shock Wave

The interaction of a weak shockwave in air and a helium bubble is considered in 2D and 3D. Several variations of this test problem have been widely used [13, 32, 72] for assessing the performance of several techniques for multicomponent flow modelling, and is based on the experimental setup by Haas and Sturtevant [27]. A bubble of diameter \(D_{b}=5\) cm, is placed within an air filled shock tube. The bubble consists of helium and air of 28% mass concentration. A shockwave moving from right to left as shown in Fig. 14 of the setup impacts the bubble contaminated by the surrounding air. The specific heats of 1.4 and 1.66 are used for air and helium, respectively, and the initial condition is given by:

$$\begin{aligned} \left( a_{1}\rho _{1},a_{2}\rho _{2},u,v,p,a_{1}\right) = {\left\{ \begin{array}{ll} \left( 0.0,1.204,0,0,101325,0\right) , &{} \text {for Pre-shock} \\ \left( 0.0,1.658,-114.49,0,159060,0\right) , &{} \text {for Post-shock} \\ \left( 0.158,0.061,0,0,101325,0.95\right) , &{} \text {for Bubble.} \\ \end{array}\right. }\nonumber \\ \end{aligned}$$
(45)

The computation domain is discretised by a mixed-element unstructured mesh consisting of quadrilateral and triangular elements in 2D, and arbitrary hexahedrals and prism in 3D with the shock-bubble interaction region being refined as shown in Fig. 14. A coarse, medium, and fine mesh are employed for 2D with an average element edge length in the shock bubble interaction zone of \(e_{c}\approx D_{b}/35\), \(e_{m}\approx D_{b}/120\), \(e_{f} \approx D_{b}/400\) respectively, and an edge length of \(e_{c}\approx D_{b}/50\) for the 3D mesh. A slip-wall boundary condition is used at the top and bottom boundaries of the domain, while inflow and outflow boundary conditions are prescribed at the right and left of the domain respectively. A CWENO5 scheme is employed and the simulation is run until \(t=1000\,\upmu \)s.

Fig. 18
figure 18

Contour plots of volume fraction, vorticity magnitude at the centre of the computational domain and isosurfaces of three levels of volume fraction (0.25, 0.5, 0.9) of the computed solution of the shockwave 3D helium bubble interaction test problem at different instants

From the results obtained as shown in Fig. 16, it can be noticed that the time evolution of the bubble is correctly captured including the formation of a jet and a vortex ring at late times, and is in agreement with the results obtained by [13, 32, 72] qualitatively. Due to the high-order CWENO scheme employed, the Kelvin–Helmholtz instabilities that develop at the interface of the helium bubble are more pronounced as the 2D grid resolution is increased as shown in Fig. 17, whereas for the 3D setup the resolution employed is not sufficient to capture these instabilities. as shown in as shown in Fig. 18. The symmetry of the computed solution is lost at late times for the 2D medium and fine meshes, indicative of multi-dimensional reconstruction nature of the framework employed and of the arbitrary unstructured elements in the refined shock-bubble interaction zone. As the bubble evolves, three distinct interfaces identified are the jet (ji), the upstream (ui) and the downstream (di) as shown in Fig. 15. From the space-time diagram of these distinct interface positions, the predicted locations are in good agreement with the reference results of Terashima and Tryggvason [51] and Quirk and Karni [44]. It needs to be highlighted that the results have been non-dimensionalised with respect to the diameter of the bubble at the time that the shock hits the bubble [44, 51, 72].

The results obtained in terms of the averaged velocities of the jet, upstream and downstream interface are in good agreement with the experimental results of Haas and Sturtevant [27], and the computational results of Coralic and Colonius [13] as shown in Table 2. Due to the resolution employed for the 3D setup of the problem, a slower merging of the jet and the downstream interface is seen compared to the 2D setup.

Table 2 Time averaged velocities of several flow features of the shock-bubble interaction problem obtained with the present simulation and compared against the experimental results of Haas and Sturtevant [27], and the computational results of Coralic and Colonius [13]

5 Conclusions

This paper extends to applicability of CWENO schemes on unstructured meshes to compressible multi-material flows. The schemes manage to achieve high-order of accuracy, resolve the material interfaces and finer structures while maintaining their essentially non-oscillatory character. Switching to primitive variable reconstruction was needed to remove the oscillations that appear across material interfaces. A series of stringent two- and three-dimensional test problems were used to verify the accuracy, robustness and computational efficiency of the schemes, and compared with analytical, experimental and computational results. Future development will concern the expansion of the CWENO schemes to the complete seven equation model of Baer–Nunziato’s [6] and the unified hyperbolic formulation of Godunov–Peshkov–Romenski (GPR model) [24, 42].