# Patent

## Title
Enriched multi-point flux approximation

## Abstract

Methods and systems to reduce or eliminate numerical oscillations in solutions that occur when using conventional MPFA when modeling flow in a reservoir are provided. The technique may be referred to as enriched multi-point flux approximation (EMPFA) and may be used to improve the consistency and accuracy in constructing pressure interpolations in cells for the purpose of determining flux equations used in predicting flow in a reservoir.

## Background
This application is the National Stage of International Application No. PCT/US2007/012223, filed 18 May 2007, which claims the benefit of U.S. Provisional Application No. 60/837,499, filed 14 Aug. 2006.


BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention generally relates to the modeling of hydrocarbon reservoirs and particularly to providing a more consistent and accurate representation of fluid flows and pressure gradients.
2. Description of the Related Art
Locating petroleum deposits, drilling wells and managing the extraction of petroleum from a deposit is done at great expense. Due to the complicated and critical nature of locating and managing hydrocarbon deposits, new professions have evolved and special technologies have been developed in order to reduce uncertainty, lower costs, and optimize production. Petroleum engineers, production engineers, geophysicists and geologists now use computerized models of the earth's crust to plan exploration and manage production of petroleum reservoirs.
Reservoir conditions are not static and gas and liquids in a reservoir can move rapidly. Engineers use numerical simulations in modeling the movements of gas and liquid in hydrocarbon reservoirs. These simulations aid engineers in gaining a better understanding of a reservoir's structure and flow properties, as well as aiding in developing an optimal production strategy which maximizes recovery and achieves the best economic result. Modern reservoir modeling has rapidly grown in complexity and can involve the integration of numerous software packages and computational engines. However, a modeling task can generally be broken down into five major steps: geological modeling, gridding and property generation, initialization, history matching and prediction.
Geological modeling concerns establishing reservoir geometry, reservoir boundaries and faults, as well as establishing basic rock properties such as porosity and permeability distributions. In order to provide an accurate representation of a reservoir, data can be incorporated from a very large number of sources including physical surveys, seismographic surveys, and data from wells. Engineers often have very detailed data about the characteristics and properties of specific and discrete locations within the reservoir. During initialization, this data may be used to determine the total amount of fluids as well as fluid compositions and phase saturations in discrete cells. History matching may be performed after running a simulation by comparing numerical results (e.g., for well production rate, gas oil ratio, water-cut, etc.) against actual field data and adjustments may be made to the reservoir model to reduce discrepancies. Once a model is refined, it may be used to predict future well production rates and a well management strategy based on the simulated reservoir flow conditions may be designed that aims to optimize overall recovery or economic results.
Gridding is typically performed to discretize a reservoir into a finite number of cells in order to simulate the behavior of the reservoir. It is often the case that grid orientation, grid size and grid geometry has a large impact on the accuracy of a simulation. In general, to resolve pressure, saturation, or permeability variation across the reservoir, smaller grid cells need to be used where such variation is large. For example, cell sizes in the surroundings of a well may need to be small because of the usually large pressure drawdown at those locations.
Besides grid sizes, grid orientation and grid geometry may also have a strong impact on simulation results. To reduce grid orientation effect, for example, grids may be aligned along major reservoir geological features, such as facies or faults, as well as streamlines for fluid flows. With commonly used Cartesian grid using local refinements, it may be possible to generate grids with cells of varying sizes, but it may be difficult to align cells along geological features or flow streamlines. For isotropic permeability distributions and features that are horizontal or vertical, this grid orientation problem with Cartesian grid may be partially solved with the advent of a K-orthogonal grids where gridnodes can be distributed more or less freely in space to conform to reservoir geometry. For anisotropic and highly heterogeneous permeability fields, it is almost impossible to create K-orthogonal grids. Therefore, conventional two point flux approximation (TPFA), which computes the flux of a face between two adjacent gridblocks by piecewise linearly interpolating the grid cell pressures, may no longer be accurate or valid and multi-point flux approximation (MPFA) should be used. MPFA involves a larger stencil to calculate the flux and is recognized by researchers as a way to improve numerical accuracy.
With MPFA, formulas for calculating fluxes are first derived for single phase flows, and then generalized to multiphase phase flows by accounting for saturation effects on relative permeability. The goal in the derivation is to solve for a pressure gradient field in the reservoir which yields fluxes that are consistent across interfaces between grid cells. To compute the pressure gradient in 2D, interaction regions are constructed around each vertex of the grid by joining the center of each grid cell sharing the vertex with centers of the cell edges that meet at the vertex. In 3D, interaction regions are created by constructing surfaces that are bounded by lines connecting block centers and face centers and lines connecting face centers and edge centers of cells around the vertex.
Computing a pressure gradient using MPFA may be described with reference to FIG. 1, which shows an exemplary set of adjacent grid cells 1101-1104 sharing a common vertex O. An interaction region 120 is constructed by joining cell centers C1-C4 with centers M1-M4 of cell edges that meet at the vertex O. To facilitate discussion, each portion of an interaction region that is contained in one of the cells is referred to as a subvolume. For example, in FIG. 1, quadrilaterals C2M1OM2, C3M2OM3, C4M3OM4 and C1M4OM1 are the four subvolumes of the interaction region 120.
With conventional MPFA, the pressure gradient is assumed constant in each subvolume and is obtained by using first order Taylor expansion or linear interpolation based on the pressure value at the cell center (Ci, i=1 to 4) and those at the edge centers (Mi, i=1 to 4) of the same subvolume. Using the pressure gradient and Darcy's law,

F=nTλK∇p  (1)

fluxes may then be written in terms of the pci and pek, where F is flux in feet per day, n is the normal vector, λ is the fluid mobility in 1/cp, K is a permeability tensor in millidarcys, ∇ is the gradient operator in 1/ft and p is pressure in pounds per square inch. Though not written explicitly, a unit conversion factor of 0.00633 may be used on the right hand side to convert md-psi/ft-cp to ft/day. By balancing fluxes across each half-edge inside the interaction region (M1M2, M2M3, M3M4, and M4M1), a formula for pressure at any point pek may be derived as linear functions of pci. Upon substitution, these equations may yield expressions for fluxes as linear functions of all pressure values at grid cell centers. The exact forms of these linear relationships may depend on the selected cell geometry and permeability tensors on grid cells surrounding the subvolume. In reservoir simulation, pressures at block centers may then be solved to determine the flows and state of the system.

In general, with MPFA the increase in computational cost when compared to TPFA is relatively small but results are shown to be more accurate, as expected. However, it has been observed that MPFA could result in severe unphysical oscillations in numerical solutions for single phase pressure equation

−∇·K∇p=g  (2)

if the permeability field is strongly anisotropic, where g is a source/sink term and a constant mobility of 1 is assumed to simplify the notations. These numerical oscillations may be linked to the lack of monotonicity in the solution matrix for the discretization problem and efforts have been made to improve MPFA so that matrix monotonicity can be restored. In any case, the possible occurrence of these oscillations may pose a severe limitation to the use of MPFA in many applications.

Accordingly, what is needed is an improved method for approximating flux gradients.
SUMMARY OF THE INVENTION
Embodiments of the present invention generally provide methods and apparatus for making multi-point flux approximations.
For some embodiments, more accurate methods for calculating the pressure gradient and fluxes across discrete areas or volumes within a petroleum reservoir model are provided. Harmful oscillations in numerical solutions may be reduced by the introduction of additional unknown parameters (e.g., unknown pressures) in the interaction region. The addition of one or more unknown parameters allow the construction of a continuous pressure interpolation within a particular interaction region through the use of piecewise linear or piecewise bilinear, or trilinear in 3D, techniques.
In one embodiment, a method of modeling flow of a fluid within a reservoir is described. The method includes dividing the reservoir into a finite number of grid cells that forms a grid of the reservoir; defining interaction regions contained within adjacent grid cells in the grid; and performing enriched multipoint flux approximation operations that allow continuous pressure interpolation within one of the interaction regions by introducing at least one unknown pressure parameter within the one of the interaction regions.
In another embodiment, a method of predicting flow in a reservoir is described. The method includes (a) dividing a reservoir into a finite number of grid cells that forms a grid of the reservoir; (b) defining interaction regions contained within adjacent grid cells in the grid; (c) generating a linear system of equations in terms of global pressure parameters by performing enriched multipoint flux approximation operations that allow continuous pressure interpolation within multiple interaction regions by introducing at least one unknown pressure parameter within each of the multiple interaction regions; and (d) solving the linear system of equations.
In yet another embodiment, a computer-readable storage medium containing executable instructions is described. The computer-readable storage medium which is executed by a processor, performs operations for enriched multipoint flux approximation when executed. The executable instructions comprise (a) defining interaction regions contained within adjacent grid cells of a finite number of grid cells that form a grid dividing a reservoir; and (b) generating a linear system of equations in terms of global pressure parameters by performing enriched multipoint flux approximation operations that allow continuous pressure interpolation within multiple interaction regions by introducing at least one unknown pressure parameter within each of the multiple interaction regions.
In another alternative embodiment, a method for predicting one or more flow-based material properties of a reservoir is described. The method comprises dividing the reservoir into a finite number of grid cells that forms a grid of the reservoir; defining an interaction region contained within adjacent grid cells in the grid; deriving a set of equations for interpolation of a parameter within the interaction regions in terms of at least five unknown values of the parameter local to the interaction region, including at least one unknown parameter within the interaction region; deriving, from the set of interpolation equations, a system of equations in terms of global unknown parameters; and solving the system of equations to predict the one or more flow-based material properties.
In another embodiment, a method for predicting the pressure gradient in a reservoir is described. This method comprises dividing the reservoir into a finite number of grid cells that forms a grid of the reservoir; defining an interaction region contained within adjacent grid cells in the grid; deriving a set of equations for pressure interpolation within the interaction regions in terms of at least five unknown pressure parameters local to the interaction region, including at least one unknown pressure parameter within the interaction region; deriving, from the set of pressure interpolation equations, a system of equations in terms of global unknown pressure parameters; and solving the system of equations to predict the pressure gradient in the reservoir.



BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing and other aspects and advantages are better understood from the following detailed description of a preferred embodiment of the invention with reference to the drawings, in which:
FIG. 1 illustrates an exemplary interaction region and corresponding subvolumes used in conventional Multi-Point Flux Approximation (MPFA).
FIG. 2 is a flow diagram of exemplary operations for performing Enriched Multi-Point Flux Approximation (EMPFA), in accordance with embodiments of the present invention.
FIGS. 3A and 3B illustrate an exemplary integration region and subvolumes constructed for performing EMPFA, in accordance with embodiments of the present invention.
FIG. 4 illustrates an exemplary integration region and subvolumes constructed for performing EMPFA, in accordance with embodiments of the present invention.
FIG. 5 illustrates an exemplary integration region and subvolumes constructed for performing EMPFA, in accordance with embodiments of the present invention.
FIG. 6 illustrates an exemplary non-matching grid and corresponding integration region for performing EMPFA, in accordance with embodiments of the present invention.
FIG. 7 illustrates an exemplary 3-D interaction region and subvolumes constructed for performing EMPFA, in accordance with embodiments of the present invention.
FIGS. 8A-8F illustrate exemplary subvolumes of the 3-D integration region shown in FIG. 7.
FIG. 9 illustrates a random grid generated by perturbing a Cartesian grid.
FIG. 10 illustrates a grid used for investigating numerical oscillations using EMPFA.
FIG. 11 illustrates a graph of results obtained using conventional MPFA.
FIG. 12 illustrates a graph of results obtained using EMPFA.
FIG. 13 illustrates a three-dimensional diagram illustrating solutions from MPFA compared to EMPFA.
FIG. 14 illustrates a graph of errors in results obtained using conventional MPFA versus EMPFA.
FIGS. 15A and 15B illustrate an exemplary computation region with discontinuous permeability, and a grid of regions with discontinuous regions.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
Embodiments of the present invention generally provide a method, apparatus, and system that may be used to reduce or eliminate numerical oscillations in solutions that occur when using conventional MPFA. The technique may be referred to as enriched multi-point flux approximation (EMPFA).
EMPFA, as described herein, may be used in a variety of applications, such as modeling general single or multiphase flows using various fluid models (e.g., black oil or equation-of-state or other compositional) in 2-dimensional (2D) or 3-dimensional (3D) reservoir models. EMPFA may be used to model the convective flow of energy. Further, EMPFA may be applied to Cartesian, Voronoi, or even arbitrary grids. In one particular application, EMPFA may be used to improve the consistency and accuracy in constructing pressure interpolations in grid cells for the purpose of determining flux equations used in predicting flow in a reservoir.
As previously described, with the conventional MPFA method, a pressure gradient is treated as constant inside each subvolume of an interaction region based on linear interpolation of pressure at the block center and the two neighboring edge centers, which may give rise to an inconsistency in that the linearly interpolated pressure may be discontinuous across each half-edge shared by adjacent subvolumes. EMPFA may overcome this deficiency by introducing more degrees of freedom within the interaction region (e.g., at the vertex inside each interaction region), which may allow for continuous pressure interpolation within the interaction region and more accurate flux approximation.
Thus, EMPFA techniques described herein may be used to advantage in any type of application that might benefit from more accurate pressure or flux approximations. Such applications include, but are not limited to, scale-up, modeling of dispersion/diffusion, and coupling of material and energy flows in thermal simulation.
To facilitate understand the following description will refer to determining fluxes in a petroleum reservoir modeling system as a specific, but not limiting, example of a useful application of EMPFA. However, those skilled in the art will recognize that the method and device described herein and/or utilized in the manner described herein may be used in a wide variety of applications of numeric models.
An Exemplary Method for Enriched Multipoint Flux Approximation
FIG. 2 is a flow diagram 200 of exemplary operations 200 that may be performed to accurately calculate fluxes at interfaces of grid cells, in accordance with embodiments of the present invention. The operations may be performed, for example, in an effort to obtain a series of flux equations for all cell interfaces (e.g., in terms of pressures at cell centers) that may be used in a global effort to predict flow in a reservoir model.
The operations begin, at block 202, by dividing a reservoir into a finite number of grid cells. At block 204, an interaction region contained within adjacent cells in the grid is defined. As previously described, the cells may be designed with varying cell size, cell boundary geometry, and orientation (e.g., K-orthogonal grid where grid nodes (corners) can be distributed more or less freely in space to conform to reservoir geometry) that may aid in accurate simulation.
At block 206, enriched multipoint flux approximation (EMPFA) that allows continuous pressure interpolation within an interaction region by introducing a additional pressure unknown within the interaction region (e.g., at the vertex) is performed. By allowing continuous interpolation within the interaction region, EMPFA may eliminate or reduce numerical oscillations linked to the conventional MPFA. Equations for continuous interpolation within the interaction region may be derived utilizing a variety of different techniques that utilize unknown pressures at edge centers of an interaction region and an additional pressure within the interaction region, such as at the vertex.
For example, for one embodiment, piecewise bilinear approximation techniques may be used to derive a set of equations. With piecewise bilinear approximation, a pressure field may constructed for each sub-volume of an interaction region in two steps. First, the quadrilateral defining a sub-volume (in x-y coordinate space) may be mapped to a standard reference square (1×1) element in a different coordinate space.
FIGS. 3A and 3B illustrate the mapping of sub-volumes of an interaction region 120 in an x-y coordinate space to reference square (1×1) sub-volumes 3221-3224 of an interaction region 320 in a different (ξ, η) coordinate space. The sub-volumes may be mapped via the following equations:




  
    
      
        {
        
          
            
              
                x
                =
                
                  
                    x
                    1
                  
                  +
                  
                    
                      (
                      
                        
                          x
                          2
                        
                        -
                        
                          x
                          1
                        
                      
                      )
                    
                    ⁢
                    ξ
                  
                  +
                  
                    
                      (
                      
                        
                          x
                          3
                        
                        -
                        
                          x
                          1
                        
                      
                      )
                    
                    ⁢
                    η
                  
                  +
                  
                    
                      (
                      
                        
                          x
                          4
                        
                        -
                        
                          x
                          3
                        
                        -
                        
                          x
                          2
                        
                        +
                        
                          x
                          1
                        
                      
                      )
                    
                    ⁢
                    ξη
                  
                
              
            
          
          
            
              
                y
                =
                
                  
                    y
                    1
                  
                  +
                  
                    
                      (
                      
                        
                          y
                          2
                        
                        -
                        
                          y
                          1
                        
                      
                      )
                    
                    ⁢
                    ξ
                  
                  +
                  
                    
                      (
                      
                        
                          y
                          3
                        
                        -
                        
                          y
                          1
                        
                      
                      )
                    
                    ⁢
                    η
                  
                  +
                  
                    
                      (
                      
                        
                          y
                          4
                        
                        -
                        
                          y
                          3
                        
                        -
                        
                          y
                          2
                        
                        +
                        
                          y
                          1
                        
                      
                      )
                    
                    ⁢
                    ξη
                  
                
              
            
          
        
      
    
    
      
        (
        3
        )
      
    
  




where (x1, y1), (x2, y2), (x3, y3), and (x4, y4) are x-y coordinates of the four quadrilateral corner points of the sub-volume (e.g., C1, O, M1, and M4, respectively, for the sub volume 3101 shown mapped in FIG. 3B).

Subsequently, for each (mapped) square sub-volume, a bilinear pressure equation may be defined as follows:

p(ξ,η)=p1(1−ξ)(1−η)+p2ξ(1−η)+p3ξη+p4(1−ξ)η  (4)

where p1, p2, p3 and p4 are pressure values at the four corners of the quadrilateral (e.g., C1, O, M1, and, M4, respectively). The pressure function p(ξ, η) defined by Eq. (4) becomes a function of p(x, y) on the quadrilateral when combined with the mapping in Eq. (3). While the exact form of pressure in terms of x and y variables derived by these equations, p(x, y), may be relatively complicated, it can be verified that on each side of the quadrilateral, p(x, y) is linear along the edge.

Thus, p(x, y) along a common edge is uniquely determined by the pressure values at the two endpoints, which means p(x, y) from bilinear interpolations on neighboring subvolumes are the same along the common edge. In other words, pressure from this bilinear approximation is continuous within the entire interaction region.
For one embodiment, piecewise linear approximation techniques may be used to derive a set of equations used to generate a continuous pressure interpolation within an interaction region. With piecewise linear approximation, each subvolume in an interaction region may be first divided into two parts by a line joining the vertex to the block center.
For example, referring to FIG. 4, subvolume C1M4OM1 may be divided into triangles C1OM1 (reference number 4241) and triangle C1OM4 by line C1O. Within each triangle, pressure is assumed linear and is interpolated from pressure values at the three corners, which each include the vertex, a block center, and an edge center. For example, pressure inside triangle C1OM1 in FIG. 1 may be interpolated from pressure values at points C1, O, and M1, from the following equation:




  
    
      
        
          p
          ⁡
          
            (
            
              x
              ,
              y
            
            )
          
        
        =
        
          
            
              
                
                  p
                  1
                
                ⁡
                
                  (
                  
                    
                      
                        x
                        2
                      
                      ⁢
                      
                        y
                        3
                      
                    
                    -
                    
                      
                        x
                        3
                      
                      ⁢
                      
                        y
                        2
                      
                    
                  
                  )
                
              
              +
              
                
                  p
                  2
                
                ⁡
                
                  (
                  
                    
                      
                        x
                        3
                      
                      ⁢
                      
                        y
                        1
                      
                    
                    -
                    
                      
                        x
                        1
                      
                      ⁢
                      
                        y
                        3
                      
                    
                  
                  )
                
              
              +
              
                
                  p
                  3
                
                ⁡
                
                  (
                  
                    
                      
                        x
                        1
                      
                      ⁢
                      
                        y
                        2
                      
                    
                    -
                    
                      
                        x
                        2
                      
                      ⁢
                      
                        y
                        1
                      
                    
                  
                  )
                
              
            
            
              
                
                  (
                  
                    
                      x
                      2
                    
                    -
                    
                      x
                      3
                    
                  
                  )
                
                ⁢
                
                  (
                  
                    
                      y
                      1
                    
                    -
                    
                      y
                      2
                    
                  
                  )
                
              
              -
              
                
                  (
                  
                    
                      x
                      1
                    
                    -
                    
                      x
                      2
                    
                  
                  )
                
                ⁢
                
                  (
                  
                    
                      y
                      2
                    
                    -
                    
                      y
                      3
                    
                  
                  )
                
              
            
          
          -
          
            
              
                
                  
                    (
                    
                      
                        p
                        1
                      
                      -
                      
                        p
                        2
                      
                    
                    )
                  
                  ⁢
                  
                    (
                    
                      
                        y
                        2
                      
                      -
                      
                        y
                        3
                      
                    
                    )
                  
                
                -
                
                  
                    (
                    
                      
                        p
                        2
                      
                      -
                      
                        p
                        3
                      
                    
                    )
                  
                  ⁢
                  
                    (
                    
                      
                        y
                        1
                      
                      -
                      
                        y
                        2
                      
                    
                    )
                  
                
              
              
                
                  
                    (
                    
                      
                        x
                        2
                      
                      -
                      
                        x
                        3
                      
                    
                    )
                  
                  ⁢
                  
                    (
                    
                      
                        y
                        1
                      
                      -
                      
                        y
                        2
                      
                    
                    )
                  
                
                -
                
                  
                    (
                    
                      
                        x
                        1
                      
                      -
                      
                        x
                        2
                      
                    
                    )
                  
                  ⁢
                  
                    (
                    
                      
                        y
                        2
                      
                      -
                      
                        y
                        3
                      
                    
                    )
                  
                
              
            
            ⁢
            x
          
          +
          
            
              
                
                  
                    (
                    
                      
                        p
                        1
                      
                      -
                      
                        p
                        2
                      
                    
                    )
                  
                  ⁢
                  
                    (
                    
                      
                        x
                        2
                      
                      -
                      
                        x
                        3
                      
                    
                    )
                  
                
                -
                
                  
                    (
                    
                      
                        p
                        2
                      
                      -
                      
                        p
                        3
                      
                    
                    )
                  
                  ⁢
                  
                    (
                    
                      
                        x
                        1
                      
                      -
                      
                        x
                        2
                      
                    
                    )
                  
                
              
              
                
                  
                    (
                    
                      
                        x
                        2
                      
                      -
                      
                        x
                        3
                      
                    
                    )
                  
                  ⁢
                  
                    (
                    
                      
                        y
                        1
                      
                      -
                      
                        y
                        2
                      
                    
                    )
                  
                
                -
                
                  
                    (
                    
                      
                        x
                        1
                      
                      -
                      
                        x
                        2
                      
                    
                    )
                  
                  ⁢
                  
                    (
                    
                      
                        y
                        2
                      
                      -
                      
                        y
                        3
                      
                    
                    )
                  
                
              
            
            ⁢
            y
          
        
      
    
    
      
        (
        5
        )
      
    
  




where p1, p2, and p3 are pressure values at C1, O, and M1, respectively, and (x1, y1), (x2, y2), and (x3, y3) are the x-y coordinates of those points.

The linearity of the interpolation implies pressure along each half edge is dependent only on the pressure values at the two endpoints of the line, and so is independent of the triangle from which the linear approximation is constructed. For example, linear interpolation on triangle C1OM1 and that on triangle C2OM1 yield the same result along half edge OM1. Because of this, pressure derived from piecewise linear approximation is continuous inside the interaction region. Across boundaries between different interaction regions, however, pressure thus interpolated may not be continuous because the procedure to balance fluxes within neighboring regions may produce different pressure values for the corresponding edge centers.
The intermediate unknown pressures at the edge centers and at the vertex introduced for EMPFA, independently of the techniques used (e.g., piecewise linear or bilinear) above, may be eliminated so that equations for pressure gradient and the fluxes can be expressed in terms of system unknown parameters only, such as pressure at grid cell centers. To eliminate the intermediate unknown pressures at the edge centers, flux balance equations may be derived for each half edge of the interaction region.
As the first step of this approach, fluxes may be calculated from Darcy's law for each subvolume, for example, based on the pressure interpolation schemes introduced earlier. With piecewise linear or piecewise bilinear interpolation, a pressure gradient equation can be written in terms of pressure values at block centers, edge centers, and the vertex. Substitution of this pressure gradient equation into Eq. (1) above (F=nT(K/μ)∇p) yields an equation of the following form:




  
    
      
        F
        =
        
          
            
              ∑
              i
            
            ⁢
            
              
                α
                i
                c
              
              ⁢
              
                p
                
                  c
                  i
                
              
            
          
          +
          
            
              ∑
              k
            
            ⁢
            
              
                α
                k
                e
              
              ⁢
              
                p
                
                  e
                  k
                
              
            
          
          +
          
            
              α
              v
            
            ⁢
            
              p
              o
            
          
        
      
    
    
      
        (
        6
        )
      
    
  




where subscript i is an index (1-4) for cell centers, and k is an index for edge centers.

At each half edge, balancing fluxes calculated from the two subvolumes (identified below with symbols + and −) on either side of the edge yields the equation:




  
    
      
        
          
            
              ∑
              i
            
            ⁢
            
              
                α
                i
                
                  c
                  +
                
              
              ⁢
              
                p
                
                  c
                  i
                
              
            
          
          +
          
            
              ∑
              k
            
            ⁢
            
              
                α
                k
                
                  e
                  +
                
              
              ⁢
              
                p
                
                  e
                  k
                
              
            
          
          +
          
            
              α
              
                v
                +
              
            
            ⁢
            
              p
              o
            
          
        
        =
        
          
            
              ∑
              i
            
            ⁢
            
              
                α
                i
                
                  c
                  -
                
              
              ⁢
              
                p
                
                  c
                  i
                
              
            
          
          +
          
            
              ∑
              k
            
            ⁢
            
              
                α
                k
                
                  e
                  -
                
              
              ⁢
              
                p
                
                  e
                  k
                
              
            
          
          +
          
            
              α
              
                v
                -
              
            
            ⁢
            
              p
              o
            
          
        
      
    
    
      
        (
        7
        )
      
    
  




For piecewise linear approximation, K, ∇p, and F are constant along the edge. As a result, the flux balance equation applies for every point along the edge. For piecewise bilinear approximation, however, K is constant but ∇p and F are not. As a result, flux balance holds only at the edge centers. In any case, to eliminate the pressure unknown at the vertex (po) introduced for the EMPFA techniques described above, an additional equation may be constructed. Several different techniques based on a single phase and steady state pressure equation may be used for this construction.

For one embodiment, an integration of flow within the interaction region may be applied. With this approach, integration may be performed on each side of the pressure equation (2) above, −∇·K ∇p=g, over the interaction region. This integration may be expressed by the following equation:




  
    
      
        
          -
          
            
              ∫
              
                ∂
                Ω
              
            
            ⁢
            
              
                n
                T
              
              ⁢
              K
              ⁢
              
                ∇
                p
              
              ⁢
              
                
              
              ⁢
              
                d
                S
              
            
          
        
        =
        
          
            ∫
            Ω
          
          ⁢
          
            g
            ⁢
            
              
            
            ⁢
            
              d
              V
            
          
        
      
    
    
      
        (
        8
        )
      
    
  




where ∂Ω is the boundary of the interaction region Ω. Expressing ∇p as a linear combination of pci, pek and po and substituting it into Eq. (8) yields the desired equation, which can be written in the following form:





  
    
      
        
          
            
              ∑
              i
            
            ⁢
            
              
                β
                i
                c
              
              ⁢
              
                p
                
                  c
                  i
                
              
            
          
          +
          
            
              ∑
              k
            
            ⁢
            
              
                β
                k
                e
              
              ⁢
              
                p
                
                  e
                  k
                
              
            
          
          +
          
            
              β
              v
            
            ⁢
            
              p
              o
            
          
        
        =
        ψ
      
    
    
      
        (
        9
        )
      
    
  




where constants βc, βe, and βv are functions of the permeability tensor.

Another approach to generate equations to eliminate intermediate unknown pressures is to apply a 2D vertex limit flow integration. With this approach, integration is still performed with each side of the equation as with the 2D flow integration approach described above, but only on a subdomain, Ωε, of the interaction region Ω, which may be expressed by the following equation:




  
    
      
        
          -
          
            
              ∫
              
                ∂
                
                  Ω
                  ɛ
                
              
            
            ⁢
            
              
                n
                T
              
              ⁢
              K
              ⁢
              
                ∇
                p
              
              ⁢
              
                
              
              ⁢
              
                d
                S
              
            
          
        
        =
        
          
            ∫
            
              Ω
              ɛ
            
          
          ⁢
          
            g
            ⁢
            
              
            
            ⁢
            
              d
              V
            
          
        
      
    
    
      
        (
        10
        )
      
    
  




The sub domain Ωε may be constructed by connecting points, Dk, on each half edge, with the condition that the distance between each point Dk and the vertex is proportional to the length of the edge (|ODk|=ε|OMk|). This is illustrated in FIG. 5, which illustrates an exemplary subdomain 520 of an interaction region 500 formed by connection points D1-D4 on half edges 5021-5024, respectively, of the interaction region 500.

Writing ∇p in terms of pci, pek and po again, Eq. (10) yields the equation:




  
    
      
        
          
            ɛ
            (
            
              
                
                  ∑
                  i
                
                ⁢
                
                  
                    β
                    i
                    
                      c
                      *
                    
                  
                  ⁢
                  
                    p
                    
                      c
                      i
                    
                  
                
              
              +
              
                
                  ∑
                  k
                
                ⁢
                
                  
                    β
                    k
                    
                      e
                      *
                    
                  
                  ⁢
                  
                    p
                    
                      e
                      k
                    
                  
                
              
              +
              
                
                  β
                  
                    v
                    *
                  
                
                ⁢
                
                  p
                  o
                
              
            
            )
          
          +
          
            O
            ⁡
            
              (
              
                ɛ
                2
              
              )
            
          
        
        =
        
          
            ∫
            
              Ω
              ɛ
            
          
          ⁢
          
            g
            ⁢
            
              
            
            ⁢
            
              d
              V
            
          
        
      
    
    
      
        (
        11
        )
      
    
  




Assuming that g is bounded or unbounded but square integratable, it can be shown that the right hand side (RHS) of Eq. (11) above reduces to o(ε). Dividing both sides of the equation by ε and taking the limit as E approaches zero (ε→0), yields an equation that can be used to solve for the pressure at the vertex po:





  
    
      
        
          
            
              ∑
              i
            
            ⁢
            
              
                β
                i
                
                  c
                  *
                
              
              ⁢
              
                p
                
                  c
                  i
                
              
            
          
          +
          
            
              ∑
              k
            
            ⁢
            
              
                β
                k
                
                  e
                  *
                
              
              ⁢
              
                p
                
                  e
                  k
                
              
            
          
          +
          
            
              β
              
                v
                *
              
            
            ⁢
            
              p
              o
            
          
        
        =
        0
      
    
    
      
        (
        12
        )
      
    
  




Various numerical methods, such as local finite element methods (FEMs), may also be used in solving a single phase pressure equation. As an example, Equation (2) listed above may be solved in the interaction region by applying FEM, for example, with Dirichlet boundary conditions. From this FEM solution, the additional pressure unknown (e.g., the pressure at the vertex) can be expressed as a linear function of pressure values at the edge centers and block centers.
With the constraint equations derived above for pressure at edge centers and at the vertex, the intermediate pressure unknown parameters, pek and po, can be eliminated from the expression for fluxes given by Eq. (6). Thus, fluxes across each edge between neighboring grid cells can finally be obtained by summation with fluxes obtained in a similar manner from neighboring interaction regions, via the formula:




  
    
      
        F
        =
        
          
            
              ∑
              
                n
                c
              
            
            
              i
              =
              1
            
          
          ⁢
          
            
              
                ω
                i
              
              ⁡
              
                (
                
                  
                    K
                    1
                  
                  ,
                  
                    K
                    2
                  
                  ,
                  ...
                  ⁢
                  
                    
                  
                  ,
                  
                    K
                    
                      n
                      c
                    
                  
                
                )
              
            
            ⁢
            
              P
              
                c
                i
              
            
          
        
      
    
    
      
        (
        13
        )
      
    
  




where the summation may be performed over all grid cells whose boundary intersects the edge.

For some embodiments, according to a least square pressure approximation method, a linear pressure function may be sought for each subvolume which borders the edge that best approximates (minimizing error) pressure values at the cell center and cell edge centers of a subvolume. Such a least square approach is described in greater detail below, with reference to a 3D subvolume.
Non-Matching Grid Cells
For non-matching grid cells, piecewise linear and piecewise bilinear interpolations may be combined to compute the fluxes. FIG. 6 illustrates an exemplary interaction region 620, contained within non-matching grid cells 6101, 6102, and 6103. Since quadrilateral C1M1OM3 is degenerate, it cannot be mapped to a standard square via a bilinear transform via Eq. 4 described above, without making O a singular point. However, triangle C1M1M3 may be divided into two sub-triangles, on which linear interpolation may be applied. For non-degenerate sub-volumes, e.g., quadrilateral C2M1OM2 and C3M2OM3, either piecewise linear or bilinear interpolation can be used. With this mixed interpolation, the techniques described above for balancing the fluxes and for eliminating the intermediate unknown pressures may also be carried out for non-matching grids.
Extending EMPFA for 3D Reservoir Models
Pressure Interpolations in 3D
The EMPFA techniques described herein may be extended and applied to 3D grids. For 3D grids, subvolumes inside interaction regions may be represented as hexahedrons, as illustrated by the hexahedron 730 shown in FIG. 7. With each subvolume hexahedron, there are four types of corner points, namely, one block center, three face centers, three edge centers, and one vertex point. For the subvolume hexahedron 730 depicted in FIG. 7, point C is the block center, while points B, G, and F are face centers, points E, H, and D are edge centers, and point A is the vertex. This is in contrast to 2D grids, for which there are only three types of points which bound a subvolume: one block center, two edge centers, and one vertex.
The additional corner point type for subvolumes in 3D means additional intermediate unknown parameters may be needed in the flux calculations. Specifically, pressure interpolation may involve pressure values at block centers, pressure values at face centers, pressure values at edge centers, and a pressure value at the vertex. In a similar manner to that described above, these values may be treated as temporary unknown parameters, except the value at the block center. With these intermediate unknown parameters introduced, pressure interpolation can be carried out for 3D grids using various approaches in a similar manner as in the 2D case, as described below.
Analogous to piecewise bilinear approximation in 2D, piecewise trilinear approximation equations may be constructed for 3D grids. To construct trilinear pressure approximation equations, hexahedral subvolumes are first mapped to the unit cube, using trilinear functions:




   
  
    
      
        
          {
          
            
              
                
                  x
                  =
                  
                    
                      x
                      0
                    
                    +
                    
                      
                        x
                        ξ
                      
                      ⁢
                      ξ
                    
                    +
                    
                      
                        x
                        η
                      
                      ⁢
                      η
                    
                    +
                    
                      
                        x
                        χ
                      
                      ⁢
                      χ
                    
                    +
                    
                      
                        x
                        ξη
                      
                      ⁢
                      ξη
                    
                    +
                    
                      
                        x
                        ξχ
                      
                      ⁢
                      ξχ
                    
                    +
                    
                      
                        x
                        ηχ
                      
                      ⁢
                      ηχ
                    
                    +
                    
                      
                        x
                        ξηχ
                      
                      ⁢
                      ξηχ
                    
                  
                
              
            
            
              
                
                  y
                  =
                  
                    
                      y
                      0
                    
                    +
                    
                      
                        y
                        ξ
                      
                      ⁢
                      ξ
                    
                    +
                    
                      
                        y
                        η
                      
                      ⁢
                      η
                    
                    +
                    
                      
                        y
                        χ
                      
                      ⁢
                      χ
                    
                    +
                    
                      
                        y
                        ξη
                      
                      ⁢
                      ξη
                    
                    +
                    
                      
                        y
                        ξχ
                      
                      ⁢
                      ξχ
                    
                    +
                    
                      
                        y
                        ηχ
                      
                      ⁢
                      ηχ
                    
                    +
                    
                      
                        y
                        ξηχ
                      
                      ⁢
                      ξηχ
                    
                  
                
              
            
            
              
                
                  z
                  =
                  
                    
                      z
                      0
                    
                    +
                    
                      
                        z
                        ξ
                      
                      ⁢
                      ξ
                    
                    +
                    
                      
                        z
                        η
                      
                      ⁢
                      η
                    
                    +
                    
                      
                        z
                        χ
                      
                      ⁢
                      χ
                    
                    +
                    
                      
                        z
                        ξη
                      
                      ⁢
                      ξη
                    
                    +
                    
                      
                        z
                        ξχ
                      
                      ⁢
                      ξχ
                    
                    +
                    
                      
                        z
                        ηχ
                      
                      ⁢
                      ηχ
                    
                    +
                    
                      
                        z
                        ξηχ
                      
                      ⁢
                      ξηχ
                    
                  
                
              
            
          
        
      
      
        
          (
          14
          )
        
      
    
  




where (ξ, η, χ) is in ([0, 1]×[0, 1]×[0, 1]). By constraining Eq. 14 to map the eight corners of a unit cube to the corners on the hexahedral subvolume, all unknown coefficients on the right hand side can be determined. Next, an equation to approximate pressure using the trilinear function may be constructed:

p(x,y,z)=p1(1−ξ)(1−η)(1−χ)+p2ξ(1−η)(1−χ)+p3(1−ξ)η(1−χ)+p4ξη(1−χ)+p5(1−ξ)(1−η)χ+p6ξ(1−η)χ+p7(1−ξ)ηχ+p8ξηχ  (15)

With interpolations constructed in this manner, it is possible to verify that pressure values at points on each face are uniquely determined by pressure values at the four face corners. This property implies values from two different pressure interpolations on adjacent subvolumes are the same at the common interface, meaning pressure from trilinear interpolation is continuous within the entire interaction region.
To construct piecewise linear approximation in 3D, the hexahedral subvolume is divided into six tetrahedrons. For example, the hexahedral subvolume 730 shown in FIG. 7 may be divided into six tetrahedrons CBDE, CDEA, CDAG, CAGH, CEAF, and CAHF, as shown in FIGS. 8A-8F. This decomposition is still possible with an arbitrary grid where more than three faces can meet at the vertex, although the number of tetrahedrons may be greater than 6. In any case, within each tetrahedron, linear interpolation may be used to determine pressure, using the following equation:

p(x,y,z)=a0+axx+ayy+azz  (16)

The zero and first order coefficients, a0, ax, ay and az, may be solved from pressure values at the four tetrahedron corner points. As an example, taking tetrahedron CBDE shown in FIG. 8A, the following linear system of equations may be used to determine values of a0, ax, ay and az:





  
    
      
        {
        
          
            
              
                
                  
                    a
                    0
                  
                  +
                  
                    
                      x
                      C
                    
                    ⁢
                    
                      a
                      x
                    
                  
                  +
                  
                    
                      y
                      C
                    
                    ⁢
                    
                      a
                      y
                    
                  
                  +
                  
                    
                      z
                      C
                    
                    ⁢
                    
                      a
                      z
                    
                  
                
                =
                
                  p
                  C
                
              
            
          
          
            
              
                
                  
                    a
                    0
                  
                  +
                  
                    
                      x
                      B
                    
                    ⁢
                    
                      a
                      x
                    
                  
                  +
                  
                    
                      y
                      B
                    
                    ⁢
                    
                      a
                      y
                    
                  
                  +
                  
                    
                      z
                      B
                    
                    ⁢
                    
                      a
                      z
                    
                  
                
                =
                
                  p
                  B
                
              
            
          
          
            
              
                
                  
                    a
                    0
                  
                  +
                  
                    
                      x
                      D
                    
                    ⁢
                    
                      a
                      x
                    
                  
                  +
                  
                    
                      y
                      D
                    
                    ⁢
                    
                      a
                      y
                    
                  
                  +
                  
                    
                      z
                      D
                    
                    ⁢
                    
                      a
                      z
                    
                  
                
                =
                
                  p
                  D
                
              
            
          
          
            
              
                
                  
                    a
                    0
                  
                  +
                  
                    
                      x
                      E
                    
                    ⁢
                    
                      a
                      x
                    
                  
                  +
                  
                    
                      y
                      E
                    
                    ⁢
                    
                      a
                      y
                    
                  
                  +
                  
                    
                      z
                      E
                    
                    ⁢
                    
                      a
                      z
                    
                  
                
                =
                
                  p
                  E
                
              
            
          
        
      
    
    
      
        (
        17
        )
      
    
  




Similar to the application in 2D, it can be shown pressure constructed in this manner agrees at common interfaces between adjacent subvolumes and so the interpolation as a whole is continuous inside the entire interaction region.

Elimination of Intermediate Unknown Parameters in 3D

As with the application in 2D, a goal is to eliminate intermediate unknown pressures at the face centers, the edge centers, and at the vertex introduced for pressure interpolation above to allow fluxes to be expressed in terms of pressure at block centers. The procedure for constructing consistency or constraint equations may be carried out in a way similar to that for the 2D case. In the 3D case, however, more equations are needed because of the additional unknown parameters at edge centers.
For flux balance, pressure gradient is computed from linear or trilinear interpolation and then substituted into Darcy's law to obtain the following expression for fluxes:




  
    
      
        F
        =
        
          
            
              ∑
              i
            
            ⁢
            
              
                α
                i
                c
              
              ⁢
              
                p
                
                  c
                  i
                
              
            
          
          +
          
            
              ∑
              j
            
            ⁢
            
              
                α
                j
                f
              
              ⁢
              
                p
                
                  f
                  j
                
              
            
          
          +
          
            
              ∑
              k
            
            ⁢
            
              
                α
                k
                e
              
              ⁢
              
                p
                
                  e
                  k
                
              
            
          
          +
          
            
              α
              v
            
            ⁢
            
              p
              o
            
          
        
      
    
    
      
        (
        18
        )
      
    
  




where pci, pfj, pek, and po represent pressure values at cell centers, face centers, edge centers, and the vertex, respectively. Balancing the fluxes across the interfaces (with subvolumes on different sides of an interface denoted by + and − symbols) according to the following equation:





  
    
      
        
          
            
              ∑
              i
            
            ⁢
            
              
                α
                i
                
                  c
                  +
                
              
              ⁢
              
                p
                
                  c
                  i
                
              
            
          
          +
          
            
              ∑
              j
            
            ⁢
            
              
                α
                j
                
                  f
                  +
                
              
              ⁢
              
                p
                
                  f
                  j
                
              
            
          
          +
          
            
              ∑
              k
            
            ⁢
            
              
                α
                k
                
                  e
                  +
                
              
              ⁢
              
                p
                
                  e
                  k
                
              
            
          
          +
          
            
              α
              
                v
                +
              
            
            ⁢
            
              p
              o
            
          
        
        =
        
          
            
              ∑
              i
            
            ⁢
            
              
                α
                i
                
                  c
                  -
                
              
              ⁢
              
                p
                
                  c
                  i
                
              
            
          
          +
          
            
              ∑
              j
            
            ⁢
            
              
                α
                j
                
                  f
                  -
                
              
              ⁢
              
                p
                
                  f
                  j
                
              
            
          
          +
          
            
              ∑
              k
            
            ⁢
            
              
                α
                k
                
                  e
                  -
                
              
              ⁢
              
                p
                
                  e
                  k
                
              
            
          
          +
          
            
              α
              
                v
                -
              
            
            ⁢
            
              p
              o
            
          
        
      
    
    
      
        (
        19
        )
      
    
  




gives nf constraint equations, where nf is the number of face centers.

Similar to 2D, an interaction region flow integration approach may be applied to construct a constraint equation for the pressure unknown at the vertex. Using this approach, both sides of Eq. (2) may be integrated over the entire interaction region, which gives a relation of form:




  
    
      
        
          
            
              ∑
              i
            
            ⁢
            
              
                β
                i
                c
              
              ⁢
              
                p
                
                  c
                  i
                
              
            
          
          +
          
            
              ∑
              j
            
            ⁢
            
              
                β
                j
                f
              
              ⁢
              
                p
                
                  f
                  j
                
              
            
          
          +
          
            
              ∑
              k
            
            ⁢
            
              
                β
                k
                e
              
              ⁢
              
                p
                
                  e
                  k
                
              
            
          
          +
          
            
              β
              v
            
            ⁢
            
              p
              o
            
          
        
        =
        ψ
      
    
    
      
        (
        20
        )
      
    
  




Alternatively, a vertex limit flow integration may be performed on a sub-region Ωε defined in a similar fashion as in the 2D case, letting ε goes to zero to get a homogeneous version of (20):





  
    
      
        
          
            
              ∑
              i
            
            ⁢
            
              
            
            ⁢
            
              
                β
                i
                
                  c
                  *
                
              
              ⁢
              
                p
                
                  c
                  i
                
              
            
          
          +
          
            
              ∑
              j
            
            ⁢
            
              
            
            ⁢
            
              
                β
                j
                
                  f
                  *
                
              
              ⁢
              
                p
                
                  f
                  j
                
              
            
          
          +
          
            
              ∑
              k
            
            ⁢
            
              
            
            ⁢
            
              
                β
                k
                
                  e
                  *
                
              
              ⁢
              
                p
                
                  e
                  k
                
              
            
          
          +
          
            
              β
              
                v
                *
              
            
            ⁢
            
              p
              o
            
          
        
        =
        0
      
    
    
      
        (
        21
        )
      
    
  




Different techniques may be applied to eliminate intermediate unknown pressures at edge centers by constructing constraint equations. For example, according to a least square pressure approximation method, a linear pressure function may be sought for each subvolume which borders the edge that best approximates (minimizing error) pressure values at the block center and block face centers of the subvolume. For example, for edge center E in FIG. 7 a linear function as that in (16) may be defined to approximate pressure values at block center C and face centers B, F and G. When there are only four pressure values to approximate, the desired function is just a linear interpolation. However, when the number of pressure values is more than four, which may be the case if more than three faces of the control volume meet at the vertex, minimizing the square sum of errors may be accomplished via the following equation:




  
    
      
        
          
            δ
            ⁡
            
              (
              
                
                  a
                  0
                
                ,
                
                  a
                  x
                
                ,
                
                  a
                  y
                
                ,
                
                  a
                  z
                
              
              )
            
          
          =
          
            
              
                (
                
                  
                    a
                    0
                  
                  +
                  
                    
                      a
                      x
                    
                    ⁢
                    
                      x
                      c
                    
                  
                  +
                  
                    
                      a
                      y
                    
                    ⁢
                    
                      y
                      c
                    
                  
                  +
                  
                    
                      a
                      z
                    
                    ⁢
                    
                      z
                      c
                    
                  
                  -
                  
                    p
                    c
                  
                
                )
              
              2
            
            +
            
              
                ∑
                j
              
              ⁢
              
                
              
              ⁢
              
                
                  (
                  
                    
                      a
                      0
                    
                    +
                    
                      
                        a
                        x
                      
                      ⁢
                      
                        x
                        
                          f
                          j
                        
                      
                    
                    +
                    
                      
                        a
                        y
                      
                      ⁢
                      
                        y
                        
                          f
                          j
                        
                      
                    
                    +
                    
                      
                        a
                        z
                      
                      ⁢
                      
                        z
                        
                          f
                          j
                        
                      
                    
                    -
                    
                      p
                      
                        f
                        j
                      
                    
                  
                  )
                
                2
              
            
          
        
        ⁢
        
          

        
      
    
    
      
        (
        22
        )
      
    
  




The summation above is over all cell and face centers within the same subvolume as the edge center. Minimizing δ leads to the following linear system of equations:





  
    
      
        {
        
           
          
            
              
                
                  
                    
                      
                        (
                        
                          
                            x
                            c
                          
                          +
                          
                            
                              ∑
                              j
                            
                            ⁢
                            
                              
                            
                            ⁢
                            
                              x
                              
                                f
                                j
                              
                            
                          
                        
                        )
                      
                      ⁢
                      
                        a
                        0
                      
                    
                    +
                    
                      
                        (
                        
                          
                            x
                            c
                            2
                          
                          +
                          
                            
                              ∑
                              j
                            
                            ⁢
                            
                              
                            
                            ⁢
                            
                              x
                              
                                f
                                j
                              
                              2
                            
                          
                        
                        )
                      
                      ⁢
                      
                        a
                        x
                      
                    
                    +
                    
                      
                        (
                        
                          
                            
                              x
                              c
                            
                            ⁢
                            
                              y
                              c
                            
                          
                          +
                          
                            
                              ∑
                              j
                            
                            ⁢
                            
                              
                            
                            ⁢
                            
                              
                                x
                                
                                  f
                                  j
                                
                              
                              ⁢
                              
                                y
                                
                                  f
                                  j
                                
                              
                            
                          
                        
                        )
                      
                      ⁢
                      
                        a
                        y
                      
                    
                    +
                    
                      
                        (
                        
                          
                            
                              x
                              c
                            
                            ⁢
                            
                              z
                              c
                            
                          
                          +
                          
                            
                              ∑
                              j
                            
                            ⁢
                            
                              
                            
                            ⁢
                            
                              
                                x
                                
                                  f
                                  j
                                
                              
                              ⁢
                              
                                z
                                
                                  f
                                  j
                                
                              
                            
                          
                        
                        )
                      
                      ⁢
                      
                        a
                        z
                      
                    
                  
                  =
                  
                    
                      
                        x
                        c
                      
                      ⁢
                      
                        p
                        c
                      
                    
                    +
                    
                      
                        ∑
                        j
                      
                      ⁢
                      
                        
                          x
                          
                            f
                            j
                          
                        
                        ⁢
                        
                          p
                          
                            f
                            j
                          
                        
                      
                    
                  
                
              
            
            
              
                
                  
                    
                      
                        (
                        
                          
                            y
                            c
                          
                          +
                          
                            
                              ∑
                              j
                            
                            ⁢
                            
                              
                            
                            ⁢
                            
                              y
                              
                                f
                                j
                              
                            
                          
                        
                        )
                      
                      ⁢
                      
                        a
                        0
                      
                    
                    +
                    
                      
                        (
                        
                          
                            
                              y
                              c
                            
                            ⁢
                            
                              x
                              c
                            
                          
                          +
                          
                            
                              ∑
                              j
                            
                            ⁢
                            
                              
                            
                            ⁢
                            
                              
                                y
                                
                                  f
                                  j
                                
                              
                              ⁢
                              
                                x
                                
                                  f
                                  j
                                
                              
                            
                          
                        
                        )
                      
                      ⁢
                      
                        a
                        x
                      
                    
                    +
                    
                      
                        (
                        
                          
                            y
                            c
                            2
                          
                          +
                          
                            
                              ∑
                              j
                            
                            ⁢
                            
                              
                            
                            ⁢
                            
                              y
                              
                                f
                                j
                              
                              2
                            
                          
                        
                        )
                      
                      ⁢
                      
                        a
                        y
                      
                    
                    +
                    
                      
                        (
                        
                          
                            
                              y
                              c
                            
                            ⁢
                            
                              z
                              c
                            
                          
                          +
                          
                            
                              ∑
                              j
                            
                            ⁢
                            
                              
                            
                            ⁢
                            
                              
                                y
                                
                                  f
                                  j
                                
                              
                              ⁢
                              
                                z
                                
                                  f
                                  j
                                
                              
                            
                          
                        
                        )
                      
                      ⁢
                      
                        a
                        z
                      
                    
                  
                  =
                  
                    
                      
                        y
                        c
                      
                      ⁢
                      
                        p
                        c
                      
                    
                    +
                    
                      
                        ∑
                        j
                      
                      ⁢
                      
                        
                          y
                          
                            f
                            j
                          
                        
                        ⁢
                        
                          p
                          
                            f
                            j
                          
                        
                      
                    
                  
                
              
            
            
              
                
                  
                    
                      
                        (
                        
                          
                            z
                            c
                          
                          +
                          
                            
                              ∑
                              j
                            
                            ⁢
                            
                              
                            
                            ⁢
                            
                              z
                              
                                f
                                j
                              
                            
                          
                        
                        )
                      
                      ⁢
                      
                        a
                        0
                      
                    
                    +
                    
                      
                        (
                        
                          
                            
                              z
                              c
                            
                            ⁢
                            
                              x
                              c
                            
                          
                          +
                          
                            
                              ∑
                              j
                            
                            ⁢
                            
                              
                            
                            ⁢
                            
                              
                                z
                                
                                  f
                                  j
                                
                              
                              ⁢
                              
                                x
                                
                                  f
                                  j
                                
                              
                            
                          
                        
                        )
                      
                      ⁢
                      
                        a
                        x
                      
                    
                    +
                    
                      
                        (
                        
                          
                            
                              z
                              c
                            
                            ⁢
                            
                              y
                              c
                            
                          
                          +
                          
                            
                              ∑
                              j
                            
                            ⁢
                            
                              
                            
                            ⁢
                            
                              
                                z
                                
                                  f
                                  j
                                
                              
                              ⁢
                              
                                y
                                
                                  f
                                  j
                                
                              
                            
                          
                        
                        )
                      
                      ⁢
                      
                        a
                        y
                      
                    
                    +
                    
                      
                        (
                        
                          
                            z
                            c
                            2
                          
                          +
                          
                            
                              ∑
                              j
                            
                            ⁢
                            
                              
                            
                            ⁢
                            
                              z
                              
                                f
                                j
                              
                              2
                            
                          
                        
                        )
                      
                      ⁢
                      
                        a
                        z
                      
                    
                  
                  =
                  
                    
                      
                        z
                        c
                      
                      ⁢
                      
                        p
                        c
                      
                    
                    +
                    
                      
                        ∑
                        j
                      
                      ⁢
                      
                        
                          z
                          
                            f
                            j
                          
                        
                        ⁢
                        
                          p
                          
                            f
                            j
                          
                        
                      
                    
                  
                
              
            
            
              
                
                  
                    
                      
                        (
                        
                          1
                          +
                          
                            n
                            j
                          
                        
                        )
                      
                      ⁢
                      
                        a
                        0
                      
                    
                    +
                    
                      
                        (
                        
                          
                            x
                            c
                          
                          +
                          
                            
                              ∑
                              j
                            
                            ⁢
                            
                              
                            
                            ⁢
                            
                              x
                              
                                f
                                j
                              
                            
                          
                        
                        )
                      
                      ⁢
                      
                        a
                        x
                      
                    
                    +
                    
                      
                        (
                        
                          
                            y
                            c
                          
                          +
                          
                            
                              ∑
                              j
                            
                            ⁢
                            
                              
                            
                            ⁢
                            
                              y
                              
                                f
                                j
                              
                            
                          
                        
                        )
                      
                      ⁢
                      
                        a
                        y
                      
                    
                    +
                    
                      
                        (
                        
                          
                            z
                            c
                          
                          +
                          
                            
                              ∑
                              j
                            
                            ⁢
                            
                              
                            
                            ⁢
                            
                              z
                              
                                f
                                j
                              
                            
                          
                        
                        )
                      
                      ⁢
                      
                        a
                        z
                      
                    
                  
                  =
                  
                    
                      p
                      c
                    
                    +
                    
                      
                        ∑
                        j
                      
                      ⁢
                      
                        p
                        
                          f
                          j
                        
                      
                    
                  
                
              
            
          
        
      
    
    
      
        (
        23
        )
      
    
  




where nf is the number of face centers involved in Eq. (23). Solving (23) gives a0, ax, ay and az as linear functions of pc and pfj





  
    
      
        {
        
          
            
              
                
                  a
                  0
                
                =
                
                  
                    
                      a
                      
                        0
                        ,
                        c
                      
                    
                    ⁢
                    
                      p
                      c
                    
                  
                  +
                  
                    
                      ∑
                      j
                    
                    ⁢
                    
                      
                        a
                        
                          0
                          ,
                          
                            f
                            j
                          
                        
                      
                      ⁢
                      
                        p
                        
                          f
                          j
                        
                      
                    
                  
                
              
            
          
          
            
              
                
                  a
                  x
                
                =
                
                  
                    
                      a
                      
                        x
                        ,
                        c
                      
                    
                    ⁢
                    
                      p
                      c
                    
                  
                  +
                  
                    
                      ∑
                      j
                    
                    ⁢
                    
                      
                        a
                        
                          x
                          ,
                          
                            f
                            j
                          
                        
                      
                      ⁢
                      
                        p
                        
                          f
                          j
                        
                      
                    
                  
                
              
            
          
          
            
              
                
                  a
                  y
                
                =
                
                  
                    
                      a
                      
                        y
                        ,
                        c
                      
                    
                    ⁢
                    
                      p
                      c
                    
                  
                  +
                  
                    
                      ∑
                      j
                    
                    ⁢
                    
                      
                        
                          a
                          
                            y
                            ,
                            f
                          
                        
                        j
                      
                      ⁢
                      
                        p
                        
                          f
                          j
                        
                      
                    
                  
                
              
            
          
          
            
              
                
                  a
                  z
                
                =
                
                  
                    
                      a
                      
                        z
                        ,
                        c
                      
                    
                    ⁢
                    
                      p
                      c
                    
                  
                  +
                  
                    
                      ∑
                      j
                    
                    ⁢
                    
                      
                        a
                        
                          z
                          ,
                          
                            f
                            j
                          
                        
                      
                      ⁢
                      
                        p
                        
                          f
                          j
                        
                      
                    
                  
                
              
            
          
        
      
    
    
      
        (
        24
        )
      
    
  




Substituting (24) into the original linear pressure function (16) yields the following equation:





  
    
      
        
          p
          ⁡
          
            (
            
              x
              ,
              y
              ,
              z
            
            )
          
        
        =
        
          
            (
            
              
                
                  a
                  
                    0
                    ,
                    c
                  
                
                ⁢
                
                  p
                  c
                
              
              +
              
                
                  ∑
                  j
                
                ⁢
                
                  
                    a
                    
                      0
                      ,
                      
                        f
                        j
                      
                    
                  
                  ⁢
                  
                    p
                    
                      f
                      j
                    
                  
                
              
            
            )
          
          +
          
            (
            
              
                
                  a
                  
                    x
                    ,
                    c
                  
                
                ⁢
                
                  p
                  c
                
              
              +
              
                
                  ∑
                  j
                
                ⁢
                
                  
                    
                      a
                      
                        x
                        ,
                        f
                      
                    
                    j
                  
                  ⁢
                  
                    p
                    
                      f
                      j
                    
                  
                
              
            
            )
          
          +
          
            
              (
              
                
                  
                    a
                    
                      y
                      ,
                      c
                    
                  
                  ⁢
                  
                    p
                    c
                  
                
                +
                
                  
                    ∑
                    j
                  
                  ⁢
                  
                    
                      a
                      
                        y
                        ,
                        
                          f
                          j
                        
                      
                    
                    ⁢
                    
                      p
                      
                        f
                        j
                      
                    
                  
                
              
              )
            
            ⁢
            y
          
          +
          
            
              (
              
                
                  
                    a
                    
                      z
                      ,
                      c
                    
                  
                  ⁢
                  
                    p
                    c
                  
                
                +
                
                  
                    ∑
                    j
                  
                  ⁢
                  
                    
                      a
                      
                        z
                        ,
                        
                          f
                          j
                        
                      
                    
                    ⁢
                    
                      p
                      
                        f
                        j
                      
                    
                  
                
              
              )
            
            ⁢
            z
          
        
      
    
    
      
        (
        25
        )
      
    
  




A final constraint equation from the direct approximation method may be obtained by setting pressure at the edge center equal to the average of p(x, y, z) computed above from different subvolumes which share the half edge:




  
    
      
        
          p
          e
        
        =
        
          
            
              
                ∑
                i
              
              ⁢
              
                (
                
                  
                    
                      a
                      
                        0
                        ,
                        
                          c
                          i
                        
                      
                    
                    ⁢
                    
                      p
                      
                        c
                        i
                      
                    
                  
                  +
                  
                    
                      ∑
                      j
                    
                    ⁢
                    
                      
                        a
                        
                          0
                          ,
                          
                            f
                            
                              i
                              ,
                              j
                            
                          
                        
                      
                      ⁢
                      
                        p
                        
                          f
                          
                            i
                            ,
                            j
                          
                        
                      
                    
                  
                
                )
              
            
            +
            
              
                (
                
                  
                    
                      a
                      
                        x
                        ,
                        
                          c
                          i
                        
                      
                    
                    ⁢
                    
                      p
                      
                        c
                        i
                      
                    
                  
                  +
                  
                    
                      ∑
                      j
                    
                    ⁢
                    
                      
                        a
                        
                          x
                          ,
                          
                            f
                            
                              i
                              ,
                              j
                            
                          
                        
                      
                      ⁢
                      
                        p
                        
                          f
                          
                            i
                            ,
                            j
                          
                        
                      
                    
                  
                
                )
              
              ⁢
              
                x
                e
              
            
            +
            
              
                (
                
                  
                    
                      a
                      
                        y
                        ,
                        
                          c
                          i
                        
                      
                    
                    ⁢
                    
                      p
                      
                        c
                        i
                      
                    
                  
                  +
                  
                    
                      ∑
                      j
                    
                    ⁢
                    
                      
                        a
                        
                          y
                          ,
                          
                            f
                            
                              i
                              ,
                              j
                            
                          
                        
                      
                      ⁢
                      
                        p
                        
                          f
                          
                            i
                            ,
                            j
                          
                        
                      
                    
                  
                
                )
              
              ⁢
              
                y
                c
              
            
            +
            
              
                (
                
                  
                    
                      a
                      
                        z
                        ,
                        
                          c
                          i
                        
                      
                    
                    ⁢
                    
                      
                        p
                        c
                      
                      i
                    
                  
                  +
                  
                    
                      ∑
                      j
                    
                    ⁢
                    
                      
                        a
                        
                          z
                          ,
                          
                            f
                            
                              i
                              ,
                              j
                            
                          
                        
                      
                      ⁢
                      
                        p
                        
                          f
                          
                            i
                            ,
                            j
                          
                        
                      
                    
                  
                
                )
              
              ⁢
              
                z
                e
              
            
          
          
            n
            c
          
        
      
    
    
      
        (
        26
        )
      
    
  




where subscript i indicates different subvolumes. It may be noted that the constraint equation above, as well as those from balancing fluxes or integration of pressure equation, are linear relationships between pci, pfj, pek and po. As a result, the intermediate unknown parameters of EMPFA in 3D can be eliminated with a linear solution, as is the case for 2D problems. Instead of minimizing errors for subvolumes individually and subsequently averaging the pressures as described above, it is also possible to derive constraint equations for pek by minimizing the square sum of errors which includes contributions from all subvolumes sharing the edge.

Edge volume flow integration is another approach that is similar to the integral method used for constructing the constraint equation for the pressure unknown at the vertex. For each pressure unknown at edge centers, the integration may be performed over a polyhedron with the vertices which include the vertex of the control volumes within the interaction region and all block centers on the same face of the interaction region as the edge center. To construct the gradient field, the polyhedron may be divided into several tetrahedrons, each of which may have two neighboring control volume centers, the vertex, and the center of the half edge as the vertices. For each polyhedron, linear interpolation may be used for pressure, from which pressure gradient are calculated and substituted into the integrated pressure equation.
With the constraint equations derived above for pressure at face centers, edge centers and at the vertex, all intermediate unknown pressures can be eliminated from the equation for fluxes within each interaction region. Similar to the 2D application, a final equation for fluxes across each interface of control volumes may then be obtained by combining those from interaction regions intersecting the interface.
Similar to the 2D approach described above, other numerical methods may also be used in solving a single phase pressure equation in 3D applications. For example, applying a local FEM approach, a local fine scale grid can be generated and more unknown pressures may be introduced in the interaction region. Equation (2) may be solved locally for each interaction region, for example, by a Galerkin finite element method (FEM) with Dirichlet boundary conditions. From this FEM solution, the additional unknown parameter (e.g., the pressure at the vertex) may be expressed as a linear function of pressure values at the edge centers and block centers.
Reservoir Simulations Using EMPFA
The equations for calculating fluxes derived from EMPFA can be used to model general multiphase fluid flows in reservoir, which are governed by the following mass and volume balance equations:




  
    
      
        {
        
          
            
              
                
                  
                    d
                    
                      N
                      i
                      m
                    
                  
                  
                    d
                    t
                  
                
                =
                
                  
                    ∑
                    v
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      ∑
                      j
                    
                    ⁢
                    
                      
                    
                    ⁢
                    
                      
                        A
                        j
                      
                      ⁢
                      
                        x
                        v
                        m
                      
                      ⁢
                      
                        F
                        
                          v
                          ,
                          j
                        
                      
                    
                  
                
              
            
          
          
            
              
                
                  V
                  ⁡
                  
                    (
                    
                      
                        p
                        i
                      
                      ,
                      
                        N
                        1
                      
                      ,
                      
                        N
                        2
                      
                      ,
                      ...
                      ⁢
                      
                        
                      
                      ,
                      
                        N
                        n
                      
                    
                    )
                  
                
                =
                
                  V
                  p
                
              
            
          
        
      
    
    
      
        (
        27
        )
      
    
  




where Nim is the total mass of component m in block i, xvm is the density of component m in phase v, Fv,j is the flux in phase v across interface j of the block, Aj the area of interface, and V and Vp are fluid volume and pore volume of the block, respectively. Fluxes for multiphase flows can be calculated using a modified form of Eq. (13), the EMPFA flux formula for single phase flow, to account for saturation effects on the permeability and fluid viscosity:





  
    
      
        
          F
          
            v
            ,
            j
          
        
        =
        
          
            
              k
              
                j
                ,
                r
                ,
                v
              
            
            
              μ
              
                j
                ,
                v
              
            
          
          ⁢
          
            
              ∑
              
                i
                =
                1
              
              
                n
                c
              
            
            ⁢
            
              
            
            ⁢
            
              
                
                  ω
                  i
                
                ⁡
                
                  (
                  
                    
                      
                        K
                        
                          1
                          ,
                        
                      
                      ⁢
                      
                        K
                        2
                      
                    
                    ,
                    ...
                    ⁢
                    
                      
                    
                    ,
                    
                      K
                      
                        n
                        c
                      
                    
                  
                  )
                
              
              ⁢
              
                p
                
                  c
                  i
                
              
            
          
        
      
    
    
      
        (
        28
        )
      
    
  




with kj,r,v and μj,v are the relative permeability (upstream weighted) and viscosity of phase v, respectively, on block upstream to interface j, while the summation is over all blocks involved in the flux calculations through interaction regions.

Thus, an exemplary procedure for performing reservoir simulation (which can involve a 2D or 3D model, with single phase or multiphase flow) using EMPFA may involve, after constructing a grid (which can be Cartesian, Voronoi, or arbitrary) and interaction regions, generating flux formulas for each interface (as shown in FIG. 2). As described herein, the resulting flux formulas for each interface may be in the form of a linear function of pressure at centers of blocks surrounding the interface, with the coefficients being rational functions of permeability (which can be isotropic or full tensors) in those blocks.
Thus, a linear system of equations in terms of primary system unknown parameters may be derived to predict flow in a reservoir by performing discretization in the time dimension on (27) and applying appropriate boundary conditions. Depending on the complexity of the flow being modeled, various levels of implicitness may be needed, so that the system unknown parameters may include only the implicit pressures (IMPES-IMplicit Pressure Explicit Satuations), or implicit pressure, followed by implicit saturation, then implicit moles (Sequential), or implicit pressure and phase saturation solved simultaneously (IMPSAT), or pressure and all moles may be solved simultaneous (Coupled Implicit). In any case, this linear system of equations may then be solved, for example, using direct or iterative software techniques (e.g., a linear solver). This time discretization may be described as iteratively performing the following set of operations at predetermined time periods to simulate flow in the reservoir.
For each fluid phase, calculate relative permeability on each grid block based on phase saturations. The flux formulas derived via EMPFA (using any of the techniques described herein) may be modified by accounting for saturation effects on the relative permeability, for example, via Eq. (28). Phase fluxes and necessary linearizations may be computed using the modified formula for each of the phases. Component fluxes and necessary linearizations may be computed from phase fluxes and phase compositions. The discretized form of the mass and volume balance equations (Eq. 27) may then be solved for each fluid component and each grid block in conjunction with a proper boundary condition. The pressure, masses, and saturations at each grid cell may then be updated based on these solutions. Optionally, this set of operations may be performed once per time step, or multiple times per time step, for example, until solutions converge.
Example simulations performed using the procedure described above were performed. The results of these simulations, presented below, validate the EMPFA approach and demonstrate its advantages over conventional MPFA. For simplicity, these simulations were performed assuming single phase, steady state flows, per Eq. (2) above.
Exact Solutions for Uniform Flows
For any constant permeability field and boundary conditions prescribed by linear functions, the exact linear solution is recovered by EMPFA, using either piecewise linear or piecewise bilinear interpolation. This conclusion is true for 2D or 3D Cartesian grids, Voronoi grids, and pseudo-random (arbitrary) grids which can be generated by perturbing a uniform Cartesian grid with the condition that all control volumes remain convex. As an example, FIG. 9 illustrates an example arbitrary grid 900 of grid cells 910 generated by perturbing a Cartesian grid.
Equivalence of Methods for K-Orthogonal Grids
For K-orthogonal grids, where nTK at each interface is parallel to the edge of the interaction region intersecting the interface, EMPFA is equivalent to MPFA and TPFA. Considering the 2D case as an example, with K-orthogonal grids, fluxes on each half edge inside an interaction region are dependent only on pressure gradient along the edge of the interaction region. For EMPFA using linear or bilinear pressure interpolation, pressure is linear along that edge and, thus, the gradient is simply the pressure difference between the two end points divided by the length of the edge, which is the same for MPFA and TPFA. Consequently, all three approaches are equivalent under these conditions.
Elimination of Non-Physical Oscillations
Testing indicates that EMPFA is superior to MPFA because solutions obtained using EMPFA are, unlike those produced by MPFA, well behaved and free of non-physical oscillations. As an example in 2D, [−0.5, 0.5]×[−0.5, 0.5] is selected as the computation domain and a quadrilateral grid 1000 as shown in FIG. 10 is generated. For this example, an isotropic permeability field is constructed by applying a rotation to a diagonal tensor




  
    
      
        K
        =
        
          
            (
            
              
                
                  
                    cos
                    ⁢
                    
                      
                    
                    ⁢
                    φ
                  
                
                
                  
                    sin
                    ⁢
                    
                      
                    
                    ⁢
                    φ
                  
                
              
              
                
                  
                    
                      -
                      sin
                    
                    ⁢
                    
                      
                    
                    ⁢
                    φ
                  
                
                
                  
                    cos
                    ⁢
                    
                      
                    
                    ⁢
                    φ
                  
                
              
            
            )
          
          ⁢
          
            (
            
              
                
                  
                    k
                    1
                  
                
                
                  0
                
              
              
                
                  0
                
                
                  
                    k
                    2
                  
                
              
            
            )
          
          ⁢
          
            (
            
              
                
                  
                    cos
                    ⁢
                    
                      
                    
                    ⁢
                    φ
                  
                
                
                  
                    
                      -
                      sin
                    
                    ⁢
                    
                      
                    
                    ⁢
                    φ
                  
                
              
              
                
                  
                    sin
                    ⁢
                    
                      
                    
                    ⁢
                    φ
                  
                
                
                  
                    cos
                    ⁢
                    
                      
                    
                    ⁢
                    φ
                  
                
              
            
            )
          
        
      
    
    
      
        (
        29
        )
      
    
  




where φ is the angle of rotation and k1 and k2 are permeabilities in the x-y directions before the rotation.

As boundary conditions, a constant pressure value is imposed at the domain boundary and a constant flow rate is specified as the combined flux through the edges of the grid block at (0, 0) to simulate a well there. Numerical results are presented as graphs 1100 and 1200 of FIGS. 11 and 12, corresponding to MPFA and EMPFA, respectively, for quadrilateral control volumes and k1=1, k2=1000, and φ=π/3. Numerical oscillations in solutions obtained using MPFA are clearly indicated by negative values 1120 in the graph 1100. In contrast, in solutions obtained using EMPFA, shown in graph 1200 of FIG. 12, no such oscillations are seen.
In 3D, test grids may be constructed for studying numerical oscillations with the domain first divided into horizontal layers. Subsequently, a two dimensional mesh may be built on the x-y plane, and then projected in z direction to each layers of the domain. Optionally, the grid is randomly perturbed vertically using the following mapping:

(x,y,z)→(x,y,z+κΔzrand([−1,1])),0<κ<0.5  (30)

where Δz is the thickness of the layers and constant κ is between 0 and 0.5. After the perturbation, the top and bottom faces of each grid block are no longer horizontal, though faces on the side remain vertical. Similar to the 2D case, an anisotropic permeability field may be constructed which takes the form K=OxTΛOx, where Λ=diag(μ, v, 1) and Ox is the rotation matrix around x-axis:





  
    
      
        
          O
          x
        
        =
        
          (
          
            
              
                1
              
              
                0
              
              
                0
              
            
            
              
                0
              
              
                
                  cos
                  ⁢
                  
                    
                  
                  ⁢
                  φ
                
              
              
                
                  sin
                  ⁢
                  
                    
                  
                  ⁢
                  φ
                
              
            
            
              
                0
              
              
                
                  
                    -
                    sin
                  
                  ⁢
                  
                    
                  
                  ⁢
                  φ
                
              
              
                
                  cos
                  ⁢
                  
                    
                  
                  ⁢
                  φ
                
              
            
          
          )
        
      
    
    
      
        (
        31
        )
      
    
  




For the test, κ for the vertical perturbation may be set to 0.3, and parameters μ, v, and φ in the definition of K are equal to 1000, 1000, and π/6, respectively. Results for MPFA and EMPFA are shown as graphs 1300 and 1350 shown in FIG. 13. Again, graph 1300 clearly shows non-physical oscillations 1310 that occur in the solutions obtained via MPFA, while such oscillations are eliminated when EMPFA is employed.
Improvement in Solution Accuracy
The 2D pressure equation with permeability given by Eq. (29) admits an analytical solution of form p(x,y)=−s log(r)+t, where s and t are constants and




  
    r
    =
    
      
        
          ξ
          2
        
        +
        
          η
          2
        
      
    
  
  ,




with:





  
    
      
        
          (
          
            
              
                ξ
              
            
            
              
                η
              
            
          
          )
        
        =
        
          
            (
            
              
                
                  
                    k
                    1
                    
                      -
                      0.5
                    
                  
                
                
                  0
                
              
              
                
                  0
                
                
                  
                    k
                    2
                    
                      -
                      0.5
                    
                  
                
              
            
            )
          
          ⁢
          
            (
            
              
                
                  
                    cos
                    ⁢
                    
                      
                    
                    ⁢
                    θ
                  
                
                
                  
                    
                      -
                      sin
                    
                    ⁢
                    
                      
                    
                    ⁢
                    θ
                  
                
              
              
                
                  
                    sin
                    ⁢
                    
                      
                    
                    ⁢
                    θ
                  
                
                
                  
                    cos
                    ⁢
                    
                      
                    
                    ⁢
                    θ
                  
                
              
            
            )
          
          ⁢
          
            (
            
              
                
                  x
                
              
              
                
                  y
                
              
            
            )
          
        
      
    
    
      
        (
        32
        )
      
    
  




Constants s and t may be chosen so that p(x,y)≧0 everywhere. A well may be assumed to be located at the middle of the computation domain. Errors in approximations obtained via MPFA and EMPFA are plotted as graphs 1400 and 1450, respectively, shown in FIG. 14. It is evident by comparing graphs 1400 and 1450 that errors in fluxes are much smaller for EMPFA than MPFA.

Convergence of Solutions

Tests have also been performed to verify that solutions obtained using EMPFA converge at a comparable rate to those obtained using MPFA. Considering the 2D case first, to determine the convergence rate of EMPFA, following discrete L2 error may be defined for pressure:




  
    
      
        
          δ
          p
        
        =
        
          
            [
            
              
                ∑
                i
              
              ⁢
              
                
              
              ⁢
              
                
                  
                  
                    V
                    i
                  
                  
                
                ⁢
                
                  
                    (
                    
                      
                        
                          p
                          ~
                        
                        i
                      
                      -
                      
                        p
                        i
                      
                    
                    )
                  
                  2
                
              
            
            ]
          
          0.5
        
      
    
    
      
        (
        33
        )
      
    
  




where the sum is over all blocks in the computation domain, and {tilde over (p)}i and pi are exact solution and numerical solution for pressure, respectively. For fluxes, the L2 error is:





  
    
      
        
          δ
          f
        
        =
        
          
            [
            
              
                
                  ∑
                  k
                
                ⁢
                
                  
                
                ⁢
                
                  
                    
                      
                        V
                        
                          e
                          k
                        
                      
                      ⁡
                      
                        (
                        
                          
                            
                              F
                              ~
                            
                            
                              e
                              k
                            
                          
                          -
                          
                            F
                            
                              e
                              k
                            
                          
                        
                        )
                      
                    
                    2
                  
                  ⁢
                  
                    
                      
                      
                        l
                        
                          e
                          k
                        
                      
                      
                    
                    
                      -
                      2
                    
                  
                
              
              
                
                  ∑
                  k
                
                ⁢
                
                  V
                  
                    e
                    k
                  
                
              
            
            ]
          
          0.5
        
      
    
    
      
        (
        34
        )
      
    
  




where the sum is over all edges, |le| is the edge length, and Ve is the area sum of all sub-volumes sharing the edge.

The first example used for examining convergence assumes [−0.5, 0.5]×[−0.5, 0.5] as the computation domain and permeability tensor K=diag(10,1). In this example, Eq. (2) admits an exact analytical solution

p(x,y)=cos(πx)cos(πy)+2  (35)

Using values of p(x, y) at the domain boundary as boundary conditions, the problem is solved numerically. In the process, grids of different levels of refinement have been generated by first refining the Cartesian mesh uniformly and then perturbing the fine mesh to obtain a random grid. Convergence results are presented in Table 1 below.











TABLE 1









EMPFA
MPFA















# blocks
δp
qp
δf
qf
δp
qp
δf
qf


















8
0.01593

1.4039

0.01892

1.7415



16
0.00344
2.21
0.6198
1.18
0.00369
2.36
0.7691
1.18


32
0.00082
2.06
0.2702
1.20
0.00100
1.88
0.3851
1.00


64
0.00023
1.81
0.1195
1.18
0.00029
1.78
0.1835
1.07









A second example for examining convergence considers a discontinuous permeability field. FIG. 15A shows the computation domain which is divided into four regions, 15101-15104, each having a different permeability (ki). Within each region, the permeability is assumed constant, isotropic, and diagonal, or Ki=ki I, where the index i goes from 1 to 4.
This example allows for exact analytical solutions which take the following form in polar coordinates:

p(x,y)=ra(ai sin(αθ)+bi cos(αθ))  (36)

for (x, y) in each region i. The constants, α, ai, and bi, are determined from continuity conditions for pressure and flux across region boundaries and are functions of ki and φ. For k1=100, k2=k3=k4=1, and φ=2π/3, one possible set of these constants are α=0.7547, a1=1.00995, a2=a3=a4=1.9999, b1=1, and b2=b3=b4=100.98019. Using values of p(x, y) at the domain boundary as the boundary condition, and a grid 1500 which honors permeability discontinuities as shown in FIG. 15B, the single phase pressure equation is again solved numerically. Results in Table 2 indicate that, for EMPFA, the convergence rate is close to h2α—the optimal rate for conforming finite element methods. Similar results have been obtained for permeability fields with k1=k3=1, k2=k4=5, 10, or 100, and φ=π/2.











TABLE 2









EMPFA
MPFA















# blocks
δp
qp
δf
qf
δp
qp
δf
qf


















8
0.2688

6.5372

0.3360

4.9486



16
0.1044
1.36
4.1590
0.65
0.1255
1.42
3.1238
0.66


32
0.0393
1.41
2.5827
0.69
0.0454
1.47
1.9380
0.69


64
0.0145
1.44
1.5803
0.71
0.0162
1.49
1.1877
0.71









The 3D case may now be considered. To more accurately determine the convergence rate for 3D problems, the following discrete Hdiv error is defined:




  
    
      
        
          δ
          
            f
            ,
            div
          
        
        =
        
          
            [
            
              
                ∑
                i
              
              ⁢
              
                
                  ∫
                  
                    ∂
                    
                      V
                      i
                    
                  
                
                ⁢
                
                  
                    
                      (
                      
                        
                          F
                          ·
                          n
                        
                        +
                        
                          K
                          ⁢
                          
                            
                          
                          ⁢
                          
                            
                              ∇
                              
                                
                              
                              ⁢
                              p
                            
                            ·
                            n
                          
                        
                      
                      )
                    
                    2
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    d
                    s
                  
                
              
            
            ]
          
          0.5
        
      
    
    
      
        (
        37
        )
      
    
  




Same type of two and half dimensional grid and anisotropic permeability tensor as described above for the elimination of non-physical oscillations are used. In the test, κ in Eq. (30) is set to 0.3, and parameters μ, v, and φ in the definition of K are equal to 10, 10, and π/6, respectively. Numerical convergence results corresponding to grids based on quadrilateral or polygonal areal mesh are shown below in Tables 3 and Table 4, which confirm convergence of EMPFA obtained solutions that are comparable to, or better than, MPFA.














TABLE 3





#








blocks
δp
qp
δf
qf
δf, div
qf, div





















2
0.1351

6.2790

11.025



4
0.0297
2.18
3.2825
0.94
7.7657
0.51


8
0.0072
2.05
1.4317
1.20
4.5238
0.78


16
0.0018
2.01
0.6645
1.11
2.8617
0.66






















TABLE 4





#








blocks
δp
qp
δf
qf
δf, div
qf, div





















18
0.0497

6.2519

12.8438



100
0.0222
1.41
4.2373
0.68
10.6348
0.33


648
0.0068
1.90
2.2228
1.04
7.3477
0.59


4624
0.0019
1.92
1.1290
1.03
5.0205
0.58









CONCLUSION
By introducing an additional pressure unknown within an interaction region, enriched multipoint flux approximation (EMPFA) techniques presented herein may be used to reduce or eliminate numerical oscillations in solutions that occur when using conventional MPFA. EMPFA may be used to improve the consistency and accuracy in constructing pressure interpolations in cells for the purpose of determining flux equations used in modeling and predicting flow in a reservoir.
As can be appreciated, the above described methods and processes may be performed by a computer system. The computer system may include a processor and computer-readable storage medium containing executable instructions to perform the various methods. The computer system may include various user interfaces to interact with a user of the system, such as a mouse, monitor, keyboard, or other similar interface devices. Also, the storage medium may include databases, hard drives and other suitable storage devices, for example.

## Claims

1. A computer-implemented method of modeling flow of a fluid within a reservoir comprising:
dividing a reservoir into a finite number of grid cells that forms a grid of the reservoir;
defining interaction regions contained within adjacent grid cells in the grid, each interaction region being defined by first and second sets of points, the first set of points representing a grid cell center of each of the adjacent grid cells from which said each interaction region is defined, and the second set of points being edge centers defined as midpoints of lines separating adjacent grid cells defining each interaction region;
defining subvolumes within each interaction region, each subvolume defined by a grid cell center of a first one of the grid cells, edge centers of lines separating the first one of the grid cells defining each interaction region from others of the grid cells defining said each interaction region, and a vertex representing a point where all grid cells defining said each interaction region meet;
performing, using the computer, multipoint flux approximation operations that allow continuous pressure interpolation within one of the interaction regions by
for each subvolume, performing piecewise approximation to derive a set of equations in terms of pressures at grid cell centers and edge centers, the set of equations containing an unknown pressure parameter at the vertex, and
deriving and solving flux balance equations to eliminate the unknown pressure parameter at the vertex;
using pressure values obtained by the multipoint flux approximation operations, modeling the flow of fluid within the reservoir; and
outputting the model of fluid flow.

2. The computer-implemented method of claim 1, wherein
the piecewise approximation is a piecewise linear approximation.

3. The computer-implemented method of claim 1, wherein the piecewise approximation:
is a piecewise bilinear approximation.

4. The computer-implemented method of claim 1, wherein:
the grid is a three-dimensional grid;
the interaction regions are three-dimensional;
the subvolumes are three-dimensional and are further defined by face centers; and
the piecewise approximation is a piecewise trilinear approximation.

5. The computer-implemented method of claim 1, wherein the grid comprises at least one of a Cartesian grid and a Voronoi grid.

6. A computer-implemented method of modeling flow of a fluid within a reservoir comprising:
dividing a reservoir into a finite number of grid cells that forms a grid of the reservoir;
defining an interaction region contained within adjacent grid cells in the grid, each interaction region being defined by first and second sets of points, the first set of points representing a grid cell center of each of the adjacent grid cells from which said each interaction region is defined, and the second set of points being edge centers defined as midpoints of lines separating adjacent grid cells defining each interaction region;
defining subvolumes within each interaction region, each subvolume defined by a grid cell center of a first one of the grid cells, edge centers of lines separating the first one of the grid cells defining each interaction region from others of the grid cells defining said each interaction region, and a vertex representing a point where all grid cells defining said each interaction region meet;
for each subvolume, performing, using the computer, piecewise interpolation to derive a set of equations for pressure interpolation within the interaction region in terms of at least five unknown pressure parameters local to the subvolume, including at least one unknown pressure parameter at the vertex;
deriving and solving, from the set of equations for pressure interpolation, a set of flux equations in terms of global unknown pressure parameters to eliminate the unknown pressure parameters local to the subvolume; and
modeling the flow of fluid within the reservoir.

7. The computer-implemented method of claim 6, wherein the at least five unknown pressure parameters local to the subvolume include at least four unknown pressures at edge centers associated with the subvolume.

8. The computer-implemented method of claim 6, wherein performing piecewise interpolation comprises at least one of piecewise linear interpolation, piecewise bilinear interpolation, and piecewise trilinear interpolation.

9. The computer-implemented method of claim 6, wherein the global unknown pressure parameters comprise pressures at grid cell centers.

10. A computer-readable storage medium containing executable instructions which, when executed by a processor, performs operations for enriched multipoint flux approximation comprising:
(a) defining interaction regions contained within adjacent grid cells of a finite number of grid cells that form a grid dividing a reservoir, each interaction region being defined by grid cell centers of each of the grid cells forming the interaction region and edge centers of lines separating adjacent grid cells forming the interaction region;
(b) defining subvolumes within each interaction region, each subvolume defined by a grid cell center of a first one of the grid cells, edge centers of lines separating the first one of the grid cells forming each interaction region from others of the grid cells defining said each interaction region, and a vertex representing a point where all grid cells defining said each interaction region meet;
(c) generating a linear system of equations in terms of global pressure parameters by performing enriched multipoint flux approximation operations for each subvolume that allow continuous pressure interpolation within multiple interaction regions by introducing at least one unknown pressure parameter within each of the multiple interaction regions, the at least one unknown pressure parameter including an unknown pressure parameter at the vertex of each interaction region;
(d) solving the linear system of equations to eliminate the at least one unknown pressure parameter within each of the multiple interaction regions; and
(e) outputting a solution of the linear system of equations.

11. The computer-readable storage medium of claim 10, wherein the operations comprise repeating at least operations (c) and (d) for multiple discrete points in time to simulate flow in the reservoir.

12. The computer-readable storage medium of claim 11, wherein at least operations (c) and (d) are repeated multiple times at each of the multiple discrete points in time until a solution of the linear system of equations converges.

13. A computer-implemented method for predicting one or more flow-based material properties of a reservoir, comprising:
dividing a reservoir into a finite number of grid cells that forms a grid of the reservoir;
defining an interaction region contained within adjacent grid cells in the grid, the interaction region being defined by first and second sets of points, the first set of points representing a grid cell center of each of the adjacent grid cells forming the interaction region, and the second set of points being edge centers defined as midpoints of lines separating adjacent grid cells defining the interaction region;
defining subvolumes within the interaction region, each subvolume defined by a grid cell center of a first one of the grid cells, edge centers of lines separating the first one of the grid cells from others of the grid cells, and a vertex representing a point where all grid cells forming the interaction region meet;
deriving, using the computer, a set of equations for interpolation of a parameter within the interaction region for each subvolume in terms of at least five unknown values of the parameter local to the subvolume, including at least one unknown value of the parameter at the vertex;
deriving, from the set of interpolation equations, a system of equations in terms of global unknown values of the parameter to thereby eliminate the at least five unknown values of the parameter local to the subvolume;
solving the system of equations to predict the one or more flow-based material properties; and
outputting the solved system of equations.

14. A computer-implemented method for predicting the pressure gradient in a reservoir, comprising:
dividing the reservoir into a finite number of grid cells to form a grid of the reservoir;
defining an interaction region contained within adjacent grid cells in the grid, the interaction region being defined by first and second sets of points, the first set of points representing a grid cell center of each of the adjacent grid cells forming the interaction region, and the second set of points being edge centers defined as midpoints of lines separating adjacent grid cells defining the interaction region;
defining subvolumes within the interaction region, each subvolume defined by a grid cell center of a first one of the grid cells, edge centers of lines separating the first one of the grid cells from others of the grid cells, and a vertex representing a point where all grid cells forming the interaction region meet;
deriving, using the computer, a set of equations for pressure interpolation within the interaction region for each subvolume in terms of at least five unknown pressure parameters local to the said each subvolume, including at least one unknown pressure parameter at the vertex;
deriving, from the set of pressure interpolation equations, a system of equations in terms of global unknown pressure parameters to thereby eliminate the at least five unknown pressure parameters local to said each subvolume;
solving the system of equations to predict the pressure gradient in the reservoir; and
outputting the prediction of the pressure gradient in the reservoir.