IMPROVED METHODS FOR PERFORMING RESERVOIR SIMULATION

Abstract: A method for performing reservoir simulation by solving a mixed implicit-IMPES matrix (MIIM) equation. The variable implicit reservoir model comprises a plurality of cells including both implicit cells and IMPES cells. The MIIM equation includes a first scalar IMPES equation for each of the IMPES cells and a set of implicit equations for each of the implicit cells. The reservoir simulation method comprises the following operations: (a) constructing a global IMPES pressure equation from the MIIM equation; (b) solving the global IMPES pressure equation for pressure changes; (c) computing first residuals at the implicit cells in response to the pressure changes; (d) determining improved saturations by solving the total velocity sequential equations at the implicit cells using the first residuals; (e) computing second residuals at the implicit cells and at a subset of the IMPES cells that are in flow communication with any of the implicit cells in response to the improved saturations; (f) determining if a convergence condition based on the second residuals is satisfied; and (g) repeating steps (b) through (f) until the convergence condition is satisfied. After the convergence condition is satisfied, a final solution estimate for the MIIM equation is computed from the pressures changes and the improved saturations. The final solution estimate may be applied to determine the behavior of the reservoir model at a future discrete time value. Alternative to step (d), improved saturations and improved pressures may be computed by performing one or more iterations with a selected preconditioner at the implicit cells.

Description: TITLE: IMPROVED METHODS FOR PERFORMING RESERVOIR SIMULATION Field of the Invention The present invention relates to reservoir simulation, and in particular, to methodologies for performing reservoir simulation by solving an implicit matrix equation or an implicit-IMPES matrix equation. Background of the Invention In an attempt to understand and predict the physical behavior of reservoirs (such as petroleum reservoirs), reservoir engineers and scientists have generated various mathematical descriptions of reservoirs and the fluids they contain. These mathematical descriptions are often expressed as coupled sets of differential equations. Since it is quite often impossible to obtain solutions of the differential equations in all but the simple cases, the differential equations are discretized in space and time, and the resulting difference equations are solved using various numerical simulation techniques. For example, the following difference equations represent the volumetric accumulation of oil and water in a particular cell (i.e. cell i) over the course of a timestep from time index n to n+1 assuming rock and fluid incompressibility in a one-dimensional reservoir: (/ Uf +/2 [( RX - ( R 0 ) ? ] - 0U£χ [( Λ ) 7 - ( />. ) « ] +< f = ^ r- &); (Bl) R„.Δt ' (B2) where * t j s e timestep size; V. ' is the volume of cell i; ™ is porosity, i.e. pore volume per cell volume; (S )■ ° }i is the saturation of oil at cell i, i.e. the fraction of the pore volume occupied by oil in cell i; (S wJ ) i is the saturation of water at cell i, i.e. the fraction of the pore volume occupied by water in cell i; B R ° and w are the formation volume factors (FVF) for oil and water respectively; Po ) i-\ j Po ) t > P O )M are oil pressures at cell i-1, cell i, and cell i+1 respectively; \ FwJi-i ( \ Pw ) i ^ P w) i+ \ m water pressures at cell i-1, cell i, and cell i+1 respectively; o Λ ' is the rate 0 f 0 ii injection into cell i, and takes the value zero at most cells and takes a negative value at cells which interact with a depletion well; w/i i s the rate of water injection into cell i, and typically takes a zero value except at cells which interact with an injection or depletion well; (xY ' and (x 'Y +1 represent a quantity x evaluated at time indices n and n+1 respectively, where the former is known information, having been determined from previous computations, and the later is an unknown to be solved for by some computational method; and (xY ' and (xΫ ' represent quantities which are to be evaluated at time index n or n+1 subject to user selection. The oil transmissibility-mobility factors ° ,+ ^ and ° ' ~ ' 2 are defined as where A is the area normal to the axis of the one-dimensional reservoir; ° ,+ is the mobility of oil in transit between cell i and cell i+1; iM is the mobility of oil in transit between cell i and cell i-1; X k is the position of the kth cell along the one-dimensional axis. (λ ) (λ ) ■ Similar definitions apply for the water transmissibility-mobility products w ,+ " 2 and w ^ 2 . The difference equations (Bl) and (B2) above are augmented with several auxiliary relations as follows: ^ + ^ w = 1 j (B5) M 0 = M 0 ( Po ,S 0 ) ^ (B7) M w =M w ( Pw ,S w ) (B8) p Relation (B5) follows from the definition of saturation. Capillary pressure c which is defined as the difference in pressure between water and oil is a known function of oil saturation. Oil mobility M ° is a known function of oil pressure and oil saturation. Water mobility M w is a known function of water pressure and water saturation. Since oil mobility ° is a function of oil pressure ^° and oil saturation ° , and these later variables are defined at cell centers, a question arises as to the proper means of evaluating the in-transit oil mobilities ° ' + ' 2 and ° l ' 1 . According to the midpoint weighting scheme, the in-transit oil mobility is defined to be the average of the mobilities at the two affected cells. For example, where • "'' is evaluated using the oil saturation ^ " '' and oil pressure ^ "° ' > prevailing at cell i, and V O ) M is evaluated using the oil saturation ^ ° M and oil pressure ^ "° I i+ ι prevailing at cell i+1. Alternatively, according to the upstream weighting scheme, the in-transit oil mobility may be defined as the oil mobility at the upstream cell of the two affected cells, where the upstream cell is defined as the cell with higher pressure (since fluids flow from high pressure to low pressure). For example, ( Q) If the pressure variables and transmissibility-mobility factors in Equations (Bl) and (B2) are evaluated at the new time index, i.e. ~ " ~ t Equations (B 1) and (B2) take the form WXiK/' ' -O'.r ] - ( ^R ' -CR /] iKR i' -CΛ '] - ( iiCRX' -CΛ 1 . ^ = s - {s w y] ϋ»Δt (B12) The transmissibility-mobility factors and the phase injection rates are functions of saturation and pressure, and are evaluated at the new time level n+1. Thus, Equations (Bl l) and (B12) are non-linear in the unknown variables ^ o )'- 1 and ^ i , (B13) and Equations (Bl l) and (B12) may be expressed in terms of a reduced set of unknown variables using relations (B5) and (B6). For example, the variable ^ w '' may be replaced by ^ ) ι Similarly, ^ w ' > may Thus, Equations (Bl l) and (B 12) may be expressed in terms of the following reduced set of unknown variables: Assuming that there are N cells in the reservoir being modeled, Equations (Bl 1) and (B12) describe a coupled non-linear system of 2N equations (two equations per cell) with 2N unknowns - each cell contributes an un- ( n +i t ? Y +i known pressure ^° ^' and an unknown saturation ° '' . An iterative method such as Newton's method is generally required to solve such systems. f Let vector be the vector of 2N unknowns for the system. Define a set of 2N functions ; , for cell i is defined by the expression which follows from subtracting the right-hand side of Equation (Bl l) from the left-hand side of Equation (Bl l). A second function J f IM ( K ~X) ' for cell i is defined by the expression which follows from sub- f • R 2N → R 2N tracting the right-hand side of Equation (B12) from the left-hand side of Equation (B12). Let J ' f. be the corresponding vector function whose component functions are the functions J . The system given by Equations (Bl l) and (B12) may be equivalently expressed by the equation /rø = 0 ; (B15) i.e. the solution X = X of the system given by Equations (Bl l) and (B12) corresponds to the zero of Equation (B15). Equation (B15) may be referred to as a fully implicit equation or a nonlinear implicit equation since none of the unknowns (B14) may be explicitly computed from known data. Thus, any method of solving equation (B15) may be referred to as a fully implicit method. Newton's method prescribes an iterative method for obtaining the solution of Equation (B15). Given a X f current estimate * of the solution, the function J is linearized in the vicinity of this current estimate: where ' ^ * ' represents the Jacobian matrix of the function ' evaluated at k , and • * ^ * ' repre- sents the evaluation of function ■ > f at the current estimate. The next estimate X * +1 of the solution is obtained X by setting vector Y equal to zero and solving for argument X. Thus, the next estimate k+ satisfies the matrix equation df(X k )-X k+l =df(X k )-X k -f(X k ) (B17) By solving Equation (B17) for successively increasing values of the index k, a sequence of estimates X ° , X • , X 2 , ... , X * , ... is obtained which converge to the solution of the nonlinear system (B 15). Equation (B17) is referred to herein as an implicit matrix equation. A linear equation solver is used to solve the implicit matrix equation (B17). The right-hand side vector ^ * • * ' k ■ * ■ * ' and the Jacobian matrix ■ * ^ k are supplied as input data to the linear solver. The linear solver returns the solution vector X * +1 of the implicit matrix equation (B17). The computational effort of a Newton's method solution of the nonlinear implicit equation (B15) depends on (a) the number of Newton iterations to achieve convergence of the X sequence k , (b) the average computational effort expended by the linear solver to solve the implicit matrix equation (B17), and (c) the computational effort required to update the matrix equation as improved solutions are obtained. While most of the computational effort per Newton iteration is associated with solving the matrix equation, the effort required to update the matrix equation is also significant. Thus, any improvement in the computational efficiency of the linear equation solver will have a corresponding effect on the efficiency of the Newton's method solution. As described above, the nonlinear implicit equation (B15) arises from the choices ~ P ~ Equations (Bl) and (B2) above. Another plausible set of choices is given by ( X = n + ϊ anα < P — ^ whereupon Equations (Bl) and (B2) take the form -ipX 1 } - XXKPX 1 -(PoX ] ( ) /2 [(PX: ~ (P +1 ] - -(Rx, 1 . IX = B» Λ(sτ - ( l . (Bl9) The saturations and pressures at time-index n comprise known data (having been determined from previous computations). Thus, the transmissibility-mobility functions evaluated at time-index n comprise known constants. Equations (Bl8) and (Bl9) are therefore linear in the unknown variables (RX 1 (RX 1 (P i+l (B20) Λ+l r c \n+l ( S o 0 ϊ i + a a n nHd ^ S w)'i One method for solving the linear system of Equations (B18) and (B19), i.e. the so called Implicit- Pressure Explicit-Saturation (IMPES) method, is motivated by the following reduction of Equations (B18) and (B19). Since the saturation variables obey relation (B5), the Equations (B18) and (B19) may be combined so as to eliminate the unknown saturation variables. In particular, Equation (B18) may be multiplied by the oil for- mation volume factor ° , and Equation (B19) may be multiplied by the water formation volume factor w . The resulting equations may be added together to generate the following linear equation involving only the pressure unknowns: BΛλ χl (p . - ( p. ) ? ] - B ) l yι [ p 0 ) r - ( RX 1] +B w (λ +y2 [( P χ:; -( P +ι ] - B w (λ _ y2 [( P +ι -(Λ 1 ] + B 0 (q o y +B w (q = 0 (B21) Equation (B21) is referred to herein as an IMPES pressure equation. The capillary pressure relation (B6) may be used to eliminate the water pressure unknowns under the assumption that capillary pressure does not change during the timestep: where j represents an arbitrary cell index. When Equation (B21) is written for all N cells in the reservoir, the ensuing system, herein referred to as the IMPES pressure system, has N equations and N unknowns - one un- ( n Y +l known pressure • "" '' per cell. Because the IMPES pressure system is linear and has fewer equations and unknowns it may be solved much faster than the fully implicit system (B15). Again a linear equation solver may be invoked to solve the IMPES pressure system. The solution +1 ( n Y +X vector R of the IMPES pressure system specifies the pressure ^ " « ' < at every cell in the reservoir. The unknown saturations ( ^S ° )'" 1+l and S w Y Ji+i in Equations (B 18) and (B 19) may be determined by substituting the pressure solution values ^° 'J into the left-hand sides of Equations (B18) and (B19). Since the satura- tions ^ " '' and * • ' are known from previous computations, the unknown saturations ° ' and (S w Y fi +l may be computed explicitly. Thus, the IMPES procedure involves two steps: a first step in which pressures are computed implicitly as the solution of a linear system; and a second step in which saturations are computed explicitly based on the pressure solution. The example of a one-dimensional model discussed above represents a greatly simplified description of a complicated physical situation. More realistic models involve (a) a two-dimensional or three-dimensional array of cells, (b) more than two conserved species, (c) more than two phases, (d) compressible fluids and/or rock substrate, (e) non-uniform cell geometry and spacing, etc. In addition, the difference equations of the res- ervoir model may not necessarily arise from a fluid volume balance. In other approaches, difference equations may be obtained by performing, e.g., mass or energy balances. While pressure is quite often one of the variables being solved for at each cell, the remaining variables need not necessarily be saturations. For example, in other formulations, the remaining variables may be mole fractions, masses, or other quantities. Given a reservoir with M conserved species, a conservation law may be invoked to write a set of M difference equations describing the physical behavior of each of the conserved species at a generic cell i. (The use of a single index i to denote a generic cell does not necessarily imply that the reservoir model is one- p dimensional.) The set of equations may generally be expressed in terms of the pressure * of some base species (often oil), and (M-l) complementary variables such as saturations, mole fractions, masses, etc. These complementary variables will be referred to herein as generalized saturations. The discussion of the fully implicit method and the IMPES method presented above generalizes to more realistic models. The M difference equations for the generic cell i generally include functions such as mobility, formation volume factor, pore volume, injection rate etc., which depend on pressure and/or the generalized saturations (i.e. complementary variables). The fully implicit equations result from evaluating such functions at the new time index n+1. The fully implicit equations are generally non-linear, and thus, require an it- erative method such as Newton's method for their solution. The IMPES formulation starts from evaluating functions of pressure and/or the complementary variables at the old time index n. Thus, the M difference equations particularize to a set of linear equations in the unknown pressures and unknown generalized saturations. An auxiliary relation analogous to relation (B5) may be used to combine the set of linear equations into a single equation which involves only the pressure unknowns. This single equation is commonly referred to as the IMPES pressure equation. The IMPES pressure equation may be solved by calling a linear equation solver. The pressure solution is then substituted into the original set of linear equations, and the generalized saturations are computed explicitly. Both the fully implicit method and the IMPES method aim at generating values for the base pressure and the generalized saturations at the new time index n+1 for each cell in the reservoir. However, because the IMPES method is less stable than the fully implicit method (FIM), the timestep IMPES used in the IMPES method is generally significantly smaller than the timestep F,M used in the fully implicit method. While the single-timestep computational effort CE IMPES of IMPES is much smaller than the single-timestep computa- tional effort FM of the fully implicit method, it is quite often the case that the ratio IMPES of timestep sizes is larger than the ratio CE IMPES of computational efforts. Thus, any advantage gained by the single- timestep efficiency of the IMPES method is counteracted by the necessity of performing a large number of IMPES timesteps to cover a timestep of the fully implicit method. The IMPES method is one method in a general class of methods commonly referred to as sequential methods. A sequential method involves a two-step procedure: a first step in which unknown pressures are determined, and a second step in which complementary unknowns (i.e. unknowns other than pressure) are determined using the pressure solution obtained in the first step. Another sequential method, commonly referred to as the total velocity sequential semi-implicit (TVSSI) method has received significant use since it was originally developed by Spillette et al. circa 1970. The TVSSI method is described in the following paper by Spillette, A. G., Hillestad, J. G., and Stone, H. L.: "A High-Stability Sequential Solution Approach to Reservoir Simulation," SPE 4542 presented at the 1973 SPE Annual Meeting, Las Vegas, Sept. 30-Oct. 3. This paper is hereby incorporated by reference. Similar to the IMPES method, the TVSSI method has the advantage of reduced computational effort per timestep as compared to the fully implicit method. However, the TVSSI method is far more stable than the IMPES method. The increased stability implies that the timestep τvssr of the TVSSI method may be significantly larger than the IMPES timestep ,MPES . The TVSSI method comprises two major steps: (i) solving the IMPES pressure system; and (ii) solving a set of coupled saturation equations for the generalized saturations. Since the IMPES pressure equation involves a single unknown (i.e. pressure) at each cell, step (i) requires sig- nificantly less work than solving the set of fully implicit equations. In addition, since the set of coupled saturation equations does not have the elliptic nature of the IMPES pressure equation or the set of fully implicit equa- tions, the saturation solution converges rapidly. Overall, the single-timestep computational effort CE TVSSI for the TVSSI method is typically a half to a fifth that of the fully implicit computations. *FIM The TVSSI method is not as stable as the fully implicit method. In some problems, the ratio WSSI of timestep sizes is larger than the ratio CE ιrssj of computational efforts. In other words, the single timestep computational efficiency of the TVSSI method relative to the fully implicit method is more than offset by the necessity of performing multiple timesteps of the TVSSI method to cover a timestep of the fully implicit method. Overall, the fully implicit method seems to be more desirable than the TVSSI method, in part because it is more trouble-free. However, the total velocity equations contain a certain power that enables the success, albeit not universal, of the TVSSI method. This power has yet to be fully appreciated and harnessed. Thus, there exists a need for a reservoir simulation method which may more effectively capture this power inherent in the total velocity equations. One prior-art method used to lower the cost of reservoir simulations is the so called adaptive implicit method (AIM). The adaptive implicit method is based on the recognition that the implicit formulation is re- quired at only a fraction of the cells in the reservoir model. If the implicit formulation can be applied only where it is needed, with the IMPES formulation being used at the remaining cells, significant reductions in computational effort may be obtained. The adaptive implicit method determines dynamically which cells require implicit formulation. As the simulation progresses in time, a particular cell may switch back and forth between IMPES formulation and implicit formulation. In a related prior-art method, referred to as static variable implicitness, the assignment of IMPES or implicit formulation to each cell in the reservoir remains fixed through the simulation. Although the adaptive implicit method and variable implicit method are computationally more efficient than the fully implicit method, they are still significantly time consuming. Thus, there exists a need for improved methods for performing adaptive and variable implicit reservoir simulations. SUMMARY OF THE LNVENTION The present invention comprises a method for performing reservoir simulation by solving a mixed im- plicit-IMPES matrix (MUM) equation. The MUM equation arises from a Newton iteration of a variable implicit reservoir model. The variable implicit reservoir model comprises a plurality of cells including both implicit cells and IMPES cells. The MUM equation includes a scalar IMPES equation for each of the IMPES cells and a set of implicit equations for each of the implicit cells. In one embodiment, the method for performing reservoir simulation comprises: (a) constructing a global IMPES pressure matrix equation from the MUM equation; (b) determining coefficients for a set of satu- ration equations at the implicit cells by using a total velocity constraint at the implicit cells; (c) solving the global IMPES pressure matrix equation for pressure changes; (d) computing first residuals at the implicit cells in response to the pressure changes; (e) solving the set of saturation equations (formed from the coefficients and first residuals) for saturation changes at the implicit cells; (f) computing second residuals at the implicit cells and at a subset of the IMPES cells that are in flow communication with any of the implicit cells in response to the saturation changes. Steps (b) through (f) may be repeated until the second residuals satisfy a convergence condition. A final solution estimate may be computed for the MUM equation from the pressures changes and the saturation changes after the convergence condition is satisfied. The final solution estimate may be used by a reservoir simulator to determine behavior of the reservoir model at a future discrete time value. The global IMPES pressure matrix equation may be constructed from the MEM equation by (i) manipulating the set of implicit cells at each implicit cell to generate a corresponding IMPES pressure equation, and (ii) concatenating the IMPES pressure equations for the IMPES cells and the IMPES pressure equations for the implicit cells. Note the IMPES pressure equations for the IMPES cells are provided by the MIIM equations. In a second embodiment, the method for performing reservoir simulation comprises: (a) constructing a global IMPES pressure equation from the MIIM equation; (b) solving the global IMPES pressure equation for pressure changes; (c) computing first residuals at the implicit cells in response to the pressure changes; (d) determining improved saturations and improved pressures by performing one or more iterations with a selected preconditioner at the implicit cells; and (e) computing second residuals at the implicit cells and at a subset of the IMPES cells that are in flow communication with any of the implicit cells in response to the improved satura- tions and improved pressures. Steps (b) through (e) may be repeated until a convergence condition based on the second residuals is satisfied. A final solution estimate for the MILM equation may be computed from the pressure changes, improved saturations and improved pressures after the convergence condition is satisfied. The final solution estimate may be used to determine behavior of the reservoir model at a future discrete time value. In a third embodiment, the method for performing reservoir simulation comprises: (a) constructing a global IMPES pressure equation from the MIIM equation; (b) solving the global IMPES pressure equation for pressure changes; (c) computing first residuals at the implicit cells in response to the pressure changes; (d) solving an implicit system comprising the set of implicit equations associated with each of the implicit cells for improved saturations and improved pressures at the implicit cells using the first residuals at the implicit cells; and (e) computing second residuals for a subset of the IMPES cells which are in flow communication with any of the implicit cells. Steps (b) through (e) may be iterated until a convergence condition is satisfied based on the second residuals. The final solution estimate for the MIIM equation may be computed based on the improved saturations and improved pressures after the convergence condition is satisfied. In solving the implicit system, cell pressures for fringe IMPES cells (i.e. the IMPES cells which are in flow communication with any implicit cell) are held fixed at those values determined in the pressure solution of step (b). BRIEF DESCRIPTION OF THE DRAWINGS A better understanding of the present invention can be obtained when the following detailed description of the preferred embodiments is considered in conjunction with the following drawings, in which: Fig. 1 illustrates the structure of an implicit matrix equation used in reservoir simulation; Figs. 2A &2B illustrate one embodiment of a linear solver method according to the present invention; Fig. 3 illustrates a reservoir simulation method which invokes a linear solver according to the present invention; Fig. 4 illustrates a reservoir simulation method which uses total velocity sequential preconditioning according to the present invention; Fig. 5 illustrates a partitioning of cells in a variable implicit reservoir simulation; Fig. 6A illustrates a first iterative method for solving a mixed implicit-IMPES matrix equation according to the present invention; Fig. 6B illustrates a second iterative method for solving a mixed implicit-IMPES matrix equation ac- cording to the present invention; Fig. 7 illustrates a third iterative method for solving a mixed implicit-IMPES matrix equation according to the present invention. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the invention to the particular forms disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the present invention as defined by the appended claims. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 1. An Implicit Linear Equation Solver The present invention comprises a method for solving an implicit linear equation X = wn ich arises from a Newton iteration of the fully implicit equations. Equation (B17) above is an example of an implicit linear equation. Matrix A and vector C are given, and vector x is to be determined. The vector unknown x has the where P is a vector of cell pressures (one pressure per cell) and S is a vector of cell saturations (M-1 saturations per cell for simulations with M conserved species). Given a current estimate for the solution of the implicit linear equation -^ — y the linear solver method of the present invention may be described as follows: (A) Compute an updated pressure vector R 3 using an IMPES pressure equation which is derived from the implicit matrix equation; (B) Solve for an updated saturation vector ° in equations developed using a total velocity conservation principle; and (C) Supply the vector and the updated saturation s"*% to a solution accelerator such as ORTHOMIN or GMRES. The updated solution estimate returned by the accelerator forms the basis for the next iteration of steps (A) through (C). Steps (A) through (C) are repeated until convergence is attained. Let represent the intermediate solution estimate after the IMPES pressure vector which includes unknown saturation vector . (It is noted that the pressure vector will not be computed, but its presence here assists in formulation of the requisite equations). Observe that Ax n+A1 = b (1.1) (1.2) P + A 2 > n+ A n+2 _ o" .„„ r . β » — " and the saturation change ° ° induces a changes in the flow be- P n+ A 1 p n+ H a n+2 4 on the change in flow. The resulting equations may be solved for the updated saturation " The linear solver method of the present invention is similar to the combinative method in that it involves a strategy of solving for pressure first and then for variables other than pressure. Each outer iteration of the linear solver method is relatively inexpensive, and success of the method hinges on how many outer iterations are needed. The linear solver method is particularly well suited for use with the adaptive implicit method (AIM), since the natural way to perform AIM is to begin by solving the global set of IMPES equations. 1.1 Some Theoretical Observations The linear solver method of the present invention exploits beneficial properties of the total velocity equations within a linear equation solver. The linear equation solver may be used to solve an implicit linear equation Ax - C (When Newton's method is applied to the fully implicit equations, a whole series of such equations is generated, one equation per Newton iteration.) The following theoretical observations provide mo- V tivation for the linear solver method according to the present invention. The flow velocity v between two cells is given by the expression where index v denotes a particular phase such as oil, water or gas, λv is the transmissibility-mobility product 1/ ΔΦ 1/ for phase v , and v is the potential difference for phase v between the two cells. Let the subscript b indicate the base phase, i.e. the phase whose pressure is solved for in the IMPES pressure equation. Eq. (1.1.1) may be rewritten in a form containing two spatial differences - one that depends on the base pressure and one that depends on capillary pressure, i.e. the difference in pressure between phase ^ and the base phase b: v^ΔΦ, + λ v A{Φ v - Φ b ) (1 1 2) Summing the phase velocities over all phases gives an expression for total velocity τ as follows: The subscript T denotes a quantity that is summed over all phases v . It can be shown that continuity constraints force the total velocity to vary substantially less than individual phase velocities. In the extreme case of one-dimensional incompressible flow, the total velocity does not vary at all spatially. By solving for ΔΦ *,. in Eq. (1.1.3), and substituting the resultant expression into Eq. (1.1.2), the flow velocity may be expressed as In anticipation of an iterative method, Eq. (1.1.1) is rewritten in a linearized form: όv k = δλ k ΛΦ k + λ k δAΦ k , (1.1.5) where the superscript k is the iteration number and δx k denotes the change in quantity x between iterations k and k+ 1. Similarly, Eq. (1.1.4) may be linearized as where δv k = δλ k τ AΦ b k + λ k τ δAΦ b k + ∑ Δ(ΦJ -Φ b k ) + ∑λ k μ δA{ φk μ -<S > l) (1.1.8) Finally, an updated phase velocity may be defined as v v k+l = v v k + δv (1.1.9) where v v Λ v* ψ v (1.1.10) Eqs. (1.1.5) and (1.1.6) are exactly equivalent. If Eqs. (1.1.7) and (1.1.8) are substituted into Eq. (1.1.6), and all possible cancellations are performed, Eq. (1.1.6) reduces to Eq. (1.1.5). It is noted that Eq. (1.1.6) includes only δv k Φ i+I δv k one term, i.e. τ , which depends on the pressure solution * . As a result, given an estimate for τ , Eqs. (1.1.6) and (1.1.9) form the basis of a set of equations which involve only saturation variables v . It is noted λ P = φ* -φ* that the transmissibility-mobility products " and the capillary pressures cv v b are functions of the saturation variables. 1.2 Generating Total Velocity Sequential Equations This section describes the computational steps in generating the total velocity sequential equations from the implicit matrix equation "* ~ ^ , where A is a given matrix, C is a given vector, and x is a vector unknown comprising cell pressures (one pressure per cell) and generalized saturations (M-1 generalized saturations per cell in a reservoir model with M conserved species). Figure 1 illustrates the structure of the implicit matrix equation for a reservoir with three cells. How- ever, the following discussion generalizes to any number N of cells. The matrix A on the left-hand side of the implicit matrix equation is an array of submatrices (also referred to herein as blocks) with N block-rows and 2N A block-columns. Each of the submatrices Pij of matrix A has M rows and one column, where M is the number A ■■ of conserved species. Each of the submatrices Si -* of matrix A has M rows and M-1 columns. Thus, matrix A has NM rows and NM columns. R. S. The vector unknown x comprises scalar pressures ' and generalized saturation subvectors ' . The P. scalar pressure ' is the base pressure at cell i, i.e. the pressure of a predetermined phase at cell i. The generalized saturation subvector ' comprises a set of ^ ' generalized saturation variables at cell i. Therefore, vector unknown x has dimension 1S Vector c, on the right-hand side of the matrix equation, comprises N subvectors c ' . Each subvector c ' comprises M known constants. Thus vector C has dimension MN. Each cell of the reservoir contributes M scalar equations to the matrix equation. Each block-row of the matrix equation summarizes the M scalar equations which are contπbuted by a corresponding cell. For example, the lth block row of the matrix equation, i.e. ∑ ( Λ , R , + A ) = C . J* , (1.2.0) summarizes the M scalar equations which are contnbuted by cell 1. Equation (1.2.0) may be equivalently expressed m the form which distinguishes (a) the summation term j=ι which mvolves the pressure R ' and saturation vector S ' for cell l , and (b) the remaining summation terms -' which mvolve pressures and saturations at other cells. It is A A noted that the submatrices P,J and S,J will be zero except for those cells j which are in contact with cell l Each diagonal pressure submatnx p " may be expressed as the sum of a pressure capacitance subma- tπx C p " and a pressure flow submatnx F p " : Similarly, each diagonal saturation submatnx s " may be expressed as the sum of a saturation capacitance submatnx C s " and a saturation flow submatnx F s " : A A Off-diagonal pressure submatnces p,J and saturation submatnces S,J relate entirely to flow Thus, each off- A F diagonal pressure submatnx PlJ may be equated to a corresponding pressure flow submatnx PlJ , and each A F off-diagonal saturation submatnx StJ may be equated to a corresponding saturation flow submatnx S,J . Equation (1.2.1) may be rewntten in a form which distinguishes between capacitance and flow contn- butions: [c, Pu + τ F * Pu C Su +F Su βtø PIJ s>j C, (1.2.2) The flow submatnces obey the following relations: Fs,, = -∑F SJ , = -∑4 J*' J*ι (1.2.4) F A ■■ Thus, the pressure flow submatrix p " may be computed by adding the off-diagonal pressure submatrices Pj ' in the ith block-column of matrix A, and negating the resultant sum. Similarly, the saturation flow submatrix F A ■■ Sii may be computed by adding the off-diagonal saturation submatrices Sjl in the ith block-column of matrix A, and negating the resultant sum. The Volume Balance Equation The volume balance equation combines the M scalar equations at each cell into a single scalar equation in such a way that the saturation capacitance disappears. This is accomplished by determining multipliers as follows. The first step in the determination of multipliers is to determine the saturation capacitance coefficients according to the relation N IΪ = A Sii - F Sii = A Sii + 2^ A Sβ =ι j*' (1.2.5) An M x 1 vector ' is determined by solving the linear system given by cJ -o (1.2.6a) e T M : = 1 (1.2.6b) where the superscript T denotes the matrix transpose operation, and e is a vector consisting entirely of ones. The components of vector M '. are the multipliers which are used to combine the M scalar equations at cell i. Since Equation (1.2.6a) comprises M-1 scalar equations in M unknowns, an additional constraint is needed to obtain unique solutions for the multipliers. Eq. (1.2.6b) is one possibility among many. Another possibility is to specify one of the multipliers, reducing the number of unknowns by one and thereby reducing the computational requirement. M τ The volume balance equation is obtained by pre-multiplying Eq. (1.2.1) by ' . The resulting equa¬ where B p u ^ M A Pii (1.2.8) B Pij = M A P (1.2.10) B sil = M i A sϋ , (1 . 2 . π) B a = M ? C i . (1.2.12) The IMPES pressure equation may be obtained from Equation (1.2.7) by evaluating pressures at intermediate iteration level (n + / Ϋ 3 ') and saturations at the old iteration level n. Thus, the IMPES pressure equation is as follows: B Pii pr H +∑^,R; +X =B a -B Sii s -∑R^S; j≠i J ≠i . (1.2.13) The Velocity Equation In one prior art method, i.e. the total velocity sequential method, pressures and saturations are com- puted according to the following strategy: (a) pressures are computed using Eq. (1.2.13); (b) total velocities are computed based on these pressures; and (c) saturations are computed while holding fixed the total velocities. Since velocity relates to flow between connections, rather than conservation at a cell, the equations of the present invention require a different construction. Let F be the vector of flows from cell i to cell j defined by pij _ U.O , pijp , pijp , pij c . iJ C ^ r p ι r i ^ r Pj r j ^ r si°i ^ r sj' 3 j ) (1.2.14) where the M components of F represent the flows of each of the conserved species from cell i to cell j; and matrices. These terms can be extracted from the original matrix equation, as follows. The two off-diagonal (i.e., j) terms are F iJ = A pj Pi J , (1.2.15) F° = A * ' SiJ . (1.2.16) The corresponding flows from cell j to cell i obey the relation F» = -F ji . (1.2.17) As a result, the diagonal (i.e., i) terms can be obtained from the equations at the connected cells, leading to F iJ = -A pi p J' , (1.2.18) ' j - _ Si sβ . (1.2.19) The view from cell i of the total volumetric flow from cell i to cell j is given by F ij = M T F iJ τ Mi . (1.2.20) The view from cell j of the total flow from cell j to cell i, in addition to having an opposite sign, has a different magnitude because its vector of multipliers is different, i.e. F τμ = -M M J T F' J . (1.2.21) The total flow, as viewed from cell 1, is given by the followmg expression, which is obtamed by multiplymg M T (1.2.14) by pu _ py.o , py p , pυ p , pu c , pυ c r T — i T T r TPl r l -r Γ T PJ Γ J ^ r TSr°, τ 1 T j ^ j (1.2.22) where F»'° = M F' Jfi F i T v Pl = M 1VI , T F 1 P ' J l > r Fτ' J sj =- M m ι T F r s'j J p« + A By solvmg the IMPES pressure equation (1.2.13), pressures ' at the intermediate iteration level ' 3 are obtamed. These pressures may be substituted mto Equation (1.2.22) givmg an expression for the total velocity after the IMPES pressure solution: i p τ v _ i p τ u. -r , I p T u Pl p l »+A T , i p T u Pj r p»+A -r , In the discussion to follow, a set of equations will be developed which enable the computation of a new set of «+ pv saturations ' . Let ' be the pressures which correspond to the new saturations and are used to compute flow from cell l to cell j (These pressures will not be computed, however it is convenient to include them here to aid the development of the requisite equations.) The total velocity corresponding to the new pressures and saturations is given by pv _ pv o , pu p'j , pu pv , pu " + A i pv r»+ τ τ + Γ PI Γ ' + Γ TPJ Γ J ^ ra°, ^ Γ TSJ°J (1.2.24) Thus, cell i's view of the change in total velocity is obtamed by subtractmg Equation (1.2.24) from Equation (1.2.23) SPT = F m [ P ! J ~ P" +K )+ F TP J [Pj ~ P J + ) +E^S; + -S;)+ F ; + -S;) (1.2.25) This total velocity change δF τij is set equal to zero, yielding o . (1.2.26) pu Note that the pressure at cell I in ( 1.2.26), ' , may vary with j . Wnting the balance equation (1 2 2) in terms of the desired iteration levels and rearranging yields Equatio n (1.2.26) may be used to elimmate the pressure difference from Equation (1.2 27). How- ever, it would be advantageous if Equation (1 2.26) could be used to eliminate the pressure difference from Equation (1.2.27) at the same time The most likely conditions that would permit the elimination of both pressure differences is to have 1 F P' J i = - 1 F' J (1.2.28) 1 F T' J Pι = - l F T' J Pj (1.2.29) pv _ p n+ A These relations are approximately true, and it will be assumed that if the pressure difference J J is pu _ pn+y, eliminated the other pressure difference ' ' will disappear as well In effect, when equation (1.2.22) is used to eliminate p " J J ', it IS assumed that this elimination simultaneously eliminates this con- nection's The resultant equation is c t -c Plt p r -[F Pll C SU 1 3 Solution of the Implicit Matrix Equation The equations developed above are used to construct a Imear equation solver It is assumed that a res- ervon simulator executing a fully implicit simulation generates an implicit Imear equation of the form -^ = " . The reservoir simulator provides the matnx A and vector b as mput data to the Imear equation solver of the pre- sent mvention The Imear equation solver returns an estimate for the solution x = A ^ to the reservoir simulator. The Imear equation solver employs an iterative method accordmg to the present mvention for solvmg the implicit Imear equation Each iteration operates on a current estimate x and generates an updated estimate r «+ι v o 1 2 n Λ . The sequence of estimates Λ , Λ , Λ , ..., , ... generated by the Imear equation solver converge to the solution " ■ " of the implicit linear equation. Given a current estimate , where R is a vector of cell pressures (one pressure per cell), and " is a vector of saturations (M-1 saturations per cell for reservoir models with M conserved species), a generic iteration of the linear solver method includes the following steps. 1. Construct the IMPES pressure equation (1.2.13). This is achieved by performing the column summation indicated by Eq. (1.2.5). In other words, for each diagonal satu- A A ■■ ration submatrix s " of matrix A, the diagonal saturation submatrix Sii is added to A the off-diagonal saturation submatrices Sjl in the same block-column, thereby gen- C ■■ erating a corresponding saturation capacitance submatrix s " . The saturation ca- pacitance submatrix c s " relates to the accumulation of each of the species in cell i. Using the capacitance submatrices, the well-known IMPES reduction is performed. The IMPES reduction results in matrix equation (1.2.13) which involves only the pressure variables. 2. Construct the saturation equation ( 1.2.30) as described above. 3. If necessary, compute the underlying implicit equation residuals. 4. Based on the current implicit equation residuals, compute the IMPES pressure equa- tion residuals. p"+A 5. Solve the IMPES pressure equation (1.2.13) for updated pressures ' , and com- p n+ A _ pι> p" pute a corresponding set of pressure changes ' ' , where ' denotes cell pressures at the beginning of the current iteration. 6. Update the implicit equation residuals for the pressure changes computed in step 5. S" + ^ 7. Solve the saturation equation (1.2.30) for updated saturations ' , and compute a S" + A 2 _ 5" 1 corresponding set of saturation changes ' ' . 8. Update the implicit equation residuals for the saturation changes computed in step 7. 9. Combine the pressure and saturation changes of steps 5 and 7 into a composite solu- p"+A _p« Ax c„om„p„ = S n+Λ -s π tion change Ax 10. Feed this solution change comp to a solution accelerator such as ORTHOMIN or GMRES to accelerate convergence. 11. Update the implicit equation residuals based on the solution estimate returned by the accelerator. Steps 4-11 are repeated until convergence is attained. Figures 2A & 2B illustrate one embodiment of the linear solver method according to the present invention. The linear solver method shown in Figures 2A & 2B may be implemented in software on a computer system. The linear solver method is typically invoked by a reservoir simulator also implemented in software. The reservoir simulator provides the linear solver method with an implicit matrix equation Ax = o w ich results from a Newton iteration on the fully implicit equations. The linear solver method comprises the following steps. In step 110, a global IMPES pressure equation is constructed from the implicit matrix equation Ax = v . The global IMPES pressure equation may be constructed as described above in the development of IMPES pressure equation (1.2.13). In step 120, the global IMPES pressure equation is solved to determine an improved estimate of pressure at a plurality of cells. In the preferred embodiment, the plurality of cells include all the cells of the reservoir. In another embodiment, the plurality of cells may represent a subset of the cells of the reservoir. In step 130, residuals of the implicit matrix equation are updated based on the improved estimate of pressures. In step 140, a complementary matrix equation is constructed in terms of unknowns other than pressure. The complementary matrix equation is constructed from the implicit matrix equation based on the constraint of preserving total velocity between cells. For example, the complementary matrix equation may be saturation equation (1.2.33). In step 150, the complementary matrix equation is solved in order to determine an improved estimate of the unknowns other than pressure at each cell of the reservoir. In step 160, the residuals of the implicit matrix equation are updated based on the improved estimate of the unknowns other than pressure. In step 170, a composite solution change which comprises a first change in pressure associated with the improved estimate of pressures determined in step 120 and a second change in the unknowns other than pressure associated with the improved estimate of the unknowns other than pressure. The composite solution change is treated as the output of a preconditioner. In step 180, the composite solution change is provided to an accelerator such as, e.g., GMRES or ORTHOMIN, in order to accelerate convergence of the solution. In step 190, the solution accelerator generates an accelerated solution change. In step 195, the residuals of the implicit matrix equation are updated based on the accelerated solution change. In step 200, a test is performed to determine if a convergence criteria has been satisfied. If the convergence criteria is not satisfied, another iteration of steps 120 through 195 is performed. If the convergence criteria is satisfied, a final solution estimate is computed based on the accelerated solution change and a previous solution estimate as indicated by step 202. In step 205, the final solution estimate is applied to predict the behavior of reservoir fluids at a future time value. In one embodiment of the linear solver method, the complementary matrix equation is a saturation matrix equation such as equation (1.2.33), and the unknowns other than pressure are saturations. In another embodiment, the unknowns other than pressure comprise one or more variables such as, e.g., saturation, mole fraction, mass, energy, etc. Figure 3 illustrates the structure of a reservoir simulator method which invokes the linear solver method as described above. In step 310, the reservoir simulator formulates a set of finite difference equations which describe a generalized timestep in the time evolution of fluid properties in the cells of a reservoir. In step 320, the reservoir simulator performs one or more Newton iterations in order to solve the finite difference equations for a single timestep. The solution of the finite difference equations defines a pressure and one or more complementary unknowns for each cell in the reservoir at the next discrete time level. Each Newton iteration comprises the following steps. In step 320A, a linear approximation is constructed for each of the non-linear terms in the finite difference equations. In step 320B, an implicit matrix equation is constructed based on the finite difference equations and the linear approximations. In step 320C, the implicit matrix equation is solved using the linear equation solver method discussed above in connection with Figures 2A & 2B. By performing a series of timesteps as described above, the reservoir simulator may predict the behavior of the reservoir fluids. 1.4 A Preconditioner for Solving the Implicit Matrix Equation The present invention also comprises a preconditioning method for solving the implicit matrix equation x = t> . he preconditioning method has performed effectively in a variety of problems. P" X n = S" Given a current estimate ' for the solution to the implicit matrix equation, where R is a vector of cell pressures and ° is a vector of cell saturations, the preconditioning method of the present invention comprises the following steps: ., _.„..» „ ™ v. r „ r -„ „. , and compute pressure change vector R 3 — R ; P n+ A O n ,_, ~, ., , r β^ — " ; c n+ (3) Solve saturation equations (1.2.33) for updated saturation vector , and compute saturation change ςn+% _ ςr« vector " ° ; and S »+A 2 _ S « (4) Update the implicit equation residuals for the saturation change p n+ A —p n Ax c.omp S n+% -S" The composite solution change is supplied to a solution accelerator such as Orthomin or GMRES. Any suitable method can be used to solve the IMPES pressure equation. The saturation equations tend to be easy to solve, in the sense that an iterative solution of saturation equations converges rapidly. This suggests use of a simple preconditioner such as diagonal scaling or ILU(0). ILU(0) was used in the tests described below. The preconditioning method of the present invention differs from the Constrained Pressure Residual Method (Wallis, J. R., Kendall, R. P., and Little, T. E.: "Constrained Residual Acceleration of Conjugate Residual Methods," SPE 13536 presented at the SPE 1985 Reservoir Simulation Symposium, Dallas, Texas, February 10-13, 1985) in at least two ways. First, the preconditioning method of the present invention obtains the pressure equation using the true IMPES reduction. Wallis et al. perform a reduction directly on the implicit equations. Second, the preconditioner method of the present invention solves the total- velocity saturation equations. Wallis et al. perform a single iteration on the implicit equations using a preconditioner, typically reduced system ILU(0). Test Results and Discussion The preconditioner method has been tested on a handful of matrix equations. Table 1 below summarizes the results. The convergence criterion used was a 0.005 reduction in the residual L2 norm. Case 1 was a variant of the first SPE comparison problem (Odeh, A. S.: "Comparisons of Solutions to a Three-Dimensional Black-Oil Reservoir Simulation Problem," JPT 33, January 1981, 13-25), with the wells being treated as flowing against constant pressure. Case 2 was the first Newton iteration of the first timestep of the ninth SPE comparison problem (Killough, J. E.: "Ninth SPE Comparative Solution Project: A Reexamination of Black-Oil Simulation," SPE 29110 presented at the 13th SPE Symposium on Reservoir Simulation, San Antonio, Texas, February 12-16, 1995), with a one day timestep. Case 3 was the same as case 2, with the timestep size increased to 50 days to make the problem more difficult. Case 4 was the same as case 3, but for the second Newton iteration. Case 5 was from a 2400-cell, two-hydrocarbon component, steam injection model. Case 6 was from a 5046- cell, seven-hydrocarbon component plus water compositional model. The logical comparison to make is to the Constrained Pressure Residual (CPR) Method. In these problems, the new method took either the same number as or somewhat fewer outer iterations than CPR. It required on average a little less than two saturation iterations per outer iteration. The resulting computational work required was probably somewhat less than that required by CPR's single reduced-system ILU(0) iteration. Total Velocity Preconditioning in a Reservoir Simulator Figure 4 illustrates a reservoir simulation method which uses total velocity sequential preconditioning according to the present invention. The reservoir simulation method comprises the following steps. In step 410, the reservoir simulator formulates a set of finite difference equations which describe a generalized timestep in the time evolution of fluid properties such as pressure, saturation, etc. for each cell in the reservoir. In step 420, the reservoir simulator solves the finite difference equations by performing one or more Newton iterations. The solution of the finite difference equations specify the value of pressure and complementary unknowns (i.e. unknowns other than pressure) for each cell at the next time level. For each Newton itera- tion, the reservoir simulator: (a) Constructs a linear approximation for each of the non-linear terms in the finite difference equations as indicated by step 420A; (b) Constructs an implicit matrix equation based on the finite difference equations and the linear approximations as indicated by step 420B; and (c) Solves the implicit matrix equation by (cl) constructing a complementary matrix equation in terms of unknowns other than pressure, and (c2) solving the complementary matrix equation for the unknowns other than pressure as indicated by step 420C. The complementary matrix equation is constructed using a constraint of conserving total velocity between cells. By performing a succession of timesteps, i.e. by repeatedly solving the finite difference equations, the time evolution of pressure and the complementary unknowns may be predicted. This information may be used, e.g., to guide the development and management of a physical reservoir such as an oil field. 1.5 Linear Solvers for Variable Implicit and Adaptive Implicit Simulations The present invention comprises a method for solving the matrix equations which arise in variable implicit and adaptive implicit reservoir simulations. As discussed above, the fully implicit formulation requires significantly more computational effort per timestep than the IMPES formulation. However, the larger timesteps that may be used with the fully implicit formulation often more than offsets the additional computational effort. The nonlinearity of the fully implicit formulation requires an iterative solution using Newton's method. Each Newton iteration generates a matrix equation referred to herein as the implicit matrix equation. Thus, one timestep of the fully implicit formulation requires the solution of a series of implicit matrix equations. This ex- plains the large computational effort of the fully implicit formulation. One prior-art method used to lower the cost of reservoir simulations is the so called adaptive implicit method (AIM). The adaptive implicit method is based on the recognition that the implicit formulation is required at only a fraction of the cells in the reservoir model. If the implicit formulation can be applied only where it is needed, with the IMPES formulation being used at the remaining cells, significant reductions in computational effort may be obtained. The adaptive implicit method determines dynamically which cells require implicit formulation. As the simulation progresses in time, a particular cell may switch back and forth between IMPES formulation and implicit formulation. In a related prior-art method, referred to as static variable implicitness, the assignment of IMPES or implicit formulation to each cell in the reservoir remains fixed through the simulation. In variable implicit and adaptive implicit reservoir simulations, the nonlinear implicit equations which describe the implicit cells and the linear IMPES equations which describe the IMPES cells are coupled. Thus, the composite system of equations from all the cells is nonlinear and requires a Newton's method solution. The composite system is solved in a series of Newton iterations. Each Newton iteration results in a mixed implicit- IMPES matrix equation. Solution of the mixed implicit-IMPES matrix equation poses a challenge to a linear equation solver. This section describes two related methods according to the present invention that may increase the efficiency of solving the mixed implicit-IMPES matrix equation. When variable implicitness is used in a reservoir simulation, only a small minority, typically one to ten percent, of the cells are treated implicitly. As shown in Figure 5, the implicit cells tend to appear as small is- lands (e.g. islands A, B, C and D) in a much larger IMPES ocean E. At the IMPES cells, there is a single unknown to be solved for, and correspondingly there is a single equation to be solved. At the implicit cells, the number of unknowns is equal to the number of components (such as, e.g., oil, water and gas) being used in the model. Solving the Mixed Implicit-IMPES Matrix Equation: Method 1 This section presents a first linear solver method according to the present invention for solving the mixed implicit-IMPES matrix equation Ax = C e vector unknown x comprises a set of cell pressures ' (one pressure per cell) and a set of saturations S ' (M-1 saturations per cell for simulations with M conserved species). The matrix A and the vector C are supplied to the linear solver method as inputs by a reservoir simulator. The linear solver method generates an estimate for the solution " ■ ^ to the mixed implicit-IMPES equation. The linear solver method comprises an iterative procedure. Each iteration of the linear solver method operates on a current solution estimate Λ Y" and generates an updated solution estimate Λ V" +1 . The sequence of solution estimates x , x , x , ..., x , ... converges to the solution " ■ ^ of the mixed implicit-IMPES equation. The linear solver method employs a convergence criteria to determine when iterations should terminate. Each iteration of the linear solver method comprises the following steps. 1. Construct a global IMPES pressure matrix equation from the mixed implicit-IMPES matrix equation. The global IMPES pressure matrix equation comprises one scalar IMPES equation per cell of the reservoir. The mixed implicit-IMPES equation already specifies the scalar IMPES pressure equation for each of the IMPES cells. At each of the implicit cells, a scalar IMPES pressure equation may be generated by combining the implicit equations according to the procedure described above in the sections entitled "Generating Total Velocity Sequential Equations" and "The Volume Balance Equation". 2. Compute the coefficients for the saturation equations (1.2.30) at the implicit cells. p« + A 3. Solve the global IMPES pressure matrix equation for intermediate pressures ' , i.e. a single intermediate pressure at each cell in the reservoir, and compute pressure changes p n+ A _ p" p n+ ^' P." ' ' based on the intermediate pressures ' and pressures ' prevailing at the beginning of the iteration. Update implicit equation residuals at the implicit cells based on the pressures changes p « +X — p" ' ' computed in step 3. 5. At the implicit cells, solve for improved saturations ' in saturation equations (1.2.30) which are derived using a constraint of total velocity conservation between cells. 6. Update implicit equation residuals at the implicit cells and at the fringe of IMPES cells that are in flow communication with the implicit cells based on the saturation solutions obtained in step 5. 7. Determine if a convergence condition is satisfied. Steps 2-6 are repeated until the convergence condition is satisfied. Note that at the end of step 6, the only cells where the residuals fail to meet the convergence criteria are the implicit cells and the fringe of IMPES cells in flow communication with any implicit cell. The residuals at the IMPES cells outside the fringe still are at the values they had following the IMPES solution. This means that ORTHOMIN or GMRES computations need be applied only at these cells, i.e. at the implicit cells and fringe IMPES cells. Figure 6A illustrates the first method for solving the mixed implicit-IMPES matrix equation according to the present invention. The mixed implicit-IMPES matrix equation specifies a set of implicit equations for each implicit cell and a single scalar IMPES pressure equation for each IMPES cell. In step 1010, a scalar IMPES pressure equation is constructed for each of the implicit cells. The scalar IMPES pressure equation for an implicit cell is generated by forming a linear combination of the implicit equations which conespond to the implicit cell. In step 1020, a global IMPES pressure matrix equation is constructed by concatenating the scalar IMPES pressure equations for the implicit cells with the scalar IMPES pressure equations for the IMPES cells. The scalar IMPES pressure equations for the IMPES cells are provided by the mixed implicit-IMPES matrix equation. In step 1025, coefficients for a set of saturation equations are determined at the implicit cells by using a total velocity constraint at the implicit cells. In step 1030, the global IMPES pressure matrix equation is solved for pressure changes. In step 1035, the residuals at the implicit cells are computed in response to the pressure changes determined in step 1030. In step 1040, the set of saturation equations are solved at the implicit cells. The set of saturation equations are formed using the coefficients (determined in step 1025) and the residual computed in step 1035. In step 1050, implicit equation residuals (i.e. residuals at the implicit cells and at the fringe of IMPES cells that are in flow communication with the implicit cells) are updated in response to the saturation changes. In step 1060, a convergence condition is tested based on the updated residuals. If the convergence condition is not satisfied, processing continues with another iteration of step 1025. If the convergence condition is satisfied, the method terminates and the final solution estimate is provided to the calling routine which is generally a reservoir simulator. When the convergence condition is satisfied, it is assumed that the solution to the mixed implicit-IMPES equations has been determined with acceptable accuracy. The final solution estimate comprises a set of converged saturations and pressures which are used by the reservoir simulator in modeling characteristics of the reservoir. Solving the Mixed Implicit-IMPES Matrix Equation: Method 2 This section presents a second linear solver method according to the present invention for solving the mixed implicit-IMPES matrix equation Ax = C E acn iteration of the second linear solver method comprises the following steps. 1. Construct a global IMPES pressure matrix equation from the mixed implicit-IMPES matrix equation. The global IMPES pressure matrix equation comprises one scalar IMPES equation per cell of the reservoir. The mixed implicit-IMPES equation already specifies the scalar IMPES pressure equation for each of the IMPES cells. At each of the implicit cells, a scalar IMPES pressure equation may be generated by combining the implicit equations according to the procedure described above in the sections entitled "Generating Total Velocity Sequential Equations" and "The Volume Balance Equation". 2. Solve the global IMPES pressure matrix equation for intermediate pressures , i.e. a single intermediate pressure at each cell in the reservoir, and compute pressure changes p n+ A — p n P" + ^ 3 P" ' ' based on the intermediate pressures ' and pressures ' prevailing at the beginning of the iteration. 3. Compute implicit equation residuals at the implicit cells based on the pressures changes p" + A _ p» computed in step 2. 4. At the implicit cells, solve for improved saturations ' and second intermediate pres- p"+A 2 sures ' by performing one or more iterations with a selected preconditioner such as, e.g., ILU(0). 5. Update implicit equation residuals at the implicit cells and at the fringe of IMPES cells that are in flow communication with the implicit cells based on the improved saturations and second intermediate pressures obtained in step 4. 6. Determine if a convergence condition is satisfied. Steps 2-6 are repeated until the convergence condition is satisfied. Note that at the end of step 5, the only cells where the residuals fail to meet the convergence criteria are the implicit cells and the fringe of IMPES cells in flow communication with any implicit cell. The residuals at the IMPES cells outside the fringe still are at the values they had following the IMPES solution. This means that ORTHOMIN or GMRES computations need be applied only at these cells, i.e. at the implicit cells and fringe IMPES cells. Figure 6B illustrates the second method for solving the mixed implicit-IMPES matrix equation according to the present invention. The mixed implicit-IMPES matrix equation specifies a set of implicit equations for each implicit cell and a single scalar IMPES pressure equation for each IMPES cell. In step 1060, a scalar IMPES pressure equation is constructed for each of the implicit cells. The scalar IMPES pressure equation for an implicit cell is generated by forming a linear combination of the implicit equations which correspond to the implicit cell. In step 1065, a global IMPES pressure matrix equation is constructed by concatenating the scalar IMPES pressure equations for the implicit cells with the scalar IMPES pressure equations for the IMPES cells. The scalar IMPES pressure equations for the IMPES cells are provided by the mixed implicit-IMPES matrix equa- tion. In step 1070, the global IMPES pressure matrix equation is solved for pressure changes. In step 1075, the residuals at the implicit cells are computed in response to the pressure changes determined in step 1070. In step 1080, improved saturations and improved pressures at the implicit cells may be determined by performing one or more iterations with a selected preconditioner such as ILU(0). In step 1090, implicit equation residuals (i.e. residuals at the implicit cells and at the fringe of IMPES cells that are in flow communication with the implicit cells) are updated in response to the improved saturations and improved pressures. In step 1095, a convergence condition is tested based on the updated residuals. If the convergence condition is not satisfied, processing continues with another iteration of step 1070. If the convergence condition is satisfied, the method terminates and the final solution estimate is provided to the calling routine which is generally a reservoir simulator. When the convergence condition is satisfied, it is assumed that the solution to the mixed implicit-IMPES equations has been determined with acceptable accuracy. The final solution estimate comprises a set of converged saturations and pressures which are used by the reservoir simulator in modeling characteristics of the reservoir. Solving the Mixed Implicit-IMPES Matrix Equation: Method 3 In this subsection, a third method according to the present invention for solving the mixed implicit- IMPES matrix equation is presented. The structure of this second method may be the same as that of the second method described above except in steps 4 and 5. In this third method, steps 4 and 5 may be replaced by steps 411 and 511 respectively. 411. Solve for saturations and pressures J at the implicit cells while holding fixed the pres- sures in the surrounding fringe (of IMPES cells) to the values determined during the IM- PES pressure solution. Any method can be used to generate the solutions for saturations p«+% and pressures J , but it must be able to deal with the unstructured form of the implicit cell equations. 511. Update residuals in the fringe of IMPES cells. Since the implicit equations have been solved, their residuals will satisfy the convergence criteria. After step 511, only the fringe cells will have residuals that fail to meet the convergence criteria. Again, OR- THOMIN or GMRES only need be applied to these cells. Figure 7 illustrates one embodiment of the third method for solving the mixed implicit-IMPES matrix equation according to the present invention. The mixed implicit-IMPES matrix equation specifies a set of implicit equations for each implicit cell and a single scalar IMPES pressure equation for each IMPES cell. The embodiment of Figure 7 comprises the following steps. In step 1110, a scalar IMPES pressure equation is constructed for each of the implicit cells. The scalar IMPES pressure equation for an implicit cell is constructed by forming a linear combination of the implicit equations which correspond to the implicit cell. In step 1120, a global IMPES pressure matrix equation is constructed by concatenating (a) the scalar IMPES pressure equations for the implicit cells and (b) the scalar IMPES pressure equations for the IMPES cells. The scalar IMPES pressure equations for the IMPES cells are provided directly by the mixed implicit- IMPES matrix equation. In step 1130, the global IMPES pressure equation is solved for pressure changes. In step 1135, the residuals at the implicit cells are computed in response to the pressure changes deter- mined in step 1130. In step 1140, improved saturations and improved pressures at the implicit cells are determined by solving the system of implicit equations associated with the implicit cells while holding fixed the pressures in the fringe of IMPES cells which are in flow communication with any implicit cell. In step 1150, the residuals in the fringe of IMPES cells (which are in flow communication with any implicit cell) are updated. In step 1160, a convergence condition is tested based on the updated residuals. If the convergence condition is not satisfied, the method continues with a next iteration of step 1130. If the convergence condition is satisfied, iteration terminates and the final solution estimate is returned to the calling routine (e.g. a reservoir simulator). The converged saturations and pressures making up the final solution estimate are used by the res- ervoir simulator in modeling characteristics of the reservoir. Observations Methods 1 and 2 are less expensive than Method 3 per outer iteration. In "easy" problems, only one iteration may be needed, so Methods 1 and 2 would be preferred. In "hard" problems, Method 3 requires fewer outer iterations. As the problem becomes harder, Method 3 becomes preferred. Method 3 effectively requires an unstructured implicit equation solver. If such a solver is not available, Methods 1 and 2 are much easier to implement.

Claims: WHAT IS CLAIMED: 1. A method for performing reservoir simulation by solving a mixed implicit-IMPES matrix (MIIM) equation, wherein the MIIM equation arises from a Newton iteration of a variable implicit reservoir model, wherein the variable implicit reservoir model comprises a plurality of cells including implicit cells and IMPES cells, wherein the MIIM equation includes a first scalar IMPES pressure equation for each of the IMPES cells and a first set of implicit equations for each of the implicit cells, the method comprising: a) constructing a global IMPES pressure matrix equation from the MIIM equation, wherein said constructing the global IMPES pressure matrix equation comprises: constructing a second IMPES pressure equation for each of the implicit cells from the first set of implicit equations corresponding to the implicit cell; and concatenating the first scalar IMPES pressure equations for the IMPES cells and the second IMPES pressure equations for the implicit cells; b) determining coefficients for a second set of saturation equations at the implicit cells by using a total velocity constraint at the implicit cells; c) solving the global IMPES pressure matrix equation for pressure changes; d) computing first residuals at the implicit cells in response to the pressure changes; e) solving the second set of saturation equations for saturation changes at the implicit cells, wherein the second set of saturation equations are formed with the coefficients and the first residuals at the implicit cells; f) computing second residuals at the implicit cells and at a subset of the IMPES cells that are in flow communication with any of the implicit cells in response to the saturation changes; g) determining if a convergence condition based on the second residuals is satisfied; h) repeating b) through g) until the convergence condition is satisfied; i) computing a final solution estimate for the MUM equation from the pressures changes and the satu- ration changes after the convergence condition is satisfied; j) applying the final solution estimate to determine behavior of the reservoir model at a future discrete time value. 2. A method for performing reservoir simulation by solving a mixed implicit-IMPES matrix (MIIM) equation, wherein the MIIM equation arises from a Newton iteration of a variable implicit reservoir model, wherein the variable implicit reservoir model comprises a plurality of cells including implicit cells and IMPES cells, wherein the MUM equation includes a first scalar IMPES equation for each of the IMPES cells and a set of implicit equations for each of the implicit cells, the method comprising: a) constructing a global IMPES pressure equation from the MIIM equation, wherein said constructing the global IMPES pressure equation comprises: constructing a second scalar IMPES pressure equation for each of the implicit cells from the set of implicit equations corresponding to the implicit cell; and concatenating the first scalar IMPES pressure equation for each of the IMPES cells and the second scalar IMPES pressure equation for each of the implicit cells; b) solving the global IMPES pressure equation for pressure changes; c) computing first residuals at the implicit cells in response to the pressure changes; d) determining improved saturations and improved pressures by performing one or more iterations with a selected preconditioner at the implicit cells; e) computing second residuals at the implicit cells and at a subset of the IMPES cells that are in flow communication with any of the implicit cells in response to the improved saturations and improved pressures; f) deterrnining if a convergence condition based on the second residuals is satisfied; g) repeating b) through f) until the convergence condition is satisfied; h) computing a final solution estimate for the MIIM equation from the pressure changes, improved saturations and improved pressures after the convergence condition is satisfied; i) applying the final solution estimate to determine behavior of the reservoir model at a future discrete time value. 3. A method for performing reservoir simulation by solving a mixed implicit-IMPES matrix (MIIM) equation, wherein the MIIM equation arises from a Newton iteration of a variable implicit reservoir model, wherein the variable implicit reservoir model comprises a plurality of cells including implicit cells and IMPES cells, wherein the MIIM equation includes a first scalar IMPES equation for each of the IMPES cells and a set of implicit equations for each of the implicit cells, the method comprising: a) constructing a global IMPES pressure equation from the MIIM equation, wherein said constructing the global IMPES pressure equation comprises: constructing a second scalar IMPES pressure equation for each of the implicit cells from the set of implicit equations corresponding to the implicit cell; and concatenating the first scalar IMPES pressure equation for each of the IMPES cells and the second scalar IMPES pressure equation for each of the implicit cells; b) solving the global IMPES pressure equation for first pressure changes; c) computing first residuals at the implicit cells in response to the first pressure changes; d) solving a system comprising the set of implicit equations associated with each of the implicit cells for improved saturations and improved pressures at the implicit cells using the first residuals at the implicit cells; e) computing second residuals for a subset of the IMPES cells which are in flow communication with any of the implicit cells; f) deterniining if a convergence condition is satisfied based on the second residuals; g) repeatedly performing b) through f) until the convergence condition is satisfied; h) computing a final solution estimate for the MIIM equation using the improved saturations and improved pressures after the convergence condition is satisfied; i) applying the final solution estimate to determine behavior of the reservoir model at a future discrete time value. 4. The method of claim 3, wherein said solving the system for improved saturations and improved pressures at the implicit cells comprises holding cell pressures fixed for a subset of the IMPES cells which are in flow communication with any of the implicit cells. 5. A method for performing reservoir simulation by solving a mixed implicit-IMPES matrix (MIIM) equation, wherein the MIIM equation arises from a Newton iteration of a variable implicit reservoir model, wherein the variable implicit reservoir model comprises a plurality of cells including implicit cells and IMPES cells, wherein the MIIM equation includes a first scalar IMPES equation for each of the IMPES cells and a set of implicit equations for each of the implicit cells, the method comprising: a) constructing a global IMPES pressure equation from the MIIM equation, wherein said constructing the global IMPES pressure equation comprises: constructing a second scalar IMPES pressure equation for each of the implicit cells from the set of implicit equations corresponding to the implicit cell; and concatenating the first scalar IMPES pressure equation for each of the IMPES cells and the second scalar IMPES pressure equation for each of the implicit cells; b) solving the global IMPES pressure equation for first pressures; c) computing improved saturations at the implicit cells; d) deteimining if a convergence condition is satisfied; e) repeatedly performing b) through d) until the convergence condition is satisfied; f) computing a final solution estimate for the MIIM equation using the improved saturations and first pressures after the convergence condition is satisfied; g) applying the final solution estimate to determine behavior of the reservoir model at a future discrete time value. 6. A method for performing reservoir simulation by solving an implicit linear equation arising in a Newton iteration of an implicit reservoir model, wherein the reservoir model comprises a plurality of cells, the method comprising: a) constructing a global IMPES pressure equation from the implicit linear equation, wherein the global IMPES pressure equation comprises one scalar IMPES pressure equation for each of the plurality of cells; b) solving the global IMPES pressure equation to determine first pressure values, wherein one of the first pressure values is associated with each of the plurality of cells; c) constructing a complementary matrix equation in terms of unknowns other than pressure, wherein the complementary matrix equation is constructed using a constraint of conserving total velocity between cells; d) solving the complementary matrix equation to determine improved estimates of the unknowns other than pressure at each of the plurality of cells; e) constructing a composite solution change which combines a first solution change associated with the first pressure values and a second solution change associated with the improved estimates of unknowns other than pressure; f) providing the composite solution change to a solution accelerator; g) the solution accelerator generating an accelerated solution change; h) deteimining if a convergence condition is satisfied; i) repeating (b) through (h) until the convergence condition is satisfied; j) computing a final solution estimate based on the accelerated solution change after the convergence condition is satisfied; k) applying the final solution estimate to predict properties of reservoir fluids at a future time value. 7. The method of claim 6, wherein the solution accelerator is GMRES. 8. The method of claim 6, wherein the solution accelerator is ORTHOMIN. 9. The method of claim 6, wherein said constructing a complementary matrix equation in terms of unknown other than pressure comprises constructing a saturation matrix equation, wherein the unknowns other than pressure are saturations. 10. The method of claim 6, wherein said unknowns other than pressure comprise one or more saturations, mole fractions, energies, masses, or volumes. 11. The method of claim 6, further comprising computing first residuals of the implicit matrix equation based on the first pressure values, wherein the first residuals are used to construct the complementary matrix equation. 12. The method of claim 11, further comprising computing second residuals of the implicit matrix equation based on the improved estimates of the unknowns other than pressure, wherein the first residuals and second residuals are provided to the solution accelerator as input data. 13. The method of claim 12, further comprising computing third residuals of the implicit matrix equation based on the accelerated solution change, wherein said determining if the convergence condition is satisfied comprises deteimining if a magnitude of the third residuals interpreted as a vector is smaller than a threshold value. 14. A method for performing reservoir simulation using total velocity sequential preconditioning, wherein the reservoir is sub-divided into a plurality of cells, the method comprising: formulating finite difference equations which describe a behavior of reservoir fluids over a timestep; solving the finite difference equations by performing one or more Newton iterations, where each of said one or more Newton iteration comprises: a) constructing a linear approximation for each non-linear term in the finite difference equations; b) constructing an implicit matrix equation based on the finite difference equations and the linear approximations; c) solving the implicit matrix equation, wherein said solving the implicit matrix equation comprises: (cl) constructing a complementary matrix equation in terms of unknowns other than pressure using a constraint of conserving total velocity between cells; (c2) solving the complementary matrix equation for improved estimates of unknowns other than pressure; repeatedly performing said solving the finite difference equations in order to predict behavior of the reservoir fluids over time. 15. A method for performing reservoir simulation by solving an implicit matrix equation arising from a Newton iteration of an implicit reservoir model, wherein the reservoir model comprises a plurality of cells, wherein the implicit matrix equation includes unknown variables, the method comprising: a) constructing a global IMPES pressure equation using the implicit matrix equation, wherein the global IMPES pressure equation comprises one scalar IMPES pressure equation for each of the plurality of cells; b) solving the global IMPES pressure equation to determine first pressure values, wherein one of the first pressure values is associated with each of the plurality of cells; c) computing improved estimates of the unknown variables other than pressure by performing one or more iterations of a preconditioner; d) constructing a composite solution change by combining a first solution change associated with the first pressure values and a second solution change associated with the improved estimates of the unknown variables other than pressure; e) providing the composite solution change to a solution accelerator; f) the solution accelerator generating an accelerated solution change in response to the composite solution change; g) repeatedly perfoπning b) through f) until a convergence criteria is satisfied; h) computing a final solution estimate based on the accelerated solution change after the convergence criteria is satisfied; wherein the final solution change is utilized to predict a behavior of reservoir fluids at a future discrete time value. 1 . The method of claim 15, wherein the solution accelerator comprises Orthomin. 17. The method of claim 15, wherein the solution accelerator comprises GMRES. 18. A method for perfoπning reservoir simulation by solving an implicit matrix equation arising from a Newton iteration of an implicit reservoir model, wherein the implicit reservoir model comprises a plurality of cells, wherein the implicit matrix equation in expressed in terms of unknown variables including pressures, the method comprising: a) constructing a global IMPES pressure equation using the implicit matrix equation, wherein the global IMPES pressure equation comprises one scalar IMPES pressure equation for each of the plurality of cells; b) solving the global LMPES pressure equation to determine first improved estimates of the pressures, wherein one of the first improved estimates is associated with each of the plurality of cells; c) computing second improved estimates of all the unknowns variables by perfoπning one or more iterations of a preconditioner; d) constructing a composite solution change in the unknown variables by combining a first solution change associated with the first improved estimates and a second solution change associated with the second improved estimates; e) providing the composite solution change to a solution accelerator; f) the solution accelerator generating an accelerated solution change; g) determining if a convergence condition is satisfied; h) repeatedly performing b) through g) until the convergence condition is satisfied; i) computing a final solution estimate based on the accelerated solution change after the convergence condition is satisfied, and applying the final solution estimate to predict properties of reservoir fluids at a future time value. 19. The method of claim 18, further comprising computing second residuals of the implicit matrix equation based on the improved estimates of the unknown variables, wherein the second residuals are provided to the solution accelerator as input data. 20. The method of claim 18, further comprising computing third residuals of the implicit matrix equation based on the accelerated solution change, wherein said deteimining if the convergence condition is satisfied comprises deteimining if a magnitude of the third residual interpreted as a vector is smaller than a threshold value. 21. The method of claim 18, wherein the solution accelerator comprises Orthomin. 22. The method of claim 18, wherein the solution accelerator comprises GMRES.

Inventors: WATTS JAMES W, WATTS, JAMES, W.
Applicants: LANDMARK GRAPHICS CORP, LANDMARK GRAPHICS CORPORATION
Application year: 1999
Main classification: E21B49
IPC codes: E21B49