Keywords

1 Introduction

Coupled free-flow and porous-medium flow problems appear routinely in science and engineering, e.g., interaction between surface and groundwater, water-gas management in fuel cells, industrial filtration, etc. The most widely studied problem in the literature is the Stokes–Darcy problem for coupled single-fluid-phase flows with different sets of interface conditions on the fluid–porous interface, see e.g., [1, 10, 11, 13]. Solving such coupled flow problems in a monolithic way is challenging because the system of linear equations arising from discretisation is ill-conditioned. However, for validation purposes, the monolithic approach is the method of choice. Thus, proper preconditioning techniques are needed.

The Stokes–Darcy problem with the classical set of interface conditions (conservation of mass, balance of normal forces, the Beavers–Joseph–Saffman condition on the tangential velocity) has been well-studied in the last two decades. Several preconditioning strategies have been developed recently for this problem, e.g., [4, 6,7,8, 12, 15]. However, the Beavers–Joseph–Saffman condition [2] is only applicable for flows parallel to the fluid–porous interface. That restricts the amount of applications which can be accurately modelled. Recently, generalised coupling conditions suitable for arbitrary flow directions have been proposed in [11]. The purpose of this work is to develop robust and efficient preconditioners for the Stokes–Darcy problem with these generalised interface conditions and with the Beavers–Joseph condition without Saffman simplification.

Discretisation of the Stokes–Darcy problem leads to a saddle-point type matrix. Therefore, we adjust preconditioning techniques developed for saddle-point systems [3, 5]. We extend the results available in literature [4, 7, 8, 12] and propose three different preconditioners for the Stokes–Darcy problem with the Beavers–Joseph and the generalised interface conditions: block diagonal, block triangular and constraint preconditioners. We study the effectiveness and robustness of these preconditioners and provide numerical simulation results.

The paper is organised as follows. In Sect. 2, we describe the coupled Stokes–Darcy problem. In Sect. 3, we briefly describe the discretisation scheme and propose three different preconditioners for the discrete problem. The benchmark problem and the numerical simulations results are presented in Sect. 4. Conclusions and future work follow in Sect. 5.

2 Problem Formulation

The coupled domain \(\varOmega = \varOmega _{\textrm{pm}} \cup \varOmega _{\textrm{ff}}\) consists of the free-flow region \(\varOmega _{\textrm{ff}}\) and the porous-medium domain \(\varOmega _{\textrm{pm}}\) coupled at the sharp fluid–porous interface \(\varGamma \) (Fig. 1). In this paper, we restrict ourselves to a two-dimensional setting. We consider a steady-state, single-phase flow of an incompressible and isothermal fluid at low Reynolds numbers (\(Re \ll 1)\). The solid phase is supposed to be nondeformable and rigid leading to a constant porosity.

Fig. 1
figure 1

Flow system description

The fluid flow in the free-flow domain \(\varOmega _{\textrm{ff}}\) is described by the Stokes equations

$$\begin{aligned} \nabla \cdot {\textbf {v}}_{\textrm{ff}} = 0, \qquad - \nabla \cdot {\textbf {T}}({\textbf {v}}_{\textrm{ff}},p_{\textrm{ff}}) = {\textbf {0}} \qquad&\text {in} \; \; \varOmega _{\textrm{ff}}, \end{aligned}$$
(1)

where \({\textbf {v}}_{\textrm{ff}}\) is the fluid velocity, \(p_{\textrm{ff}}\) is the fluid pressure, \({\textbf {T}}\left( {\textbf {v}}_{\textrm{ff}},p_{\textrm{ff}}\right) = \mu \nabla {\textbf {v}}_{\textrm{ff}}-p_{\textrm{ff}} {\textbf {I}}\) is the nonsymmetric stress tensor, \(\mu \) is the dynamic viscosity, and \({\textbf {I}}\) is the identity tensor.

Fluid flow in the porous medium is described by Darcy’s law

$$\begin{aligned} \nabla \cdot {\textbf {v}}_{\textrm{pm}} = 0, \qquad {\textbf {v}}_{\textrm{pm}} = - \frac{{\textbf {K}}}{\mu }\nabla p_{\textrm{pm}}&\qquad \text {in} \; \; \varOmega _{\textrm{pm}}, \end{aligned}$$
(2)

where K is the intrinsic permeability tensor, which is symmetric, positive definite, and bounded.

Equations (1) and (2) are of different types. To couple them on the interface \(\varGamma \), various sets of interface conditions have been proposed in the literature. In this paper, we consider the classical set of coupling conditions which are valid for parallel flows to the interface as well as generalised conditions which have been recently developed in [11] and are applicable to arbitrary flows.

The following coupling conditions—the conservation of mass across the interface (3), the balance of normal forces (4) and the Beavers–Joseph condition (5) on the tangential velocity [2]—are typically used in the literature

$$\begin{aligned} {\textbf {v}}_{\textrm{ff}} \cdot {\textbf {n}}&= {\textbf {v}}_{\textrm{pm}} \cdot {\textbf {n}}\qquad{} & {} \text {on } \varGamma , \end{aligned}$$
(3)
$$\begin{aligned} -{\textbf {n}} \cdot {\textbf {T}}\left( {\textbf {v}}_{\textrm{ff}}, p_{\textrm{ff}}\right) {\textbf {n}}&= p_\textrm{pm} \qquad{} & {} \text {on } \varGamma ,\end{aligned}$$
(4)
$$\begin{aligned} \left( {\textbf {v}}_{\textrm{ff}}-{\textbf {v}}_{\textrm{pm}}\right) \cdot \boldsymbol{\tau }-\frac{\sqrt{K}}{\alpha _{\textrm{BJ}}}\left( \nabla {\textbf {v}}_{\textrm{ff}} \, \textbf{n}\right) \cdot \boldsymbol{\tau }&=0 \qquad{} & {} \text {on }\varGamma . \end{aligned}$$
(5)

Here, \({\textbf {n}} = - {\textbf {n}}_{\textrm{ff}} = {\textbf {n}}_{\textrm{pm}}\) is the unit vector normal to the fluid–porous interface \(\varGamma \) pointing outwards from the porous-medium domain \(\varOmega _{\textrm{pm}}\), \(\boldsymbol{\tau }\) is the unit vector tangential to the interface (Fig. 1), \(\alpha _\textrm{BJ}>0\) is the Beavers–Joseph slip coefficient, and \(\sqrt{K}= \sqrt{\boldsymbol{\tau } \cdot {\textbf {K}} \boldsymbol{\tau }}\).

The generalised coupling conditions consist of the conservation of mass (3), an extension of the balance of normal forces (6) and a generalisation of the Beavers–Joseph condition (7):

$$\begin{aligned} -\textbf{n} \cdot \textbf{T}\left( \textbf{v}_{\textrm{ff}}, p_{\textrm{ff}}\right) \textbf{n}-\mu N_s^{\textrm{bl}} \left( \nabla \textbf{v}_{\textrm{ff}}\, \textbf{n}\right) \cdot \boldsymbol{\tau }&= p_{\textrm{pm}} \quad{} & {} \text{ on } \varGamma , \end{aligned}$$
(6)
$$\begin{aligned} \left( \textbf{v}_{\textrm{ff}} - \textbf{v}_{\textrm{pm}}^{\textrm{int}}\right) \cdot \boldsymbol{\tau } - \varepsilon \left( \textbf{N}^{\textrm{bl}} \cdot \boldsymbol{\tau }\right) \left( \nabla \textbf{v}_{\textrm{ff}}\, \textbf{n}\right) \cdot \boldsymbol{\tau }&= 0 \quad{} & {} \text{ on } \varGamma . \end{aligned}$$
(7)

Here, the interfacial velocity is defined as

$$ \textbf{v}_{\textrm{pm}}^{\textrm{int}} = -\frac{\varepsilon ^2 {\textbf {M}}^{\textrm{bl}}}{\mu } \nabla p_{\textrm{pm}}, $$

and the boundary layer coefficients \(N_s^{\textrm{bl}} \in \mathbb {R}\), \(\textbf{N}^{\textrm{bl}} = (N_1^{\textrm{bl}}, N_2^{\textrm{bl}})^\top \in \mathbb {R}^2\) and \({\textbf {M}}^{\textrm{bl}} = ({\textbf {M}}^{j,\textrm{bl}}_i)_{i,j=1,2}\in \mathbb {R}^{2 \times 2}\) are computed numerically based on the theory of homogenisation and boundary layers [11].

3 Discretisation and Preconditioners

The coupled Stokes–Darcy problems (1)–(5) and  (1)–(3), (6), (7) are discretised using the finite volume method on staggered grids (MAC scheme) [16]. The resulting systems of linear equations are of the form

$$\begin{aligned} \mathcal {A} {\textbf {x}} = {\textbf {b}}, \qquad \mathcal {A} \in \{\mathcal {A}_{\textrm{BJ}}, \, \mathcal {A}_{\textrm{ER}}\}, \qquad {\textbf {x}} = ({\textbf {v}}_{\textrm{ff}}, p_{\textrm{ff}}, p_{\textrm{pm}})^{\top }, \end{aligned}$$
(8)

where \(\mathcal {A}_{\textrm{BJ}}\) corresponds to the discretised Stokes–Darcy problem with the classical coupling conditions (3)–(5) including the Beavers–Joseph condition and \(\mathcal {A}_{\textrm{ER}}\) corresponds to the generalised coupling conditions (3), (6), (7) derived in [11]. Both matrices are large, sparse and ill-conditioned.

While the discrete coupled Stokes–Darcy equations are of the more favourable double saddle point form for the Beavers–Joseph–Saffman interface condition [4, 7, 8], the matrices \(\mathcal {A}_{\textrm{BJ}}\) and \(\mathcal {A}_{\textrm{ER}}\) are nonsymmetric:

$$\begin{aligned} \mathcal {A}_{\textrm{BJ}} = \left( \begin{array}{ccc} A_{\textrm{BJ}} &{} B_{\textrm{BJ},2}^\top &{} C_{\textrm{BJ},2}^\top \\ B_{\textrm{BJ},1} &{} 0 &{} 0 \\ C_{\textrm{BJ},1} &{} 0 &{} -D_{\textrm{BJ}} \end{array}\right) , \qquad \mathcal {A}_{\textrm{ER}} = \left( \begin{array}{ccc} A_{\textrm{ER}} &{} B_{\textrm{ER},2}^\top &{} C_{\textrm{ER},2}^\top \\ B_{\textrm{ER},1} &{} 0 &{} 0 \\ C_{\textrm{ER},1} &{} 0 &{} -D_{\textrm{ER}} \end{array}\right) . \end{aligned}$$
(9)

To solve system (8) efficiently, we use flexible GMRES [14, Chap. 9.4.1]. For this algorithm, we have to use the right preconditioning

$$\begin{aligned} \mathcal {A}\mathcal {P}^{-1} \overline{{\textbf {x}}} = {\textbf {b}},\qquad \overline{{\textbf {x}}}= \mathcal {P}{} {\textbf {x}}. \end{aligned}$$
(10)

We consider the block diagonal preconditioner

$$\begin{aligned} \mathcal {P}_{\textrm{diag}} = \left( \begin{array}{ccc} A &{} 0 &{} 0 \\ 0 &{} S_B &{} 0 \\ 0 &{} 0 &{} -\left( D + \sigma \, C_1 A^{-1} C_2^{\top }\right) \end{array}\right) \end{aligned}$$
(11)

based on the preconditioner developed in [7], the block triangular preconditioner

$$\begin{aligned} \mathcal {P}_{\textrm{triang}} = \left( \begin{array}{ccc} A &{} B_2^\top &{} 0 \\ 0 &{} -S_B &{} 0\\ 0 &{} 0 &{} -\left( D + \sigma \, C_1 A^{-1} C_2^{\top }\right) \end{array}\right) \end{aligned}$$
(12)

based on [3] and the constraint preconditioner

$$\begin{aligned} \mathcal {P}_{\text {con}} = \left( \begin{array}{ccc} A &{} B_2^\top &{} 0 \\ B_1 &{} 0 &{} 0 \\ 0 &{} 0 &{} -\left( D + \sigma \, C_1 A^{-1} C_2^{\top }\right) \end{array}\right) \end{aligned}$$
(13)

based on [4, 8]. Here, \(S_B:= B_1A^{-1}B_2^\top \) is the Schur complement, \(A\in \{A_{\textrm{BJ}},A_{\textrm{ER}}\}\), \(B_i \in \{B_{\textrm{BJ},i},B_{\textrm{ER},i}\}, \, C_i \in \{C_{\textrm{BJ},i},C_{\textrm{ER},i}\}\), for \(i = 1,2\), and \(D \in \{D_{\textrm{BJ}},D_{\textrm{ER}}\}\). The constant \(\sigma \ge 0\) is fitted for each problem formulation.

4 Numerical Results

4.1 Benchmark Model

We study a flow scenario where the flow is arbitrary to the fluid–porous interface \(\varGamma \). The coupled domain is divided into the free-flow region \(\varOmega _{\textrm{ff}} = (0, 1) \times (0, 0.5)\) and the porous-medium domain \(\varOmega _{\textrm{pm}} = (0, 1) \times (0, -0.5)\) that are separated by the interface \(\varGamma = (0, 1) \times \{0\}\). To get a closed model, the following boundary conditions are implemented on the external boundary,

$$\begin{aligned} \begin{array}{rll} \mu (\nabla {\textbf {v}} - p {\textbf {I}}) {\textbf {n}} &{}= 0 &{}\qquad \text { on } \varGamma _{\textrm{out}},\\ \mu (\nabla {\textbf {v}} - p {\textbf {I}}) {\textbf {n}} &{}= -p_b{\textbf {n}} &{}\qquad \text { on } \{y=-0.5\},\\ {\textbf {v}} &{}= {\textbf {0}} &{}\qquad \text { on } \varGamma _{\textrm{wall}},\\ {\textbf {v}} &{}= (0,-0.2\text {sin}(\pi x)) &{}\qquad \text { on } \varGamma _{\textrm{in}}, \end{array} \end{aligned}$$
(14)

for \(\varGamma _{\textrm{out}}= \{x=0\} \times (0,0.1) \cup \{x=1\} \times (0,0.5)\), \(\varGamma _{\textrm{in}} = \{y= 0.5\}\), \(\varGamma _{\textrm{wall}} = (\{x=0\} \cup \{x=1\})\backslash \varGamma _{\textrm{out}}\) and \(p_b=10^{-6}-x\) (Fig. 2). Due to the flow being arbitrary to the fluid–porous interface \(\varGamma \), the Beavers–Joseph coupling conditions (3)–(5) are not suitable and the generalised coupling conditions (3), (6), (7) are recommended.

Fig. 2
figure 2

Flow problem for the numerical results

We consider an isotropic porous medium constructed by periodically distributed circular solid inclusions of radius \(r= 0.25 \varepsilon \), where \(\varepsilon \) is the scale separation parameter. The permeability \(k_{11}\) and the boundary layer constants \(M_1^{1,\textrm{bl}}\) and \(N_1^{\textrm{bl}}\) from the generalised coupling conditions (3), (6), (7) corresponding to the considered geometry are given in Fig. 3. The permeability \(k_{11}\) and the boundary layer constant \(M_1^{1,\textrm{bl}}\) have to be scaled by \(\varepsilon ^2\).

Fig. 3
figure 3

Permeability \(k_{11}\) and boundary layer constants \(M_1^{1,\textrm{bl}}\) and \(N_1^{\textrm{bl}}\) of the geometry

4.2 Robustness and Efficiency Analysis

To show the robustness and efficiency of the exact versions of the preconditioners \(\mathcal {P}_{\textrm{diag}}\) given in (11), \(\mathcal {P}_{\textrm{triang}}\) given in (12), and \(\mathcal {P}_{\textrm{con}}\) given in (13) we consider three different values for the viscosity \(\mu \in \{10^{-5},\, 10^{-3}, \, 1\}\) and two different scale separation parameters \(\varepsilon \in \{1/20, \, 1/200\}\) which yields different permeability tensors \({\textbf {K}} = k_{11} {\textbf {I}}\) and different boundary layer constants \(M_1^{1,\textrm{bl}}\). We consider the grid width \(h=1/80\) and set \(\alpha _{\textrm{BJ}} = 1\) for the Beaver–Joseph coupling condition (5) as routinely used in the literature. We fit the parameter \(\sigma \) by determining the optimal \(\sigma \in \{0,\, 1, \dots , 10\}\) using a brute-force search. The Stokes–Darcy problem is discretised using our in-house C++ software. We solve the preconditioned system (8) with the restarted flexible GMRES method using 20 restarts in Matlab. The initial solution \({\textbf {x}}_0\) is the zero vector. The iterations are stopped once \(\Vert \mathcal {A}{} {\textbf {x}}_n - {\textbf {b}}\Vert _2 \le 10^{-8}\Vert {\textbf {b}}\Vert _2\) is reached or after \(n_{\max }=2000\) iteration steps. All computations were carried out on a laptop with an AMD Ryzen™  5 2500U processor and 12.0GB RAM using MATLAB.R2019b. The number of iterations until the flexible GMRES algorithm reaches the given tolerance are displayed in Table 1. In Fig. 4 we plot the relative residuals \(\Vert \mathcal {A}{} {\textbf {x}}_n-{\textbf {b}}\Vert _2/\Vert \mathcal {A}{} {\textbf {x}}_0-{\textbf {b}}\Vert _2\) against the number of iterations n for \(\varepsilon = 1/20\) and \(\mu = 10^{-3}\).

Fig. 4
figure 4

Relative residuals for the classical conditions (3)–(5) (left) and the generalised coupling conditions (3), (6), (7) (right)

It can be seen in Fig. 4 that all three preconditioners significantly reduce the number of iteration steps. The needed CPU time to solve problem (8) is decreased using the developed preconditioners. Here, we choose the parameters \(\varepsilon =1/20\) and \(\mu = 10^{-3}\). To solve the nonpreconditioned system in the case of the Beavers–Joseph coupling condition 1207 seconds are needed. The diagonal preconditioner \(\mathcal {P}_{\textrm{diag}}\) reduces the CPU time to 54.01 s, the triangular preconditioner \(\mathcal {P}_{\textrm{triang}}\) needs 52.53 s, and the constraint preconditioner \(\mathcal {P}_{\textrm{con}}\) requires 42.64 s. For the generalised coupling conditions 1413 s are necessary to solve the system without preconditioning. It takes 97.22 s to solve the system with the diagonal, 78.70 s with the triangular and 72.22 s with the constraint preconditioner. Furthermore, all preconditioners show a high robustness with respect to changes in the viscosity \(\mu \), the permeability \(k_{11}\) and the boundary layer constant \(M_1^{1,\textrm{bl}}\) as shown in Table 1. While all preconditioners provide an improvement of the convergence, the constraint-preconditioned system \(\mathcal {A}\mathcal {P}^{-1}_{\textrm{con}}\) needs the fewest number of iteration steps and the smallest CPU time until convergence for every considered case. Therefore, in practical applications the use of \(\mathcal {P}_{\textrm{con}}\) is recommended.

Table 1 Iterations for different values of \(\mu \) and \(\varepsilon \) appearing in \(k_{11}\) and \(M_1^{1,\textrm{bl}}\) in the coupled Stokes–Darcy system with \(h= 1/80\)

5 Conclusions and Future Work

In this paper, we have considered the coupled Stokes–Darcy system with the classical set of interface conditions comprising the Beavers–Joseph coupling condition and with generalised interface conditions that were recently developed for arbitrary flows to the interface. To discretise the coupled problem the MAC scheme was used. We have suggested and evaluated three preconditioners: a block diagonal \(\mathcal {P}_{\textrm{diag}}\), a block triangular \(\mathcal {P}_{\textrm{triang}}\), and a constraint preconditioner \(\mathcal {P}_{\textrm{con}}\). The robustness and efficiency of these preconditioners were shown in numerical experiments for a benchmark model with arbitrary flow to the interface. This work was especially focused on the monolithic solution of the governing coupled system and the development of suitable preconditioners to the latter. In a further step we will compare the efficiency of the monolithic approach to a partitioned coupling one. For the system resulting from the classical conditions this has already been done in a comparative study in [15] where the coupling library preCICE [9] was used for the partitioned case. The incorporation of the generalised coupling conditions into preCICE and a comparison of the solution approaches are part of future work. Furthermore, we strive for applying the preconditioners to systems resulting from real-world scenarios. Therefore, we want to investigate their scalability with respect to both, runtime and memory consumption.