Keywords

1 Introduction

Transport phenomena in porous materials are important in many scientific and engineering applications such as catalysis, hydrology, tissue engineering and enhanced oil recovery. In the past several decades, flow in porous media has been studied extensively both experimentally and theoretically. We refer the interested reader to the textbook [1] and the references therein. In porous media flow, we usually distinguish between three scales: the pore-scale, the representative elementary volume (REV) scale and the domain scale. The REV is defined as the minimal element for which macroscopic characteristics of a porous flow can be observed. Because experimental setups for many practical questions may be too expensive or even impossible to realize, numerical simulation of porous media flow can be a useful complementary method to conventional experiments.

To describe the flow in the bulk of the porous medium, Darcy’s law is commonly used in the form

$$\begin{aligned} \mu \mathbf {K}^{-1} \mathbf {u} = \mathbf {F} - \nabla p, \end{aligned}$$
(1)

where \(\mu \) is the dynamic viscosity of the fluid, \(\mathbf {K}\) is the permeability tensor of the porous medium, \(\mathbf {F}\) is the body force, and \(\mathbf {u}\) and p are averaged velocity and pressure quantities, respectively. However, when a porous medium and a free flow domain co-exist, e.g., in a river bed, there is no uniquely accepted model for the transition between the Darcy model and the free flow. Different approaches based on two-domain or on single-domain models are available. Using a single-domain in combination with the Brinkman equation that modifies Darcy’s law by a viscous term

$$\begin{aligned} -\mu _\mathrm{eff} \nabla ^2 \mathbf {u} + \mu \mathbf {K}^{-1} \mathbf {u} = \mathbf {F} - \nabla p, \end{aligned}$$
(Br)

allows to model a smooth transition (see e.g. [24]). Here \(\mu _\mathrm{eff}\) is an effective dynamic viscosity in the porous region. However, determining appropriate viscosity parameters for the Brinkman model in the transient region is challenging [46]. Furthermore, the penetration of the flow into the porous medium is found to depend on the roughness coefficient of the surface; see e.g. [710].

Alternatively, one can use a two-domain approach in combination with a sharp interface transmission condition. Considering the (Navier-)Stokes equation in the free flow region and the Brinkman (or Darcy) equation in the porous region, the interface plays an important role. Proceeding from the experimental investigation of Poiseuille flow over a porous medium, Beavers and Joseph [11] introduced an empirical approach that agreed well with their experiment; see also [3]. They suggested to use a slip-flow condition at the interface, i.e., the velocity gradient on the fluid side of the interface is proportional to the slip velocity. For simplicity, we consider a domain for which the interface is aligned with the flow direction. The Beavers–Joseph relation is formulated as

$$\begin{aligned} \left. \frac{dU}{dz}\right| _{z=0^+} = \frac{\alpha }{\sqrt{k}} \left( U_s - U_m \right) , \end{aligned}$$
(BJ)

where z denotes the coordinate perpendicular to the interface, \(U = U(z)\) is the mean velocity in flow direction, \(U_s\) is the slip velocity at the interface \(z = 0^+\), \(U_m\) is the seepage velocity that is evaluated far from the plane \(z=0\) in the porous region, k is the permeability, and \(\alpha \) is a phenomenological dimensionless parameter, only depending on the porous media properties that characterize the structure of the permeable material within the boundary region which typically varies between 0.01 and 5 [12, 13]. We refer to [14, 15] and the references therein for the interface coupling of two-phase compositional porous-media flow and one-phase compositional free flow.

In 1971, Saffman [16] found that the tangential interface velocity is proportional to the shear stress. He proposed a modification of the BJ condition as

$$\begin{aligned} \frac{\sqrt{k}}{\alpha } \left. \frac{dU}{dz}\right| _{z=0^+} = U_s + O(k). \end{aligned}$$
(BJS)

More than two decades later, Ochoa-Tapia and Whitaker [17] proposed an alternative modification of the BJ condition which includes the velocity gradient on both sides of the interface as

$$\begin{aligned} \left. \mu _\mathrm{eff} \frac{dU}{dz}\right| _{z=0^-} - \left. \mu \frac{dU}{dz}\right| _{z=0^+} = \frac{\mu }{\sqrt{k}} \beta U_{s}. \end{aligned}$$
(OTW)

Here the jump-coefficient \(\beta \) is a free fitting parameter that needs to be determined experimentally [18]. Different expressions for the effective viscosity \(\mu _\mathrm{eff}\) can be found in the literature. For instance, Lundgren [19] suggested a relation of the form \(\mu _\mathrm{eff} = \mu / \epsilon \), where \(\epsilon \) is the porosity.

All of the interface conditions mentioned above require the a priori knowledge of the exact position of the interface [2022], which is for realistic porous geometries often not the case. Additionally both, single-domain and two-domain, homogenized models rely on assumptions whose validity is not automatically guaranteed and depend on additional parameters. Traditional experiments to validate and calibrate such models are often costly, time consuming and difficult to set up. On the other hand, modern high performance computers enable the development of increasingly complex and accurate computational models resolving pore-scale features. Designing highly efficient solvers for partial differential equations is one of the challenges of extreme scale computing. While finite volume/element/difference schemes give rise to huge algebraic systems, lattice Boltzmann methods are intrinsically parallel and attractive from the computational complexity point of view. Thus fully resolved direct numerical simulation based on first principles modeling is not only feasible nowadays but also provides an attractive possibility for validation and calibration. The LBM is commonly used as a tool to investigate the small scale phenomena in porous media. Prior work studied dense packing of spherical [25] and non-spherical particles [26, 30] and showed very good agreement between the numerical and experimental results.

As a next step in this direction, we here carry out a direct numerical simulation of free flow over a porous medium. The model porous media geometry is constructed by generating a random sphere-packing using a parallel in-house multi-body simulation framework called PE [23]. In the pore geometries constructed such, the flow equations are solved with full geometrical resolution. This naturally leads to high computational cost requiring the use of high end parallel computing. As we will show by performance analysis, the in-house lattice Boltzmann solver waLBerla [24] exhibits excellent performance and parallel scalability for these pore-scale simulations.

We use the results of the direct numerical simulation of flow over and through the porous media as reference solution and evaluate several sharp-interface conditions. As a further example, we also use a homogenized lattice Boltzmann model as a REV scale simulation and show the capability of this model to reproduce the pore-scale results with high accuracy.

2 Numerical Method

The lattice Boltzmann method (LBM) has been successfully applied to simulate porous media flow [2730]. The kinetic nature of the LBM enables it for fluid systems involving microscopic interactions, e.g., flow through porous media. Furthermore, its computational simplicity, its amenability to a simple and efficient implementation and parallelization, and its ability to handle geometrically complex domains makes it an applicable tool to simulate porous media flow on the pore-scale.

The LBM can also be applied to model the fluid flow in porous media at the REV scale. The most commonly used models are the Darcy, the Brinkman-extended Darcy and the Forchheimer-extended Darcy models. This last approach accounts for the flow resistance in the standard LBM by modifying the body-force or equilibrium terms, leading to the recovery of either Darcy-Brinkmans equations or generalized Navier-Stokes equations [3133]. The general model of porous media flow should consider the fluid forces and the solid drag force in the momentum equation [34]. Guo and Zhao [35] proposed a model to include the porosity into the equilibrium distribution and added a force term to the evolution equation to account for drag forces of the medium. The non-linear inertial term is not included in the Brinkman model either, and thus, this model is only suitable for low-speed flow. In this approach, the detailed structure of the medium is ignored, and the statistical properties of the medium are included to represent the porous effects.

2.1 The Lattice Boltzmann Equation

The LBM originates historically from the lattice-gas automata method and can also be viewed as a special discrete scheme for the Boltzmann equation with discrete velocities

$$\begin{aligned} \mathbf {f}(\mathbf {x}+\mathbf {e}_k\varDelta t , t +\varDelta t ) -\mathbf {f}(\mathbf {x}, t) = \mathbf {\Omega }(\mathbf {x}, t) + F_k \varDelta t \end{aligned}$$
(2)

where \(\mathbf {e}_k\) is the particle velocity, and \(\mathbf {\Omega }(\mathbf {x}, t)\) is the collision operator. For the three dimensional lattice model \(D_3Q_{19}\), \(\mathbf {f}(\mathbf {x}, t) = ({f}_0(\mathbf {x}, t),{f}_1(\mathbf {x}, t),...,{f}_{18}(\mathbf {x}, t))^T\) is a 19-dimensional vector of distribution functions. \(F_k\) is the force that acts as a source term to drive the flow.

A common approach is to use the Bhatnagar-Gross-Krook (BGK) [36] model that features a single-relaxation-time (SRT) approximation for the collision operator. However, it has been shown that using the SRT leads to a nonphysical viscosity dependence of boundary locations and also suffers from poor stability properties [37, 38]. Here, we use the TRT collision operator in which the relaxation time of the symmetric and anti-symmetric components of the distribution function are separated. For an in-depth discussion of the TRT model, we refer to [3941]. As proposed by Ginzburg [39], the TRT model uses two relaxation rates \(\omega ^+\) and \(\omega ^-\) where \(\omega ^+\) is used for even order moments, and \(\omega ^-\) is used for odd order moments

$$\begin{aligned} \mathbf {\Omega }(\mathbf {x}, t) = - \omega ^+ \left( \mathbf {f}^+(\mathbf {x}, t) - \mathbf {f}^{eq,+}(\mathbf {x}, t) \right) - \omega ^- \left( \mathbf {f}^-(\mathbf {x}, t) - \mathbf {f}^{eq,-}(\mathbf {x}, t) \right) , \end{aligned}$$
(3)

and

$$\begin{aligned} f_k^+= \frac{f_k + f_{\bar{k}}}{2} \ \ , \ \ f_k^-= \frac{f_k - f_{\bar{k}}}{2}. \end{aligned}$$
(4)

Here \(\bar{k}\) denotes the opposite direction of the index k in the velocity set. The first eigenvalue is related to the kinematic viscosity as \(1/\omega ^+= 3 \nu +0.5\), and the second eigenvalue \(\omega ^-\) controls the anti-symmetric modes which do not enter in the second order mass and momentum conservation equations, hence, it can be assumed as a free parameter. Due to stability reasons, \( \omega ^-\) has to be selected in (0, 2) [39]. The equilibrium distribution function \(\mathbf {f}^\mathrm{eq}(\mathbf {x}, t_n)\) for incompressible flow is given by [42]

$$\begin{aligned} {f}_k^\mathrm{eq}(\mathbf {x}, t_n) = w_k \left\{ \delta \rho + \rho _0 \left[ c_s^{-2}\mathbf {e}_k \cdot \mathbf {u} +\tfrac{1}{2} c_s^{-4}(\mathbf {e}_k \cdot \mathbf {u})^2 - \tfrac{1}{2} c_s^{-2}\mathbf {u} \cdot \mathbf {u} \right] \right\} , \end{aligned}$$
(5)

where \(w_k\) is a set of weights normalized to unity, \(\rho = \rho _0 + \delta \rho \). Here \(\delta \rho \) is the density fluctuation, and \(\rho _0\) is the mean density which we set to \(\rho _0=1\). \(c_s = \varDelta x/(\sqrt{3} \varDelta t)\) is the lattice speed of sound, while \(\varDelta x\) denotes the lattice cell width. The macroscopic values of density \(\rho \) and velocity \(\mathbf {u}\) can be calculated from \(\mathbf {f}\) as zeroth and first order moments with respect to the particle velocity, i.e.,

$$\begin{aligned} \rho = \sum \nolimits _{k=0}^{18} f_k, \qquad \mathbf {u} = \rho _0^{-1} \sum \nolimits _{k=0}^{18} \mathbf {e}_k f_k. \end{aligned}$$
(6)

In a lattice Boltzmann scheme, we typically split the computation into a collision and a streaming step that are given as

$$\begin{aligned} \tilde{f}_k(\mathbf {x}, t_n) - f_k(\mathbf {x}, t_n)&= \mathbf {\Omega }(\mathbf {x}, t) + F_k \varDelta t, \end{aligned}$$
(collision)
$$\begin{aligned} f_k(\mathbf {x}+\mathbf {e}_k\varDelta t, t_{n+1})&= \tilde{f}_k(\mathbf {x}, t_n), \end{aligned}$$
(streaming)

respectively, for \(k=0,\dots ,18\). The execution order of these two steps is arbitrary and may vary from code to code for implementation reasons.

In addition, for linear steady flow, it has been demonstrated [40] that most of the macroscopic errors/quantities of the TRT depend on \(\varLambda = \left( \frac{1}{\omega ^+} - \frac{1}{2}\right) \left( \frac{1}{\omega ^-} - \frac{1}{2}\right) \) the so-called magic parameter that includes the spatial error, stability, best advection and diffusion. The choice \(\varLambda = \frac{1}{4}\) is suggested as a suitable value for porous media simulations. Another choice, namely \(\varLambda = \frac{3}{16}\), yields the exact location of bounce-back walls in case of Poiseuille flow in a straight channel [40, 43].

2.2 Boundary Conditions

In this study, two types of boundary conditions are used for the pore-scale simulation. The first one is a no-slip wall condition and the second one is a periodic pressure forcing that is applied to drive the flow by a pressure gradient. The simplest scheme to imply no-slip boundary conditions in lattice Boltzmann is the simple bounce-back (SBB) operator. In this scheme, the wall location is represented by a staircase approximation, and the no-slip boundary is satisfied by the bounce-back phenomenon of a particle reflecting its momentum upon collision with a wall. Hence, the unknown distribution function is calculated as:

$$\begin{aligned} f_{\bar{k}}(x_{f_1}, t_{n+1})= \tilde{f}_k(x_{f_1},t_n). \end{aligned}$$
(7)

where we take the values \(\widetilde{f}_k\) after collision but before streaming on the right hand side. However, the staircase approximation is not appropriate for complex geometries where more accurate results are required even for a low resolution of the boundary. Hence, the central linear interpolation (CLI) scheme which yields a higher accuracy at moderately increased computational cost is our preferred choice.

In the CLI scheme [40] three particle distribution functions are needed at two fluid nodes adjacent to the solid node, i.e.,

$$\begin{aligned} f_{\bar{k}} (x_{f_1}, t_{n+1})= \tfrac{1-2q}{1+2q} \tilde{f}_k(x_{f_2},t_n) - \tfrac{1-2q}{1+2q} \tilde{f}_{\bar{k}}(x_{f_1},t_n) + \tilde{f}_k(x_{f_1},t_n). \end{aligned}$$
(8)

while \(q=|x_{f_1}-x_w|/|x_{f_1}-x_b|\) defines a normalized distance of the first fluid node to the wall. \(x_{f_1}\) and \(x_{f_2}\) are the first and second fluid neighbor cells in the direction of \(\bar{k}\), respectively. We use the value \(\varLambda = \frac{3}{16}\) for which the CLI scheme is of second order accuracy [43].

3 Large Scale Simulations

In this study, we use the waLBerla software framework [24, 44] that provides a highly optimized implementation of the TRT model that is about as fast as the SRT model. We refer to [45], where scalability of waLBerla to more than \(10^{12}\) lattice cells and almost 500 000 cores has been demonstrated. Compared to previous investigations, e.g., [45], we show results for the CLI scheme, which, in contrast to the SBB scheme requires data exchange with two layers of neighboring fluid cells. In waLBerla, this situation is handled by extra ghost-layer exchanges, i.e., by communicating an extended set of distribution functions to neighboring processors. This results in an additional communication in case of massively parallel simulation runs.

To demonstrate the parallel scalability and efficiency of the waLBerla framework in the context of a porous media simulation, we first perform a weak-scaling study. Here we use a lattice of \(151^3\) cells per core and embed into this grid a sphere with a diameter of 90 lattice length. The results have been obtained on the LIMA cluster at RRZEFootnote 1 which has 500 compute nodes. Each node consists of two Intel Xeon 5650 “Westmere" chips so that each node has 12 cores running at 2.66 GHz. We conduct scalability tests ranging from one node to 64 nodes. This setup results in \(2.64\times 10^9\) cells for the largest run including 768 spherical obstacles. Figure 1(a) displays the weak-scaling results using the TRT kernel. Figure 1(a) shows the mega lattice updates per second (MLUPS) for the SBB and CLI boundary schemes. The results do not only confirm that the code scales very well, but also that the MLUPS count per core compares favorably with other state of the art LBM implementations [4648].

We point out that achieving a good scaling behavior becomes more challenging when the node performance is already high, but that a high performance on each node is a fundamental prerequisite for achieving good overall performance. Thanks to both, the meticulously optimized waLBerla kernels on each node, combined with the carefully designed communication routines, the MLUPS value per core is high and stays nearly constant while the number of cores is increased. Note that the CLI boundary conditions causes a slowdown of about 10 % in comparison to the SBB boundary condition, which is the fastest scheme. Figure 1(b) displays the percentage of the total time spent for the MPI communication, the percentage of the total time which is spent by the streaming and the collision step, and the time for the boundary handling. The slowdown of the performance while using the CLI is due to the additional time that is needed for the communication and the higher complexity of the boundary condition compared to SBB. Although, the boundary handling of the CLI scheme also takes a little bit more time than the SBB, the higher accuracy of the CLI compared to the SBB allows in complex application to use a coarser resolution of the simulation domain.

Fig. 1.
figure 1

Weak scaling on LIMA-Cluster using \(151^3\) cells per core, (a) measured MLUPS per core, (b) percentage of total time spent for MPI communication, streaming step and the TRT kernel computation, and the boundary handling step.

3.1 Pore-Scale Simulation with a Porous Medium Generated by a Particle Simulation

To construct a porous structure, we use the in-house multi-body dynamics framework PE [23]. The PE can simulate the motion of rigid bodies and their interaction by frictional collisions. Here we use this functionality to generate a random sphere packing by letting random spheres fall into the simulation domain from the top. After the spheres have come to a rest, their position is fixed and their geometry defines the solid matrix of a porous structure. The pore space is then resolved by a lattice Boltzmann grid.

The particles have different sizes and their radius is uniformly distributed in a range \([0.5 D_m, 1.5 D_m]\) where the parameter \(D_m\) denotes a mean diameter. For the fluid flow simulation using the LBM, the TRT collision operator and the CLI solid boundary condition are used. This combination is fast, has second order accuracy, and shows no viscosity-dependency.

First, we test the influence of the cell size on the averaged stream-wise velocity. To do so we increase the diameter D of the spheres from 4 to 48 and keep \(Re_D = \frac{U_\mathrm{max} D}{\nu }\) constant. The domain has two walls at the top and bottom, and periodic boundary conditions are applied at stream-wise and span-wise directions. A constant pressure drop drives the flow, and the data are set such that \(Re_D \simeq 2\). The simulation result is presented as a planar average of the stream-wise velocity in Fig. 2 while it is normalized using the maximum velocity and the height of the channel as a reference value. The results show that beyond \(D=32\) (lattice cells) a further increase of the resolution does not significantly change the results. It is worth to note that in the porous region a coarse lattice can be used and that only the transient region requires a higher resolution.

Fig. 2.
figure 2

Planar average stream-wise velocity for different grid sizes, \(Re_D \simeq 2\).

Figure 3(b) shows the planar average stream-wise velocity for different Re numbers. To change the Re number, the viscosity and particles diameter are kept constant while the pressure gradient is changed to adjust the flow velocity. The results show that for slow flow, the velocity in the porous region is considerably higher than for fast flow. When the Re number of the flow increases, the position of the maximum velocity shifts toward to the top wall. This phenomena is due to the boundary layer effect; when the flow velocity is high in the free flow, the penetration to the porous region is less, therefore, the position of the maximum velocity changes.

Fig. 3.
figure 3

Flow over mono-sized particles for different Re numbers.

In Fig. 3(b), we observe a small deviation in the velocity profile close to the bottom wall in the porous region. This is because of the high porosity close to the wall, where the spherical particles are in contact with a flat plane, see Fig. 3(a). Consequently a higher permeability can be found in this region, and the flow will accelerate because the resistance against the pressure difference is lower than in the interior of the porous medium. Therefore, to evaluate the existing models without this effect and having a more uniform porosity in the porous region, a different set-up structure is chosen. The bottom plate of the particle simulation is placed about one particle size below the bottom wall of the fluid flow simulation. With this structure the porosity does not have the effect of placing a sphere on the wall, and therefore we create an approximately uniform permeability distribution in the porous medium.

Fig. 4.
figure 4

pore-scale simulation of free flow over porous media.

The results of this pore-scale simulation are taken as a reference solution. Here, we use 1274 particles with radius in the range of 16–48 cells. The flow is driven by a pressure difference of \(10^{-6}\) (in lattice units), and the simulation is run until the flow reaches the steady state. The planar average of the stream-wise velocity is depicted in Fig. 4.

3.2 Evaluation of Different Interface Conditions

In this subsection, we evaluate different two-domain approaches. All interface conditions under consideration have parameters for which no explicit relation is known. In the BJ and BJS models, the slip coefficient, \(\alpha \), is unknown, while in the OTW model, the jump coefficient \(\beta \) and the effective viscosity \(\mu _\mathrm{eff}\) are unknown and in the Br model, the effective viscosity \(\mu _\mathrm{eff}\) is unknown.

By using the DNS solution, we calculate the optimal value for the unknown parameters. The domain that is used is a channel which is periodic in stream-wise and span-wise directions (Fig. 5). A free fluid flows on the top of a porous media. To make the comparison independent of the setup, all of the flow properties are non-dimensionalized.

Fig. 5.
figure 5

Schematic of the simulation domain and averaged velocity profile in the open and porous regions.

The value of the interface velocity \(U_\mathrm{int}\), can be directly obtained from the averaged velocity profile of the DNS. In order to obtain the velocity gradient on the free flow and porous sides, curve fitting techniques are used to approximate the velocity profile close to the interface. The velocity profile on the free flow side can be well approximated by a polynomial curve and on the porous side, the velocity profile can be approximated by an exponential curve. Permeability and seepage velocity (Darcy velocity) can be calculated from the velocity profile far from the interface in the porous medium. Given this, the unknown variables can be calculated from the Eqs. (BJ), (BJS) and (OTW). However, to do so, the exact position of the interface should be defined which in real applications is nearly impossible.

To find out how the additional parameters of the interface conditions affect the results, a two-domain approach is chosen and the equations are solved analytically. For the free flow region, the Stokes equation is used and for the porous region, the Brinkman equation is chosen. The permeability is calculated from the DNS result far enough from the interface inside the porous region. In Fig. 6, we depict the planar average stream-wise velocity which is normalized based on the maximum velocity in the DNS solution.

Fig. 6.
figure 6

Analytical solution for the velocity profile, which is normalized by the maximum velocity of the DNS solution, by different interface models.

As it can be seen in Fig. 6(a), in the Brinkman model by increasing the viscosity ratio, \(J=\frac{\mu _\mathrm{eff}}{\mu }\), the maximum velocity decreases and produces a discontinuity in the shear stress over the interface. In the OTW model (Fig. 6(b)), negative values of \(\beta \) do not influence the result significantly, however, positive values of \(\beta \) have a strong impact on the maximum velocity as well as on the slip velocity on the interface. Figure 6(c, d) show the results for the BJ and the BJS interface conditions. It can be observed that there is almost no difference between these two models for low Re number flows. In both these cases, the maximum velocity decreases if \(\alpha \) increases. A small value of \(\alpha \) results in a considerably larger maximal velocity than in the two other cases.

Quite often two-domain models result in discontinuities in the stress at the interface. Thus the a priori knowledge of the position of the interface is crucial. One possibility to fix the position of the interface is to take the location where the porosity reaches the limit value one, i.e., \(y=0.756\). However fitting of the DNS velocity profile shows that only up to \(y=0.722\), the curve is fitted well by an exponential function. More precisely, \(u(h) = 0.48423 \cdot \exp (0.31195\,h) - 0.48236 \cdot \exp (0.3131\, h)\) yields a root mean squared error of \(5.736 \cdot 10^{-6}\). The pure fluid flow velocity profile is fitted to a 2nd order polynomial resulting in \(u(h) = (1.9593 e-3) + (2.78421 e-4)h - (4.48066 e-6)h^2\) with a root mean squared error of \(9.5815 \cdot 10^{-6}\). This observation motivates an alternative choice of the interface position where the corresponding governing equations will be fulfilled. Calculating the slip coefficient and the jump coefficient for these two positions, we find for \(y=0.756\), \(\alpha =0.3163\), \(\beta =-2.8397\) and for \(y=0.722\), \(\alpha =0.31645\) and \(\beta =-2.8397\). However, as it can be seen in Fig. 7, even with the parameters which are extracted from the DNS results, the considered two-domain approaches cannot represent accurately the DNS solution. Comparing Fig. 7(a, b) shows that the two-domain approaches depend strongly on the interface position and more sophisticated criteria for defining the interface location are required to obtain better matching results.

Fig. 7.
figure 7

Normalized velocity profile of the one-domain approaches in compare to the DNS solution; (a) interface at y = 0.756, (b) interface at y = 0.722.

4 Comparsion of a Homogenized LBM with the Pore-Scale LB Simulation

Different models for isothermal incompressible fluid flow in porous media are proposed by several groups. In this work, we use the generalized lattice Boltzmann model (GLBM) for porous media introduced in [35], which is applicable for a medium with both a constant and a variable porosity. The model can be expressed by the following generalized Navier-Stokes equation:

$$\begin{aligned} \nabla \cdot \mathbf {u}=0 \end{aligned}$$
(9)
$$\begin{aligned} \frac{\partial \mathbf {u}}{\partial t} + \left( \mathbf {u} \cdot \nabla \right) \left( \frac{\mathbf {u}}{\epsilon }\right) = - \frac{1}{\rho } \nabla \left( \epsilon p \right) + \nu _\mathrm{eff} \nabla ^2 \mathbf {u} + \mathbf {F}, \end{aligned}$$
(10)

where \(\rho \) is the fluid density, \( \mathbf u \) and p are the volume-averaged velocity and pressure, respectively, \(\nu _\mathrm{eff}\) is the effective viscosity, and \( \epsilon \) is the porosity. The total body force \(\mathbf F \) caused by the presence of a porous medium and other external force fields is given by

$$\begin{aligned} \mathbf {F}= - \frac{\epsilon \nu }{K}\mathbf {u} - \frac{\epsilon c_F }{\sqrt{K}} | \mathbf {u} | \mathbf {u} + \epsilon \mathbf {G}, \end{aligned}$$
(11)

where \(\nu \) is the shear viscosity of the fluid that is not necessarily the same as \(\nu _\mathrm{eff}\), \(\mathbf G \) is the body force induced by an external force, \(c_F\) is the Forchheimer coefficient that depends on the porous structure, and K is the permeability of the porous media. The first and the second terms on the right hand side of Eq. (11) are the linear Darcy and non-linear Forchheimer drags due to the porous medium, respectively. The quadratic nature of the non-linear resistance makes it negligible for low-speed flows, but is more noteworthy in hindering the fluid motion for high-speed flows, i.e., high Re number and high Da number flows.

The GLBM considers Eq. (11) as a source term in Eq. (2) and also modifies the equilibrium distribution function (Eq. (5)) based on the porosity. The detailed formulation can be found in [35].

Firstly to validate the generalized model for flow over a porous medium, we choose a simple Couette flow. The lower-half of the channel of width H is filled with a porous medium with a porosity of \( \epsilon \), the stream-wise and span-wise boundaries are periodic, and the top wall of the channel is moving with a constant velocity of \(u_0\). Then, the steady state velocity in this channel satisfies

$$\begin{aligned} \nu _\mathrm{eff} \nabla ^2 \mathbf {u} - \frac{\epsilon \nu }{K}\mathbf {u} - \frac{\epsilon c_F }{\sqrt{K}} | \mathbf {u} | \mathbf {u} + \epsilon \mathbf {G} = 0, \end{aligned}$$
(12)

while the walls of the channel are modeled by a no-slip condition.

Fig. 8.
figure 8

Velocity profile of the Couette flow for different viscosity ratios \(J=\mu _e/\mu \), in comparison with the approximate analytical solution of Eq. (13), (a) global system; (b) zoom into the region near the interface

Figure 8 shows the velocity profile for the Couette flow with different viscosity ratios J (\(=\mu _e/\mu \)) and compared to a semi-analytical solution for \(Re=0.1\) and \(Da=0.00012\). In the Stokes regime for a low Da number, [18] reported that the velocity profile in the free flow is linear and exponentially decaying in the porous region. More precisely the semi-analytic solution can be written as:

$$\begin{aligned} u_x(y) = {\left\{ \begin{array}{ll} rKa + \epsilon a \left( y - H/2 \right) &{}\quad {H/2 \le y \le H}\\ rKa e^{r(y-H/2)} &{} \quad {0 \le y \le H/2} \end{array}\right. } \end{aligned}$$
(13)

where

$$\begin{aligned} a= \frac{2 u_0}{2rK+\epsilon H}, \quad r= \frac{\sqrt{ \nu \epsilon }}{\sqrt{ \nu _\mathrm{eff} k}}, \end{aligned}$$
(14)

and \( u_0\) is the lid’s velocity. The simulation result shows excellent agreement with the analytical solution for both viscosity ratios.

Secondly, we apply the generalized model to a problem with no sharp interface and a significant porosity change close to the interface. We use the planar average of the porosity as it is obtained in the DNS, therefore, there is no need to explicitly set the interface position. Since the flow is within the Stokes regime, the Forchheimer term in Eq. (11) is neglected.

Fig. 9.
figure 9

A comparison between the planar average of the stream-wise velocity obtained by DNS and the homogenized model, \(Re_D \simeq 2\).

Figure 9 shows the results of the planar average stream-wise velocity for the DNS solution and the GLBM. Although the porosity, permeability, fluid properties and driving forces are the same, the standard GLBM homogenized model over-predicts the velocity in the transition zone. The dashed line shows the homogenized model that only takes the Darcy force into account. These two mentioned homogenized models use a viscosity in the porous region which is equal to the free flow region. We propose to use the GLBM homogenized model but with a viscosity in the porous region depending on the porosity by \(\mu _\mathrm{eff} = {\mu }/{\epsilon }\). As we can observe in the porous region, the latter model can perfectly predict the DNS result.

5 Conclusion

We presented three different approaches to simulate the interaction of free flow with porous media flow, namely, direct pore-scale simulations, as well as homogenized single-domain and two-domains approaches. The lattice Boltzmann method is employed both, for obtaining the pore-scale reference solution, and for solving the computationally more appealing homogenized problems.

For the two-domain approaches, four different interface conditions for dealing with the physical transport through a sharp interface have been evaluated. Our comparison yields that the two-domain techniques are quite sensitive to the interface position. To further investigate this effect, we examined two definitions for the interface position, i.e., the exact and the apparent position assumptions. However, as our results indicate, both approaches fall short with respect to accuracy in the vicinity of the interface if the exact interface geometry is unknown. As an alternative approach we consider a homogenized one-domain model that is based on the idea of a smooth transition zone between the free flow and porous media models. A simple porosity-dependent rescaling of the viscosity allows us to accurately reproduce the results obtained by averaging the pore-scale solution.

In future work we aim to investigate the combination of both approaches to allow for the treatment of more general situations in a two-scale fashion. Since the discussed lattice Boltzmann schemes are suitable for REV-scale computations, and are also highly scalable for pore-scale simulations, they lend themselves well for leveraging the power of massively parallel computing architectures.