1 Introduction

The scientific community is currently devoting a lot of efforts to the numerical investigation of turbulent boundary layers, especially in the context of hypersonic flight, due to its impact for several breakthrough applications such as military or space exploration [1]. At hypersonic speeds, most of the kinetic energy of the flow is converted to internal energy, leading to excitation of internal modes of energy (translational, rotational, vibrational and electronic). Moreover, the high temperature reached (\(\approx 10000\) K) induces molecular dissociation and ionization, making the prediction of the flow feature very challenging [2]. Most of the times, experiments are very hard to carry out due to the difficulties encountered in the physical reproduction of the flight conditions [3], making numerical simulations a valid alternative for the accurate evaluation of the main flow field characteristics (chemical composition, shear stresses, heat flux).

In this scenario, turbulence introduces more and more difficulties when solving the Navier–Stokes equations for simulating hypersonic re-entry. A direct numerical simulation (DNS) represents the most accurate and high-fidelity approach for the correct evaluation of the flow features, as all the turbulence scales are resolved. However, the huge computational cost and high order schemes required by such simulations often limit a DNS approach to restricted Reynolds numbers and simple configurations such as flat plate or wall-bounded flows. A wide field of numerical studies is available in the literature for both supersonic [4,5,6,7] and hypersonic [8,9,10,11,12] regimes, also accounting for high-temperature effects [13,14,15]. These works focused on the validity of Morkovin’s hypothesis [16], which states that compressibility effects can be taken into account considering the variation of mean fluid density; the velocity transformation obtained by means of the law of the wall proposed by Van Driest [17,18,19] is coherent with the incompressible version also for moderate wall and boundary layer edge temperature ratios [9]. However, the assumption of an isothermal, cooled surface is essential in the context of hypersonic flight as it is more realistic [20, 21]. Many authors found that Morkovin’s hypothesis breaks down in the presence of relevant wall cooling [9, 22].

One of the most relevant phenomena in turbulence is the shock wave/boundary layer interaction (SWBLI), whose analysis is fundamental for a proper design of the aerodynamic shape of space vehicles. It is typical of complex configurations such as ramp, double-wedge or double-cone geometries: the boundary layer interacts with the shock wave inducing the laminar–turbulent transition [23,24,25]. The SWBLI can be forced by employing a shock generator which makes the wave interact with the flow over a flat plate, provoking the turbulent transition [25,26,27,28]. However, natural SWBLI interaction is induced by the wall deflection, typical of compression ramp geometries. Many researchers have analyzed the turbulent shock wave/boundary layer interaction in high-speed compression ramp flows [29,30,31,32]. Given the high computational cost required by compression ramp simulations, these works are mainly based on the use of turbulent models, with some exception [33, 34]. In the framework of hypersonic flows, non-equilibrium conditions have been investigated for different configurations [35,36,37], also by means of modal analysis [38, 39].

This work aims at assessing the capabilities of an in-house GPU based solver to investigate hypersonic flows in the presence of thermochemical non-equilibrium and turbulent shock wave/boundary layer interaction. Turbulence is modeled by a RANS approach in conjunction with the well-known two-equation shear-stress-transport (\(k-\omega\) SST) turbulence model [40]. Such an approach allows to switch from the classical \(k-\varepsilon\) model in the far field region to the \(k-\omega\) model near the wall, combining the characteristics of both models. Non-equilibrium is modeled through the multitemperature model proposed by Park [41], hence considering the high temperature effects making the calorically perfect gas assumption no longer valid. Therefore, the mixture is composed of five species (N\(_2\), O\(_2\), NO, N, O) interacting with each other. A continuity equation is solved for each species in the mixture and, also, a transport equation for the vibrational energy of molecules is needed. For this reason, an MPI-CUDA environment is developed to exploit multi-GPU executions and drastically reduce the computational cost [42].

The paper is organized as follows: firstly, the methodology is illustrated, giving details about the governing equations, models and numerical scheme. Afterward, the numerical results are discussed for perfect gas flows, to isolate the turbulence phenomena and assess the effectiveness and accuracy of the model. More in detail, a flat plate and compression ramp flows are investigated. In the final part, thermochemical non-equilibrium conditions are analyzed for the flow over a compression ramp. These must be considered as preliminary results, useful as benchmark for future works.

2 Methodology

2.1 Governing Equations

The system of Navier–Stokes equations is coupled with the SST turbulence model [40] and with the multitemperature model proposed by Park [41] to deal with thermochemical non-equilibrium. The SST model combines two classical turbulence models, namely, the \(k-\omega\) and the \(k-\varepsilon\) model, and it is widely used in the literature [37, 43, 44]. In the following, the equations describe the mean flow field obtained by performing the Favre (density-weighted) averaging: for a given variable \(\phi\), \(\overline{\phi } = \phi - \phi '\) indicates the standard time average, with \(\phi '\) the corresponding fluctuation, whereas \(\widetilde{\phi }= \phi - \phi ''= \overline{\rho \phi } / \overline{\rho }\) denotes the density-weighted Favre averaging, with \(\phi ''\) the Favre fluctuation. However, to simplify the notation, overbars and tildes are omitted. To model turbulence high-temperature effects, the model proposed by Jiang et al. [37] has been implemented with few modifications.

Dealing with a multispecies mixture, a continuity equation is solved for each species:

$$\begin{aligned} \frac{\partial \rho _{s}}{\partial t} + \nabla \cdot \,\left( \rho _{s} {\textbf {u}} + \varvec{j}_{s} \right) = \dot{\omega }_{s}, \end{aligned}$$
(1)

where subscript s indicates the s-th species in the mixture and \(\varvec{j}_{s}\) is the diffusive flux which accounts for mass diffusion phenomena. This is modeled by means of Fick’s law:

$$\begin{aligned} \varvec{j}_s = -\rho \mathcal D_s \nabla Y_s + \rho_s \sum_s \mathcal D_s \nabla Y_s - \frac{\mu _T}{Sc_T} \nabla Y_s, \end{aligned}$$
(2)

with \(\mu _T\) the turbulent viscosity, \(\mathcal{D}_s\) the equivalent diffusion coefficient [48] and \(Sc_T=0.9\) the turbulent Schmidt number (equal for all the species). The turbulent viscosity is defined as follows [45]:

$$\begin{aligned} \mu _T = \frac{\rho a^* k_T}{ \text {max}\left( a^*\omega , S F_2 \right) }, \end{aligned}$$
(3)

with \(a^*=0.31\). \(k_T\) is the turbulent kinetic energy, \(\omega\) the specific dissipation rate and S the mean strain rate tensor, given by the symmetric part of the gradient of the velocity vector \({\textbf {u}}\)

$$\begin{aligned} S_{i,j} = \frac{1}{2}\left( \frac{\partial u_i}{\partial x_j} + \frac{\partial u_j}{\partial x_i} \right) . \end{aligned}$$
(4)

In the definition of \(\mu _T\), the term \(F_2\) is

$$\begin{aligned} F_2&= \text {tanh}\left( argF_2^2\right) \qquad \text {with} \nonumber \\ argF_2&= \text {max}\left( \frac{500\mu _L}{\rho d^2 \omega } , \frac{2\sqrt{k_T}}{\beta ^*\omega d} \right) \end{aligned}$$
(5)

with d being the distance from the wall and \(\beta ^*=0.09\). The source term in Eq. (1), \(\dot{\omega }_s\), is expressed using the law of mass action. More details are given in [42, 46]. Momentum balance reads:

$$\begin{aligned} \frac{\partial \rho {\textbf {u}}}{\partial t} + \nabla \cdot \,\left[ \rho {\textbf {u}} \cdot {\textbf {u}} + p \overline{\overline{\text {I}}} - (\overline{\overline{\sigma }}_L+\overline{\overline{\sigma }}_T)\right] = 0, \end{aligned}$$
(6)

where \(\sigma _{i,j}^L\) and \(\sigma _{i,j}^T\) denote the viscous and turbulent stress tensors, given by the following expressions:

$$\begin{aligned} {\left\{ \begin{array}{ll} \sigma _{i,j,L} = \mu _L\left[ \left( \frac{\partial u_i}{\partial x_j} + \frac{\partial u_j}{\partial x_i} \right) - \frac{2}{3} \frac{\partial u_k}{\partial x_k} \delta _{i,j}\right] \\ \sigma _{i,j,T} = \mu _T \left[ \left( \frac{\partial u_i}{\partial x_j} + \frac{\partial u_j}{\partial x_i} \right) - \frac{2}{3} \frac{\partial u_k}{\partial x_k} \delta _{i,j}\right] - \frac{2}{3} \rho k_T \delta _{i,j} \end{array}\right. }, \end{aligned}$$
(7)

leading to the definition of the "total" stress tensor, given by:

$$\begin{aligned} \sigma _{i,j}&= \sigma _{i,j,L} + \sigma _{i,j,T} \nonumber \\ {}&= \left( \mu _L + \mu _T\right) \left[ \left( \frac{\partial u_i}{\partial x_j} + \frac{\partial u_j}{\partial x_i} \right) - \frac{2}{3} \frac{\partial u_k}{\partial x_k} \delta _{i,j}\right] - \frac{2}{3} \rho k_T \delta _{i,j}, \end{aligned}$$
(8)

where \(\delta _{i,j}\) is the Kronecker delta and \(k_T\) the turbulent kinetic energy. The molecular viscosity \(\mu _L\) is computed by means of Wilke’s mixing rule [47], which combines single species properties evaluated using Gupta’s fitting [48]. The introduction of the turbulent viscosity arises from the Boussinesq assumption: the stresses deriving from the turbulence behave as the molecular ones, but are linked to the flow property (\(\mu _T\)) instead of depending on a fluid property (\(\mu _L\)). The term \(- \frac{2}{3} \rho k_T \delta _{i,j}\) represents a closure term for a consistent definition of the trace of the Reynolds stress tensor [40].

The total energy conservation accounts for the turbulent stress tensor, the turbulent heat flux and the turbulent transport:

$$\begin{aligned} \frac{\partial \rho E}{\partial t} + \nabla \cdot \,\left[ (\rho E + p) \cdot {\textbf {u}} - {\textbf {u}} \cdot (\overline{\overline{\sigma }}_L+\overline{\overline{\sigma }}_T) + ({\textbf {q}}_L + {\textbf {q}}_T) - \left( \mu _L + \sigma _k\mu _T\right) \nabla k_T \right] = 0, \end{aligned}$$
(9)

with \(\sigma _k=0.85\) [49] and E being the total energy content, accounting also for the turbulent kinetic contribution. Before going into the details of the turbulence modeling, one should recall that, dealing with non-equilibrium flows, the total heat flux is given by three contributions:

$$\begin{aligned} {\textbf {q}}_L = -\lambda _L^{tr} \nabla T^{tr} - \sum _{m=1}^{N_m} \lambda _{m,L}^{vib} \nabla T_m^{vib} + \sum _{s=1}^{N_s} \rho h_s \mathcal {D}_s \nabla Y_s, \end{aligned}$$
(10)

where \(N_m\) and \(N_s\) are the number of molecules and species in the mixture, whereas \(h_s\) is the total specific enthalpy of species s. Molecular (laminar) thermal conductivity of the mixture (\(\lambda _L\)) is calculated through classical mixing rules [50], whereas Eucken formulation [51] is employed for the evaluation of the vibrational conductivity of the molecule m (\(\lambda ^{vib}_{m,L}\)). Concerning the turbulent heat flux, \({\textbf {q}}_T\), a definition similar to the one of the turbulent stress tensor is used : it still depends on the temperature gradient of the mean field, but a "turbulent conductivity" is introduced as a function of the turbulent viscosity. First of all, recall that the thermal conductivity is \(\lambda = \frac{\mu \,c_{p}}{Pr}\), \(c_{p}\) being the constant pressure specific heat and Pr the Prandtl number (in this definition, the energy modes are neglected for simplicity). In this way, one can define the "turbulent conductivity" as:

$$\begin{aligned} \lambda _T = \frac{\mu _T\,c_{p}}{Pr_T} \longrightarrow {\left\{ \begin{array}{ll} \lambda _T^{tr} = \frac{\mu _T\,c_p^{tr}}{Pr_T}\\ \lambda _{m,T}^{vib} = \frac{\mu _T\,c_m^{vib}}{Pr_T} \end{array}\right. }, \end{aligned}$$
(11)

assuming \(Pr_T=0.9\). The vibrational conductivity is written for each molecule as a convention. Furthermore, note that \(c_m^{vib}\) does not refer to constant pressure or constant volume specific heat, since \(e^{vib}=h^{vib}\). Moreover, to account for turbulent mass diffusion, one can introduce the "turbulent diffusivity" as in the species continuity equations. In this way, the total turbulent heat flux is given by:

$$\begin{aligned} {\textbf {q}}_T = -\lambda _T^{tr} \nabla T^{tr} - \sum _{m=1}^{N_m} \lambda _{m,T}^{vib} \nabla T_m^{vib} + \sum _{s=1}^{N_s} \frac{\mu _T}{Sc_T} h_s \nabla Y_s. \end{aligned}$$
(12)

Since a multitemperature model is employed to deal with thermochemical non-equilibrium, a transport equation is solved for each vibrational energy:

$$\begin{aligned} \frac{\partial \rho _m e_{m}^{vib}}{\partial t} + \nabla \cdot \,\left[ (\rho _m e_{m}^{vib}) \cdot {\textbf {u}} + {\textbf {q}}_{m,L}^{vib} + {\textbf {q}}_{m,T}^{vib} \right] = \dot{\omega }_{m}^{vib}, \end{aligned}$$
(13)

where the subscript m refers to the m-th molecule in the mixture. In this equation, the heat fluxes are expressed as:

$$\begin{aligned} {\left\{ \begin{array}{ll} {\textbf {q}}_{m,L}^{vib} = -\lambda _{m,L}^{vib} \nabla T_m^{vib} + \rho \mathcal {D}_m e_m^{vib} \nabla Y_m \\ {\textbf {q}}_{m,T}^{vib} = -\lambda _{m,T}^{vib} \nabla T_m^{vib} + \frac{\mu _T}{Sc_T} e_m^{vib} \nabla Y_m \end{array}\right. }. \end{aligned}$$
(14)

Details about the source term \(\dot{\omega }_m^{vib}\) are given in [42, 46]. Finally, two additional equations are integrated for modeling the turbulence. These read:

$$\begin{aligned}{} & {} \frac{\partial \rho k_T}{\partial t} + \nabla \cdot \,\left[ \rho k_T {\textbf {u}} - \left( \mu _L + \sigma _k \mu _T\right) \nabla k_T \right] = P_{k} - D_{k}, \end{aligned}$$
(15)
$$\begin{aligned}{} & {} \frac{\partial \rho \omega }{\partial t} + \nabla \cdot \,\left[ \rho \omega {\textbf {u}} - \left( \mu _L + \sigma _\omega \mu _T\right) \nabla \omega \right] = P_{\omega } - D_{\omega } + C_{\omega } \end{aligned}$$
(16)

and represent the evolution of the turbulent kinetic energy (\(k_T\)) and specific dissipation rate (\(\omega\)). Formally, these equations are very similar to those previously described, but they present source terms which are responsible for promoting the turbulence: term P identifies production terms, whereas term D identifies dissipation terms. More in detail,

$$\begin{aligned} P_k&= \text {min} \left( P_k' , 10 \beta ^* \rho k_T \omega \right) , \end{aligned}$$
(17)
$$\begin{aligned} D_k&= \beta ^* \rho k_T \omega , \end{aligned}$$
(18)

with \(P_k' = \sigma _{i,j,T} \frac{\partial u_i}{\partial x_j}\) [49]. The limiter on \(P_k\) avoids the buildup of turbulence in the stagnation regions [45]. Sometimes, \(P_k' = \mu _T S^2\), which is correct for incompressiblw flows, but is still a good approximation also for compressible flows [49]. Concerning Eq. (16), source terms are expressed as

$$\begin{aligned} P_\omega&= \frac{\alpha P_k'}{\nu _T}, \end{aligned}$$
(19)
$$\begin{aligned} D_\omega&= \beta \rho \omega ^2, \end{aligned}$$
(20)

where \(\nu _T=\mu _T/\rho\) is the turbulent kinematic viscosity. \(\alpha\) and \(\beta\) appearing in the production and dissipation terms are functions blended by \(F_1\), namely the blending function (varying from 0 to 1) [45]:

$$\begin{aligned}&{\left\{ \begin{array}{ll} \alpha = \alpha _1 F_1 + \alpha _2 (1 - F_1), \\ \beta = \beta _1 F_1 + \beta _2 (1 - F_1), \end{array}\right. } \,\,\,\text {with}\nonumber \\&{\left\{ \begin{array}{ll} F_1 = \text {tanh}\left( argF_1^4\right) \\ argF_1 = \text {min}\left[ \text {max}\left( \frac{500\mu _L}{\rho d^2 \omega } , \frac{\sqrt{k_T}}{\beta ^*\omega d} \right) , \frac{4\sigma _{\omega ,2}\rho k_T}{CD_{k\omega }d^2} \right] \\ CD_{k\omega } = \text {max}\left( 2\rho \sigma _{\omega ,2}\frac{1}{\omega }\frac{\partial k_T}{\partial x_j}\frac{\partial \omega }{\partial x_j} , 10^{-10} \right) \end{array}\right. }, \end{aligned}$$
(21)

with d the distance from the wall and the constants \(\alpha _1 = 5/9\), \(\alpha _2 = 0.44\), \(\beta _1 = 0.075\), \(\beta _2 = 0.0828\) and \(\sigma _{\omega ,2}=0.856\) [37, 49]. Moreover, in Eq. (16), an additional source term appears, namely the cross diffusion \(C_\omega\). This term is responsible for making the model adapt itself to \(k-\varepsilon\) model in the far field or to \(k-\omega\) model in near-wall regions. This term reads:

$$\begin{aligned} C_\omega = 2 (1 - F_1) \rho \sigma _{\omega ,2} \frac{1}{\omega } \frac{\partial k_T}{\partial x_j} \frac{\partial \omega }{\partial x_j}. \end{aligned}$$
(22)

2.2 Boundary Conditions

Supersonic outflow and inflow boundary conditions are applied on the conservative variables of the Navier–Stokes equations. Concerning turbulence variables, their values must be guessed. A typical way is to compute the turbulent kinetic energy as a function of the turbulent intensity [40]

$$\begin{aligned} I = \frac{V''}{V} = \frac{\sqrt{\frac{1}{3}\left( u''^2+v''^2+w''^2\right) }}{V} = \frac{\sqrt{\frac{2}{3}k_T}}{V}, \end{aligned}$$
(23)

where the double quotes indicate the fluctuations of the velocity. Hence, the free stream inflow condition for \(k_T\) is:

$$\begin{aligned} k_{T,\infty } = \frac{3}{2}\left( V I\right) ^2, \end{aligned}$$
(24)

V being the velocity magnitude and I the turbulent intensity. The latter can assume different values, depending on the case [40, 49]: as a first attempt, \(I=1\%\) has been used in this work. Based on the relation between \(k_T\) and \(\omega\), the free stream value of the specific dissipation rate is:

$$\begin{aligned} \omega _{\infty } = \frac{\rho _{\infty } k_{T,\infty }}{\mu _{T,\infty }}. \end{aligned}$$
(25)

Concerning the boundary conditions, the turbulent kinetic energy \(k_T\) must be null at wall

$$\begin{aligned} {k_T}_{|w} = 0, \end{aligned}$$
(26)

which implies that \(\mu _T = 0\) at wall. The wall boundary condition for \(\omega\) is [52]:

$$\begin{aligned} {\omega }_{|w} = 10 \frac{6\nu _L}{\beta _1 d^2}, \end{aligned}$$
(27)

\(\nu_L\) being the kinematic viscosity, d the distance of the first point from the wall, and \(\beta _1=0.075\) [40].

2.3 Numerical Scheme

The governing equations are integrated using a finite-volume scheme implemented in a body-fitted solver. Advection terms are discretized by means of the well-known Steger–Warming flux vector splitting [53], with the right and left state reconstructed through a second-order MUSCL reconstruction [54, 55]. Viscous fluxes are evaluated by means of a second-order centered scheme. Lastly, the time integration is performed in two steps: in the first step, an explicit third-order Runge–Kutta scheme is employed for advancing the homogeneous equations [56]; in the second step, source terms are computed thanks to an implicit iterative Gauss–Seidel scheme [57]. Such an approach (splitting approach) is suitable for reacting flows and it was shown to provide results comparable to fully coupled implicit schemes [46]. The main idea is to employ the most suitable algorithm for treating the different time scales of fluid dynamics and thermochemistry. Solving the coupled equations would drastically reduce the time step size due to the stiffness of the thermochemistry source terms. Instead, the use of a splitting approach allows one to employ an explicit time integration for the fluid dynamics, which involves fewer floating point operations and results in an efficient strategy for GPU implementation. On the other hand, the implicit evaluation of the thermochemistry source terms makes the convergence faster and, involving point operations, maintains the effectiveness of GPU implementation.

2.3.1 Implicit Formulation for the Source Terms

The solution vector \(\tilde{{\textbf {U}}} = \left[ \rho k_T, \rho \omega \right] ^T\) is taken as an example. The tilde indicates that this vector is advanced in time starting from the solution obtained by the first step, namely, from the homogeneous equations, to be updated with the source terms. Hence, one needs to solve the system of equations given by

$$\begin{aligned} \frac{d \tilde{{\textbf {U}}}}{dt} = {\textbf {P}} - \overline{\overline{\text {D}}}\tilde{{\textbf {U}}}, \end{aligned}$$
(28)

with \({\textbf {P}}\) and \(\overline{\overline{\text {D}}}\) a vector and a diagonal matrix whose components are nonnegative and represent the production and dissipation terms for a certain quantity. For turbulence equations, these read:

$$\begin{aligned} {\textbf {P}}&= \left[ \begin{array}{cc} P_k \\ P_\omega +C_\omega \end{array}\right] = \left[ \begin{array}{cc} \text {min} \left( P_k' , 10 \beta ^* \rho k_T \omega \right) \\ \alpha \frac{P_k'}{\nu _T} + 2 (1 - F_1) \rho \sigma _{\omega ,2} \frac{1}{\omega } \frac{\partial k_T}{\partial x_j} \frac{\partial \omega }{\partial x_j} \end{array}\right] ,\end{aligned}$$
(29)
$$\begin{aligned} \overline{\overline{\text {D}}}{\tilde{{\textbf {U}}}}&= \left[ \begin{array}{cc} D_k\\ D_\omega \end{array}\right] = \left[ \begin{array}{cc} \beta ^{*} \rho k_{T} \omega \\ \beta \rho \omega ^2 \end{array}\right] \Longrightarrow \overline{\overline{\text {D}}} = \left[ \begin{array}{cc} \beta ^{*} \omega &{} 0 \\ 0 &{} \beta \omega \end{array}\right] . \end{aligned}$$
(30)

Note that the cross-diffusion term behaves as a production term and has been incorporated into P. For an implicit formulation, the solution vector in the right-hand side of Eq. (28) must be evaluated at the ’new time’. So, indicating with k the k-th inner iteration and with n the n-th time step, one has:

$$\begin{aligned} \frac{{\textbf {U}}^{k+1,n}-{\textbf {U}}^{n-1}}{\Delta t}&= {\textbf {P}}^{k,n} - \overline{\overline{\text {D}}}^{k,n}{} {\textbf {U}}^{k+1,n}\nonumber \\&\quad \Longrightarrow \boxed {{\textbf {U}}^{k+1,n} = \frac{{\textbf {U}}^{n-1} + \Delta t\,{\textbf {P}}^{k,n}}{1 + \Delta t\,\overline{\overline{\text {D}}}^{k,n}}}. \end{aligned}$$
(31)

The same approach is applied to evaluate thermochemical source terms. In this work, eight inner iterations are considered for turbulence and four iterations for thermochemistry. This set of inner iterations turned out to provide an effective convergence. Moreover, since no threshold value is imposed for the residuals, GPU threads are ensured to be synchronized during the calculation.

3 Results

3.1 Hypersonic Flow over a Flat Plate (Perfect Gas)

Perfect gas assumption helps in isolating turbulence, neglecting high-temperature effects. Hence, a Mach 7 flow over a flat plate is taken as an example [37, 58, 59]. The sample is 3.2 m long, and two grids were tested to analyze the convergence of the solution. The first computational domain is composed of \(100\times 200\) nodes, with a wall resolution of \(5\times 10^{-6}\) m; the second one is composed of \(200\times 400\) nodes, with a wall resolution of \(2.5\times 10^{-6}\) m. They provide the same results as shown in Fig. 1(a), though a little deviation appears in the transition region. However, this model is not able to capture the laminar-to-turbulent transition, making more relevant the downstream region. The comparison of the wall heat flux with the numerical reference [37] and experimental findings [59] for both laminar and turbulent regimes is shown in Fig. 1(b). The agreement is very satisfactory, even if some discrepancies can be observed. These are attributed to some difference in the turbulence model employed in [37].

Fig. 1
figure 1

Heat flux profiles along the wall of the flat plate obtained on the two grids (a) and comparison of the results with reference profiles (b)

3.2 Hypersonic Flow over a Compression Ramp

In this section, the results for the flow over a compression ramp is discussed. The first test aims at the validation of the code. For this purpose, the experiment conducted by Coleman and Stollery [23] is simulated. In such a case, the low free stream enthalpy makes the perfect gas assumption suitable. Once the validation is assessed, the free stream enthalpy is increased to investigate the high-temperature effects. The geometry considered is the same for both cases: a sketch reporting the dimensions of the domain and boundary conditions is illustrated in Fig. 2. The wall is isothermal at \(T_w=295\,\,K\).

In accordance with references [37, 43, 44], the solver employed a mesh with \(100\times 200\) control volumes, distributed so that the height of the first cell at wall is \(5 \times 10^{-7}\,m\).

Fig. 2
figure 2

Computational domain with dimensions and boundary conditions

3.2.1 Low-Enthalpy Flow (Perfect Gas)

The test gas is pure nitrogen with free stream density of \(\rho _{\infty } = 0.133894\,\,kg/m^3\) and temperature \(T_{\infty }=64.5\,\,K\). The free stream Mach number is \(M_{\infty }=9.22\), whereas the free stream Reynolds number (per unit length) is \(Re_{\infty } = 4.7\times 10^{7}\,\,1/m\). The aforementioned wall resolution results in a value of \(y^{+}\) of 0.08 near the compression corner. The results are illustrated in Fig. 3, where the profiles of the normalized pressure (\(p_w/p_{\infty }\)) and heat flux (\(q_w/q_{\infty }\), with \(q_{\infty }=6.29\) W/cm\(^{2}\) [58]), are reported and compared with numerical references from the literature [37, 43, 44] and experimental findings.

Fig. 3
figure 3

Normalized pressure (a) and heat flux (b) along the wall for the low-enthalpy test case

The results reported by the present simulations are in good agreement with references, with slight underestimation of pressure and heat flux downstream of the corner. Specifically, the pressure profiles are very smooth and present an overall constant value downstream of the shock; contrarily, observing the experimental measurements a peak would be expected. The most critical aspect is the absence of the heat flux jump near the corner (\(x\approx -0.3\,m\)): the trend found by Zhang [43] is even opposite to the experiments, with the heat flux decreasing toward the wall deflection. Besides these comments, the results are in a good agreement with the expectations.

It is noteworthy that these results were obtained imposing \(P_k'=\mu _T S^2\) in Eq. (17), which provides good agreement with the experiments. In fact, within the context of the closure problem in the RANS approach, one of the issues in highly compressible flows is represented by the modeling of the production term of the turbulent kinetic energy equation [60] that is particularly critical in hypersonic flows with shock waves [61]. In Fig. 4, wall quantity profiles are shown for the aforementioned grid and a coarser one (nodes halved in both directions) with \(P_k'=\mu _T S^2\) (source 1) and \(P_k' = \sigma _{i,j,T} \frac{\partial u_i}{\partial x_j}\) (source 2). Important differences are observed. It is fundamental to highlight that such differences do not appear for the flat plate test case: as a matter of fact, deviations between the two approaches take place from the separation bubble on, whereas they provide the same results in the upstream field (flat plate zone). Furthermore, the authors have experienced similar behavior on finer meshes, but not on coarser ones where the separation point remains unchanged, as reported in the right-hand side of Fig. 4. This behavior, probably linked to numerical modeling issues, needs further investigations which go beyond the scope of the preliminary assessment of this work.

Fig. 4
figure 4

Comparison of pressure (a), shear stress (b) and heat flux (c) profiles for different expressions of the turbulent kinetic energy production term: medium mesh (left) and coarse mesh (right)

To better understand the wall quantity profiles, Schlieren images were extrapolated from the flow field. They are shown in Fig. 5(a) together with the zoom of the x-velocity contour in the compression corner (Fig. 5(b)) and the contour of the source term \(P_k\), normalized by \(\rho _{\infty }u_{\infty }^3\) (Fig. 5(c)) (medium mesh). The black lines in figures (b) and (c) identify the null values. A separation shock is formed near the compression corner due to the interaction of the ramp oblique shock with the boundary layer on the flat plate. Hence, a separation region forms downstream of the so-called separation point, where the flow is subsonic. While moving along the deflected wall, the flow reattaches and is again supersonic. The prediction of separation point location is fundamental in view of a full understanding of the involved phenomena.

The source 2 induces a stronger compressibility of the flow due to a stronger separation shock: this is evident also from the pressure peak in Fig. 4(a). Moreover, the separation extent is much larger with respect to the source 1 case: the zoom of the x-velocity puts in evidence how the boundary layer separation is markedly larger and starts more upstream in case of the source 2, pushing the reattachment toward the trailing edge of the ramp. Finally, a completely different behavior is observed for \(P_k\) in the source 2 case, which presents large zones with negative values. Also, turbulent kinetic energy production is higher in the case of source 2.

Fig. 5
figure 5

Schlieren images (a), x-velocity contour in the compression corner (b) and contour of the normalized source term \(P_k\) (c) for the low-enthalpy case. Black lines in (b) and (c) identify the null values

It is fundamental to underline that the production term should be non-negative. De facto, \(P_k'=\mu _T S^2\) is non-negative, but in the case of source 2 \(P_k' = \sigma _{i,j,T} \frac{\partial u_i}{\partial x_j}\). Performing the algebra yields

$$\begin{aligned} P_k'&= \underbrace{\left\{ \mu _T \left[ \left( \frac{\partial u_i}{\partial x_j} + \frac{\partial u_j}{\partial x_i} \right) - \frac{2}{3} \frac{\partial u_k}{\partial x_k} \delta _{i,j}\right] \right\} :\frac{\partial u_i}{\partial x_j}}_{P_{k1}\ge 0} \nonumber \\ {}&\quad - \underbrace{\frac{2}{3} \rho k_T \delta _{i,j}:\frac{\partial u_i}{\partial x_j}}_{P_{k2}\lesseqgtr 0}, \end{aligned}$$
(32)

where the second term is responsible for the change of sign in the global production term. The comparison of these two contributions is reported in Fig. 6. The larger separation encountered in the case of the source 2 induces a larger turbulent viscosity ratio (\(\mu _T/\mu _L\)), as depicted in Fig. 7.

Fig. 6
figure 6

Contour maps of the two contributions of the turbulent kinetic energy production term for the low-enthalpy case

Fig. 7
figure 7

Contour maps of the turbulent viscosity ratio for the low-enthalpy case

3.2.2 High-Enthalpy Flow (Non-equilibrium)

The numerical simulation of the high-enthalpy flow exploits the same computational domain of the low-enthalpy case. However, to induce relevant non-equilibrium, the free stream conditions are changed as reported in table 1. Adiabatic and no-slip boundary conditions are imposed at wall. It is worth highlighting that the adiabatic condition makes the temperature reach a very high value at the wall: specifically, for this test case it is about 6000 K. Such high values are never reached in practical problems, as the wall cooling enhances the heat mitigation. However, it is an interesting point to analyze thermochemical non-equilibrium effects in turbulent regime.

Table 1 Free stream conditions for the high-enthalpy test case

Schlieren images, x-velocity and normalized \(P_k\) contours are shown in Fig. 8. The separation bubble is bigger if predicted by the source 2 (see Fig. 8(b)). However, the difference is less relevant with respect to the low enthalpy case: indeed, the contour maps of the turbulent kinetic energy production term are quite similar in the two cases (see Fig. 8(c)). This is potentially attributable to the adiabatic thermal boundary condition: indeed, wall temperature gradients can induce high compressibility effects, which are weaker in case of adiabatic walls. Numerical investigation of isothermal, cooled wall flows is a challenging task due to the uncertainty about turbulence term closure. This goes beyond the scope of the preliminary analysis of this work and is still an ongoing task.

Fig. 8
figure 8

Schlieren images (a), x-velocity in the compression corner (b) and contour of the normalized source term \(P_k\) (c) for the high-enthalpy case. Black lines in (b) and (c) identify the null values

Similarly to the low-enthalpy case, the two contributions of the turbulent kinetic energy production term are reported in Fig. 9 for the source 2, confirming the change of sign is given by \(P_{k2}\). Also, the turbulent viscosity ratio is shown in Fig. 10.

Fig. 9
figure 9

Contour maps of the two contributions of the turbulent kinetic energy production term for the high-enthalpy case

Fig. 10
figure 10

Contour maps of the turbulent viscosity ratio for the high-enthalpy case

Wall quantity profiles (pressure and shear stress) are shown in Fig. 11. Again, the source 2 leads to an overestimation of the separation bubble, while underestimating the wall shear stress.

Fig. 11
figure 11

Comparison of pressure (a) and shear stress (b) profiles for different expression of the turbulent kinetic energy production term

Given this opposite behavior of the two expressions of \(P_k'\), it is fundamental to understand which are the consequences on the chemical dissociation activity. Contours of N\(_2\) and O\(_2\) mass fractions and vibrational temperatures are shown in Fig. 12. The pictures are zoomed near the compression corner to better observe the differences between the two approaches. First of all, the stronger compressibility effects promoted by the source 2 are evident also on the chemical activity, as the dissociation is more pronounced in such a case. Both molecular nitrogen and oxygen dissociation are more relevant in the case of source 2; moreover, they are anticipated given the bigger size of the separation bubble.

However, no relevant differences are observed in the contours of the vibrational temperatures: besides the different separation bubble extent, the values are mostly comparable in both cases.

Fig. 12
figure 12

Comparison of N\(_2\) mass fraction (a), O\(_2\) mass fraction (b), \(T_{v,\text {N}_2}\) (c) and \(T_{v,\text {O}_2}\) (d) for different expressions of the turbulent kinetic energy production term

4 Conclusions

In this paper, preliminary numerical results for hypersonic turbulent boundary layer have been presented. Turbulent shock wave/boundary layer interaction has been simulated, underlining the influence of high-enthalpy effects. Turbulence has been modeled by means of the standard SST \(k-\omega\) model, which well describes the physics of the boundary layer in the presence of relevant curvature of the geometry. The results showed good agreement with experimental findings and numerical references in the literature. However, they are strongly affected by the expression of the turbulent kinetic energy production term. Depending on how this term is modeled, compressibiltiy effects and chemical activity change, leading to a different separation bubble extent in the case of a compression ramp flow. However, this assessment needs further investigations.

Finally, in the context of hypersonic turbulent boundary layer studies, a tuning of the classical turbulence models has to be devised, in order to improve the quality of the solution obtained by numerical simulations with no need of performing a DNS, whose practical applications are limited due to their huge computational cost. Needless to say DNS studies are essential to provide a sufficiently wide range of data to make turbulence models training feasible in the most common configurations, such as flat plate and shock wave/boundary layer interaction.