1 Introduction

Reservoir simulation was a very active field of research since the beginning of petroleum engineering in the 1930s. Mathematical modeling and numerical simulation play a fundamental role in the analysis of oil reservoir behavior and the study of multiphase flow in porous media. First computer codes for reservoir simulation were developed in the decades of the 1940s and 1950s, when carrying out relevant research in the numerical solution of flow equations. Some details on the historical evolution of reservoir simulation can be found in [12].

Research on multiphase flow in porous media attracts currently great attention, as it can be applied to a number of situations in the field of fluid dynamics, such as groundwater pollution, reservoir simulation, water-oil-gas systems, oil and gas recovery, or \({\text {CO}}_2\) sequestration in geological structures. Interesting situations commonly encountered are oil-water systems, which constitute the aim of the present work. A great number of works devoted to multiphase flow in porous media can be found in the literature such as the classical references [1, 5, 19, 38, 39], or more recent ones as [7, 16, 26, 41].

In this work, we focus our attention on the mathematical modeling and numerical simulation of the underground movement of oil and water. This movement is favored by connected pores and also fractures that are usually present in the geological medium. The typical mathematical models devoted to this kind of applications are systems of parabolic equations with saturation and pressure of the different phases as unknowns. It is worth mentioning here the frequently used black-oil model, see for instance [37] for details, and the so-called compositional models. A comparison of the results obtained with both models can be found in [3], where numerical simulation was performed by means of a discontinuous Galerkin method for mass transport, coupled with an implicit mixed hybrid finite-element (FE) scheme for computing pressure and velocity fields. A flexible general purpose model for multiphase isothermal or thermal compositional flow simulation in porous media was introduced in [40], where numerical simulation results were validated using classical benchmark problems based on black-oil and compositional models. Most of the numerical schemes commonly used in this context are based on finite-difference and FE numerical methods. We refer the reader to the seminal work [27] for a strong background in reservoir simulation, comprising physical principles, mathematical models, and numerical resolution by finite-difference formulations. There is also some literature on the application of finite-volume numerical methods in the field of reservoir simulation, see for instance [6, 11, 14, 18, 20, 23].

A wise combination of statistical techniques and streamlines-based methods in oil reservoir applications was described in [25], where a multilevel Montecarlo method combined with a stream-based solver was utilized to perform two-phase Buckley-Leverett transport simulations of an oil reservoir with uncertain heterogeneous permeability. Going ahead with streamline methods for flow simulation in porous media we refer the interested reader to [29] where, in addition, other geological applications are put forward.

In this work, we consider a hyperbolic-elliptic fractional flow model, which is a system with an elliptic equation for the pressure and a hyperbolic equation for the saturation, as described in [8, 13, 22]. In [8], analytical and numerical study of this type of system was conducted. A local existence and uniqueness study, based on the Arzela-Ascoli theorem applied to oil recovery processes was introduced in [28].

In this work, we solve the elliptic equation using an FE scheme and the hyperbolic equation by means of FV methods, due to its better performance in the presence of discontinuities. The pressure gradient is computed at cell interfaces, from the nodal values of the pressure, using piecewise linear interpolation, selecting the stencil that minimizes the absolute value of the slope, as performed in essentially non-oscillatory (ENO) reconstruction. Flow velocities are then obtained by making use of Darcy’s law, which relates the volumetric flow rate to the pressure gradient.

Prominent studies and detailed analyses of the processes of flow and transport through porous media, with emphasis on applications of Darcy’s law, could be found in the classical reference [5], and also in the more recent one [4].

A relevant feature of this work is the study of the effect of the \(\alpha\) parameter appearing in the first order centered (FORCE)-\(\alpha\) scheme for numerical flux reconstruction, in the context of problems arising in oil-water movement in porous media. These FORCE-\(\alpha\) techniques were introduced in [35] for conservative problems, and after that extended to non-conservative systems in [9]. A deep study of this technique, with a special focus on the parameter \(\alpha\) and applications to Baer-Nunziato equations for compressible two-phase flow was conducted in [36].

As a first approach, we use in this work the MUSCL-Hancock method (MHM) which is of particular interest to solve the hyperbolic part of this model, that is the saturation equation, since it is a simple, but still effective, procedure and second order accurate in space and time. In order to increase the order of accuracy, we resort to fifth-order WENO reconstruction with the RK3-TVD approach for time integration, which can give better results, especially for long-time simulations.

In Table 1, we summarize the main parameters and variables used in the mathematical model, together with their physical meaning.

Table 1 Main parameters and variables used with their meaning

The hyperbolic-elliptic model is not commonly used in reservoir modeling, but has several advantages derived from the fact that hyperbolic equations represent adequately the displacement of water and oil and, from the point of view of computational cost, the numerical resolution of this hyperbolic-type equation is less expensive than the usual parabolic models, considering stability restrictions.

The main contribution of this work concerns the use of the FORCE-\(\alpha\) numerical schemes applied to reservoir simulation and oil-water flow in porous media. This technique allows obtaining a family of numerical methods, depending on the parameter \(\alpha\), with good convergence properties. The rest of this document is structured as follows: in Sect. 2, the two-phase flow mathematical model based on an elliptic-hyperbolic coupled formulation is described. Section 3 is devoted to a brief overview of the numerical schemes including the assessment of the numerical accuracy, using a manufactured solution. Section 4 is focused on the numerical resolution of the coupled model, including the extension to a 2D situation. Finally, conclusions and future research are given.

2 Mathematical Model

We consider in this work a coupled model pressure-saturation, describing the immiscible movement of oil in direction of the production well. This movement is favored by the injection of water into the reservoir, usually done either to keep the pressure in the reservoir or to drive the oil towards the production well. Saturation stands for the fraction of the pore volume which is occupied by a particular fluid (oil, gas, or water). The oil can flow if a critical saturation is exceeded, otherwise, the oil remains in the pores and is not able to flow. In practical applications, usually, the oil is displaced from the reservoir by injecting water or gas. Nonetheless, some amount of oil will remain without being displaced, which gives rise to residual oil saturation.

The addition of saturations of wetting phase, \(s_{\text {w}}\), and the non-wetting phase, \(s_{\text {n}}\), must verify \(s_{\text {w}}+s_{\text {n}}=1\). We note that the non-wetting phase usually refers to oil, while the wetting phase commonly refers to water. The usual way to identify wetting and non-wetting phases is by measuring the contact angle \(\theta\) between the fluid and the solid surface. When \(\theta >90^{\circ }\) phases are non-wetting, whereas phases with \(\theta <90^{\circ }\) are wetting. See a sketch in Fig. 1.

Fig. 1
figure 1

Water as wetting phase, oil as non-wetting phase. When \(\theta >90^{\circ }\), the phase is non-wetting, while if \(\theta <90^{\circ }\), the phase is wetting

The flow velocity of a particular phase is obtained through Darcy’s law, which in the case of multiphase flow adopts the form

$$\begin{aligned} v_i=-\left( \frac{Kk_{{\text {r}}i}}{\mu _{\text {r}}}\right) \frac{\partial P_i}{\partial x},\; i = \mathrm{fluid} \; \mathrm{phase}, \end{aligned}$$
(1)

where the relative permeability of phase i is given by \(k_{{\text {r}}i}\). K represents the total permeability, corresponding to rock permeability which, in this model, has a value of 300 mD (millidarcies). These data come from previous works comprising the study of the medium and rock-fluid characterization performed by geologists, geophysicists, and petrophysicists.

We consider in this work a hyperbolic-elliptic model describing the oil-water movement in the porous medium. Despite there are some references on this type of mathematical formulation, such as [8, 22] in oil reservoir simulation or [24] in surface-subsurface flow, it is not very frequent in the literature.

The model we are dealing with is

  • pressure equation (elliptic)

    $$\begin{aligned} -\frac{\partial }{\partial x} \left( K \lambda (s_{\text {w}}) \frac{\partial P}{\partial x} \right) = Q_{\text {t}} , \end{aligned}$$
    (2)
  • saturation equation (hyperbolic)

    $$\begin{aligned} \phi \frac{\partial s_{\text {w}}}{\partial t} + \frac{\partial }{\partial x} \left( f_{\text {w}}(s_{\text {w}}) v_{\text {w}} \right) = \frac{q_{\text {w}}}{\rho _{\text {w}}}. \end{aligned}$$
    (3)

In (2), \(\lambda (s_{\text {w}})\) stands for the total mobility of both phases combined, that is,

$$\begin{aligned} \lambda (s_{\text {w}}) = \lambda _{\text {w}} + \lambda _{\text {o}} = \frac{k_{\text {rw}}}{\mu _{\text {w}}} + \frac{k_{\text {ro}}}{\mu _{\text {o}}}, \end{aligned}$$
(4)

while \(Q_{\text {t}}\) is a specific volumetric injection/production rate term given by \(Q_{\text {t}} = \frac{q_{\text {w}}}{\rho _{\text {w}}} + \frac{q_{\text {o}}}{\rho _{\text {o}}}\). In addition, \(q_{\text {w}}\) and \(q_{\text {o}}\) are the injection/production of water/oil, respectively, while \(\rho _i\) \((i= \text {w,o})\) represent the fluid densities and \(\phi\) is the rock porosity. The fractional flow function, which is given by

$$\begin{aligned} f_{\text {w}}(s_{\text {w}}) = \frac{\lambda _{\text {w}}}{\lambda _{\text {w}}+\lambda _{\text {o}}} \end{aligned}$$
(5)

relates the mobility of the wetting phase with the total mobility. The mobilities of each phase are \(\lambda _{\text {o}} = \frac{k_{\text {ro}}}{\mu _{\text {o}}}\) and \(\lambda _{\text {w}} = \frac{k_{r_{\text {w}}}}{\mu _{\text {w}}}\) and the relative permeabilities are \(k_{\text {rw}} = (s_{\text {eff}})^{W}\) and \(k_{\text {ro}} = (1-s_{\text {eff}})^{W},\) where \(s_{\text {eff}}\) is the effective saturation which is computed according to \(s_{\text {eff}}=\left( \frac{s_{\text {w}}-s_{\text {cw}}}{1-s_{\text {cw}}-s_{\text {or}}}\right)\) with \(s_{\text {cw}}\) being the connate water saturation, which represents the amount of water adsorbed on the surface of the grains of the rock divided by the pore volume, and \(s_{\text {or}}\) is the residual oil saturation. The value of the exponent W depends upon the model considered, see [2] for different choices. In Sect. 4 of this work, details are given on the values of the parameters involved.

We have also introduced in (3) \(v_{\text {w}}\) representing the flow velocity given by Darcy’s law. Equations (2) and (3) are coupled through the mobility, \(\lambda (s_{\text {w}})\), which is a function of the saturation, as well as the pressure, P, that depends on the flow velocity.

3 Numerical Schemes

The mathematical model described in the previous section is solved in the present work using a finite-element method (FEM) for the pressure equation, and two different FV formulations for the saturation part, which are based on a MUSCL-Hancock approach and a WENO5-RK3TVD scheme. A FORCE-\(\alpha\) numerical scheme for intercell flux reconstruction is used in both FV formulations. Most of the details on these numerical techniques are skipped here, only some description of the FORCE-\(\alpha\) scheme is given, since this is a new contribution in reservoir simulation.

As it is well known, Godunov’s theorem (see [15]) states that linear numerical schemes for solving partial differential equations, having the property of not generating new extrema (monotone scheme), can be at most first-order accurate. According to this theorem, in order to obtain monotone schemes of order higher than 1, nonlinear numerical schemes must be implemented. One of the numerical techniques used in this work is the MHM, which is nonlinear and second-order accurate. In this case, we use the second-order MHM technique, although we remark that, according to [33], the MUSCL approach allows the construction of very high-order schemes. Further, the WENO methodology improves the order of accuracy of the numerical schemes developed.

In order to perform the numerical resolution of the coupled model, the spatial domain is discretized into subintervals \(S_j=[x_j,x_{j+1}]\), which are finite elements for the case of the pressure equation and control volumes when solving, by the FV method, the saturation equation. Hence, the nodes used for the pressure are intercell boundaries for saturation. The process followed, at each time step, starts by solving the elliptic part, that is the pressure equation, by means of an FE scheme to yield nodal values of the pressure \(P_j\), at the nodes with abscissae \(x_j\). In this FE approach, linear two-node \({{\mathcal {P}}}_1\) elements are used.

Next, at the same time step, an FV scheme is applied to solve the saturation equation, and the nodes, \(x_j\), are taken now as cell interfaces of the control volumes. This is useful since the values of the velocity can be straightforward computed at cell interfaces from the nodal values of the pressure according to Darcy’s law. These values of the velocity are needed to solve the saturation equation. Since we just have point values of the pressure at nodes locations, it is necessary to perform a reconstruction process to approximate the derivative \(\frac{\partial P_j}{\partial x}\approx m_j\) with \(|m_j|=\min \left( |\frac{P_{j+1}-P_j}{x_{j+1}-x_j}|,|\frac{P_{j}-P_{j-1}}{x_{j}-x_{j-1}}|,|\frac{P_{j+1}-P_{j-1}}{x_{j+1}-x_{j-1}}|\right)\). Thus, the velocity of water at the cell interface j can be obtained according to the formula

$$\begin{aligned} v_{{\text {w}},j}=-\left( \frac{Kk_r}{\mu }\right) m_j. \end{aligned}$$
(6)

By integrating (3) over the control volume \(S_j\) and dividing by the length of the control volume, \(\Delta x_j\), as well as assuming \(\phi\) is constant in the control volume, we have

$$\begin{aligned}\phi \frac{1}{\Delta x_j}\displaystyle\int_{x_j}^{x_{j+1}}\frac{\partial s_{\text {w}}}{\partial t}{\text {d}}x + \frac{1}{\Delta x_j} \displaystyle\int _{x_j}^{x_{j+1}}\frac{\partial }{\partial x}(f_{\text {w}}(s_{\text {w}})v_{\text {w}}){\text {d}}x = \frac{1}{\Delta x_j} \displaystyle\int_{x_j}^{x_{j+1}}\frac{q_{\text {w}}(t)}{\rho _{\text {w}}}{\text {d}}x,\end{aligned}$$
(7)

where \(s_{\text {w}}=s_{\text {w}}(x,t)\) and \(v_{\text {w}}=v_{\text {w}}(x,t);\)

$$\begin{aligned} \phi \frac{{\text {d}}}{{\text {d}}t}\left( \frac{1}{\Delta x_j}\displaystyle\int _{x_j}^{x_{j+1}}s_{\text {w}}{\text {d}}x\right) +\frac{1}{\Delta x_j}(f_{\text {w}}(s_{{\text {w}},j+1})v_{{\text {w}},j+1}-f_{\text {w}}(s_{{\text {w}},j})v_{{\text {w}},j})=\frac{1}{\Delta x_j}\displaystyle\int _{x_j}^{x_{j+1}}\frac{q_{\text {w}}(t)}{\rho _{\text {w}}}{\text {d}}x, \end{aligned}$$
(8)
$$\begin{aligned} \phi \frac{{\text {d}}\overline{s}_{{\text {w}},j}(t)}{{\text {d}}t}+\frac{1}{\Delta x_j}\left( f_{\text {w}}(s_{{\text {w}},j+1})v_{{\text {w}},j+1}-f_{\text {w}}(s_{{\text {w}},j})v_{{\text {w}},j}\right) = \frac{q_{\text {w}}(t)}{\rho _{\text {w}}}, \end{aligned}$$
(9)

where \(s_{{\text {w}},j}=s_{{\text {w}},j}(t)\) and \(v_{{\text {w}},j}=v_{{\text {w}},j}(t)\) with \(\overline{s}_{{\text {w}},j}\) the cell average of the saturation within cell \(S_j\) which is given by

$$\begin{aligned}\overline{s}_{{\text {w}},j}(t)=\frac{1}{\Delta x_j} \displaystyle\int _{x_j}^{x_{j+1}}s_{\text {w}}(x,t){\text {d}}x.\end{aligned}$$
(10)

Equation (9) can be solved using an efficient ODE solver. In this work, we use the RK3-TVD scheme, although different solvers could be applied. We remark that numerical schemes attaining arbitrary high order of accuracy, such as the ADER approach, are very efficient techniques to solve this type of problems. We refer the reader to the relevant publications [30, 34] for the classical ADER methodology applied to the numerical solution of hyperbolic problems and also to [10, 17] for the application of an interesting variant of the ADER technique, named local space-time DG (LSTDG), specially focused to problems with stiff source terms.

As aforementioned, the FORCE-\(\alpha\) numerical technique is used in this work to carry out flux reconstruction at cell interfaces. Some details on this technique are given in the next subsection.

3.1 FORCE-\(\alpha\) Numerical Flux

The FORCE numerical scheme was introduced by Toro [31, 32] in the context of hyperbolic equations. It was proposed as a deterministic version of Glimm’s or random choice method. Since it is a centered scheme, it does not make use of the eigenvalues of the Jacobian matrix, as it happens in other classical numerical fluxes, such as upwind or Rusanov’s ones. The extension to multi-dimensional problems was proposed in [9, 35, 36] where the parameter \(\alpha\) was introduced to take into consideration several spatial dimensions. The FORCE-\(\alpha\) numerical schemes emerged then as a family of numerical methods, \(\alpha\)-dependent, that were successfully applied to different hyperbolic problems. The FORCE-\(\alpha\) intercell numerical flux, in the context of 1D fractional flow models reads

$$\begin{aligned} f_{{\text {w}},j-\frac{1}{2}}^{{\text {force}},\alpha }=\frac{1}{2}\left( f_{{\text {w}},j-\frac{1}{2}}^{{\text {LF}},\alpha }+f_{{\text {w}},j-\frac{1}{2}}^{{\text {LW}},\alpha }\right) \end{aligned}$$
(11)

for the left interface, where \(\alpha\), as indicated above, is a real number, usually related to the number of space dimensions, that is \(\alpha =1\) for 1D, \(\alpha =2\) for 2D, and \(\alpha =3\) for 3D. However, any value of \(\alpha\) can be used. In the reference [36], there is a complete study on stability, monotonicity, and numerical viscosity of FORCE-\(\alpha\) schemes taking values of \(\alpha\) up to 200. Numerical results given in that reference indicate that the CFL number must decrease as \(\alpha\) increases, in order to ensure stability. This conclusion is also attained in the present work.

The expression (11) is an arithmetic mean of the \(\alpha\) version of the Lax-Friedrichs numerical flux which reads

$$\begin{aligned} f_{{\text {w}},j-\frac{1}{2}}^{{\text {LF}},\alpha } = \frac{1}{2}(f_{\text {w}}(s_j^n) + f_{\text {w}}(s_{j-1}^n)) - \frac{\Delta x}{2\alpha \Delta t}(s_{j}^n - s_{j-1}^n), \end{aligned}$$
(12)

and the \(\alpha\) version of the Lax-Wendroff numerical flux, which is obtained by means of

$$\begin{aligned} f_{{\text {w}},j-\frac{1}{2}}^{{\text {LW}},\alpha } =f_{\text {w}}\left( s_{j-\frac{1}{2}}^{{\text {LW}},\alpha }\right) , \end{aligned}$$
(13)

where

$$\begin{aligned} s_{j-\frac{1}{2}}^{{\text {LW}},\alpha } = \frac{1}{2}(s_{j}^n + s_{j-1}^n) - \frac{\alpha \Delta t}{2\Delta x}(f_{\text {w}}(s_j^n) - f_{\text {w}}(s_{j-1}^n)). \end{aligned}$$
(14)

3.2 Assessment of the Order of Accuracy of the Schemes

We focus our attention on the assessment of the order of accuracy of the numerical schemes. We consider the following problem for the evolution of water saturation:

$$\begin{aligned} \left\{ \begin{array}{ll} \frac{\partial s_{\text {w}}}{\partial t} + \frac{\partial }{\partial x} \left( f_{\text {w}}(s_{\text {w}}) v_{\text {w}} \right) = F_{\text {s}}, &{} x\in (0,3), t>0, \\ s_{\text {w}}(x,0)=1, &{} x\in (0,3),\\ \frac{\partial s_{\text {w}}}{\partial x}(0,t)=\frac{\partial s_{\text {w}}}{\partial x}(3,t)=0, &{} t>0, \end{array}\right. \end{aligned}$$
(15)

whose solution is \(s_{\text {w}}(x,t)= \text{cos}(x(3-x)t)\) and \(F_{\text {s}}\) is a forcing term. The velocity is set here to \(v_{\text {w}}=0.5\) and the fractional flow, \(f_{\text {w}}(s_{\text {w}})\), is obtained according to (4) which takes into account the mobilities of both water and oil.

The problem is solved using the numerical schemes MUSCL-Hancock and the RK3-TVD WENO5, in order to assess their convergence and order of accuracy. Flux reconstruction is fulfilled via the FORCE-\(\alpha\) technique and different values of the parameter \(\alpha\) are considered. Results of the application of MUSCL-Hancock approach are displayed in Fig. 2 where both the \(L^2\)-error norm and the numerical orders of accuracy are shown for the values \(\alpha =1,2,3,14\). It can be observed that the theoretical order of accuracy is successfully attained. Also, we notice that, as the value of \(\alpha\) increases, the error norm tends to be smaller.

Fig. 2
figure 2

MUSCL-Hancock approach with FORCE-\(\alpha\) reconstruction using a manufactured solution to compute the error norm. Left panel: evolution of the \(||{\text {error}}||_{L^2}\) in a log-log plot taking the values \(\alpha =1,2,3,14\). Right panel: order of accuracy attained for different mesh sizes. It can be observed that the values of the error are smaller for larger values of the parameter \(\alpha\)

As for the WENO5-RK3TVD approach, convergence results are depicted in Fig. 3, showing that, as the value of the parameter \(\alpha\) increases, the third order of accuracy is more clearly attained (right frame) and also the error norms become smaller and the evolution of the norm \(L^2\) of the error tends to improve for higher values of \(\alpha\) (left frame).

Fig. 3
figure 3

WENO5-RK3TVD scheme with FORCE-\(\alpha\) reconstruction using a manufactured solution to compute the error norm. Left panel: evolution of the \(||{\text {error}}||_{L^2}\) in a log-log plot taking the values \(\alpha =1,2,14\). Right panel: order of accuracy attained for different mesh sizes. It can be observed that the values of the error are smaller and the order of accuracy is higher for larger values of the parameter \(\alpha\)

4 Numerical Examples

We recall that the problem under consideration is the fractional flow oil-water hyperbolic-elliptic model given by (2) and (3). In these first examples, we omit the source term to deal with the homogeneous system. We use the values \(s_{\text {cw}}=0.25\), \(s_{\text {or}}=0.2\) and the exponent \(W=4\) in the case of water and \(W=2\) when dealing with oil and \(\phi =1\). See [21] for details on the Brooks and Corey model related to water and oil permeabilities, connate saturation, and effective saturation. Details on the physical principles of this type of models can be found in [2].

In Fig. 4, water saturation and oil saturation profiles are shown for different values of the parameter \(\alpha\). The velocity has been assumed constant and its value is \(v_{\text {w}}=4.0\). The output time is \(t=3\) and 80 control volumes are used in the interval [0, 50]. The results show that the solution improves when the value of \(\alpha\) increases, as the rarefaction (transition zone) and the shock wave (representing the flood front) are better resolved. However, the price to pay is the size of the time step, since it must be reduced, as \(\alpha\) increases, which agrees with the conclusions reported in [36]. The size of the time step taken here, in order to ensure the stability for all cases considered is \(\Delta t=10^{-3}\).

Fig. 4
figure 4

MUSCL-Hancock’s solution for the fractional flow model for different values of the parameter \(\alpha\), considering the constant velocity \(v_{\text {w}}=4.0\). Left panel: water saturation profiles. Right panel: oil saturation profiles. Output time \(t=3\)

In Fig. 5, x-t contour plots of water (left frames) and oil (right frames) are depicted for the case of constant velocity \(v_{\text {w}}=4.0\) and for two different values of the parameter \(\alpha\) namely \(\alpha =1\) (top row) and \(\alpha =14\) (bottom row). The results show that the shock wave representing the flood front appears more clearly when the value of \(\alpha\) is higher. We now consider the situation where the velocity field is computed from the pressure drop in the reservoir. Dirichlet boundary conditions are assumed for pressure computation, namely P(0)=390, P(50)=186. Results for water and oil saturation are displayed in Fig. 6. It can be verified that the profiles are better defined as the value of the parameter \(\alpha\) increases.

Fig. 5
figure 5

MUSCL-Hancock’s contour plots x-t for the fractional flow model for different values of the parameter \(\alpha\), considering the constant velocity \(v_{\text {w}}=4.0\). Top row: \(\alpha =1\). Bottom row: \(\alpha =14\). Left panels: water saturation profiles. Right panels: oil saturation profiles. Output time \(t=3\)

Fig. 6
figure 6

MUSCL-Hancock’s solution for the fractional flow model for different values of the parameter \(\alpha\) with non-constant velocity, which is computed according to Darcy’s law. Left panel: water saturation profiles. Right panel: oil saturation profiles. Output time \(t=3\)

In Fig. 7, x-t contour plots of water (left frames) and oil (right frames) are depicted for the case of velocity obtained by Darcy’s law from the pressure gradient and, as before, for \(\alpha =1\) (top row) and \(\alpha =14\) (bottom row). In Fig. 8, fractional flow function (left frame), water and oil relative permeabilities (right frame) are depicted; numerically obtained for variable velocity, \(\alpha =14\) and time \(t=3\).

Fig. 7
figure 7

MUSCL-Hancock’s contour plots x-t for the fractional flow model for different values of the parameter \(\alpha\), considering the non-constant velocity computed using Darcy’s law. Top row: \(\alpha =1\). Bottom row: \(\alpha =14\). Left panels: water saturation profiles. Right panels: oil saturation profiles. Output time \(t=3\)

Fig. 8
figure 8

Left panel: fractional flow function. Right panel: oil and water relative permeabilities. Output time \(t=3\) and parameter \(\alpha =14\)

4.1 Two-Dimensional (2D) Extension

As an extension to the multi-dimensional case we consider the following problem, written in the divergence form:

$$\begin{aligned} \left\{ \begin{array}{ll} -\nabla \left( K \lambda (s_{\text {w}}) \nabla P \right) = Q_{\text {t}},\\ \phi \frac{\partial s_{\text {w}}}{\partial t} + \nabla \left( f_{\text {w}}(s_{\text {w}}) v_{\text {w}} \right) = Q_{\text {w}} \end{array}\right. \end{aligned}$$
(16)

with suitable boundary and initial conditions. In (16), \(Q_{\text {t}}\) and \(Q_{\text {w}}\) are source terms, related to oil and water injection/production rates. Hereafter, 2D Cartesian domains are considered. The numerical scheme applied is the third-order RK TVD method with the FORCE-\(\alpha\) technique for intercell flux reconstruction. Different values of the parameter \(\alpha\) are used in the computations. A sketch of the spatial grid is shown in Fig. 9, where the FE mesh (represented with the dashed red line in the plot) is used to solve the pressure equation and the FV mesh (depicted as the blue solid line in the plot) is used to solve the saturation equation. The FE nodes, where pressure is computed are represented with orange circles. We first consider a problem with a manufactured solution aimed to verify the convergence of the numerical scheme, given by \(P(x,y)={\text {exp}}(x^2-y^2)\) for pressure and \(s_{\text {w}}(x,y,t)=(1+t)x^2(x-1)^2(y-1)^2y^2\) for water saturation. At each particular time step, we solve the pressure equation (17)

$$\begin{aligned} \displaystyle {\,-\frac{\partial }{\partial x}\left( K \lambda (s_{\text {w}}) \frac{\partial P}{\partial x}\right) -\frac{\partial }{\partial y}\left( K \lambda (s_{\text {w}}) \frac{\partial P}{\partial y}\right) =F_P} \end{aligned}$$
(17)

by the FEM using quadrilateral \({{\mathcal {Q}}}_1\) elements (see Fig. 9), hence, nodal values of the pressure are computed. We remark that, although the equation for the pressure is elliptic, it is coupled with the water saturation equation via the mobility, \(\lambda (s_{\text {w}})\).

Fig. 9
figure 9

Sketch of the FV-FE mesh used. Dashed red line: FE mesh, blue solid line: FV mesh. The values of the pressure are computed at the nodes of the FE mesh, while saturation is averaged over the control volumes of the FV mesh

The forcing term \(F_{{P}}=200(1-x^2-y^2) \text {exp}(x^2-y^2)\) appears due to the manufactured solution considered. The nodal values of the pressure allow to compute the velocity at FV cell interfaces, applying Darcy’s law. Once the velocities are obtained, their values are introduced in the water saturation equation, (18), which is solved by the FV technique,

$$\begin{aligned} \displaystyle {\,\frac{\partial s_{\text {w}}}{\partial t}+\frac{\partial }{\partial x}\left( f_{\text {w}}(s_{\text {w}}) v_{{\text {w}},x} \right) +\frac{\partial }{\partial y}\left( f_{\text {w}}(s_{\text {w}}) v_{{\text {w}},y} \right) =F_{\text {s}}}, \end{aligned}$$
(18)

where \(v_{{\text {w}},x}\) and \(v_{{\text {w}},y}\) are the components of water velocity in x and y directions, respectively. The forcing term appearing in (18), \(F_{\text {s}}\), is readily obtained using some software of symbolic computation (Fig. 10). The value of the parameter \(\alpha\) may have an influence on the behavior of the solution, as depicted in Fig. 11 using \(20\times 20\) control volumes. The results displayed confirm that higher values of the parameter \(\alpha\) give rise to a most accurate solution. This effect is even more evident, when the number of cells is reduced. We remark that this result was previously put forward in the 1D case.

Fig. 10
figure 10

Comparison numerical solution with exact solution in the 2D case. Result for pressure is shown in left plot and for water saturation is depicted in the right frame, cutting for the constant value \(x=0.5\). Symbols represent the numerical solution whereas solid blue line refers to the exact solution

Fig. 11
figure 11

Comparison numerical solution of water saturation with the exact solution, cutting with the plane \(x=0.5\), for three different values of the parameter \(\alpha\). Solid blue line is the exact solution while symbols represent the numerical solution

Here we give a short description on the FORCE-\(\alpha\) technique in 2D, due to the relevance of this procedure in the current application. More details on this technique can be found, for instance, in [35, 36]. The 2D FORCE-\(\alpha\) scheme applied to a Cartesian mesh, for a control volume indexed as (IJ) reads

$$\begin{aligned} \begin{array}{lcl} \overline{s}_{{\text {w}},I,J}^{n+1}= & {} \overline{s}_{{\text {w}},I,J}^{n}- \frac{\Delta t}{\Delta x} \bigg( {\tilde{f}}^\mathrm{force}_{{\text {w}},I+\frac{1}{2},J} - {\tilde{f}}^\mathrm{force}_{{\text {w}},I-\frac{1}{2},J} \bigg) -\frac{\Delta t}{\Delta y} \bigg({\tilde{g}}^\mathrm{force}_{{\text {w}},I,J+\frac{1}{2}} - {\tilde{g}}^\mathrm{force}_{{\text {w}},I,J-\frac{1}{2}} \bigg), \; \end{array} \end{aligned}$$
(19)

where \(\overline{s}_{{\text {w}},I,J}^{n}\) is the cell average of water saturation for the control volume (IJ). The FORCE-\({\alpha }\) fluxes in each Cartesian direction and for the right cell interface read

$$\begin{aligned} \left \{\begin{array}{l} {\tilde{f}}_{{\text {w}},I+\frac{1}{2},J}^{\mathrm{force}, \alpha } = \frac{1}{2}\left( {\tilde{f}}_{{\text {w}},I+\frac{1}{2},J}^\mathrm{LW, \alpha } + {\tilde{f}}_{{\text {w}},I+\frac{1}{2},J}^{\mathrm{LF}, \alpha }\right), \\ {\tilde{g}}_{{\text {w}},I,J+\frac{1}{2}}^{\mathrm{force}, \alpha } = \frac{1}{2}\left( {\tilde{g}}_{{\text {w}},I,J+\frac{1}{2}}^\mathrm{LW, \alpha } + {\tilde{g}}_{{\text {w}},I,J+\frac{1}{2}}^{\mathrm{LF}, \alpha }\right), \end{array} \right. \end{aligned}$$
(20)

where the Lax-Friedrichs type flux is

$$\begin{aligned} \left \{\begin{array}{l} {\tilde{f}}_{{\text {w}},I+\frac{1}{2},J}^{\mathrm{LF}, \alpha } = \frac{1}{2} \left[ {\tilde{f}} ( \overline{s}_{{\text {w}},I,J}^{n} ) + {\tilde{f}} ( \overline{s}_{{\text {w}},I+1,J}^{n} ) \right] - \frac{1}{2} \frac{\Delta x}{\alpha \Delta t} ( \overline{s}_{{\text {w}},I+1,J}^{n} - \overline{s}_{{\text {w}},I,J}^{n} ), \\ {\tilde{g}}_{{\text {w}},I,J+\frac{1}{2}}^{\mathrm{LF}, \alpha } = \frac{1}{2} \left[ {\tilde{g}} ( \overline{s}_{{\text {w}},I,J}^{n} ) + {\tilde{g}} ( \overline{s}_{{\text {w}},I,J+1}^{n} ) \right] - \frac{1}{2} \frac{\Delta y}{\alpha \Delta t} ( \overline{s}_{{\text {w}},I,J+1}^{n} - \overline{s}_{{\text {w}},I,J}^{n} ), \end{array} \right. \end{aligned}$$
(21)

and the Lax-Wendroff type flux is

$$\begin{aligned} \left \{ \begin{array}{l} {\tilde{f}}_{{\text {w}},I+\frac{1}{2},J}^\mathrm{LW, \alpha }= {\tilde{f}} \left( \overline{s}_{{\text {w}},I+\frac{1}{2},J}^\mathrm{LW, \alpha } \right), \\ \overline{s}_{I+\frac{1}{2},J,k}^\mathrm{LW, \alpha } = \frac{1}{2}\left( \overline{s}_{{\text {w}},I,J}^{n} + \overline{s}_{{\text {w}},I+1,J}^{n}\right) - \frac{1}{2} \frac{\alpha \Delta t}{\Delta x} \left[ {\tilde{f}}(\overline{s}_{{\text {w}},I+1,J}^{n})-{\tilde{f}}(\overline{s}_{{\text {w}},I,J}^{n})\right] , \end{array} \right. \end{aligned}$$
(22)
$$\begin{aligned} \left \{ \begin{array}{l} {\tilde{g}}_{{\text {w}},I,J+\frac{1}{2}}^\mathrm{LW, \alpha }= {\tilde{g}} \left( \overline{s}_{{\text {w}},I,J+\frac{1}{2}}^\mathrm{LW, \alpha } \right), \\ \overline{s}_{{\text {w}},I,J+\frac{1}{2}}^\mathrm{LW, \alpha } = \frac{1}{2}\left( \overline{s}_{{\text {w}},I,J}^{n} + \overline{s}_{{\text {w}},I,J+1}^{n}\right) - \frac{1}{2} \frac{\alpha \Delta t}{\Delta y} \left[ {\tilde{g}}(\overline{s}_{{\text {w}},I,J+1}^{n})-{\tilde{g}}(\overline{s}_{{\text {w}},I,J}^{n})\right] , \end{array} \right. \end{aligned}$$
(23)

where

$$\begin{aligned}&{\tilde{f}}(\overline{s}_{{\text {w}},I,J}^{n})=f_{\text {w}} ( \overline{s}_{{\text {w}}},x_I,y_J,t^n)v_{{\text {w}},x}(x_I,y_J,t^n), \\&{\tilde{g}}(\overline{s}_{{\text {w}},I,J}^{n})=g_{\text {w}}( \overline{s}_{{\text {w}}},x_I,y_J,t^n)v_{{\text {w}},y}(x_I,y_J,t^n) . \end{aligned}$$

Now we consider the non-homogeneous problem reading

$$\begin{aligned} \left\{ \begin{array}{l} -\frac{\partial }{\partial x}\left( K\lambda (s_{\text {w}}) P\right) -\frac{\partial }{\partial y}\left( K\lambda (s_{\text {w}}) P\right) =-\frac{Q_{\text {o}}}{B_{\text {o}}}\delta ((x-1)(y-1)), \\ \frac{\partial s}{\partial t}+\frac{\partial }{\partial x}\left( f(s_{\text {w}})v_{\text {w}}\right) +\frac{\partial }{\partial y}\left( f(s_{\text {w}})v_{\text {w}}\right) =Q_{\text {w}} \end{array}\right. \end{aligned}$$
(24)

in the space-time domain \((x,y)\in (0,1)\times (0,1),t>0\). As detailed before, the spatial grids are staggered for pressure and water saturation. The rectangle displayed in the solid black line in Fig. 9 represents the spatial domain. Concerning the oil volumetric factor its value is \(B_{\text {o}}=1.235 \;6\) and the oil flow rate \(Q_{\text {o}}=54\). The coefficient K refers to the medium permeability, which is taken here as \(K=300\) mD. In this particular case, we take as the water flow rate \(Q_{\text {w}}=0\). The Dirac’s delta at the RHS of the pressure equation is introduced to locate the depression in the upper right coordinate of the domain. The boundary conditions used for pressure computation are \(P(x,0,t)=420\) for \(0\leqslant x\leqslant 1\) and \(P(x,1,t)=210\) for \(0\leqslant x\leqslant 1\), \(P(0,y,t)=P(1,y,t)=210\) for \(0\leqslant y\leqslant 1\). The initial condition for water saturation is \(s_{\text {w}}(x,y,0)=0.8\) for \(0\leqslant y\leqslant 1,0\leqslant x\leqslant 0.5\) and \(s_{\text {w}}(x,y,0)=0.2\) elsewhere, while boundary conditions are \(s_{\text {w}}(x,y,t)=0.8\) for \(y=0,0\leqslant x\leqslant 1\) and Neumann homogeneous in the rest of the boundary. Results for pressure distribution are displayed in Fig. 12, whereas water (left plot) and oil (right plot) saturations are shown in Fig. 13.

Fig. 12
figure 12

Spatial distribution of pressure for an output time \(t=0.4\)

Fig. 13
figure 13

Spatial distribution of water (left frame) and oil (right frame) saturation for an output time \(t=0.4\)

As a final example, we modify problem (24) introducing an injection of water

$$\begin{aligned} Q_{\text {w}}=\left\{ \begin{array}{ll} 0.25, &{} \text{ if } (x,y)=(0.5,0.5), \\ 0, &{} \text{ otherwise.} \end{array}\right. \end{aligned}$$
(25)

Results are shown in Fig. 14, where an increase in water saturation around the injection location is visible and, consequently, a decrease in oil saturation appears.

Fig. 14
figure 14

Spatial distribution of water (left) and oil (right) saturations when an injection of water located at the central point of the domain, for an output time \(t=0.35\)

5 Conclusions

In this work, we have used different numerical schemes to solve a fractional two-phase flow model in porous media, describing oil-water movement. The model considered here is a hyperbolic-elliptic system, where the elliptic equation represents the distribution of pressure and the hyperbolic part describes the evolution of the saturation front. Both equations are coupled via the mobility which is a function of saturation. This model differs from the typical one based on two parabolic equations and it is also different from the classical Buckley-Leverett model. In order to obtain the numerical solution of the coupled model, an FE approach is used for the elliptic part (pressure equation) and FV techniques are used to solve the hyperbolic part (saturation equation). The FV schemes implemented are a second-order MUSCL-Hancock approach and a WENO5-RK3TVD technique with a FORCE-\(\alpha\) scheme for intercell flux reconstruction. The numerical results are assessed by means of a manufactured solution technique. The theoretical order of accuracy is attained in practice and the results have revealed that, in the WENO5-RK3TVD FORCE-\(\alpha\) approach, for higher values of \(\alpha\) the order of accuracy is more firmly obtained using higher values of the parameter \(\alpha\). Also the error norms are lower for higher values of \(\alpha\). Extension of the numerical methods to a bi-dimensional situation is also performed for the coupled model pressure-saturation, including a problem with exact solution, aimed to validate the proposed model.