Skip to main content
Log in

Finite-Volume Discretisations for Flow in Fractured Porous Media

  • Published:
Transport in Porous Media Aims and scope Submit manuscript

Abstract

Over the last decades, finite-volume discretisations for flow in porous media have been extended to handle situations where fractures dominate the flow. Successful discretisations have been based on the discrete fracture-matrix models to yield mass conservative methods capable of explicitly incorporating the impact of fractures and their geometry. When combined with a hybrid-dimensional formulation, two central concerns are the restrictions arising from small cell sizes at fracture intersections and the coupling between fractures and matrix. Focusing on these aspects, we demonstrate how finite-volume methods can be efficiently extended to handle fractures, providing generalisations of previous work. We address the finite-volume methods applying a general hierarchical formulation, facilitating implementation with extensive code reuse and providing a natural framework for coupling of different subdomains. Furthermore, we demonstrate how a Schur complement technique may be used to obtain a robust and versatile method for fracture intersection cell elimination. We investigate the accuracy of the proposed elimination method through a series of numerical simulations in 3D and 2D. The simulations, performed on fractured domains containing permeability heterogeneity and anisotropy, also demonstrate the flexibility of the hierarchical framework.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13

Similar content being viewed by others

References

Download references

Acknowledgements

The work has partly been funded by the Research Council of Norway through Grant Number 267908.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ivar Stefansson.

Appendix

Appendix

This appendix offers a description of the MPFA discretisation of a domain of a given dimension, using the following key ingredients:

  • A partition of the mesh into subcells, and of cell boundaries into subfaces.

  • Collection of subcells into interaction regions surrounding each node.

  • Basis functions for the pressure that have support in a single interaction region and are linear on each subcell.

  • Enforcement of pressure continuity at a single point on the subfaces.

  • Enforcement of flux continuity at the subfaces.

As for the TPFA, this ultimately yields the transmissibilities to be assembled in the discretisation matrix \( {\mathbf{A}} \) for multiplication with the vector of cell centre pressures \( {\mathbf{p}} \).

We commence by extending the geometrical notation. In Sect. 2.3.1, the cell and face centre locations xcell and xf are defined based on Fig. 2. Referring now to Fig. 14, we partition the mesh into subcells by splitting the faces at xf. This results in new subcells with vertexes at cell centres, face centres and nodes xn of the original mesh. The faces between cells are likewise split into subfaces. On the subfaces, we define the continuity points xc = (1 − η)xf + ηxn. The weight η, determining the placement along the face, will be discussed below. We define an interaction region to consist of all subcells sharing a common node xn.

Fig. 14
figure 14

The O-shaped interaction region used for MPFA transmissibility calculations is marked by dotted lines connecting cell centres and face centres. Cell centres are shown in red, face centres in purple, continuity points in blue and the central vertex of the interaction region in black. A single subcell with four subfaces is indicated in grey

As in the case of TPFA, we discretise the pressure using cell centre values pi. Further, the pressure is approximated using linear basis functions within each subcell. In other words, we can write the pressure at point x in the lth subcell of global cell i as

$$ p\left( x \right) \approx p_{i} + {\mathbf{G}}_{i,l} \left( {x - x_{{i,{\text{cell}}}} } \right), $$
(20)

with \( {\mathbf{G}}_{i,l} \) denoting the gradient of the subcell. Then, the discrete discharge over subface l in terms of the gradient of an adjacent cell i is

$$ u_{i,l} = {\mathbf{G}}_{i,l} \left( {x_{i,c} - x_{{i,{\text{cell}}}} } \right) \cdot {\mathbf{K}}_{i} \cdot \varvec{n}_{ij} A_{l} . $$
(21)

We now wish to write the discharge over a subface in terms of the cell centre pressures only, i.e. on the form

$$ u_{i,l} = \sum\limits_{k} {t_{k}^{*} p_{k} ,} $$
(22)

where the asterisk is used to distinguish the subface weights from the full face transmissibilities introduced in Sect. 2.3. To obtain this, we proceed to eliminate the gradients from Eq. (21). This shall be done by (i) enforcing flux continuity over each subface and (ii) exploiting the additional assumption of pressure continuity at the continuity points.

Equating the discharges from either side over subface l shared by cells i and j then reads

$$ {\mathbf{K}}_{i} \cdot {\mathbf{G}}_{i,l} \cdot {\mathbf{n}}_{ij} A_{l} = u_{i,l} = - u_{j,l} = - {\mathbf{K}}_{j} \cdot {\mathbf{G}}_{j,l} \cdot {\mathbf{n}}_{ji} A_{l} , $$
(23)

where Al denotes the subface area.

Similarly, by Eq. (20) statement (ii) reads

$$ {p}_{i} + {\mathbf{G}}_{i,l} \left(x_{l,c} - x_{i,cell}\right) = p_{j} + {\mathbf{G}}_{j,l} \left(x_{l,c} - x_{j,cell}\right).$$
(24)

Here, xl,c denotes the continuity point on subface l. Inspection of Eqs. (23) and (24) reveals that each relation couples a given subcell to a neighbouring subcell of the same interaction region only through the values of cell centre pressures and gradients. This means that we may collect all equations for each interaction region to a local system of the form

$$ \left( {\begin{array}{*{20}c} {\mathbf{S}} & 0 \\ {{\mathbf{D}}_{{\mathbf{G}}} } & {{\mathbf{D}}_{{\mathbf{p}}} } \\ 0 & {\mathbf{I}} \\ \end{array} } \right)\left( {\begin{array}{*{20}c} {\mathbf{G}} \\ {\mathbf{p}} \\ \end{array} } \right) = \left( {\begin{array}{*{20}c} 0 \\ 0 \\ {\mathbf{I}} \\ \end{array} } \right). $$
(25)

The unknowns here are the gradients \( {\mathbf{G}} \), which are to be eliminated, and the cell centre pressures \( {\mathbf{p}} \). The first row represents the flux balance over the subfaces, with \( {\mathbf{S}} \) denoting products between \( {\mathbf{K}} \) and \( {\mathbf{n}} \), accounting for the sign of the normal vector. The second row represents the pressure continuity, with the distances between cell centres and continuity points, \( {\mathbf{D}}_{G} \), and the cell centre contributions in the form of a matrix of ± 1, \( {\mathbf{D}}_{{\mathbf{p}}} \). Finally, the third row is a cell-wise enforcement of pressure values, with \( {\mathbf{I}} \) denoting the identity matrix. Note that in this system, the right-hand side is a matrix rather than a vector: For each interaction region, there is one equation system corresponding to each subcell. Through the last row, the pressure value is set to unity at one of the cell centres and to zero at all others, corresponding to calculation of the basis function centred at that particular cell centre.

Solving the system (25) for \( {\mathbf{G}} \) allows substitution into Eq. (21) to obtain a type (22) equation. In other words, we have arrived at the weights t * k defining the subface discharges in terms of the cell centre pressures.

Once the subface weights have been computed for all interaction regions, the global system is obtained by a two-stage assembly. First, we sum over all subfaces of a given full face k to obtain the face transmissibility

$$ t_{k} = \sum\limits_{l} {t_{l}^{*} } . $$
(26)

Then, the discharges on the boundary of each cell are collected and related to the cell centre pressure of the surrounding cells through these face transmissibilities. Thus, we arrive at a linear system of the form of Eq. (8) with each row representing the local mass conservation equation of a cell.

Different choices of continuity point placement, characterised by the value of η, lead to different variants of the MPFA method. The choice affects the discretisation’s symmetry properties and robustness w.r.t. grid roughness, and the optimal placement depends on the type of grid applied. In the current work, we set η = 0 on Cartesian grids, and η = 1/3 on simplex grids, as suggested in Aavatsmark (2002), Klausen et al. (2008) and Friis et al. (2009). These sources contain further information on the method and its properties, as does Edwards and Rogers (1998).

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Stefansson, I., Berre, I. & Keilegavlen, E. Finite-Volume Discretisations for Flow in Fractured Porous Media. Transp Porous Med 124, 439–462 (2018). https://doi.org/10.1007/s11242-018-1077-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11242-018-1077-3

Keywords

Navigation