1 Introduction

Turbulent shear flows bounded by porous materials are encountered in various engineering applications such as transpiration cooling and selective laser melting. Understanding and manipulating the influence of the porous characteristics (e.g. morphology, topology) on turbulence owns strong significance in industry. Growing interest has been observed regarding the turbulent flow regime in porous structures, as the studies with direct numerical simulation (DNS) show [6, 7, 9, 11, 12, 24]. DNS allows microscopic visualization and analysis, which is hardly achievable within the experimental measurement in such confined and tortuous spaces.

Existing experiments provide information about the optically accessible areas. The modulation of turbulence by a permeable surface has been confirmed in early-years experiments with different configurations, e.g. turbulent open channel flows over porous media composed of spheres. A qualitative similar conclusion was drawn that the wall permeability is able to increase turbulent friction. Suga et al. [20] investigated a spanwise turbulence structure over permeable walls by using PIV measurements. Terzis et al. [21] examined experimentally the hydrodynamic interaction between a regular porous medium and an adjacent free-flow channel at low Reynolds numbers (\(Re < 1\)). In their study the porous medium consists of evenly spaced micro-structured rectangular pillars arranged in a uniform pattern, while the free-flow channel features a rectangular cross-sectional area. In a recent study [20], three different kinds of anisotropic porous media are constructed to form the permeable bottom wall of the channel. Their wall permeability tensor is designed to own a larger wall-normal diagonal component (wall-normal permeability) than the other components and the spanwise turbulent structures are investigated. However, because of the difficulty in performing measurements inside the porous media, it is not easy to discuss the turbulent flow physics inside the porous structures.

Direct numerical simulation exhibits an edge of observing and analyzing turbulent physics in a confined small space, not only for the canonical cases as channel flows and pipe flows [3, 5, 14,15,16, 18], but also for transitional and turbulent flow in a representative elementary volume (REV) of porous media [6, 7, 9]. However, an adequate resolving of the smallest length scales of the flow in the interface region requires enormous computational resources. To limit the computational cost, the size of the computational domain can be reduced. Therefore appropriate boundary conditions must be chosen. Jimenez et al. [10] performed DNS with a special boundary condition: They imposed no-slip conditions for the streamwise and spanwise velocities, and set the wall-normal velocity for the permeable wall to be proportional to the local pressure fluctuations. The friction is increased by up to \(40{\%}\) over the walls, which was associated with the presence of large spanwise rollers.

Another approach is to describe the flow inside the porous structure with the volume-averaged Navier−Stokes (VANS) equations [23] and couple them with the Navier−Stokes equations used for the free flow. Breugem and Boersma [1] belongs to one of the pioneers utilizing this method. They found a decrease in the peak value of the streamwise turbulence intensity normalized by the friction velocity at the permeable wall and an increase in the peak values of the spanwise and wall-normal ones. This can be explained by the absence of streaks and the associated streamwise vortices near a highly permeable wall. The existing Kelvin−Helmholtz instability is responsible for an exchange of momentum between the channel and the permeable wall. This process exhibits a significant contribution to the Reynolds-shear stress and leads therefore to a large increase in the skin friction. Rosti et al. [19] explored the potential of drag reduction with porous materials. They systematically adjusted the permeability tensor on the walls of turbulent channel flow via VANS-DNS coupling. The total drag could be either reduced or increased by more than 20\(\%\) through adjusting the permeability directional properties. Configuring the permeability in the vertical direction lower than the one in the wall-parallel planes leaded to significant streaky turbulent structures (quasi 1-dimensional turbulence) and hence achieved a drag reduction. Recent studies achieved to resolve the porous media structures coupled with turbulent flows. Kuwata and Suga [13] used Lattice–Boltzmann method (LBM) to resolve porous structures coupled with turbulent flows. The porous media is composed with interconnected staggered cube arrays. The difference between a rough wall and a permeable wall is elucidated.

The current study is intended to establish interface-resolved DNS research about turbulent flows over porous media. Through an adequate resolution of the flow field between the porous structure and the free-flow, both the turbulence modulation and the energy exchange across the porous surface is investigated. This physical knowledge can be used to support different levels of modeling like LES or RANS [22, 25,26,27]. Furthermore it will be possible to link the geometrical characteristics of the porous media with the turbulent structures of the flow field. This will enable the design of porous structures that generate specific flow properties.

2 Numerical Method

2.1 Simulation Method

Three-dimensional incompressible Navier−Stokes equations, given by Eqs. 1 and 2, are solved in non-dimensional form, where \(\varPi \) is the corresponding source term in the momentum equation to maintain a constant pressure gradient in x-direction.

$$\begin{aligned} \frac{\partial u_j}{\partial x_j}=0 \end{aligned}$$
(1)
$$\begin{aligned} \frac{\partial u_i}{\partial t}+\frac{\partial u_i u_j}{\partial x_j}=-\frac{\partial p}{\partial x_i}+\frac{1}{Re}\frac{\partial ^2 u_i}{\partial x_i \partial x_j}+\varPi \delta _{i1} \end{aligned}$$
(2)
Fig. 1
figure 1

Cross-Section of the computational domain in the \(x-y\) plane. The spanwise direction is periodic. Depicted is a snapshot of the streamwise velocity fluctuation \(u^{\prime }\)

A spectral/hp element solver Nektar++ [2] is used to perform the DNS and to resolve multiple-scales in the complex geometrical structures. The solver framework allows arbitrary-order spectral/hp element discretisations with hybrid shaped elements. Both modal and nodal polynomial functions are available for the high-order representation. In addition, the homogeneous flow direction can be represented with Fourier-spectral expansions and, therefore, enable the usage of an efficient parallel direct solver. The spectral-accurate discretisation combined with meshing flexibility is optimal to deal with complex porous structures and to resolve the interface region. The time-stepping is treated with a second-order mixed implicit-explicit (IMEX) scheme. The fixed time step is defined with \(\varDelta T/(h/\overline{u})=0.0002\). A complete run of 10 flow through time requires at least \(5\times 10^5\) time steps.

Figure 1 illustrates a two-dimensional sketch of the simulation domain, the spanwise direction is periodic. The domain size \(L_x \times L_y \times L_z\) is \(100 \times 20 \times 8\pi \), where the lower part \(0< y < 10\) is the porous media and the upper part \(10< y < 20\) is the free-flow channel. The porous media elements are circular cylinders arranged in-line. The porous layer consists of 20 porous media elements in streamwise direction and 5 elements in wall-normal direction, which indicates 100 porous elements in total. A no-slip boundary condition is defined for all surfaces of the porous structure (i.g. on the surfaces of the circular cylinders) as well as for the upper wall (\(y=20\)) and for the lower wall (\(y=0\)). Periodic boundary conditions are defined in x-direction between \(x=0\) and \(x=100\). The second pair of periodicity is defined in the spanwise direction \(z=0\) and \(z=8\pi \).

The geometry is discretizied with full quadrilateral elements on the \(x-y\) plane with local refinement near the interface, as shown in Fig. 2. The third direction (z-direction) is extended with a Fourier-based spectral method. High-order Lagrange polynomials through the modified base are applied on the \(x-y\) plane. The numerical solver enables a flexible non-identical polynomial order based on the conforming elements, which offers high meshing flexibility corresponding to laminar, turbulent or interfacial flows according to prior knowledge. For instance, the polynomial orders of the elements in different mesh regions are \(P=6\) in \(\varOmega _1\), \(P=8\) in \(\varOmega _2\) and \(P=4\) in \(\varOmega _3\) (Fig. 2), corresponding to the free channel, interface region and laminar porous media flow. The 28.040 quadrilateral element discretization combined with 1.200 Fourier modes in the z-direction leads to a resolution up to 1 billion degrees of freedom (DOF).

Fig. 2
figure 2

Mesh structure in the computational domain. The regions for the local polynomial refinement are \(\varOmega 1,\varOmega 2\) and \(\varOmega 3\). The polynomial orders of the elements in this regions are \(P_{\varOmega 1}=6\), \(P_{\varOmega 2}=8\) and \(P_{\varOmega 3}=4\)

2.2 Simulation Conditions

The simulation cases are summarized in Table 1. Four cases are introduced here covering two porous topologies and two Reynolds numbers. The porous topology is characterised by the porosity \(\varphi \) which is defined by the ratio of the void volume \(V_{V}\) to the total volume \(V_{T}\) of the porous structure. The bulk Reynolds number is defined using the bulk averaged velocity \(\overline{u}\), channel height h and kinematic viscosity \(\nu \), i.e. \(Re=\overline{u}h/\nu \). Additional flow characteristics are the shear Reynolds numbers \(Re_\tau ^t = u_\tau ^t h/\nu \) and \(Re_\tau ^p = u_\tau ^p h/\nu \). Wherein the superscript t refers to the evaluation at the top wall of the channel and p to the evaluation at the permeable interface of the friction velocity \(u_{\tau }\). The mesh size in each direction \(\varDelta _x\), \(\varDelta _y\) and \(\varDelta _z\) is compared to the Kolgomorov length scale, i.e. \((\frac{\varDelta _x}{\eta })_{max,int}\) as listed in Table 1. This ratio is evaluated at the permeable interface denoted with subscript int and the maximum is given denoted with the subscript max. The total mesh resolution ranges from \(250\times 10^6\) to \(1.1\times 10^9\) for the high Reynolds number condition.

Table 1 Summary of simulation cases, naming cases with the bulk Reynolds number and the porosity, e.g. Re7kP75 denotes Re=7371 and porosity \(\varphi = 0.75\)

3 Results

The distribution of the spatial and temporal averaged velocity \(\overline{u}\) and the velocity fluctuations \(\overline{u^{\prime }u^{\prime }}\) are depicted in Fig. 3 for case Re7kP75. The spatial averaging is applied on the streamwise and spanwise directions. Mean velocity profile \(\overline{u}\) indicates an axis-asymmetry as a consequence of the porous media layer. This asymmetry can be seen since the velocity in the free-flow on the porous media side (\(y < 15 \)) is clearly lower than on top wall side (\(y > 15\)) due to the suction effect from the porous media. The velocity magnitude between the porous layers in the porous structure (e.g. \(y\approx 6\) and \(y\approx 8\)) is not comparable to the free-flow velocity. The averaged velocity fluctuation components \(\overline{u^{\prime }u^{\prime }}\), \(\overline{v^{\prime }v^{\prime }}\), \(\overline{u^{\prime }v^{\prime }}\) and the turbulent kinetic energy k are illustrated in Fig. 3b). All the fluctuation components exhibit higher intensity on the porous media side.

Fig. 3
figure 3

Sections in the x-y plane: a Spatial and temporal averaged velocity \(\overline{u}\); b velocity fluctuations \(\overline{u^{\prime }u^{\prime }}\)

The anisotropy of the Reynolds stress tensor can be represented by using the traditional anisotropy-invariant map (AIM). The Reynolds stress anisotropy tensor (\(b_{ij}\)) is written as:

$$\begin{aligned} b_{ij}=\frac{\overline{u_{i}^\prime u_{j}^\prime }}{\overline{u_{k}^\prime u_{k}^\prime }}-\frac{\delta _{ij}}{3} \end{aligned}$$
(3)

Its invariants I, II and III are obtained to analyze the anisotropy of the Reynolds stress tensor. The first invariant I is characteristically zero whereas the other invariants are given by \(II=\lambda _1^2+\lambda _1\lambda _2+\lambda _2^2\) and \(III=-\lambda _1\lambda _2(\lambda _1+\lambda _2)\). With the eigenvalues of the tensor \(\lambda _i\). They can be directly used to depict the anisotropy in a two-dimensional visualization (Lumley triangle) or through a new \(\eta -\xi \) coordinate system (turbulence triangle) with

$$\begin{aligned} \eta ^2= II/3, \, \xi ^3= III/2. \end{aligned}$$
(4)

This turbulence triangle improves the visualization of the isotropic state aiming to evaluate trajectories of the return to isotropy of homogeneous turbulence. However, both approaches have difficulties to represent large amount of data in a complex geometry. A recent visualization technique is proposed based on the barycentric map construction as used in Chu et al. [3]. The barycentric map is based on a reconstruction of the eigenvalues \(\lambda _i\). Placing the boundary states (one component \(x_{1C}\), two component \(x_{2C}\) and isotropy \(x_{3C}\)) in a coordinate system at \(x_{1C}=(1,0),\, x_{2C}=(0,0)\) and \(x_{3C}=(1/2,\sqrt{3}/2)\), the coordinate system (\(x_{B},\, y_{B}\)) is defined as

$$\begin{aligned} x_{B}=C_{1c}x_{1c}+C_{2c}x_{2c}+C_{3c}x_{3c}=C_{1c}+C_{3c}\frac{1}{2}, \end{aligned}$$
(5)
$$\begin{aligned} y_{B}=C_{1c}y_{1c}+C_{2c}y_{2c}+C_{3c}y_{3c}=C_{3c}\frac{\sqrt{3}}{2} \end{aligned}$$
(6)

where the weight parameters \(C_{ic}\) are:

$$\begin{aligned} C_{1c}=\lambda _1-\lambda _2, \end{aligned}$$
(7)
$$\begin{aligned} C_{2c}=2(\lambda _2-\lambda _3), \end{aligned}$$
(8)
$$\begin{aligned} C_{3c}=3\lambda _3+1 \end{aligned}$$
(9)

Figure 4 describes the turbulence anisotropy from the wall-normal range of \(10<y<20\). A significant 1-component turbulence is observed close to the upper wall (\(y=20\)), which corresponds to a typical fully developed turbulent channel flow. This character is however not observed close to the porous media side (\(y=10\)). In the center of the channel (\(y=15\)), the turbulence tends to be isotropic.

Fig. 4
figure 4

Barycentric anisotropy map

The averaged wall-normal velocity \(\overline{v}\), which is relevant for the blowing/suction effects due to the permeability, is illustrated by Fig. 5. For the flow impinging onto the porous structure the wall normal velocity \(\overline{v}\) shows suction, colored in blue, followed by ejection colored in red. The significant magnitude of the wall-normal velocity \(\overline{v}\) is only observed in the first layer of porous media, indicating the interface region. This observation applies to all cases considered.

Fig. 5
figure 5

Exemplary representation of the averaged wall-normal velocity \(\overline{v}\) on the basis of case Re7kP75

Further decomposition of the Reynolds shear stress leads to a quadrant analysis depicted in Fig. 6 for case Re7kP75. The signs of the velocity fluctuations are used to classify the products of these fluctuations into four categories. The Q2 motion (\(u^{\prime }>0, \, v^{\prime }<0\)) and the Q4 motion (\(u^{\prime }<0, \, v^{\prime }>0\)) are usually named as sweep and ejection respectively.

Fig. 6
figure 6

Quadrant analysis of the turbulent shear stress, Re7kP75 with solid lines and Re15kP75 in dashed lines

The one dimensional spectra of the kinetic energy \(E_{uu}\) as a function of the streamwise wave number \(k_x\) is given for two wall-normal positions in Fig. 7. For the position near to the permeable surface (\(y=11\)) \(E_{uu}\) reveals a higher magnitude in the low wave number range. The inertial range indicates however a similar distribution for the position near the permeable surface as for the position near the impermeable to wall (\(y=19\)).

Fig. 7
figure 7

One dimensional kinetic energy spectra: \(E_{uu}\) over the streamwise wavenumber \(k_x\)

Figure 8 shows the instantaneous streamwise velocity fluctuation \(u^{\prime }\) on the porous media side \(y=10\) and for the upper wall side \(y=19\). Under the same color scale, the porous media side shows clearly higher intensity of fluctuations. Meanwhile, the spanwise size of fluctuation is significantly smaller than the upper wall side. It will be interesting to discover this modification of turbulence in detail with a systematic geometry variation in the future.

Fig. 8
figure 8

Instantaneous streamwise velocity fluctuation \(u^{\prime }\) in the \(x-z\) plane: in a for the porous media side \(y=10\) and in b for the upper wall side \(y=19\)

4 Computational Performance

The parallel computational performance will be discussed in this section. The hardware utilized for the computations was Hazel Hen located at the High-Performance Computer Center Stuttgart (HLRS). Hazel Hen is a Cray XC40 system that consists of 7,712 compute nodes. Each node has two Intel Haswell processors (E5-2680 v3, 12 cores) and 128 GB memory. The compute nodes are interconnected by a Cray Aries network with a Dragonfly topology. This amounts to a total of 185,088 cores and a theoretical peak performance of 7.4 petaFLOPS.

Fig. 9
figure 9

Scaling behavior of the solver on Hazel Hen, wall clock time per time step on the left side. On the right side the efficiency for different numbers of MPI ranks

Figure 9 shows the scalability tests based on two cases, one with \(370 \times 10^6\) mesh element nodes and the other one with \(1.1 \times 10^9\). Each core on Hazel Hen corresponds to one MPI rank in the simulations. A range from 2,400 to 96,000 MPI ranks is tested on the machine. A lower number of ranks is not possible due to the memory overload. An approximate linear relationship between the number of MPI ranks and the wall clock time per timestep can be seen on the left hand side. With a load of around 5,000 DOF per core, one time step takes about 0.08 s. The strong scaling efficiency on the right hand side shows a super linear speedup at low MPI ranks, followed by a slight drop for more than \(10^4\) MPI ranks. With the maximal number of MPI ranks, an minimum efficiency of \(70\%\) can be achieved. Compared to the previously employed open-source FVM code OpenFOAM [4, 5, 17] and the discontinuous-Galerkin spectral-element method (DGSEM) code [8], the open-source spectral/hp element code exhibits strong scalability on the HPC machine.

5 Conclusions and Future Works

Direct numerical simulations (DNS) are conducted for turbulent flows over porous media. A high-order spectral/hp element method is adopted for solving the incompressible Navier-Stokes equations. A fine resolution of the flow close to the porous surface is enabled by a local polynomial refinement based on conforming mesh elements. Four DNS cases up to a bulk Reynolds number of \(Re=15{,}000\) are ran with a total mesh resolution up to 1 billion. The highly-resolved DNS enables us to focus on two major physical interests: (i) the turbulence modulation including drag reduction and flow control; (ii) the turbulent/non-turbulent interface close to the porous surface. The numerical solver exhibits an excellent scalability up to 96k cores on Hazel Hen. The strong scaling tests show an efficiency of minimum 70\(\%\) with only approximate 5,000 mesh-nodes per core. This indicates a high potential for an adequate use of current and next-generation HPC platforms to investigate turbulent flows over porous structures.

As the next step, the turbulent modulation and interfacial energy exchange will be studied in detail. The numerical framework enables us to alternate porous media of arbitrary shapes with a full unstructured mesh. Meanwhile, the fine scales can still be captured via the high-order numerical schemes.