On adaptive BDDC for the flow in heterogeneous porous media
Bed\v{r}ich Soused\'ik

TL;DR
This paper develops an adaptive BDDC method for simulating single-phase flow in heterogeneous porous media, improving computational efficiency through adaptive constraint selection and demonstrating effectiveness on benchmark problems.
Contribution
The paper introduces an adaptive algorithm for selecting flux constraints within BDDC, enhancing solver efficiency for flow in heterogeneous porous media.
Findings
Adaptive BDDC reduces iteration counts significantly.
Numerical upscaling properties observed in the first two steps.
Method performs well on 2D and 3D benchmark problems.
Abstract
We study a method based on Balancing Domain Decomposition by Constraints (BDDC) for a numerical solution of a single-phase flow in heterogenous porous media. The method solves for both flux and pressure variables. The fluxes are resolved in three steps: the coarse solve is followed by subdomain solves and last we look for a divergence-free flux correction and pressures using conjugate gradients with the BDDC preconditioner. Our main contribution is an application of the adaptive algorithm for selection of flux constraints. Performance of the method is illustrated on the benchmark problem from the 10th SPE Comparative Solution Project (SPE 10). Numerical experiments in both 2D and 3D demonstrate that the first two steps of the method exhibit some numerical upscaling properties, and the adaptive preconditioner in the last step allows a significant decrease in number of iterations of…
| type of partitioning | ||||
|---|---|---|---|---|
| 2D | ||||
| regular () | 14 | 580 | 19 | 33 |
| regular () | 132 | 2360 | 236 | 368 |
| irregular A | 16 | 756 | 29 | 70 |
| irregular B | 64 | 1746 | 152 | 315 |
| 3D | ||||
| regular () | 27 | 5400 | 54 | 81 |
| irregular | 32 | 7267 | 129 | 335 |
| layer | irregular A | irregular B | ||||||
|---|---|---|---|---|---|---|---|---|
| () | 11 | 2.790 | 14 | 3.980 | 12 | 3.151 | 14 | 4.050 |
| 1 | 15 | 8.879 | 22 | 9.491 | 17 | 6.714 | 19 | 11.197 |
| 20 | 14 | 5.749 | 19 | 6.926 | 15 | 6.524 | 18 | 6.429 |
| 60 | 162 | 4564.1 | 513 | 26,359.3 | 244 | 11,272.6 | 292 | 7301.7 |
| 85 | 183 | 9310.7 | 446 | 24,492.8 | 208 | 7170.4 | 392 | 58,931.7 |
| 73.21 | 30.55 | 13.586 | 70 | 17 | 6.714 | |
| (ms) | 72.55 | 27.15 | -na- | 121 | 15 | 5.998 |
| 10 | 71.86 | 29.11 | 8.404 | 73 | 16 | 6.231 |
| 5 | 70.77 | 18.89 | 4.765 | 81 | 13 | 5.517 |
| 3 | 69.19 | 11.64 | 2.997 | 104 | 11 | 2.842 |
| 2 | 69.23 | 9.42 | 1.970 | 153 | 8 | 1.915 |
| 69.34 | 42.11 | 59,491.702 | 315 | 392 | 58,931.700 | |
| (ms) | 68.76 | 39.00 | -na- | 494 | 297 | 8931.930 |
| 10,000 | 69.34 | 42.11 | 9275.614 | 316 | 347 | 9170.830 |
| 1000 | 68.03 | 40.29 | 898.754 | 360 | 152 | 836.227 |
| 100 | 67.21 | 38.38 | 98.117 | 430 | 54 | 95.439 |
| 10 | 66.16 | 35.68 | 9.885 | 489 | 19 | 9.672 |
| 5 | 63.07 | 31.85 | 4.888 | 536 | 13 | 4.836 |
| 3 | 56.19 | 18.87 | 2.988 | 614 | 10 | 3.010 |
| 2 | 53.44 | 14.87 | 1.997 | 743 | 7 | 1.879 |
| layer | irregular part. | |||
|---|---|---|---|---|
| 25 | 17.099 | 35 | 22.029 | |
| 1–30 | 779 | 49,075.600 | 1968 | |
| 56–85 | 3762 | 5277 | ||
| 98.41 | 86.05 | 335 | 1968 | |||
| (ms) | 98.29 | 86.05 | -na- | 571 | 1943 | |
| 100,000 | 98.39 | 85.95 | 94,328.862 | 349 | 1280 | 92,307.000 |
| 10,000 | 98.14 | 84.27 | 9862.559 | 514 | 514 | 10,512.200 |
| 1000 | 97.41 | 82.73 | 995.230 | 989 | 175 | 1014.150 |
| 100 | 92.93 | 72.63 | 97.989 | 1331 | 60 | 108.673 |
| 10 | 87.47 | 66.66 | 9.993 | 1617 | 18 | 11.711 |
| 5 | 85.82 | 65.46 | 4.985 | 1898 | 13 | 6.069 |
| 3 | 82.90 | 63.22 | 2.997 | 2331 | 9 | 3.007 |
| 2 | 81.62 | 62.81 | 2.000 | 2997 | 6 | 1.930 |
| 99.31 | 66.24 | 81 | 3762 | |||
| (ms) | 99.30 | 66.24 | -na- | 99 | 3735 | |
| 100,000 | 99.33 | 65.78 | 95,129.959 | 122 | 1267 | 93,040.500 |
| 10,000 | 98.63 | 62.19 | 9834.429 | 188 | 498 | 9487.840 |
| 1000 | 98.25 | 63.81 | 990.920 | 373 | 183 | 1200.070 |
| 100 | 97.26 | 64.08 | 99.793 | 766 | 59 | 124.896 |
| 10 | 91.79 | 49.39 | 9.965 | 1154 | 17 | 9.506 |
| 5 | 88.88 | 43.77 | 4.991 | 1342 | 13 | 5.545 |
| 3 | 86.52 | 41.75 | 2.997 | 1610 | 9 | 3.205 |
| 2 | 85.18 | 41.05 | 2.000 | 1960 | 6 | 1.918 |
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
On adaptive BDDC for the flow
in heterogeneous porous media ††thanks: Supported by the U.S. National Science Foundation under grant DMS1521563.
Bedřich Sousedík Department of Mathematics and Statistics, University of Maryland, Baltimore County, 1000 Hilltop Circle, Baltimore, MD 21250, USA, ([email protected])
Abstract
We study a method based on Balancing Domain Decomposition by Constraints (BDDC) for a numerical solution of a single-phase flow in heterogenous porous media. The method solves for both flux and pressure variables. The fluxes are resolved in three steps: the coarse solve is followed by subdomain solves and last we look for a divergence-free flux correction and pressures using conjugate gradients with the BDDC preconditioner. Our main contribution is an application of the adaptive algorithm for selection of flux constraints. Performance of the method is illustrated on the benchmark problem from the 10th SPE Comparative Solution Project (SPE 10). Numerical experiments in both 2D and 3D demonstrate that the first two steps of the method exhibit some numerical upscaling properties, and the adaptive preconditioner in the last step allows a significant decrease in number of iterations of conjugate gradients at a small additional cost.
keywords:
iterative substructuring, balancing domain decomposition, BDDC, multiscale methods, adaptive methods, flow in porous media, reservoir simulation, SPE 10 benchmark
AMS:
65F08, 65F10, 65M55, 65N55
1 Introduction
The Balancing Domain Decomposition by Constraints (BDDC), proposed independently by Cros [7], Dohrmann [9], and Fragakis and Papadrakakis [16], is one of the most popular methods of iterative substructuring. The method was developed as a preconditioner for the solution of systems of linear equation obtained by finite element discretizations of elliptic problems, and it has been originally derived as a primal counterpart of the Finite Element Tearing and Interconnecting - Dual, Primal (FETI-DP) method by Farhat et al. [14, 15]. Over the years the BDDC has been extended to other types of problems, for example to the nearly incompressible elasticity by Dohrmann [10], the Stokes problem by Li and Widlund [26], or advection-diffusion problems by Tu and Li [25, 46]. It is also relatively straightforward to extend the BDDC into multiple levels, as noted by Dohrmann [9]. The three-level methods were developed in two and three dimensions by Tu [43, 44], and Mandel et al. [29] extended the algorithm into a multilevel method within a more general multispace BDDC setting. Another class of problems, important in the context of this paper, is the flow in porous media based on mixed and mixed-hybrid finite element discretizations. Probably the first domain decomposition methods of this class were proposed by Glowinski and Wheeler [17]. Their Method II was preconditioned using BDD by Cowsar et al. [6], using BDDC by Tu [42], and Šístek et al. [36] extended this methodology to flow in porous media with combined mesh dimensions. This approach is regarded as hybrid because the method iterates on a system of dual variables (as Lagrange multipliers) enforcing the continuity of flux variables across the substructure interfaces. An alternative strategy, retaining the original primal variables was proposed by Tu [41, 45], who combined the BDDC preconditioner with an earlier algorithmic framework developed by Ewing and Wang [13], cf. also Mathew [31], which allows to solve the saddle-point problem obtained from mixed finite element discretization by conjugate gradients. The Nested BDDC by Sousedík [37] provided a multilevel extension by applying the framework from [41] recursively. Most recently, Zampini and Tu [49] presented another approach to multilevel BDDC including adaptive coarse space construction, which relies on a special, so-called, deluxe scaling.
There are two main ingredients of a BDDC method: a coarse space, which is defined by constraints on the values of degrees of freedom, and a scaling (averaging) operator, which provides a mapping between the solution space and the space in which the solves in the preconditioner are performed. The algorithm for adaptive selection of constraints for both methods the BDDC and FETI-DP was originally proposed by Mandel and Sousedík [28]. The algorithm was later generalized in a joint work with Šístek [30] into three spatial dimensions and implemented for the BDDC using an approach inspired by a partial subassembly and a change of variables by Li and Widlund [27]. Finally, we also reformulated the algorithm to treat the coarse space explicitly [38]. We note that there are many other approaches to the adaptive construction of the coarse spaces in BDDC, see [34] and the references therein, as well as for BDD see, e.g., [39]. There have been several scalings studied in the literature. In the multiplicity scaling, the weights are chosen proportionally to the number of subdomains sharing a given degree of freedom, and it is regarded as not robust for coefficient jumps. The -*scaling *leads to robustness, but it relies on knowledge of the problem coefficients [22]. The stiffness scaling is based on the diagonal of the stiffness matrix, but in some cases with irregular meshes it may lead to high condition numbers [33, 35]. All these scalings involve diagonal matrices. Finally, the deluxe scaling introduced in [11] uses dense matrices, which are computed from inverses of localized Schur complements. It has been observed to be quite robust [32, 49] but also computationally intensive.
In this paper, we build on the primal strategy. The starting point is the two-level algorithm from [37], which we combine with adaptive selection of constraints following [38] and apply it to flow in heterogenous porous media. To this end, we use a reservoir from the 10th SPE Comparative Solution Project (SPE 10) cf., e.g., [1, 5] as the benchmark problem. The BDDC method from [37] solves for both flux and pressure variables. The fluxes are resolved in three steps: the coarse solve is followed by mutually independent subdomain solves, and last we look for a divergence-free flux correction and pressure using conjugate gradients (CG) with the BDDC preconditioner. The coarse solve in the first step is exactly the same as the coarse solve used in the BDDC preconditioner in the step three. It is assumed that the initial constraints preserve the iterates in a balanced subspace, in which the preconditioned operator is positive definite. Our goal here is to adapt the method to flow in realistic reservoirs, characterized by highly heterogeneous permeability coefficients in as simple way as possible. In particular, we translate the ideas used for elliptic problems in [38] to mixed formulations of flow in porous media discretized by the lowest-order Raviart-Thomas finite elements (RT0). The main component of the extension is the use of additional adaptive flux coarse basis functions. The starting point is the condition number bound formulated as a generalized eigenvalue problem, which is replaced by a number of local eigenvalue problems formulated for pairs of adjacent subdomains, and the eigenvectors, corresponding to the eigenvalues larger than a target condition number are used to construct the additional flux coarse basis functions. We note that from this perspective our method can be viewed as a way of numerical upscaling via the coarse basis functions known from the BDDC. Unlike [49] we do not use a change of basis and partial assembly of operators, and we also illustrate that for this problem the multiplicity scaling in combination with the adaptive algorithm and a simple diagonal rescaling of the pressure block in the setup of the problem is sufficient to construct a robust algorithm. Numerical experiments in both 2D and 3D demonstrate that the first two steps of the method exhibit some numerical upscaling properties, and the convergence rate of conjugate gradients in the last step can be estimated a priori in the setup of the adaptive algorithm.
The paper is organized as follows. In Section 2 we introduce the model problem, in Section 3 we recall the BDDC method and the preconditioner, in Section 4 we formulate the algorithm for adaptive selection of the flux constraints, in Section 5 we discuss some details of implementation, in Section 6 we present results of numerical experiments, and finallly in Section 7 we summarize and conclude our work.
For convenience, we identify finite element functions with the vectors of their coefficients in the corresponding finite element basis. These coefficients are also called variables or degrees of freedom. At a few places we will also identify linear operators with their matrices, in bases that will be clear from the context. For a symmetric positive definite bilinear form , we will denote the energy norm by .
2 Model problem
Let be a bounded domain in , where or . We would like to find the solution of the following mixed problem, which combines the Darcy’s law relating flux and pressure , and the equation of continuity,
[TABLE]
where , and denotes the unit outward normal of . The coefficient , where is the permeability of the porous medium and is the viscosity of the fluid. For simplicity, we will set and so. Without loss of generality we will also assume that , which requires a compatibility condition
[TABLE]
and the pressure will be uniquely determined up to an additive constant. We will further assume that . These assumptions motivate the definition of a space
[TABLE]
equipped with the norm
[TABLE]
where is the characteristic size of , and the definition of a space
[TABLE]
The weak form of the problem we wish to solve, is
[TABLE]
We refer, e.g., to the monographs [4, 40] for additional details and discussion.
Next, let be the lowest-order Raviart-Thomas (RT0) finite element space with a zero normal component on and let be a space of piecewise constant finite element basis functions with a zero mean on . These two spaces, defined on the triangulation of, where denotes the mesh size, are finite dimensional subspaces of and , respectively, and they satisfy a uniform inf-sup condition, see [4]. Let us define the bilinear forms and the right-hand side by
[TABLE]
In the mixed finite element approximation of problem (6)–(7), we would like to find a pair of fluxes and pressures such that
[TABLE]
We note that is a finite-dimensional subspace of and therefore the unique solvability of the mixed problem (11)–(12) is guaranteed.
In the next section, we will describe the components of the two-level Nested BDDC, which allows an efficient iterative solution of problem (11)–(12).
3 The BDDC method
Let us consider a decomposition of into a set of nonoverlapping subdomains , also called substructures, forming a quasi-uniform triangulation of and denote the characteristic subdomain size by . Each substructure is a union of finite elements with a matching discretization across the substructure interfaces. Let be the set of boundary degrees of freedom of a substructure shared with another substructure, , and define the interface by . Let us define a face as an intersection , and let us denote by the set of all faces between substructures. Note that with respect to the RT0 discretization we define only faces, but no corners (nor edges in 3D) known from other types of substructuring.
We will solve problems similar to (11)–(12) on each substructure. As we have noted, such problems determine the pressure uniquely up to a constant, so we consider the decomposition of the pressure space
[TABLE]
where consists of functions that are constant in each subdomain and have a zero average over the whole domain, and the product space consists of functions that have zero weighted average over one subdomain at a time. That is,
[TABLE]
Next, let be the space of flux finite element functions on a substructure such that all of their degrees of freedom on are zero, and let
[TABLE]
Hence can be viewed as the subspace of flux functions from such that is continuous across substructure interfaces. Define as the subspace of flux functions such that is zero on the interface , i.e., the space of “interior” flux functions, and let us also define a mapping such that
[TABLE]
Functions from will be called Stokes harmonic, cf. [40, Section 9.4.2].
Let be the space of Stokes harmonic functions that are continuous across substructure interfaces, and such that
[TABLE]
We note that from the divergence theorem, for all and , we obtain
[TABLE]
The BDDC is a two-level method characterized by a selection of certain coarse degrees of freedom. In the present setting these will be flux averages over faces shared by a pair of substructures at a time and pressure averages over each substructure. Let us denote by the subspace of Stokes harmonic functions such that their flux coarse degrees of freedom on adjacent substructures coincide; for this reason we will use the terms coarse degrees freedom and constraints interchangeably. Specifically, we define a zero-net flux constraint for a face as
[TABLE]
where denotes the unit outward normal of .
Assumption 1**.**
Initial flux constraints (16) are prescribed over all faces.
This set of initial constraints will be enriched by the adaptive method described in Section 4. Now, let us define as the subspace of functions with values given by the flux coarse degrees of freedom between adjacent substructures, and such that they are Stokes harmonic, and let us also define as the subspace of all function such that their flux coarse degrees of freedom vanish. The functions in are uniquely determined by the values of their coarse degrees of freedom, and
[TABLE]
The next ingredient is the projection defined by taking a weighted average of corresponding degrees of freedom on substructure interfaces, cf. Remark 3.
In implementation, we define using a matrix, which is a block diagonal with blocks, , and it is constructed exactly as matrix in [28, Section 2.3],
[TABLE]
The values will be called local flux coarse degrees of freedom, and the space consists of all functions such that their flux coarse degrees of freedom on adjacent substructures have zero jumps. The decomposition of the space given by (13) can be also managed by constraints. We remark that this is somewhat non-standard practice in substructuring, because the constraints are commonly related only to the degrees of freedom at the interfaces. So, we define a space, for , as
[TABLE]
where the matrices are selected so that (14) is satisfied. In implementation, is a row vector with entries given by volumes of finite elements in subdomain . Now we have all ingredients to recall the two-level BDDC method [37, Algorithm 2].
Algorithm 2** (BDDC method).**
Find the solution of problem (11)–(12) by computing:
the coarse component : solving from
[TABLE]
dropping , and applying the projection
[TABLE] 2. 2.
the substructure components from
[TABLE]
dropping , and adding the solutions as
[TABLE] 3. 3.
the correction and the pressure from
[TABLE]
Specifically, use the CG method with the BDDC preconditioner defined in Algorithm 4, using the same setup of the coarse problem as in (20)–(21).
Finally, the flux variables are obtained as
[TABLE]
Remark 3**.**
The difference between problems (11)–(12) and (23)–(24) is that the latter problem has a vanishing second component, and therefore the correction is divergence-free by (24). Also, we note that the initial flux constraints constructed according to (16) do not allow scaling weights in the scaling operator to vary along the interface in order for to satisfy
[TABLE]
Therefore, in our numerical experiments, we use the multiplicity scaling unless the coefficient jumps are aligned with subdomain interfaces, see also [37, Remark 2].
The application of the BDDC preconditioner for the computation of using two- resp. three-level method was studied by Tu [41, 45]. In [37], we applied Algorithm 2 recursively. Here, we will introduce a specific construction of the space but before doing so, let us discuss Step 3 of Algorithm 2 in more detail.
The first step in substructuring is typically reduction of the problem to interfaces. In particular, problem (23)–(24) is reduced to finding such that
[TABLE]
where is the reduced right-hand side. In implementation, the interiors are eliminated by the static condensation, problem (25)–(26) is solved iteratively, and the interiors are recovered in the post-correction. The key observation is, cf. [40, Section 9.4.2], that if we define a balanced subspace
[TABLE]
problem (25)–(26) becomes equivalent to the positive definite problem
[TABLE]
This observation justifies use of the CG method preconditioned by the BDDC provided that an initial guess is balanced, e.g., zero, and the outputs of the preconditioner are also balanced. It also implies that the iterates are effectively performed with the flux unknowns, and the pressure components are resolved in the coarse correction of the preconditioner. The precise formulation of the two-level BDDC preconditioner for saddle-point problems follows. It is the reduced variant of [37, Algorithm 3].
Algorithm 4** (BDDC preconditioner).**
Define the preconditioner by computing:
the coarse correction from
[TABLE] 2. 2.
the substructure correction from
[TABLE] 3. 3.
the sum and average of the two corrections
[TABLE]
In order to state the condition number bound, we also need to introduce a larger space of balanced functions such that defined as
[TABLE]
The space is also balanced, i.e., by (28). Then also the output of the preconditioner (29) satisfies , and we refer to [37, Lemma 3] for the proof.
Finally, we formulate the condition number bound. If we note that is a projection, it is the same as [37, Theorem 4] or [41, Theorem 6.1], cf. also [28, Theorem 3].
Theorem 5**.**
The condition number of the BDDC preconditioner from Algorithm 4 satisfies
[TABLE]
The bound in (30) inspires the adaptive selection of the flux constraints.
4 Adaptive selection of the flux constraints
The basic idea is same as in our previous work on adaptive BDDC for elliptic problems [28, 30, 38]. The bound in (30) is equal to the maximal eigenvalue of the generalized eigenvalue problem
[TABLE]
From the Courant-Fisher-Weyl minimax principle cf., e.g., [8, Theorem 5.2], the bound can be decreased by adding constraints in the definition of the space as:
Lemma 6** ([30, 38]).**
The generalized eigenvalue problem (31) has eigenvalues . Denote the corresponding eigenvectors by. Then, for any , and any linear functionals , ,
[TABLE]
with equality if
[TABLE]
Because solving the global eigenvalue problem (31) is computationally expensive, we replace it by a collection of much smaller problems defined for all pairs of adjacent substructures, where a pair of substructures is adjacent if they share a face. All quantities associated with a pair of adjacent substructures and will be denoted by a superscript. In particular, we define , and the local space of Stokes harmonic functions that satisfy the initial constraints at the face by
[TABLE]
We note that the space is balanced, which is an implication of Assumption 1.
In these settings (31) becomes a local problem to find such that
[TABLE]
The bilinear form is associated on with the Schur complement defined with respect to the interfaces,, and is positive-definite, cf. [41, Lemma 3.1].
Now we can proceed in the same way as in [38]. Let us denote by the matrix corresponding to . The orthogonal projection onto null is given by
[TABLE]
and we implement the local generalized eigenvalue problems (33) as
[TABLE]
which can be either solved using a dense eigenvalue solver [28] or eventually, since
[TABLE]
a subspace iterations such as the LOBPCG method [23], which runs effectively in the factorspace, could be also used. From (34), we wish the constraints to satisfy
[TABLE]
That is, we would add into the matrix the rows
[TABLE]
but because by [38, Proposition 1] each row can be split as c_{\ell}^{ij}=\left[\begin{array}[c]{cc}c_{\ell}^{i}&-c_{\ell}^{i}\end{array}\right] and either half of is used to augment the matrices and, see (39). We note that, due to the discretization using RT0 elements, the added rows are readily available in the form used in substructuring. The adaptive BDDC algorithm follows.
Algorithm 7** (Adaptive BDDC).**
Find the smallest for every two adjacent substructures to guarantee that , where is a given tolerance threshold (the target condition number), and add the constraints (35) to the definition of .
After the adaptive constraints are added, we define the heuristic condition number indicator as the largest eigenvalue of all local eigenvalue problems (33), that is
[TABLE]
Remark 8**.**
It has been shown in [49, Theorem 4.3], see also [34, Theorem 3.10] and [32, Theorem 3.3], that the condition number of the adaptive BDDC operator satisfies
[TABLE]
where is the maximum number of faces of any subdomain. We note that this bound is pessimistic due to the factor, and in fact we observed in all experiments.
5 Implementation remarks
First, we describe a rescaling used to preserve numerical stability of the method with highly heterogeneous permeability coefficients. The variational problem (11)–(12) can be written in the matrix form as
[TABLE]
Assuming that the mesh size, the entries in are and the entries in are. In particular, in the case of the SPE 10 data set we get , and we found that some of the subdomain matrices and the matrix of the coarse problem may appear numerically singular. Due to the discontinuous approximation of the pressure, is a block-diagonal rectangular matrix. Each block corresponds to a particular subdomain, and it can be rescaled, e.g., by an average of the diagonal entries of corresponding to the degrees of freedom in this subdomain. Collecting this scaling coefficients in a diagonal matrix, we replace (37) by
[TABLE]
and the pressure is recovered at the end of computations as .
5.1 Coarse degrees of freedom
The selection of the flux coarse degrees of freedom or, equivalently, flux constraints entails construction of the matrix in the definition of the space by (18). Similarly, the selection of the pressure constraints, which facilitate the decomposition (13), entails construction of the matrices , , in the definition of the spaces by (19). Following the standard practice in substructuring, in implementation we work with global and local degrees of freedom and the corresponding spaces, and vectors from these spaces are related by a restriction operator (a zero-one matrix). Therefore, the matrix is constructed as a block-diagonal matrix using blocks that select local flux coarse degrees of freedom from all degrees of freedom of substructure , see [28, Section 2.3] for details. In the mixed finite element settings, each local coarse degrees of freedom selection matrix is constructed simply by augmenting the matrix by a row as
[TABLE]
and the matrices may be further augmented by the adaptive algorithm, see (35).
5.2 Solution of the local generalized eigenvalue problems
The choice of an eigensolver for the eigenvalue problems (34) is a delicate one. In general, the decision whether to use a dense or a sparse eigensolver depends on the type of the eigenvalue problem, size of the substructures, dimension of the problem, availability of a preconditioner for a sparse solver, and conditioning and numerical sensitivity of the underlying problem. All these factors will clearly affect the overall computational cost and performance of the method. We note that the formulation (34) allows to use a matrix-free iterative method such as the LOBPCG [23] in the same way as for elliptic problems, including that it can be further preconditioned by a local version of the BDDC as suggested in [38, Section 5], see also [21]. However, we found that dense eigenvalue solvers are more suitable for the SPE 10 dataset due to their robustness, and we used Matlab function eig in the numerical experiments.
5.3 Computational cost
Clearly, the two most computationally expensive parts of the method are the setup of the constraints by solving the set of the local eigenvalue problems, and the factorization of the coarse problem. There are many eigenvalue problems to be solved, but they are small and can be solved in parallel—this feature is similar to the setup of multiscale finite element methods [12]. Assuming that these can be solved efficiently, the bottleneck in computations is the factorization of the coarse problem. Specifically, it is crucial for the application of the method to appropriately balance the effort in the preconditioner and the global linear solver through a judicious choice of. This could be, for example, achieved as follows: one can partition the domain into subdomains balancing the sizes of subdomains and assuming certain size of the coarse problem (and ideally also taking into account the coefficient jumps and minimizing the size of interfaces), solve the set of local eigenvalue problems, and based on the eigenvalues determine the number of additional adaptive constraints (and hence the value of) which minimize the work needed to factor the coarse problem and the work needed by preconditioned conjugate gradients, including the coarse problem back-substitutions, needed to reduce the error to desired accuracy based on the well-known error reduction formula of conjugate gradients see, e.g., [18, Theorem 10.2.6].
6 Numerical experiments
We implemented the method in Matlab and studied its convergence for problems with large variations in the permeability coefficients . In all experiments we used relative residual tolerance as the convergence criterion for the conjugate gradients. First, we run a test with jumps in aligned with substructure interfaces, see Figure 1. For this problem we used stiffness scaling, which is in case of the lowest-order Raviart-Thomas (RT0) elements equivalent to the -scaling. This also implies that the stiffness scaling works well for irregular meshes (unlike for nodal elements). The conjugate gradients with the BDDC preconditioner converged in steps and the approximate condition number computed from the Lánczos sequence in conjugate gradients was ; with the method converged in steps and , see the rightmost column in Table 2. In the remaining experiments, we focused on problems with highly heterogeneous coefficients, and we used the multiplicity scaling. Specifically, we simulated flow in a porous media given by Model 2 of the 10th SPE Comparative Solution Project [5], which is publicly available on the Internet111http://www.sintef.no/Projectweb/GeoScale/Results/MsMFEM/SPE10/ and, in particular, we used a Matlab dataset described in [1]. The dimensions of the full model are (ft), and the distribution of the coefficients is given over a regular Cartesian grid with grid-blocks. We used several layers and two 3D cutouts of the model for our numerical experiments. For the experiments in 2D, we used layers 1, 20, 60 and 85 shown in Figures 2–3. In the top layers 1 and 20 the permeability is relatively smooth, whereas the bottom layers 60, and 85 are fluvial and they are characterized by a spaghetti of narrow high-flow channels. In all layers the permeabilities range over at least six orders of magnitude. To drive a flow, we impose an injection (source) and a production well (sink) in the lower-left and upper-right corners, respectively. The discretization of each layer by the quadrilateral RT0 finite elements yields degrees of freedom. The layers were partitioned into subdomains in four ways: using two geometrically regular partitionings with the coarsening ratios and , and two irregular partitionings. The details of the partitionings are summarized in Table 1 and illustrated by Figures 2–3. For the experiments in 3D, we used two domains consisting of elements extracted from layers – and – of the SPE 10 problem shown in Figure 6. To drive a flow, we impose an injection (source) and a production well (sink) in two distant corners of the domain. The discretization by the hexahedral lowest-order Raviart-Thomas (RT0) finite elements yields degrees of freedom. The domain was partitioned into subdomains in two ways: using one geometrically regular partitioning with the coarsening ratio , and an irregular partitioning. The details of the partitionings are summarized in Table 1 and illustrated by Figure 7. All irregular partitionings were obtained using METIS 4.0 [20], and in order to test the adaptive algorithm we did not take into account the permeability coefficients.
It is interesting to note that the adaptive flux coarse basis functions capture to some extent features of the solution on the finite element mesh, and the quality of this approximation improves as the threshold in Algorithm 7 decreases. We illustrate this fact by relative errors of solutions and obtained in Steps 1 and 2 of Algorithm 2 with respect to the exact solution obtained by a direct solve of the full problem. Specifically, the two relative errors are reported in tables as
[TABLE]
We also compare the adaptive method with constraints inspired by Multiscale mixed finite element method (MsMFEM) cf. [12, Algorithm 2.5.2] or [2, Section 3.2.1]. In particular, instead of the local eigenvalue problems we solved local Darcy’s flow problems, that is local counterparts of problem (1)–(2), with the source term
[TABLE]
and zero flux boundary condition on . The source distribution function is set to in all subdomains except those containing a well, in which
[TABLE]
to ensure a conservative approximation on the fine grid. In the numerical experiments we then used the set of basic constraints (16) enriched by solving the above problem and taking the values of flux degrees of freedom on as additional constraints. Nevertheless, we note that there are other more advanced solvers based on multiscale strategies available in the literature see, e.g., Yang et al. [48] or la Cour Christensen et al. [24], and a thorough comparison of the methods would be of independent interest.
The results of numerical experiments in 2D are summarized in Tables 2–4. Table 2 shows performance of the nonadaptive method for a homogeneous case with and the layers of the SPE 10 problem. It can be seen that for layers, and the convergence does not significantly depend on the partitioning and it is also quite comparable to the homogeneous case with . On the other hand, for layers and the variations in coefficients aggravate convergence, which is also quite sensitive to the partitioning. This holds, in particular, for layer which contains both regions that are highly heterogeneous and relatively homogeneous. It can be also seen by comparing left and right columns in Table 2 that increasing the number of subdomains (that is decreasing the coarsening ratio) leads to higher condition numbers and increase in iteration counts for both regular and irregular partitionings. This is not the case in the standard theory of domain decomposition methods, but here we suspect it can be attributed to the jumps in coefficients and larger interfaces. The performance of the adaptive algorithm is illustrated by Tables 3–4. Table 3 shows convergence for layer with irregular partitioning A, and Table 4 shows convergence for layer with irregular partitioning B. It can be seen that in all cases lower values of the threshold lead to fewer iterations, and the value of the condition number indicator is in a good agreement with, which is the approximate condition number estimate obtained from the Lánczos sequence in conjugate gradients. The adaptive constraints also lead to more significant improvement in convergence than the multiscale constraints. The problem for layer is particularly interesting. From the right panel in Figure 3 we see that the coefficient jumps have very large variations even on the interfaces, which can be seen in the left panel of Figure 4. The right panel displays the eigenvalues of the corresponding eigenproblem: and all other eigenvalues are less than. Figure 5 then displays largest eigenvalues of the (global) BDDC preconditioned operator without adaptivity and with adaptive BDDC and target condition number . We see that without adaptivity there is a single largest eigenvalue: specifically and . For the adaptive BDDC with we get . Comparing this plot with Table 4 we see that the adaptive BDDC with introduces adaptive constraints, which corresponds to the number of the largest eigenvalues removed from the spectrum of the BDDC preconditioned operator. We also note that adding a single adaptive constraint reduces the iteration count from to , which corresponds to the large gap in the spectrum of the operator without adaptivity. Setting to a lower value, for example, , roughly doubles the number of constraints and the number of iterations is reduced to approximately . Also, the lower value of improve the approximation quality of the first two steps of Algorithm 2 and, for example, with we get the error .
The results of numerical experiments in 3D are summarized in Tables 5–7. It can be seen from Table 5 that the numbers of iterations are significantly higher than in 2D, and the convergence is slower for the fluvial bottom layers – comparing with the relatively smooth top layers –. The increase in iterations becomes even more pronounced in the case of the irregular partitioning also due to larger interfaces. The results of experiments with the adaptive algorithm are summarized in Tables 6–7. As in the 2D case, lower values of the threshold lead in all cases to fewer iterations, and the values of, and are in close agreement. Again, the multiscale constraints provide only a slight improvement of convergence. Table 6 shows convergence for layers–. It can be seen that despite higher condition number of the problem corresponding to the irregular partitioning, the adaptive algorithm leads allows to decrease the iteration counts for lower values of. As in 2D, the first few adaptive constraints allow to decrease the number of iterations by a fairly large amount: here adding constraints reduces the number of iterations from the initial value to . However, for example with the number of iterations decreases to , however the number of constraints grows rather significantly from to . Finally, the values of and are quite larger compared to the 2D experiments. Table 7 shows convergence for layers– and the regular partitioning , and the trends are quite similar as in the previous case. That is, the adaptive algorithm allows to control the convergence of conjugate gradients, but the number of adaptive constraints is relatively high in particular for lower values of . These trends are in agreement with the qualitative observations made from Figure 5.
7 Conclusion
We studied a method for solution of single-phase flow in heterogeneous porous media. We have, in particular, shown that the idea of adaptive BDDC, previously used for elliptic problems, can be also applied in the context of the BDDC method for mixed finite element discretizations using the lowest-order Raviart-Thomas finite elements, and that the adaptive method works well with the usual types of scaling used in substructuring. We illustrated that the resulting algorithm can be successfully applied for adaptive selection of the coarse flux degrees of freedom using several examples corresponding to the SPE 10 benchmark model. The effect of the adaptive construction of the flux coarse basis functions is twofold. First, the first two steps of the BDDC method provide some approximation properties with respect to the exact solution of the full problem, in particular in 2D. Second, the coarse problem provides a better preconditioner for conjugate gradients used in the third step. We also compared the adaptive constraints with constraints inspired by multiscale mixed finite element method, and we found that the adaptive constraints outperform the multiscale constraints.
Next, we experimented with different partitionings of the domains into substructures. While the adaptive method is able to overcome these issues in many cases, it is evident that a suitable partitioning makes the adaptive method more efficient. We note that development of optimal partitioning strategies is an open problem cf., e.g., [3, 47]. However, our experiments indicate that if it is not possible to find a suitable partitioning, the best strategy is to simply minimize the size of interfaces, which may be achieved by a simple geometric partitioning, see also [19].
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] J. E. Aarnes, T. Gimse, and K.-A. Lie , An introduction to the numerics of flow in porous media using Matlab , in Geometric Modelling, Numerical Simulation, and Optimization, G. Hasle, K.-A. Lie, and E. Quak, eds., Springer Berlin Heidelberg, 2007, pp. 265–306.
- 2[2] J. E. Aarnes, S. Krogstad, and K.-A. Lie , A hierarchical multiscale method for two-phase flow based upon mixed finite elements and nonuniform coarse grids , Multiscale Modeling & Simulation, 5 (2006), pp. 337–363.
- 3[3] J. E. Aarnes, S. Krogstad, and K.-A. Lie , Multiscale mixed/mimetic methods on corner-point grids , Computational Geosciences, 12 (2008), pp. 297–315.
- 4[4] F. Brezzi and M. Fortin , Mixed and Hybrid Finite Element Methods , Springer-Verlag, New York – Berlin – Heidelberg, 1991.
- 5[5] M. A. Christie and M. J. Blunt , Tenth SPE comparative solution project: A comparison of upscaling techniques , SPE Reservoir Eval. Eng., 4 (2001), pp. 308–317.
- 6[6] L. C. Cowsar, J. Mandel, and M. F. Wheeler , Balancing domain decomposition for mixed finite elements , Math. Comp., 64 (1995), pp. 989–1015.
- 7[7] J.-M. Cros , A preconditioner for the Schur complement domain decomposition method , in Domain Decomposition Methods in Science and Engineering, I. Herrera, D. E. Keyes, and O. B. Widlund, eds., National Autonomous University of Mexico (UNAM), México, 2003, pp. 373–380. 14th International Conference on Domain Decomposition Methods, Cocoyoc, Mexico, January 6–12, 2002.
- 8[8] J. W. Demmel , Applied Numerical Linear Algebra , Society for Industrial and Applied Mathematics (SIAM), Philadelphia, PA, 1997.
