1 Introduction

Volumetric deformation of a porous medium caused by fluid pressure changes in pore spaces may impact the hydraulic storability and permeability of a porous material, which in turn influences the fluid flow field. This deformation mechanism is the coupled process between fluid flow and solid deformation, and it can be captured through the application of Biot’s equations of poroelasticity (Biot 1941; Biot and Willis 1957). Biot’s equations can be solved analytically for simple geometries (Terzaghi 1951; Wang 2017), but for complex geometries and boundary conditions, numerical approximations such as finite volume discretization (Nordbotten 2014; Sokolova et al. 2019; Honorio et al. 2018) and finite element methods (Choo and Lee 2018; Deng et al. 2017; Haga et al. 2012; Liu et al. 2018; Murad et al. 2013; Salimzadeh et al. 2018; Wheeler et al. 2014; Bouklas et al. 2015a) are commonly used. Recently, the possibility of solving Biot’s equations using deep learning techniques was presented in Kadeethum et al. (2020a, (2020b). Biot’s equations are relevant for many applications, including land subsidence by groundwater overexploitation, enhanced geothermal system and fossil fuel production in deep and tight reservoirs, hydraulic fracturing-induced seismicity, and biomedical engineering using porous hyperelastic material (Bisdom et al. 2016; Kadeethum et al. 2019b, 2020d; Juanes et al. 2016; Lee et al. 2016; Nick et al. 2013; Vinje et al. 2018; Bouklas et al. 2015b).

Specifically for the finite element method, Biot’s equations can generally be discretized using the two-field or three-field formulations (Haga et al. 2012; Phillips and Wheeler 2007a, b). The two-field formulation uses fluid pressure and bulk deformation as the primary variables, while the three-field formulation adds fluid velocity to the set of primary variables. For problems concerning incompressible material or large strains, a four- or five-field formulation can be implemented (Kumar et al. 2020; Zdunek et al. 2016). In this paper, we limit the scope of our study to two- and three-field formulations.

Each of the formulations mentioned above has its advantages and disadvantages. For example, the two-field formulation, which employs a stable pair of continuous function spaces such as Taylor–Hood elements (Arnold et al. 1984) in its classical form, is unable to provide solutions with local mass conservation or that are free of fluid pressure oscillation at material interfaces with high permeability contrast (Murad and Loula 1994; Scovazzi et al. 2017; Vermeer and Verruijt 1981). The three-field formulation, which explicitly approximates fluid velocity, generally requires more computational resources than the two-field formulation, especially in a three-dimensional domain (Choo and Lee 2018; Kadeethum et al. 2019a, 2020c). Moreover, the three-field formulation involves the inversion of the permeability tensor, leading to an ill-posed problem (Choo and Lee 2018).

There are many ways to compose two- and three-field formulations. For the two-field formulation, both solid displacement and fluid pressure variables can be approximated by the continuous Galerkin (CG) method (Deng et al. 2017; Salimzadeh et al. 2018; Salimzadeh and Nick 2019). For a higher-order approximation, one may employ a CG finite element space for the displacement field and a discontinuous Galerkin (DG) or an enriched Galerkin (EG) finite element space for the fluid pressure variable (Choo and Lee 2018; Kadeethum et al. 2019a; Liu et al. 2009). For three-field formulation, one can use a mixed space of CG, the lowest Raviart–Thomas (RT), and the lowest DG finite element spaces for displacement, velocity, and fluid pressure fields, respectively (Haga et al. 2012; Phillips and Wheeler 2007a).

In this paper, we aim to provide quantitative comparisons of two- and three-field formulations for solving linear and nonlinear Biot’s equations. The flux approximation, local mass conservation, number of Newton iterations, and required computational time are used as comparison parameters. For the sake of simplicity, we solve Biot’s equations using a monolithic approach instead of a sequential method (White and Borja 2011), and no preconditioner is applied (White et al. 2016). A direct solver with lower–upper decomposition (LU) is used inside each Newton iteration to reduce elimination steps in the Gauss elimination (Balay et al. 2018). We note that this approach may not yield the optimum results with regard to computational resource requirements for each method. Advanced developments targeting each specific approach could result in better computational time and memory management (Adler et al. 2019; Ayuso et al. 2009; Lee and Wheeler 2018; White et al. 2016). An iterative scheme such as a fixed-stress algorithm can also speed up the process and reduce the computational cost significantly (Almani et al. 2016; Castelletto et al. 2015; Girault et al. 2019; Kim et al. 2011).

We begin with model descriptions, mathematical equations, and model discretizations for both two- and three-field formulations. Subsequently, the solution strategy is illustrated, including block structure and Newton iterations. Numerical results from two- and three-field formulations are used to compare local mass conservation, flux approximation, and computer processing time. We then provide guidelines for which methods to use with respect to different model descriptions.

2 Mathematical Model

2.1 Governing Equations

We briefly recapitulate Biot’s equations for poroelasticity used in this paper. Let \({\varOmega } \subset {\mathbb {R}}^d\) (\(d \in \{1,2,3\}\)) be the computational domain, which is bounded by \(\partial {\varOmega }\). The time (t) domain is denoted by \({\mathbb {T}} = \left( 0,T\right] \), with \(T>0\). The coupling between the fluid flow and solid deformation can be captured through Biot’s equations of poroelasticity, which are the coupling between linear momentum and mass balance equations (Biot 1941).

The linear momentum balance equation can be written as

$$\begin{aligned} \nabla \cdot \varvec{\sigma } (\varvec{u},p) =\varvec{f}, \end{aligned}$$
(1)

where \(p(\cdot , t) : {\varOmega } \times (0; T] \rightarrow {\mathbb {R}}\) is a scalar-valued fluid pressure, \(\varvec{u} (\cdot , t) : {\varOmega } \times (0; T] \rightarrow {\mathbb {R}}^d\) is a vector-valued displacement, and \(\varvec{f}\) is a body force. For simplicity, \(\varvec{f}\) is neglected in this study. Here, \(\varvec{\sigma }\) is total stress, which is defined as follows

$$\begin{aligned} \varvec{\sigma }:={{\varvec{\sigma }}^{\prime }} - \alpha p \varvec{I}, \end{aligned}$$
(2)

where \(\varvec{I}\) is the identity tensor and \(\alpha \) is Biot’s coefficient, expressed as (Jaeger et al. 2009)

$$\begin{aligned} \alpha :=1-\frac{K}{K_{{s}}}, \end{aligned}$$
(3)

with the bulk modulus of a rock matrix K and the solid grains modulus \(K_s\). In addition, \({{\varvec{\sigma }}^{\prime }}\) is an effective stress

$$\begin{aligned} \varvec{\sigma }^{\prime } (\varvec{u}) = \lambda _{l} (\varvec{\varepsilon }(\varvec{u})) \varvec{I} + 2\mu _{l} \varvec{\varepsilon }{(\varvec{u})}. \end{aligned}$$
(4)

where \(\lambda _{l}\) and \(\mu _{l}\) are Lamé constants, and \(\varvec{\varepsilon }\) is the strain assuming infinitesimal displacement

$$\begin{aligned} \varvec{\varepsilon } := \varvec{\varepsilon }(\varvec{u}) :=\frac{1}{2}\left( \nabla \varvec{u}+(\nabla \varvec{u})^{\intercal }\right) . \end{aligned}$$
(5)

Here, \(\partial {\varOmega }\) can be decomposed to displacement and traction boundaries, \(\partial {\varOmega }_u\) and \(\partial {\varOmega }_t\), respectively. Linear momentum balance is supplemented by its boundary and initial conditions, as shown below

$$\begin{aligned} \nabla \cdot \varvec{\sigma }^{\prime }(\varvec{u}) - \alpha \nabla \cdot p \varvec{I}= & {} \varvec{f} \quad \text{ in } {\varOmega } \times {\mathbb {T}}, \end{aligned}$$
(6)
$$\begin{aligned} \varvec{u}= & {} \varvec{u}_{D} \, \text{ on } \partial {\varOmega }_{u} \times {\mathbb {T}},\end{aligned}$$
(7)
$$\begin{aligned} \varvec{\sigma } {(\varvec{u})} \cdot \varvec{n}= & {} \varvec{t}_{D} \,\,\text { on } \partial {\varOmega }_{t} \times \mathbb {T},\end{aligned}$$
(8)
$$\begin{aligned} \varvec{u}= & {} \varvec{u}_{0} \,\,\, \text{ in } {\varOmega } \text{ at } t = 0, \end{aligned}$$
(9)

where \(\varvec{u}_D\) and \({\varvec{\sigma }_D}\) are the prescribed displacement and traction quantities at boundaries, respectively.

Next, the mass balance equation is given as (Coussy 2004)

$$\begin{aligned} \rho \left( \phi c_{f}+\dfrac{\alpha -\phi }{K_{s}}\right) \dfrac{\partial }{\partial t}p + \rho \alpha \frac{\partial }{\partial t} \nabla \cdot \varvec{u} + \nabla \cdot \left( \rho \varvec{v} \right) =g \text{ in } {\varOmega } \times {\mathbb {T}}. \end{aligned}$$
(10)

Here, \(\rho \) is fluid density, \(\phi \) is initial porosity, \(c_f\) is fluid compressibility, \(\nabla \cdot \varvec{u}\) is the volumetric deformation, and g is a sink/source. Velocity \(\varvec{v}\) is defined by Darcy’s velocity

$$\begin{aligned} \varvec{v} :=- \frac{{\mathscr {N}}[\varvec{\kappa }]}{\rho } (\nabla p-\rho \varvec{g}) \text{ in } {\varOmega } \times {\mathbb {T}}, \end{aligned}$$
(11)

where \(\varvec{g}\) is a gravitational vector, \({\mathscr {N}}[\cdot ]\) represents a nonlinear operator, and \(\varvec{\kappa }\) is

$$\begin{aligned} \varvec{\kappa }:=\frac{\rho {\varvec{k}_{m}}}{\mu }, \end{aligned}$$
(12)

where \(\mu \) represents fluid viscosity and \(\varvec{k}_m\) is a matrix permeability tensor defined as

$$\begin{aligned} \varvec{k}_m=\left[ \begin{array}{l@{\quad }l@{\quad }l} {{k}_m^{xx}} &{} {{k}_m^{xy}} &{} {{k}_m^{xz}} \\ {{k}_m^{yx}} &{} {{k}_m^{yy}} &{} {{k}_m^{yz}} \\ {{k}_m^{zx}} &{} {{k}_m^{zy}} &{} {k}_m^{zz} \end{array}\right] , \end{aligned}$$
(13)

and \(k^{xx}\), \(k^{yy}\), and \(k^{zz}\) represent matrix permeability in the x-, y-, and z-directions, respectively. In this study, we are dealing with two types of a system of equations using different definitions of \({\mathscr {N}}[\varvec{\kappa }]\) as follows

$$\begin{aligned} {\mathscr {N}}[\varvec{\kappa }] = {\left\{ \begin{array}{ll} = \varvec{\kappa }, &{} \text {for} \ \text {a system of linear equations} \\ = \varvec{\kappa (u)}, &{} \text {for} \ \text {a system of nonlinear equations}. \end{array}\right. } \end{aligned}$$
(14)

The boundary of mass balance equation \(\partial {\varOmega }\) is decomposed to pressure and flux boundaries, \(\partial {\varOmega }_p\) and \(\partial {\varOmega }_q\), respectively. The mass balance equation is then supplemented by the following boundary and initial conditions

$$\begin{aligned} p= & {} p_{D} \text{ on } \partial {\varOmega }_{p} \times {\mathbb {T}}, \end{aligned}$$
(15)
$$\begin{aligned} \rho \varvec{v} \cdot \varvec{n}= & {} q_{D} \text{ on } \partial {\varOmega }_{q} \times {\mathbb {T}}, \end{aligned}$$
(16)
$$\begin{aligned} p= & {} p_{0} \text{ in } {\varOmega } \text{ at } t = 0, \end{aligned}$$
(17)

where \(p_D\) and \(q_D\) are the given pressure and flux, respectively.

Remark 1

The nonlinearity arising in Biot’s equations studied here is focused only in the matrix permeability tensor, which is expressed as a function of the displacement vector, see Eq. (14). This form of nonlinearity is not the only possible formulation. The elastoplastic or visco-elastoplastic constitutive laws could also be introduced and add sources of nonlinearity (Cao et al. 2016; Choo 2018; Macminn et al. 2016; Lewis and Schrefler 1998).

2.2 Numerical Methods

Let \({\mathscr {T}}_h\) be the shape-regular triangulation by a family of partitions of \({\varOmega }\) into d-simplices T (triangles/squares in \(d=2\) or tetrahedral/hexahedra in \(d=3\)). We let \(h_{T}\) be the diameter of T, and we set \(h=\max _{T \in {\mathscr {T}}_h} h_{T}\). Also, we denote \({\mathscr {E}}_h\) to be the set of all facets. Then let \({\mathscr {E}}_h^{I}\) and \({\mathscr {E}}_h^{\partial }\) be the collection of all interior and boundary facets, respectively. The \({\mathscr {E}}_h^{\partial }\) is decomposed into \({\mathscr {E}}_{h}^{D}\), the Dirichlet boundary faces, and \({\mathscr {E}}_{h}^{N}\), the Neumann boundary faces. The space \(H^{s}({\mathscr {T}}_h)\) \((s\in {\mathbb {R}})\) is the set of element-wise \(H^{s}\) functions on \({\mathscr {T}}_h\), and \(L^{2}({\mathscr {E}}_h)\) refers to the set of functions whose traces on the elements of \({\mathscr {E}}_h\) are square integrable. Let \({\mathbb {Q}}_k(T)\) represent the space of polynomials of partial degree at most k.

Next, we briefly introduce several notations. Let

$$\begin{aligned} e = \partial T^{+}\cap \partial T^{-}, \ \ e \in {\mathscr {E}}_h, \end{aligned}$$
(18)

where \(T^{+}\) and \(T^{-}\) are two neighboring elements. We denote \(h_{e}\) by the length of the facet e, and \(\varvec{n}^{+}\) and \(\varvec{n}^{-}\) by the outward normal unit vectors to \(\partial T^+\) and \(\partial T^-\), respectively (\(\varvec{n}^{\pm }:=\varvec{n}_{|T^{\pm }}\)). For any given function \(\xi \) and vector function \(\varvec{\xi }\), defined on the triangulation \({\mathscr {T}}_h\), let \(\xi ^{\pm }\) and \(\varvec{\xi }^{\pm }\) be the restrictions of \(\xi \) and \(\varvec{\xi }\) to \(T^\pm \), respectively. Next, we define the weighted average operator \(\{\cdot \}_{\delta _{e}}\) for \(\zeta \in L^2({\mathscr {T}}_h)\) and \(\varvec{\tau } \in L^2({\mathscr {T}}_h)^d\), where \(d \ge 2\)

$$\begin{aligned} \{\zeta \}_{\delta e}=\delta _{e} \zeta ^{+}+\left( 1-\delta _{e}\right) \zeta ^{-}, \ \text { on } e \in {\mathscr {E}}_h, \end{aligned}$$
(19)

and

$$\begin{aligned} \{\varvec{\tau }\}_{\delta e}=\delta _{e} \varvec{\tau }^{+}+\left( 1-\delta _{e}\right) \varvec{\tau }^{-}, \ \text { on } e \in {\mathscr {E}}_h, \end{aligned}$$
(20)

where \(\delta _{e}\) is calculated by Ern et al. (2009), Ern and Stephansen (2008) and Kadeethum et al. (2019a)

$$\begin{aligned} \delta _{e} :=\frac{{\kappa }^{-}_e}{{\kappa }^{+}_e+{\kappa }^{-}_e}. \end{aligned}$$
(21)

Here

$$\begin{aligned} {\kappa }^{+}_e :=\left( \varvec{n}^{+}\right) ^{\intercal } \cdot \varvec{\kappa }^{+} \cdot \varvec{n}^{+}, \quad \text {and}\quad {\kappa }^{-}_e :=\left( \varvec{n}^{-}\right) ^{\intercal } \cdot \varvec{\kappa }^{-} \cdot \varvec{n}^{-}, \end{aligned}$$
(22)

where \({\kappa _e}\) is a harmonic average of \(\kappa ^{+}_e\) and \({\kappa }^{-}_e\) expressed as

$$\begin{aligned} {\kappa _{e}}:= \frac{2{\kappa }^{+}_e {\kappa }^{-}_e}{\left( {\kappa }^{+}_e+{\kappa }^{-}_e\right) }. \end{aligned}$$
(23)

On the other hand, for \(e \in {\mathscr {E}}^{\partial }_h\), we set \(\left\{ \zeta \right\} _{\delta _e} := \zeta \) and \(\left\{ \varvec{\tau } \right\} _{\delta _e} := \varvec{\tau }\). Jumps across interior facets will be defined as

$$\begin{aligned} \llbracket \zeta \rrbracket = \zeta ^+\varvec{n}^++\zeta ^-\varvec{n}^- \quad \text{ and } \quad \llbracket {\varvec{\tau }} \rrbracket = \varvec{\tau }^+\cdot \varvec{n}^+ + \varvec{\tau }^-\cdot \varvec{n}^- \quad \text{ on } e\in {\mathscr {E}}_h. \end{aligned}$$

For \(e \in {\mathscr {E}}^{\partial }_h\), we let \(\llbracket \zeta \rrbracket := \zeta \varvec{n}\) and \(\llbracket \varvec{\tau } \rrbracket := \varvec{\tau } \cdot \varvec{n}\).

Table 1 Two-field (\(\varvec{u} {\times } p\)) and three-field (\(\varvec{u} {\times } \varvec{v} {\times } p\)) formulations presented with their choices of function space

2.2.1 Finite Element Spaces

We employ five different finite element methods for the spatial discretization and compare the performance for the given problem. The first three methods we consider are continuous Galerkin (CG) (Murad and Loula 1994; Deng et al. 2017), discontinuous Galerkin (DG) (Liu et al. 2009; Riviere et al. 2017), and enriched Galerkin (EG) (Lee and Wheeler 2018; Choo and Lee 2018; Kadeethum et al. 2019a; Lee and Wheeler 2017; Lee and Woocheol 2019) methods, where the primary unknown variables are (\(\varvec{u} {\times } p\)), i.e the displacement \(\varvec{u} (\cdot , t)\) and the pressure \(p(\cdot , t)\). These are known as two-field formulations.

The next two methods are so-called three-field formulations, where the primary unknown variables are (\(\varvec{u} {\times } \varvec{v} {\times } p\)), i.e the displacement \(\varvec{u} (\cdot , t)\), the velocity \(\varvec{v} (\cdot , t)\), and the pressure \(p(\cdot , t)\). For this case, we consider the Raviart–Thomas (RT) mixed finite element method (Pain et al. 2005; Castelletto et al. 2016; Phillips and Wheeler 2007a, b) and continuous mixed finite element method (Haga et al. 2012). The summary of each method and its designated name for simplicity of presentation is presented in Table 1.

We also compare the number of unknowns, or degrees of freedom (DOF), among these methods by setting k as shown in Table 1. Please see Fig. 1(a, b) for an illustration of two- and three-dimensional cases. The CG method has the lowest number of DOF, while MFE-P2 has the greatest. The DG and the MFE-RT methods have almost the same number of DOF, and the EG method has fewer DOF than the DG and the MFE-RT methods.

Fig. 1
figure 1

Comparison of the DOF of the methods presented in Table 1 of (a) two-dimensional geometry, (b) three-dimensional geometry. Note that the DG and MFE-RT results overlap each other in (a and b)

2.2.2 Temporal Discretization

The time domain, \({\mathbb {T}} = \left( 0, \tau \right] \), is partitioned into N open intervals such that \(0=: t^{0}<t^{1}<\cdots <t^{N} := \tau \). The length of the interval, \({\varDelta } t^n\), is defined as \({\varDelta } t^n=t^{n}-t^{n-1}\), where n represents the current time step. \({\varDelta } t^0\) is an initial \({\varDelta } t\), which is defined as \(t^{1}-t^{0}\), while the other time steps, \({\varDelta } t^n\), are calculated as follows

$$\begin{aligned} {\varDelta } t^n := {\left\{ \begin{array}{ll} {\varDelta } t_{\mathrm{mult}}\times {\varDelta } t^{n-1} &{} \text {if} \ {\varDelta } t^n \le {\varDelta } t_{\mathrm{max}} \ \\ {\varDelta } t_{\mathrm{max}} &{} \text {if} \ {\varDelta } t^n > {\varDelta } t_{\mathrm{max}}, \end{array}\right. } \end{aligned}$$
(24)

where \({\varDelta } t_{\mathrm{mult}}\) is a positive constant multiplier, and \({\varDelta } t_{\mathrm{max}}\) is a maximum of \({\varDelta } t\). In this study, implicit first-order time discretization is utilized for a time domain as shown below for a given function \({\mathbb {X}}(\cdot ,t)\) at time \(t^n\)

$$\begin{aligned} \dfrac{\partial {\mathbb {X}}(\cdot ,t^n)}{\partial t} \approx \frac{{\mathbb {X}}^{n}-{\mathbb {X}}^{n-1}}{{\varDelta } t^n}. \end{aligned}$$
(25)

The fully discretized formulations of each method in Table 1 are presented in the appendices. Please note that to simplify the process used in this paper, we solve Biot’s equations using a monolithic method, and only a direct solver is employed without any preconditioner (Balay et al. 2018; White and Borja 2011; White et al. 2016). We note that in recent years, iterative solvers have been introduced that can exploit the block structure of the discrete problem and its intrinsic algebraic properties, which lead to very efficient strategies (Castelletto et al. 2016; White et al. 2016; Ferronato et al. 2010; Lee et al. 2017; Frigo et al. 2019; Ferronato et al. 2019). Additionally, each of the methods presented in Table 1 can be optimized; for example, there is a fast solver technique available for the EG method (Lee and Wheeler 2018). A decomposition of the linear DG space into a Crouzeix–Raviart (C–R) space and a complementary space can be used as a block preconditioner for the DG method (Lee and Wheeler 2018; Ayuso et al. 2009). New robust solvers and preconditioners for three-field formulations have also recently been proposed (Adler et al. 2019; Frigo et al. 2019). Moreover, a fixed-point iteration approach, such as the fixed-stress split, can be employed instead of the monolithic approach in order to speed up the process (Almani et al. 2016; Girault et al. 2019; Castelletto et al. 2015; Kim et al. 2011).

3 Numerical Examples

We compare four factors among the five methods listed in Table 1. The flux approximation, local mass conservation property, DOF, and required computational time are the comparison factors. We begin with a simple one-dimensional linear consolidation problem in homogeneous and heterogeneous porous materials. We then present two- and three-dimensional nonlinear Biot’s systems in homogeneous and heterogeneous materials.

Throughout this paper, matrices and vectors are built using the FEniCS form compiler (Alnaes et al. 2015). The block structure is assembled using the multiphenics toolbox (Ballarin and Rozza 2019). Solvers are employed from the PETSc package (Balay et al. 2018). The random fields porosity (\(\phi \)) and permeability (\({{\varvec{k}}_{m0}}\)) are populated using the SciPy package (Virtanen et al. 2020). The penalty parameter (\(\beta \)) is set at 1.1 and 1.0 for the DG and EG methods, respectively.

3.1 A Consolidation Benchmark Problem with Homogeneous Material

We verify the numerical methods CG, EG, DG, MFE-RT, and MFE-P2 using an analytical solution known as Terzaghi’s one-dimensional consolidation problem (Terzaghi 1951). Examples 1 and 2 are similar to examples employed by Choo and Lee (2018) and Kadeethum et al. (2019a), but here we also include MEF-RT and MFE-P2, the mixed finite element methods, for validation and comparison. We consider the linear case with \({\mathscr {N}}[\varvec{\kappa }] =\varvec{\kappa }\) and assume the domain is homogeneous, isotropic, and saturated with a single-phase fluid. The computational domain and boundary conditions are presented in Fig. 2.

The nondimensional parameters are defined as follows (Terzaghi 1951; Choo and Lee 2018; Kadeethum et al. 2019a)

$$\begin{aligned} p^{*} :=\frac{p}{\sigma }, \, z^{*} :=\frac{z}{H}, \, t^{*} :=\frac{c_{v}}{H^{2}} t, \end{aligned}$$
(26)

where p is the fluid pressure, \(\sigma \) is the far-field stress or external load, z is the distance from the drainage boundary, and H is the domain thickness. In addition, \(c_{v}\) is the coefficient of consolidation calculated by

$$\begin{aligned} c_{v}=3 K\left( \frac{1-v}{1+v}\right) \frac{k_{m,y}}{\mu }, \end{aligned}$$
(27)

where \(k_{m,y}\) is the matrix permeability in the y-direction. Subsequently, the analytical pressure solution of Terzaghi’s one-dimensional consolidation is written as follows

$$\begin{aligned} \begin{aligned} p^{*}\left( z^{*}, t^{*}\right) =&\sum _{m=0}^{\infty } \frac{2}{M} \sin \left( M z^{*}\right) \hbox {e}^{-M^{2} t^{*}}, \end{aligned} \end{aligned}$$
(28)

where \(M=\pi (2 m+1) / 2\). Input parameters are \({{\varvec{\sigma }}_{D}}=[0, 1]\,{\mathrm {kPa}}\), \(p_{D}=0\) \({\mathrm {Pa}}\), \(\varvec{k_{m}}=10^{-12} \varvec{I}\) \({\mathrm {m}}^{2}\), \(\mu =10^{-6}\,{\mathrm {kPa\,s}}\), \(\rho =1{,}000\) \({\mathrm {kg}} / {\mathrm {m}}^{3}\), \(K=1{,}000\,{\mathrm {kPa}}\), mesh size(h) \(=0.05\) m, \(K_{{\mathrm {s}}} \approx \infty \,{\mathrm {kPa}}\), which leads to \(\alpha \approx 1\), and \(v=0.25\), \({\varDelta } t^0 = 1.0\) s, \({\varDelta } t_{\mathrm{mult}} = 1.0\), \({\varDelta } t_{\mathrm{max}} = 1\); \(\lambda _l\) and \(\mu _l\) are calculated by the following equations

$$\begin{aligned} \lambda _{l}=\frac{3 K v}{1+v}, \quad \text {and}\quad \mu _{l}=\frac{3 K(1-2 v)}{2(1+v)}. \end{aligned}$$
(29)
Fig. 2
figure 2

Example 3.1: A setup for the one-dimensional consolidation problem in a homogeneous material

Fig. 3
figure 3

Example 3.1: The pressure values for the one-dimensional consolidation problem in a homogeneous material. The results from all CG, EG, DG, MFE-RT, and MFE-P2 methods are illustrated. The new results for the mixed methods (MFE-RT, MFE-P2) are similar to CG, DG, and EG, which were also shown in Choo and Lee (2018) and Kadeethum et al. (2019a)

Fig. 4
figure 4

Example 3.2: A setup for the one-dimensional consolidation problem in a two-layered material

Fig. 5
figure 5

Example 3.2: The pressure values for the one-dimensional consolidation problem in a two-layered material is illustrated. (a) presents the pressure results of the CG, EG, and DG methods, (b) shows the pressure results of the MFE-RT and MFE-P2 methods. The new results for the mixed methods (MFE-RT, MFE-P2) are similar to CG, DG, and EG, which were also shown in Choo and Lee (2018); Kadeethum et al. (2019a)

We use the direct solver with lower–upper decomposition (LU) in this problem (Balay et al. 2018). The results of the five different methods are presented in Fig. 3. We observe reasonable matches between analytical and numerical solutions for all time steps, 25, 50, 100, and 250 s. Moreover, the solutions of CG, EG, DG, MFE-RT, and MFE-P2 methods are approximately identical for this problem.

3.2 A Consolidation Problem with Two-Layered Material

Next, we evaluate the fluid pressure, p, in a Two-layered material (Choo and Lee 2018; Kadeethum et al. 2019a). Figure 4 presents a geometry and boundary conditions utilized in this problem. Most of the input parameters, mesh size, and solvers are the same as in the previous example, but in this example, \({\varvec{k}_{m}}=\) \(k_{1}\varvec{I},\) if \(1>x>0.5\) and \({\varvec{k}_{m}}=k_{2}\varvec{I},\) if \(0.5>x>0,\) and \(k_{1}=10^{-12}\) \({\mathrm {m}}^{2}\) and \(k_{2}=10^{-16}\) \({\mathrm {m}}^{2}\).

The pressure values, p, are presented in Fig. 5(a, b) for the CG, EG, and DG methods and the MFE-RT and MFE-P2 methods, respectively. In this heterogeneous material, we observe unphysical (spurious) pressure oscillations at the interface when the CG and MFE-P2 methods are used, because it is well known that the classical CG method does not conserve mass locally (Haga et al. 2012; Choo and Lee 2018; Kadeethum et al. 2019a; Choo 2019; Choo and Borja 2015; Hong and Kraus 2017; Honorio et al. 2018; Lee et al. 2017; Rodrigo et al. 2018; White and Borja 2008).This oscillation may lead to incorrect fluid flux calculation and incorrect permeability alteration, since \(\varvec{\kappa }\) is a function of \(\varvec{u}\) as described in Eq. (14), and \(\varvec{u}\) is strongly coupled with p. Hence, suitable modifications are required to overcome this issue. On the other hand, we do not observe any oscillations for the EG, DG, or MFE-RT methods. The pressure solutions of these methods are smooth for all the time steps.

3.3 A Flow Problem in Two-Dimensional Deformable Media

In this example, we consider the system of nonlinear equations by assuming \({\mathscr {N}}[\varvec{\kappa }] = \varvec{\kappa (u)}\) in the computational domain \({\varOmega } = \left[ 0,1\right] ^2\). For the nonlinear case, the volumetric displacement can cause the matrix permeability alteration, and \(\varvec{k_m}\) is defined as Du and Wong (2007) and Abou-Kassem et al. (2013)

$$\begin{aligned} {\varvec{k}_{m}}={\varvec{k}_{m}}^0\dfrac{\left( 1+\dfrac{\varepsilon _{v}}{\phi }\right) ^{3}}{1+\varepsilon _{v}}, \end{aligned}$$
(30)

where \({{\varvec{k}}_{m}^0}\) represents the initial rock matrix permeability. Here, \(\varepsilon _{v}\) is the total volumetric strain

$$\begin{aligned} \varepsilon _{v} :={\text {tr}}({\varvec{\varepsilon }})=\sum _{i=1}^{d} \varepsilon _{i i}. \end{aligned}$$
(31)

Throughout this problem, we assume that \(\rho \) and \(\mu \) are constants; thus, \(\varvec{\kappa }\) varies only as a function of \(\varvec{k_m}\). The details for the setup and the boundary conditions are shown in Fig. 6.

Fig. 6
figure 6

Example 3.3: A setup for the flow problem in a two-dimensional deformable media. (a) Mass boundary conditions and (b) force boundary conditions are illustrated

Table 2 Example 3.3: Degrees of freedom (DOF) comparison among CG, EG, DG, MFE-RT, and MFE-P2 methods

The physical parameters are given as \({{\varvec{\sigma }}_{D}}=[0, 20]\,{\mathrm {MPa}}\), \(p_{D}=1\,{\mathrm {MPa}}\), \(p_{0}=10\,{\mathrm {MPa}}\), \(\alpha =0.79\), \(K = 8.0\) \({\mathrm {GPa}}\), \(K_s\) is then calculated by Eq. (3), \(c_{f}=1\) \(\times 10^{-10}\) \({\mathrm {Pa}}\), \(\rho =1{,}000\) \({\mathrm {kg}} / {\mathrm {m}}^{3}\), \(\mu =10^{-6}\,{\mathrm {kPa\,s}}\), \(h=\) \(0.025 {\mathrm {m}}\), and \(v=0.2\). The rock properties are selected for a sandstone example (Jaeger et al. 2009). In addition, \(\lambda _{l}\), and \(\mu _{l}\) are calculated by Eq. (29). Finally, the numerical parameters are set as \({\varDelta } t^0 = 1.0\) s, \({\varDelta } t_{\mathrm{mult}} = \) 1.5, \({\varDelta } t_{\mathrm{max}} = 2.5\) s. We have two different cases of the \(\phi \) and \(\varvec{k_m}\) for this example.

This example is used to compare the flux approximation, property of local mass conservation, and the number of Newton iterations. First, the number of DOF for five different methods is presented in Table 2. As we discussed before, we observe that the CG method has the fewest DOF. The DG and MFE-RT methods have approximately the same number of DOF, while MFE-P2 has the highest number of DOF.

The local mass conservation of each cell at each time step, \({\mathrm {r^n_{ mass }}}\), is calculated by

$$\begin{aligned} {\mathrm {r^n}}_{{\mathrm {mass}}}:= & {} \int _{T} \rho \left( \phi c_{f}+\frac{\alpha -\phi }{K_{s}}\right) \frac{p^{n}-p^{n-1}}{{\varDelta } t^n}\nonumber \\&+\rho \alpha \nabla \cdot \frac{{\varvec{u}}^{n}-{\varvec{u}}^{n-1}}{{\varDelta } t^n} d V+\sum _{e \in {\mathscr {E}}_{h}} \int _{e} \varvec{v}^{n} \cdot \left. {\varvec{n}}\right| _{{\mathrm {e}}} d S, \end{aligned}$$
(32)

and the numerical flux, \(\varvec{v}^{n} \cdot \left. {\varvec{n}}\right| _{{\mathrm {e}}}\), is defined by

$$\begin{aligned} \varvec{v}^{n} \cdot \left. {\varvec{n}}\right| _{{\mathrm {e}}}&=-\left\{ \varvec{\kappa }( \varvec{u}_{h}^{n})\left( \nabla p_{h}^{n}-\rho \varvec{g}\right) \cdot \varvec{n}\right\} +\frac{\beta }{h_{e}} \varvec{\kappa }( \varvec{u}_{h}^{n})\llbracket p_{h}^{n}\rrbracket \quad \forall e \in {\mathscr {E}}_h^{I}, \end{aligned}$$
(33)
$$\begin{aligned} \varvec{v}^{n} \cdot \left. \varvec{n}\right| _{{\mathrm {e}}}&=q_{D} \quad \forall e \in {\mathscr {E}}_{h}^{N}, \end{aligned}$$
(34)
$$\begin{aligned} \varvec{v}^{n} \cdot \left. {\varvec{n}}\right| _{{\mathrm {e}}}&=-\varvec{\kappa }( \varvec{u}_{h}^{n})\left( \nabla p_{h}^{n}-\rho \varvec{g}\right) \cdot {\varvec{n}}+\frac{\beta }{h_{e}} \varvec{\kappa }( \varvec{u}_{h}^{n})\left( p_{h}^{n}-p_{D}\right) \quad \forall e \in {\mathscr {E}}_{h}^{D}. \end{aligned}$$
(35)

For the comparison, we evaluate the maximum value of \({\mathrm {r^n}}_{{\mathrm {mass}}}\) at each time step, \({\mathrm {max}}({{r}}_{{\mathrm {mass}}})\). For the flux approximation, we use a recovery factor (\({\mathrm {RF}}\)), which is an industry standard (Peaceman 2000; Abou-Kassem et al. 2013; Chen 2007), and it is defined at each time step as follows

$$\begin{aligned} {\mathrm {RF}}^n:=\frac{\sum _{{t=0}}^{t^{n}} \sum _{e \in {\mathscr {E}}_{h}} \int _{e} \varvec{v}^{n} \cdot \left. {\varvec{n}}\right| _{{\mathrm {e}}} dS}{\rho V_{0} \phi }, \end{aligned}$$
(36)

where \(V_0\) is an initial reservoir volume. In this example, \(\varvec{v}^{n} \cdot \left. {\varvec{n}}\right| _{{\mathrm {e}}}\) is calculated for all outlet surfaces.

Fig. 7
figure 7

Example 3.3.1: Comparison of the values of (a) RF, (b) \({\mathrm {max}}({r}_{\mathrm{mass}})\), and (c) number of Newton iterations among the CG (green line), EG (black line), DG (red line), MFE-RT (magenta line), and MFE-P2 (blue line) methods. Note that all results overlap each other in (a), and the CG and EG results overlap in (c)

Throughout this example, the Newton iteration is used to solve the system of nonlinear equations, and a direct solver with lower–upper decomposition (LU) is employed for each Newton iteration (Balay et al. 2018). The absolute tolerance is set as \(1 \times 10^{^-6}\), relative tolerance is set as \(1 \times 10^{^-16}\), the maximum number of Newton iterations is 100, and the relaxation parameter is 0.75. All simulations are run on a Xeon E5-2650 v4 processor with a single thread.

3.3.1 Homogeneous Rock Matrix Porosity and Permeability

In this case, we consider that \(\varvec{k_m}^0\) is isotropic and homogeneous, and the value is set to \({\varvec{k}_{m}}^0=10^{-12}\varvec{I}\). Figure 7 illustrates the comparison of the RF, \({\mathrm {max}}({{r}}_{{\mathrm {mass}}})\), and number of Newton iterations for the different methods.

First, we note that all the methods present approximately the same RF results. However, the value for \({\mathrm {max}}({{r}}_{{\mathrm {mass}}})\) shows different behavior for each method. The EG, DG, and MFE-RT methods conserve the local mass, with the value of \({\mathrm {max}}({{r}}_{{\mathrm {mass}}})\) always less than the absolute tolerance of \(1 \times 10^{^-6}\), whereas the CG and MFE-P2 methods do not conserve the local mass, and the \({\mathrm {max}}({{r}}_{{\mathrm {mass}}})\) value is not bounded.

Figure 7(c) shows that the CG and EG methods require the fewest Newton iterations, while the DG, MFE-RT, and MFE-P2 require approximately the same number of Newton iterations.

The summaries of total wall and CPU times are presented in Table 3 for all methods. This table shows that the CG method requires the least total wall and CPU time, while the MFE-RT method requires the most. This result indicates that the total computational time is not directly determined by the number of DOF presented in Table 2 and the number of Newton iterations shown in Fig. 7(c). Thus, more detailed information regarding the required computational time used by each operation is presented in Table 4.

In Table 4, we observe that the LU solver and assemble system operations are the main contributors to the wall time. Note that for the CG, MFE-RT, and MFE-P2, there is no computational time for assembling the interior facets because there is no interior facet integral term in their discretizations. As expected, the more DOF the method has, the more time it needs to assemble the system. The two-field formulation, CG, EG, and DG methods, requires less time to solve a linear system than the three-field formulation, MFE-RT and MFE-P2 methods, because the two-field formulation has one fewer primary variable than the three-field formulation. Even though the assembly time of the MFE-P2 method is higher than that of the MFE-RT method, the LU solver operation takes twice as long for the MFE-RT method as that of the MFE-P2 method. This leads to the longer total wall and CPU time taken by the MFE-RT method.

Table 3 Example 3.3.1: Comparison of the total wall and CPU times
Table 4 Example 3.3.1: Comparison of the average wall time for each operation

3.3.2 Heterogeneous Rock Matrix Porosity and Permeability

In this example, the heterogeneous \(\phi \) and \(\varvec{\kappa }^0\) values are considered as shown in Fig. 8(a, b), respectively. In particular, the heterogeneous fields are generated using the following specifications: \(\bar{\phi }=0.2,\) \({\text {var}}(\phi )=0.01,\) \(\phi _{\min }=0.001,\) \(\phi _{\max }=0.4,\) \(\bar{\varvec{\kappa }^0}=1.2 \times 10^{8} \, {\mathrm {s}}, {\text {var}}({{\varvec{\kappa }}^0})=1.4 \times 10^{-16} \, {\mathrm {s^2}}, {{\varvec{\kappa }}_{ \min }}^0=1.2 \times 10^{-13} \, {\mathrm {s}}\), and \({{\varvec{\kappa }}_{ \max }}^0=1.2 \times 10^{-6} \,{\mathrm {s}}\). Here \(\overline{( \cdot )}\) denotes an arithmetic average, var\(( \cdot )\) is the variance, and \(( \cdot )_{\min }\) and \(( \cdot )_{\max }\) are the minimum and maximum values, respectively. The values \(\bar{\phi }\), \(\phi _{\min }\), \(\phi _{\max }\), \(\bar{\varvec{\kappa }^0}\), \({{\varvec{\kappa }}_{ \min }}^0\), and \({{\varvec{\kappa }}_{ \max }}^0\) are selected based on the reported values for shales and sandstones from Jaeger et al. (2009). Note that \(\bar{\varvec{\kappa }^0}\), \({{\varvec{\kappa }}_{ \min }}^0\), and \({{\varvec{\kappa }}_{ \max }}^0\) reflect the \(\bar{{\varvec{k}_{m}}^0}\), \({{{\varvec{k}}_{m \min }}^0}\), and \({{{\varvec{k}}_{m \max }}^0}\) values of \(1.2 \times 10^{-14}\), \(1.2 \times 10^{-19}\), and \(1.2 \times 10^{-12}\) \({\mathrm {m^2}}\), respectively. Additionally, these two heterogeneous fields are populated independently (i.e., there is no correlation between \(\phi \) and \(\varvec{\kappa }^0\)). All the other input parameters are assigned the same values in the previous homogeneous example (Sect. 3.3.1).

In Fig. 9, the results of the RF, \({\mathrm {max}}({{r}}_{{\mathrm {mass}}})\), and number of Newton iterations are illustrated. In this case, the EG, DG, and MFE-RT methods provide approximately the same RF result, but the CG and MFE-P2 results are significantly different. Similar to the homogeneous case, the \({\mathrm {max}}({{r}}_{{\mathrm {mass}}})\) of the EG, DG, and MFE-RT methods is always less than the absolute tolerance of \(1 \times 10^{^-6}\). This shows that the EG, DG, and MFE-RT have the property of local mass conservation. The CG and MFE-P2 methods, on the other hand, do not conserve local mass. Figure 9(c) illustrates that the CG and EG methods require the lowest number of Newton iterations, and the two-field formulation requires fewer Newton iterations than the three-field formulation. The MFE-RT method has the highest number of Newton iterations.

The summary of the total wall and CPU times of the heterogeneous case for all methods is illustrated in Table 5. The result agrees with the previous case in Sect. 3.3.1. The CG method requires the least wall and CPU time, while the MFE-RT method requires the most wall and CPU time.

Fig. 8
figure 8

Example 3.3.2: Heterogeneous rock matrix porosity and permeability values based on normal and log-normal distributions. (a) \(\phi \) field and (b) \({\mathrm {log10}}({{\varvec{\kappa }}^0})\) field

Fig. 9
figure 9

Example 3.3.2: Comparison of the values of (a) RF, (b) \({\mathrm {max({r_{mass}})}}\), and (c) number of Newton iterations among the CG (green line), EG (black line), DG (red line), MFE-RT (magenta line), and MFE-P2 (blue line) methods. Note that the EG, DG, and MFE-RT results overlap each other in a

Table 5 Example 3.3.2: Comparison of the total wall and CPU times
Table 6 Example 3.3.2: Comparison of the average wall time for each operation

More detailed analysis of the computational time of each operation is summarized in Table 6. Similar to Sect. 3.3.1, the LU solver and assemble system operations take most of the wall time used by each simulation. The two-field formulation requires less time to solve a linear system than the three-field formulation. As expected, the more DOF the method has (Table 2), the more time it needs to assemble the system. Moreover, as mentioned in the homogeneous case, the LU solver operation of the MFE-RT method takes twice as much time as the MFE-P2. This leads to the longer total wall and CPU times of the MFE-RT method.

3.4 A Flow Problem in Three-Dimensional Deformable Media

This example extends the previous study in the two-dimensional domain to a three-dimensional domain. The computational domain is given as \({\varOmega } = \left[ 0,1\right] ^3\). The geometry and boundary conditions are presented in Fig. 10(a). The input parameters are similar to those of the previous two-dimensional problem. For the heterogeneous case, the \(\phi \) and \(\varvec{\kappa }^0\) fields are constructed by the same specifications as the two-dimensional problem, as illustrated in Fig. 10(b, c). Here, the \({{\varvec{\sigma }}_{D}}\) value is set as \({{\varvec{\sigma }}_{Dx}}=[10, 0, 0]\), \({{\varvec{\sigma }}_{Dy}}=[0, 10, 0]\), and \({{\varvec{\sigma }}_{Dz}}=[0, 0, 10]\,{\mathrm {MPa}}\).

Fig. 10
figure 10

Example 3.4: A setup for the three-dimensional problem. a Geometry and boundary conditions. Besides the surface that is imposed by the constant pressure boundary, other surfaces are imposed by the zero-flux boundary. Also, the surfaces that are opposite the stress boundaries are imposed with zero normal displacement). b Illustration of \(\phi \) and c \({\mathrm {log10}}(\varvec{\kappa }^0)\) fields

This problem also assumes the nonlinear relation \({\mathscr {N}}[\varvec{\kappa }] = \varvec{\kappa (u)}\) in Eq. (14). The definition of Eq. (30) used in the two-dimensional case is again utilized in this problem. First, the summary of the number of DOF among different methods is presented in Table 7. Similar to the previous problem, we can observe that the CG method has the fewest DOF. The DG and MFE-RT methods have approximately the same number of DOF, while MFE-P2 has the highest number of DOF.

Again, throughout this problem, the Newton iteration is used to solve the system of nonlinear equations, and a direct solver with lower–upper decomposition (LU) is employed for each Newton iteration (Balay et al. 2018). The absolute tolerance is set as \(1 \times 10^{^-6}\), relative tolerance is set as \(1 \times 10^{^-16}\), the maximum number of Newton iterations is 100, and the relaxation parameter is 0.75. All simulations are computed on a Xeon E5-2650 v4 processor with a single thread.

Table 7 Example 3.4: Comparison of degrees of freedom (DOF) among CG, EG, DG, MFE-RT, and MFE-P2 methods

3.4.1 Homogeneous Rock Matrix Porosity and Permeability

In this example, we consider that \(\varvec{k_m}^0\) is isotropic and homogeneous, and its value is assigned as \({\varvec{k}_{m}}^0=10^{-12}\varvec{I}\) \({\mathrm {m^2}}\). The results of the RF, \({\mathrm {max}}({{r}}_{{\mathrm {mass}}})\), and number of Newton iterations are presented in Fig. 11. We observe that all methods except the CG method present approximately the same RF results. Similar to the two-dimensional case, the EG, DG, and MFE-RT methods show the property of local mass conservation, while the CG and MFE-P2 methods do not. Figure 11(c) illustrates that the CG and EG methods require the fewest Newton iterations. Unlike the two-dimensional case, the DG method requires fewer Newton iterations than both the MFE-RT and MFE-P2 methods, and the MFE-RT method requires the highest number of Newton iterations.

A summary of the total wall and CPU times for all methods is presented in Table 8. We observe that the CG method requires the least wall and CPU time, while the MFE-P2 method requires the most. This result may be related to the number of DOF presented in Table 2 and the number of Newton iterations shown in Fig. 11(c).

Fig. 11
figure 11

Example 3.4.1: Comparison of the values of (a) RF, (b) \({\mathrm {max({r_{mass}})}}\), and (c) number of Newton iterations among the CG (green line), EG (black line), DG (red line), MFE-RT (magenta line), and MFE-P2 (blue line) methods. Note that all results overlap each other in (a), and the CG and EG results are overlapped in (c)

Table 8 Example 3.4.1: Comparison of the total wall and CPU times
Table 9 Example 3.4.1: Comparison of the average wall time for each operation

A more detailed comparison of the required computational time for each operation is summarized in Table 9. Similar to all previous cases, the main contributors to the wall time are the LU solver and assemble system operations. However, the difference in this three-dimensional case is that the assemble system operation sometimes takes more time than the LU solver for the MFE-RT and MFE-P2 methods. This is a visible result, since it is clear that the greater the number of DOF the method has, the more time it requires to assemble the system. As in the three-dimensional case, the three-formulation DOF increases dramatically compared to the two-dimensional case. The two-field formulation, CG, EG, and DG methods, requires less time to solve a linear system than the three-field formulation MFE-RT and MFE-P2 methods because the two-field formulation has one fewer primary variable than the three-field formulation. The computational time required by the LU solver operation of the MFE-RT is twice that of the MFE-P2 one. Thus, we observe that the LU solver operation is not always proportional to the number of DOF. The computational time required to assemble the system also increases significantly for the MFE-P2 case, which leads to the longer total wall and CPU times relative to the MFE-RT method.

Fig. 12
figure 12

Example 3.4.2: Comparison of the values of (a) RF, (b) \({\mathrm {max({r_{mass}})}}\), and (c) number of Newton iterations among the CG (green line), EG (black line), DG (red line), MFE-RT (magenta line), and MFE-P2 (blue line) methods. Note that the EG, DG, and MFE-RT results overlap each other in (a)

3.4.2 Heterogeneous Rock Matrix Porosity and Permeability

In this example, we illustrate the results obtained with the heterogeneous materials. In Fig. 12, the results of the RF, \({\mathrm {max}}({{r}}_{{\mathrm {mass}}})\), and number of Newton iterations are presented. Similar to the heterogeneous case in the two-dimensional domain, the RF results of the EG, DG, and MFE-RT methods are almost identical, while the CG and MFE-P2 RF results are significantly different. Moreover, the EG, DG, and MFE-RT methods show the property of local mass conservation, since (\({\mathrm {max}}({{r}}_{{\mathrm {mass}}})\) is always less than the absolute tolerance of \(1 \times 10^{^-6}\)). As expected, the CG and MFE-P2 methods do not conserve the local mass. Figure 12(c) shows that the CG and EG methods require the fewest Newton iteration, and the two-field formulation requires fewer Newton iterations than the three-field formulation. In the three-dimensional case, the MFE-RT method has the highest number of Newton iterations instead of the MFE-P2 method.

A summary of the total wall and CPU times for the three-dimensional heterogeneous case for all methods is illustrated in Table 10. The result is similar to the previous homogeneous case in Sect. 3.4.1. The CG method requires the least wall and CPU time, while the MFE-P2 method requires the most wall and CPU time.

Table 10 Example 3.4.2: Comparison of the total wall and CPU times

The required computational time for each operation is summarized in detail in Table 11. As shown in all the previous cases, the main contributors to the wall time are LU solver and assemble system operations. Also, the assemble system operation for the three-field formulation takes more time than the LU solver operation. As mentioned in the previous case, the LU solver operation of the MFE-RT requires twice the wall time as that of the MFE-P2 method, while the assembly operation of the MFE-P2 method is 2.5 times that of the MFE-RT method.

Table 11 Example 3.4.2: Comparison of the average wall time for each operation

4 Discussion

We compared and illustrated the performance of five finite element approximations, CG, EG, DG, MFE-RT, and MFE-P2, shown in Table 1 using examples that span one- to three-dimensional geometries and homogeneous to heterogeneous materials. Each numerical method gives pressure solutions for linear one-dimensional consolidation models that are almost the same as Terzaghi’s analytical solution, with less than 1% difference. Where these methods diverge is when local mass conservation must be enforced across all interfaces, especially those with high conductivity contrasts. In this case, the CG and MFE-P2 methods might produce spurious oscillations at the material interface (see Sect. 3.2), suggesting they may not be good representations of the linear Biot system in a heterogeneous material. It is well known that the CG and MFE-P2 methods without appropriate stabilization produce spurious pressure oscillations, and these oscillations can be eliminated by introducing stabilization terms (Choo 2019; Choo and Borja 2015; Hong and Kraus 2017; Honorio et al. 2018; Lee et al. 2017; Rodrigo et al. 2018; White and Borja 2008). As expected, the spurious oscillations do not occur in EG, DG, or MFE-RT methods (Choo and Lee 2018; Haga et al. 2012; Kadeethum et al. 2019a; Liu et al. 2009; Phillips and Wheeler 2007a).

The recovery factor (RF), Newton iteration, average wall time for assembling a system, and LU solver operations are computed for the suite of two- and three-dimensional numerical examples to be used in quantitative comparisons of all the methods presented in Table 1. Results from each method are compared to those of the CG method using a relative change calculation, presented in Table 12. The CG method is used as the base case because it is the most classic finite element method. There is a small difference between each method for the RF results in a two-dimensional homogeneous case (Sect. 3.3.1). The maximum difference is only 0.07%. For heterogeneous cases, however, the maximum difference in RF results is at least 10%. We find that the RF differences among the EG, DG, and MFE-RT methods are minimal, within 2%. The RF results show that the MFE-P2 method is 10.09% different from the CG method and is approximately 5% different from the group of EG, DG, and MFE-RT methods. There are two main explanations for this behavior. The first is that the EG, DG, and MFE-RT methods do not produce spurious oscillations at material interfaces. Therefore, they provide more accurate flux calculation and conductivity alteration (Eqs. 14, 12, 30). The second reason is that these three methods provide local mass conservation, which leads to more accurate flux approximations.

Table 12 Summary of comparisons among the methods in Table 1 using the CG method as a base case

For the three-dimensional homogeneous material example, the RF results from the EG, DG, MFE-RT, and MFE-P2 methods differ by 7 to 10% from the RF results with the CG method. The differences become more significant for models with heterogeneous material, such that the relative change from the CG method for the other four methods ranges from 28 to 40%. The RF result of the MFE-P2 methods using homogeneous material is similar to the results for the EG, DG, and MFE-RT, but the difference becomes more significant for models with heterogeneous material. We can see that the methods that have the property of local mass conservation (i.e., EG, DG, and MFE-RT) can provide more robust flux approximation, especially for heterogeneous materials.

An examination of the overall trend reveals that the two-field formulation requires fewer Newton iterations than the three-field formulation because it has fewer primary variables, which leads to faster convergence behavior. The EG method does not require a significantly higher number of Newton iterations than the CG method, and EG requires the fewest Newton iterations among the methods with local mass conservation. The number of Newton iterations increases when a material is heterogeneous. The number of Newton iterations can influence the total wall time required by the simulation. As discussed in Sect. 3, the number of Newton iterations is not the only factor that affects the simulation time. The assembly operation is also a major contributor to the wall time. As expected, the higher the number of DOF, the greater the time required to assemble the system. Hence, the assembly time for the three-field formulation is significantly greater than that of the two-field formulation, especially for three-dimensional examples.

For the LU solver operation inside each nonlinear iteration, the three-field formulation methods generally require longer wall time than the two-field formulation methods. The MFE-RT method requires the longest wall time, while the CG method requires the least time. The time required for the LU solver operation is significantly increased when modeling heterogeneous materials. Among the methods that have the local mass conservation property, the EG method requires the least time for the LU solver operation.

5 Conclusions

We evaluate the performance of five different finite element approximations for flow in deformable porous media. Here, we solve Biot’s system, which involves multiphysics processes coupling fluid flow and bulk deformation problems. The numerical results and comparisons provided aid users in their selection of an appropriate method that best suits the desired accuracy of their results and their access to computational resources. This approach could be applied to many different studies, including land subsidence by groundwater overexploitation, enhanced geothermal systems and fossil fuel production in deep and tight reservoirs, hydraulic fracturing-induced seismicity, and biomedical engineering involving porous hyperelastic material. In particular, we present quantitative comparisons of flux approximation, local mass conservation property, degrees of freedom, and computation time between five different two- and three-field formulations for solving linear and nonlinear Biot systems. The approximated fluxes from the five methods are similar (less than 10% relative difference) for the linear Biot system with homogeneous material properties. However, at least 10% relative difference in flux approximation is observed in cases with heterogeneous material. Here, the accurate approximation of the fluxes is crucial to conserve the local mass and to avoid spurious oscillations. However, longer wall and CPU times are required due to the larger number of degrees of freedom and Newton iterations for local mass conservation methods.