WO2005121840A1 - Method for solving implicit reservoir simulation matrix equation - Google Patents

Method for solving implicit reservoir simulation matrix equation Download PDF

Info

Publication number
WO2005121840A1
WO2005121840A1 PCT/US2005/012629 US2005012629W WO2005121840A1 WO 2005121840 A1 WO2005121840 A1 WO 2005121840A1 US 2005012629 W US2005012629 W US 2005012629W WO 2005121840 A1 WO2005121840 A1 WO 2005121840A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
block
transformed
reduced
block vector
Prior art date
Application number
PCT/US2005/012629
Other languages
French (fr)
Inventor
James W. Watts, Iii
Original Assignee
Exxonmobil Upstream Research Company
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Exxonmobil Upstream Research Company filed Critical Exxonmobil Upstream Research Company
Priority to CA002569102A priority Critical patent/CA2569102A1/en
Priority to US11/579,966 priority patent/US7672818B2/en
Priority to EP05735473A priority patent/EP1759226A1/en
Publication of WO2005121840A1 publication Critical patent/WO2005121840A1/en
Priority to NO20070090A priority patent/NO20070090L/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • EFIXED CONSTRUCTIONS
    • E21EARTH DRILLING; MINING
    • E21BEARTH DRILLING, e.g. DEEP DRILLING; OBTAINING OIL, GAS, WATER, SOLUBLE OR MELTABLE MATERIALS OR A SLURRY OF MINERALS FROM WELLS
    • E21B43/00Methods or apparatus for obtaining oil, gas, water, soluble or meltable materials or a slurry of minerals from wells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/12Simultaneous equations, e.g. systems of linear equations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Definitions

  • Embodiments of the present inventions generally relate to exploitation and development of hydrocarbons in an underground reservoir and, more preferably, to an improved process for predicting the behavior of a subterranean, hydrocarbon-bearing formation.
  • Reservoir simulation is a process of inferring the behavior of a real reservoir from the performance of a model of that reservoir. Because mass transfer and fluid flow processes in petroleum reservoirs are so complex, reservoir simulations are done using computers. Computer programs that perform calculations to simulate reservoirs are called reservoir simulators. The objective of reservoir simulation is to understand the complex chemical, physical, and fluid flow processes occurring in a petroleum reservoir sufficiently well to be able to predict future behavior of a reservoir and to maximize recovery of hydrocarbons. The reservoir simulator can solve reservoir problems that are generally not solvable in any other way. For example, a reservoir simulator can predict the consequences of reservoir management decisions. Reservoir simulation often refers to the hydrodynamics of flow within a reservoir, but in a larger sense it also refers to the total petroleum system which includes the reservoir, the surface facilities, and any interrelated significant activity.
  • Figure 1 illustrates schematically four basic steps in one example of a reservoir simulation of a petroleum reservoir.
  • the first step (step 1) is to construct a mathematical model of a real reservoir based on the chemical, physical, and fluid flow processes occurring in the reservoir. That mathematical model may include a set of nonlinear partial differential equations.
  • the second step (step 2) involves discretization of the reservoir in both time- and space. Space is discretized by dividing the reservoir into suitable gridcells with each gridcell having a set of nonlinear finite difference equations.
  • the third step (step 3) is to linearize the nonlinear terms that appear in the nonlinear finite difference equations and, based on this linearization, construct linear algebraic equations assembled in a matrix equation.
  • the fourth step (step 4) is to solve the linear algebraic equations assembled in the matrix equation.
  • the simulation proceeds in a series of timesteps, and steps 3 and 4 are performed at each timestep.
  • the simulation provides a prediction of reservoir behavior, which enables a petroleum engineer to predict reservoir performance, including the rate at which the reservoir can be produced.
  • the accuracy of the model can be checked against the history of the reservoir after the model has been subjected to a simulated recovery process.
  • Implicit procedures use mobility and capillary pressure calculated as functions of saturation at the end of the timestep. The values are not known until calculations for the timestep have been completed. As a result, they must be determined using an iterative process.
  • the Fully Implicit method is a commonly used implicit procedure. This method is unconditionally stable because it treats both pressure and saturations implicitly. Flow rates are computed using phase pressures and saturations at the end of each timestep. In this method, saturations cannot fall below zero because a fluid can flow only if it is mobile at the end of a timestep. Fluids are mobile only for saturations greater than zero.
  • the calculation of flow rates, pressure and saturation solutions involves the solution of nonlinear equations using a suitable iterative technique. Once the pressures and saturations are solved, these terms will continue to be updated using the new values of pressure and saturation. The iteration process terminates when the convergence criteria are satisfied.
  • the main drawback of the Fully Implicit method is the amount of computer time that it requires. In terms of computing cost, the method is generally satisfactory in models of single wells or parts of a reservoir, but it can be quite expensive to use in models of entire reservoirs.
  • Several attempts have been made to reduce the computations required, possibly at the cost of accepting a method that does not permit the timestep sizes of the Fully Implicit method.
  • the sequential implicit method, the adaptive implicit method, and the Cascade method have been proposed as ways of reducing the computational time. However, those methods have their own drawbacks.
  • the largest consumer of computational time in the Fully Implicit method is the equation solving step (Step 4 of Figure 1). This typically consumes about three- fourths of the total computational time.
  • the method includes receiving the block sparse matrix and the right hand side block vector, constructing a reduced transformed block sparse matrix from the block sparse matrix, constructing a reduced transformed residual block vector from the block sparse matrix and the right hand side block vector, and solving for the solution block vector using the reduced transformed block sparse matrix and the reduced transformed residual block vector.
  • the method includes constructing a reduced transformed block sparse matrix from the block sparse matrix, constructing a reduced transformed residual block vector from the block sparse matrix and the right hand side block vector, solving for a reduced transformed solution change block vector using the reduced transformed block sparse matrix and the reduced transformed residual block vector, converting the reduced transformed solution change block vector to a solution change block vector having one or more changes in mass unknowns and one or more changes in pressure unknowns, and adding the solution change block vector to a current estimate of the solution block vector to update the solution block vector.
  • Figure 1 illustrates a schematic diagram of the basic steps in an illustrative reservoir simulation process.
  • Figure 2 illustrates a method for solving one or more linear algebraic equations in a matrix in accordance with one or more embodiments of the invention.
  • Figure 3 illustrates a computer network into which one or more embodiments of the invention may be implemented.
  • a three dimensional reservoir model may include a number of gridcells, ranging from tens and hundreds to thousands and millions of gridcells.
  • Each gridceU may in certain cases represent a specifically allocated portion of the three dimensional reservoir model.
  • An entire set of gridcells may constitute a geologic model that represents a subsurface earth volume of interest.
  • Each gridcell preferably represents a unique portion of the subsurface. Such gridcells preferably do not overlap each other. Dimensions of the gridcells are preferably chosen so that the reservoir properties within a gridcell are relatively homogeneous, yet without creating an excessive number of gridcells.
  • each gridcell has sides ranging from a smaller than a meter to a few hundred meters.
  • each gridcell is square or rectangular in plan view and has a thickness that is either constant or variable.
  • Gridcells may be visualized as well-stirred tanks with permeable sides. The contents of a gridcell, therefore, may be considered uniformly distributed within the gridcell and the rates at which fluids flow in or out maybe determined by the permeabilities of the sides of the gridcell and the pressure differences between adjacent gridcells. As such, the mathematical problem is reduced to a calculation of flow between adjacent gridcells.
  • singular value decomposition is defined as a mathematical technique for decomposing a rectangular matrix into three factors. Given an M by N matrix A, where M > N, using at least certain types of singular value decomposition, matrix A can be rewritten as:
  • FT is a diagonal matrix having "singular values" entries.
  • matrix V i.e., the inverse of matrix V is matrix V ⁇ .
  • the columns of matrix U, diagonal entries of matrix W, and rows of matrix V ⁇ are customarily arranged such that w > w 2 > ... > w N , where wi is the diagonal entry in row i of matrix W.
  • the diagonal elements of matrix W are the singular values of matrix A.
  • Matrix V may be referred to as the right matrix and the vectors comprised therein as the right singular vectors.
  • matrix A can be approximated using a subset containing the last few columns of matrix U, entries of matrix W, and rows of matrix V .
  • matrix A can be rewritten as:
  • timestep is defined as an increment of time into which the life of a reservoir is discretized.
  • a reservoir simulator computes changes in each gridcell (flow, pressure, etc.) over a timestep for many timesteps.
  • conditions are defined only at the beginning and end of a timestep, and nothing is defined at any intermediate time within a timestep. Consequently, conditions within each gridcell may change abruptly from one timestep to the next.
  • timesteps are chosen to be small enough to limit sizes of these abrupt changes to acceptable limits.
  • the size of the timesteps depends on accuracy considerations and stability constraints. Generally, the smaller the timestep, the more accurate the solution, however, smaller timesteps require more computational work.
  • identity matrix is defined as a square matrix of any dimension whose elements are ones on its northwest-to-southeast diagonal and zeroes everywhere else. Any square matrix multiplied by the identity matrix with those dimensions equals itself.
  • volume constraint is an equation based on the principle that a gridcell must contain the amount of fluid required to fill the gridcell at a given time. For example, if a reservoir contains liquid hydrocarbon and water phases, then:
  • the term "unknown” is defined as an unknown variable for which the linear algebraic equations assembled in the matrix equation are solved.
  • the linear algebraic equations are solved for various unknown variables, including pressure and mass. Other quantities may be derived from these variables.
  • block sparse matrix is defined as a matrix whose elements are mostly null or zeroes and submatrices as the remainder. However, all of the submatrices along its diagonal are present, i.e., not null.
  • a block sparse matrix A may be expressed as:
  • Each submatrix, e.g., A ⁇ may be expressed as:
  • each submatrix has m t + 1 rows and m ⁇ + 1 columns.
  • the first m t rows contain coefficients of the mass balance equations.
  • the bottom row (row m t + 1) contains coefficients relating to the volume constraint equation.
  • the coefficients in the first m ⁇ columns are configured to be multiplied by mass variables and the coefficients in the right-most column (column m, + 1) are configured to be multiplied by pressure variables.
  • each submatrix has a particular structure.
  • the mass variables can take several forms. Generally, the mass variables are changes over a Newton iteration. But, they can also be changes over a timestep or end-of-timestep masses, and not changes. They also can be expressed in terms of other measures of masses, such as saturations or mole/mass fractions. Similarly, pressure variables are generally changes over a Newton iteration, but can also be end- of-timestep pressures. These variable choices are interchangeable in the sense that one set of variables can be easily converted to another. For simplicity, the description that follows uses end-of-timestep masses and pressures.
  • a ⁇ may be expressed as:
  • ⁇ coefficients relate to the flows between gridblocks.
  • the /coefficients, which occupy the first mi columns of Ay, are configured to be multiplied by mass changes. Thus, they may be referred to as mass change terms coefficients.
  • the ⁇ coefficients, which occupy the column m ⁇ ⁇ ofA are configured to be multiplied by pressure changes. Thus, the ⁇ coefficients may be referred to as pressure change terms coefficients.
  • the / coefficients are used in the singular value decomposition, while the ⁇ coefficients are not.
  • Ay may also be expressed as:
  • the diagonal submatrix An may be expressed as
  • F u is an identity matrix.
  • the entries of F are multiphase partial volumes. They relate the fluid volume in the gridcell to the amounts of the components in it.
  • the c,- term is related to fluid compressibility. It relates the gridcell's fluid volume to its pressure.
  • column matrix is defined as a matrix containing the submatrices in a column of the block sparse matrix.
  • the h column matrix of A is
  • solution block vector is defined as a block vector comprised of subvectors X ⁇ ... X tract.
  • a solution block vector X may be expressed as:
  • m or M represents a mass unknown and ? or P represents a pressure unknown.
  • a solution change vector ⁇ X may be of interest, as opposed to the solution block vector X.
  • the solution change vector ⁇ X may be expressed as:
  • a subvector of the right hand side block vector B may be expressed as:
  • M subscript denotes a mass balance right-hand side
  • V subscript denotes a volume constraint right-hand side
  • residual block vector B - Ax.
  • M subscript denotes a mass balance residual
  • V subscript denotes a volume constraint residual
  • mass balance equation is defined as a mathematical relationship between the contents of a gridcell and flow into and out of the gridcell. It is based on the assumption that material is neither generated nor lost from the system.
  • Each chemical component in the reservoir fluids must satisfy mass balance in each gridcell. For example, for a methane component, the mass of methane in a particular gridcell at the end of a predetermined timestep must satisfy the following equation:
  • Mass of Methane at New Time Mass of Methane at Old Time + Mass of Methane Flow In - Mass of Methane Flow Out
  • F M and Fp matrices relate to flow between gridcells.
  • M contains the mass subvectors
  • P is the vector of pressures
  • B M contains the mass balance right hand side subvectors. If a one-dimensional model having five gridcells is assumed, matrix FM can be written as a block tridiagonal matrix as follows:
  • Fp has the same structural form as F m .
  • Eq. (1)
  • Frobenius norm is defined as the square root of the sum of the squares of the coefficients in a matrix.
  • Frobenius norm of the matrix which is written as:
  • the Frobenius norm provides a useful estimate of the largest singular value in the singular value decomposition of the matrix A.
  • the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change terms and one or more mass change terms, wherein the block sparse matrix contains one or more coefficients of the pressure change terms and one or more coefficients of the mass change terms, and wherein constructing the reduced transformed block sparse matrix comprises assembling the mass change terms coefficients from a column of the block sparse matrix into a column matrix.
  • the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change tenns and one or more mass change terms, wherein the block sparse matrix contains one or more coefficients of the pressure change terms and one or more coefficients of the mass change terms, and wherein constructing the reduced transformed block sparse matrix includes assembling the mass change terms coefficients from a column of the block sparse matrix into a column matrix; and performing a singular value decomposition on the column matrix to generate a left matrix, a diagonal matrix and a right matrix.
  • the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change terms and one or more mass change terms
  • the block sparse matrix contains one or more coefficients of the pressure change terms and one or more coefficients of the mass change terms
  • constructing the reduced transformed block sparse matrix includes: assembling the mass change terms coefficients from a column of the block sparse matrix into a column matrix; and performing a singular value decomposition on the column matrix to generate a left matrix, a diagonal matrix and a right matrix, wherein the diagonal matrix comprises one or more singular values arranged in ascending order.
  • the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change terms and one or more mass change terms
  • the block sparse matrix contains one or more coefficients of the pressure change terms and one or more coefficients of the mass change terms
  • constructing the reduced transformed block sparse matrix includes: assembling the mass change terms coefficients from a column of the block sparse matrix into a column matrix; performing a singular value decomposition on the column matrix to generate a left matrix, a diagonal matrix and a right matrix; and discarding one or more singular values that are less than a predetermined threshold value to generate a reduced diagonal matrix.
  • the predetermined threshold value is typically set to a quantity between 0.01 and 0.1, but other values can be used.
  • the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change terms and one or more mass change terms
  • the block sparse matrix contains one or more coefficients of the pressure change terms and one or more coefficients of the mass change terms
  • constructing the reduced transformed block sparse matrix includes: assembling the mass change terms coefficients from a column of the block sparse matrix into a column matrix; performing a singular value decomposition on the column matrix to generate a left matrix, a diagonal matrix and a right matrix; discarding one or more singular values that are less than a predetermined threshold value to generate a reduced diagonal matrix; and multiplying the left matrix with the reduced diagonal matrix to generate a temporary column matrix.
  • the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change terms and one or more mass change terms
  • the block sparse matrix contains one or more coefficients of the pressure change terms and one or more coefficients of the mass change terms
  • constructing the reduced transformed block sparse matrix includes: assembling the mass change terms coefficients from a column of the block sparse matrix into a column matrix; performing a singular value decomposition on the column matrix to generate a left matrix, a diagonal matrix and a right matrix; discarding one or more singular values that are less than a predetermined threshold value to generate a reduced diagonal matrix; multiplying the left matrix with the reduced diagonal matrix to generate a temporary column matrix having a plurality of mass change terms coefficients; and assembling the mass change terms coefficients of the temporary column matrix into one or more temporary mass change terms coefficient submatrices that correspond to the mass change terms coefficients of the column matrix.
  • the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change terms and one or more mass change terms
  • the block sparse matrix contains one or more coefficients of the pressure change terms and one or more coefficients of the mass change terms
  • constructing the reduced transformed block sparse matrix includes: assembling the mass change terms coefficients from a column of the block sparse matrix into a column matrix; performing a singular value decomposition on the column matrix to generate a left matrix, a diagonal matrix and a right matrix; discarding one or more singular values that are less than a predetermined threshold value to generate a reduced diagonal matrix; multiplying the left matrix with the reduced diagonal matrix to generate a temporary column matrix having a plurality of mass change terms coefficients; assembling the mass change terms coefficients of the temporary column matrix into one or more temporary mass change terms coefficient submatrices that correspond to the mass change terms coefficients of the column matrix; and premultip
  • the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change terms and one or more mass change terms
  • the block sparse matrix contains one or more coefficients of the pressure change terms and one or more coefficients of the mass change terms
  • constructing the reduced transformed block sparse matrix comprises: assembling the mass change terms coefficients from a column of the block sparse matrix into a column matrix; performing a singular value decomposition on the column matrix to generate a left matrix, a diagonal matrix and a right matrix; discarding one or more singular values that are less than a predetermined threshold value to generate a reduced diagonal matrix; multiplying the left matrix with the reduced diagonal matrix to generate a temporary column matrix having a plurality of mass change terms coefficients; assembling the mass change terms coefficients of the temporary column matrix into one or more temporary mass change terms coefficient submatrices that correspond to the mass change terms coefficients of the column matrix; premultiply
  • constructing the reduced transformed block sparse matrix further comprises constructing a transformed block sparse matrix having the same block structure and submatrix form as the block sparse matrix.
  • the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change terms and one or more mass change terms
  • the block sparse matrix contains one or more coefficients of the pressure change terms and one or more coefficients of the mass change terms
  • constructing the reduced transformed block sparse matrix includes: assembling the mass change terms coefficients from a column of the block sparse matrix into a column matrix; performing a singular value decomposition on the column matrix to generate a left matrix, a diagonal matrix and a right matrix; discarding one or more singular values that are less than a predetermined threshold value to generate a reduced diagonal matrix; multiplying the left matrix with the reduced diagonal matrix to generate a temporary column matrix having a plurality of mass change terms coefficients; assembling the mass change terms coefficients of the temporary column matrix into one or more temporary mass change terms coefficient submatrices that correspond to the mass change terms coefficients of the column matrix; premultiply
  • the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change terms and one or more mass change terms
  • the block sparse matrix contains one or more coefficients of the pressure change terms and one or more coefficients of the mass change terms
  • constructing the reduced transformed block sparse matrix includes: assembling the mass change terms coefficients from a column of the block sparse matrix into a column matrix; performing a singular value decomposition on the column matrix to generate a left matrix, a diagonal matrix and a right matrix; discarding one or more singular values that are less than a predetermined threshold value to generate a reduced diagonal matrix; multiplying the left matrix with the reduced diagonal matrix to generate a temporary column matrix having a plurality of mass change terms coefficients; assembling the mass change terms coefficients of the temporary column matrix into one or more temporary mass change terms coefficient submatrices that correspond to the mass change terms coefficients of the column matrix; premultiply
  • the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change terms and one or more mass change terms
  • the block sparse matrix contains one or more coefficients of the pressure change terms and one or more coefficients of the mass change terms
  • constructing the reduced transformed block sparse matrix includes: assembling the mass change terms coefficients from a column of the block sparse matrix into a column matrix; performing a singular value decomposition on the column matrix to generate a left matrix, a diagonal matrix and a right matrix; discarding one or more singular values that are less than a predetermined threshold value to generate a reduced diagonal matrix; multiplying the left matrix with the reduced diagonal matrix to generate a temporary column matrix having a plurality of mass change terms coefficients; assembling the mass change terms coefficients of the temporary column matrix into one or more temporary mass change terms coefficient submatrices that correspond to the mass change terms coefficients of the column matrix; premultiply
  • the Frobenius norm of the column matrix is computed, which is referred to as the column matrix norm or value. If the column matrix value is equal to or less than a predetermined threshold value, the singular value decomposition is not performed on the column matrix, the singular values are set to zero, the right matrix is set equal to the identity matrix. As a result, certain computations that use the right matrix are skipped or simplified because the right matrix is equal to the identity matrix.
  • the reduced transformed block sparse matrix includes one or more reduced transformed diagonal submatrices and one or more reduced transformed off-diagonal submatrices, wherein each reduced transformed diagonal submatrix includes mass change terms coefficients and pressure change terms coefficients only within the bottom r,+l rows and right most r ; +l columns of each transformed diagonal submatrix.
  • the reduced transformed block sparse matrix includes one or more reduced transformed diagonal submatrices and one or more reduced transformed off-diagonal submatrices, wherein each reduced transformed diagonal submatrix includes mass change terms coefficients and pressure change terms coefficients only within the bottom r ; +l rows and right most r / +l columns of each transformed diagonal submatrix and each reduced transformed off-diagonal submatrix includes mass change terms coefficients and pressure change terms coefficients only within the bottom r,+l rows and the right most ⁇ +l columns of each transformed off- diagonal submatrix.
  • constructing the reduced transformed residual block vector includes constructing a transformed residual block vector.
  • constructing the transformed residual block vector includes constructing a transfonned residual block vector having a transformed mass balance residual subvector and a transformed volume constraint residual subvector.
  • constructing the reduced transformed residual block vector includes premultiplying a mass balance residual subvector by the transpose of the right matrix to generate a transformed mass balance residual subvector.
  • solving for the solution block vector includes solving for a reduced transformed solution change block vector using the reduced transformed block sparse matrix and the reduced transformed residual block vector.
  • solving for the solution block vector includes: solving for a reduced transformed solution change block vector using the reduced transformed block sparse matrix and the reduced transformed residual block vector; and converting the reduced transformed solution change block vector to a solution change block vector.
  • solving for the solution block vector includes: solving for a reduced transformed solution change block vector using the reduced transformed block sparse matrix and the reduced transformed residual block vector; converting the reduced transformed solution change block vector to a solution change block vector; and adding the solution change block vector to a current estimate of the solution block vector to update the solution block vector.
  • solving for the solution block vector includes: solving for a reduced transformed solution change block vector using the reduced transformed block sparse matrix and the reduced transformed residual block vector; and converting the reduced transformed solution change block vector to a solution change block vector having one or more changes in mass unknowns and one or more changes in pressure unknowns.
  • the method includes: constructing a reduced transformed block sparse matrix from the block sparse matrix; constructing a reduced transformed residual block vector from the block sparse matrix and the right hand side block vector; solving for a reduced transformed solution change block vector using the reduced transformed block sparse matrix and the reduced transformed residual block vector; converting the reduced transformed solution change block vector to a solution change block vector having one or more changes in mass unknowns and one or more changes in pressure unknowns; and adding the solution change block vector to a current estimate of the solution block vector to update the solution block vector.
  • Figure 2 illustrates a flow diagram of a method 200 for solving one or more linear algebraic equations in a matrix equation in accordance with one embodiment of the invention.
  • a block sparse matrix A and a block vector B axe received.
  • the block sparse matrix A and the block vector B axe, used for solving for a solution block vector according to the implicit transport matrix equation AX B.
  • step 210 the /coefficients in column j of the block sparse matrix A axe assembled into a block matrix M j .
  • The/coefficients that are assembled into the block matrix M j Xtvay be expressed as:
  • F M M j F u where FJJ, Fy, Fy ...axe submatrices containing the / F u
  • a singular value decomposition is performed on the matrix Mj to generate matrices Uj, W j , and V j , where U j represents a first or left matrix containing the left singular vectors, where W) represents a second or diagonal matrix containing the singular values arranged in ascending (i.e., from small to large) order, which is in reverse of the customary order, and where Vj represents a third or right matrix containing the right singular vectors.
  • left matrix Uj and right matrix V j are arranged in a manner such that each entry of diagonal matrix W j is configured to multiply the appropriate column of left matrix U j and the appropriate row of transposed right matrix Vj .
  • Left matrix U j may be expressed as:
  • Diagonal matrix ⁇ may be expressed as:
  • the Frobenius norm of the matrix M j may be computed in block 215.
  • the calculated Frobenius norm may be referred to as the column matrix norm. If the Frobenius norm is greater than a predetermined threshold value, the singular value decomposition is performed on the matrix Mj to generate matrices U j , W j , and Vj, as noted above. However, if the Frobenius norm is not larger than the predetermined matrix value, V j is set equal to the identity matrix, the entries of W j are set to zero, and the entries of U j are not computed. That is, the method reduces the computations because the entries of U j do not influence the outcome. Accordingly, the method is enhanced because certain computations are skipped or simplified.
  • step 220 the singular values in diagonal matrix W j that are smaller than a predetermined threshold value are discarded to generate reduced diagonal matrix
  • the singular values are discarded by setting them to zero.
  • reduced diagonal matrix Wj r The number of remaining (or retained) singular values in diagonal matrix ythat have not been discarded may be referred to as ⁇ .
  • reduced diagonal matrix Wj r may be expressed as:
  • left matrix U j is multiplied by reduced diagonal matrix W r) to generate a temporary column matrix M .
  • the right ⁇ columns of temporary column matrix M contain nonzero entries and the rest of the entries of temporary column matrix M j l axe zeroes.
  • Temporary column matrix M may be expressed as:
  • steps 210 through 230 are repeated for the rest of the columns in block sparse matrix A to obtain the rest of temporary column matrices in the block sparse matrix A.
  • step 240 for each i for which V ⁇ is not an identity matrix the temporary submatrix F ⁇ in temporary column matrix ° is premultiplied by transposed right matrix Vj to generate a transformed version of submatrix Ffp .
  • the product is F, (0 ⁇ F ; (0
  • step 245 for each i for which V t is not an identity matrix the subvector ⁇ y containing ⁇ coefficients from submatrix Ay is premultiplied by transposed right matrix Vj to generate a transformed version of subvector ⁇ y .
  • the product is
  • step 250 for each j for which V j is not an identity matrix the fluid partial volumes vector V- is postmultiplied by V j to generate a transformed version of fluid partial volumes vector V ⁇ .
  • V j V j .
  • a transformed block sparse matrix A having the same block structure and submatrix form as block sparse matrix A is constructed.
  • the transformed off diagonal submatrix A.. where i ⁇ j, may be expressed as:
  • the transformed diagonal submatrix A d may be expressed as:
  • step 260 the transformed partial volumes that correspond to the discarded singular values in transformed block sparse matrix A are eliminated.
  • the transformed partial volumes V ⁇ l) , ..., V ⁇ _ r ⁇ that correspond to the discarded singular values in the transformed diagonal submatrix A u are eliminated by
  • the transformed off diagonal submatrix A y where i ⁇ j, may be expressed as:
  • the bottom r,-+l rows contain nonzero coefficients in only the right most r,+l columns. These coefficients are placed in a matrix of smaller dimension, resulting in the reduced transformed diagonal submatrix , which may be expressed as:
  • the reduced transformed off-diagonal submatrices f or e reduced transformed block sparse matrix _4 (r) contain only coefficients within the bottom r,+l rows and the right most ⁇ +1 columns.
  • the residual block vector R is initialized by setting it equal to the right-hand side vector B. That is, the initial residual block vector i? (0) is set equal to the right-hand side vector B.
  • a transformed residual block vector R t is constructed.
  • the transfonned residual block vector i? ( . may be expressed as:
  • the transformed volume constraint residual subvector R r i may be
  • a reduced transformed residual block vector block vector i? (r) is constructed and expressed as:
  • a partial transformed solution change vector ⁇ SY "(0) is created by setting each subvector as follows:
  • the zeroes correspond to the discarded singular values.
  • a transformed residual block vector ⁇ (0) is computed using the partial transformed solution change vector ⁇ X m and the following equation:
  • the mass changes ⁇ M ⁇ axe computed according to ⁇ M f V ⁇ X m • , where Vi represents the matrix containing the right singular vectors, as previously described with reference to step 215 and ⁇ X, protagonist represents a vector containing only the mass unknown entries in ⁇ X i .
  • steps 290-294 are repeated for each subvector of X. In this manner, an estimate for the current solution block vector X is computed.
  • FIG. 3 illustrates a computer network 300, into which embodiments of the invention may be implemented.
  • the computer network 300 includes a system computer 330, which may be implemented as any conventional personal computer or workstation, such as a UNIX-based workstation.
  • the system computer 330 is in communication with disk storage devices 329, 331, and 333, which may be external hard disk storage devices. It is contemplated that disk storage devices 329, 331, and 333 are conventional hard disk drives, and as such, will be implemented by way of a local area network or by remote access. Of course, while disk storage devices 329, 331, and 333 are illustrated as separate devices, a single disk storage device may be used to store any and all of the program instructions, measurement data, and results as desired.
  • the input data are stored in disk storage device 331.
  • the system computer 330 may retrieve the appropriate data from the disk storage device 331 to solve the implicit reservoir simulation matrix equation according to program instructions that correspond to the methods described herein.
  • the program instructions may be written in a computer programming language, such as C++, Java and the like.
  • the program instructions may be stored in a computer-readable memory, such as program disk storage device 333.
  • the memory medium storing the program instructions may be of any conventional type used for the storage of computer programs, including hard disk drives, floppy disks, CD-ROMs and other optical media, magnetic tape, and the like.
  • the system computer 330 presents output primarily onto graphics display 327, or alternatively via printer 328.
  • the system computer 230 may store the results of the methods described above on disk storage 329, for later use and further analysis.
  • the keyboard 326 and the pointing device (e.g., a mouse, trackball, or the like) 225 may be provided with the system computer 330 to enable interactive operation.
  • the system computer 330 may be located at a data center remote from the reservoir. While Figure 3 illustrates the disk storage 331 as directly connected to the system computer 330, it is also contemplated that the disk storage device 331 may be accessible through a local area network or by remote access.
  • disk storage devices 329, 331 are illustrated as separate devices for storing input data and analysis results, the disk storage devices 329, 331 may be implemented within a single disk drive (either together with or separately from program disk storage device 333), or in any other conventional manner as will be fully understood by one of skill in the art having reference to this specification.

Abstract

A method for solving a matrix equation AX=B, wherein A represents a block sparse matrix (205), B represents a right hand side block vector (205) and X represents a solution block vector (298). In one embodiment, the method includes receiving the block sparse matrix (205) and the right hand side block vector (205), constructing a reduced transformed block vector (205) from the block sparse matrix (205), and the right hand side block vector (205), and solving for the solution block vector (298) using the reduced transformed block sparse matrix (265) and the reduced transformed residual block vector (275).

Description

METHOD FOR SOLVING IMPLICIT RESERVOIR SIMULATION MATRIX EQUATION BACKGROUND
Field of Inventions
[0001] Embodiments of the present inventions generally relate to exploitation and development of hydrocarbons in an underground reservoir and, more preferably, to an improved process for predicting the behavior of a subterranean, hydrocarbon-bearing formation.
Description of Related Art
[0002] Reservoir simulation is a process of inferring the behavior of a real reservoir from the performance of a model of that reservoir. Because mass transfer and fluid flow processes in petroleum reservoirs are so complex, reservoir simulations are done using computers. Computer programs that perform calculations to simulate reservoirs are called reservoir simulators. The objective of reservoir simulation is to understand the complex chemical, physical, and fluid flow processes occurring in a petroleum reservoir sufficiently well to be able to predict future behavior of a reservoir and to maximize recovery of hydrocarbons. The reservoir simulator can solve reservoir problems that are generally not solvable in any other way. For example, a reservoir simulator can predict the consequences of reservoir management decisions. Reservoir simulation often refers to the hydrodynamics of flow within a reservoir, but in a larger sense it also refers to the total petroleum system which includes the reservoir, the surface facilities, and any interrelated significant activity.
[0003] Figure 1 illustrates schematically four basic steps in one example of a reservoir simulation of a petroleum reservoir. The first step (step 1) is to construct a mathematical model of a real reservoir based on the chemical, physical, and fluid flow processes occurring in the reservoir. That mathematical model may include a set of nonlinear partial differential equations. The second step (step 2) involves discretization of the reservoir in both time- and space. Space is discretized by dividing the reservoir into suitable gridcells with each gridcell having a set of nonlinear finite difference equations. The third step (step 3) is to linearize the nonlinear terms that appear in the nonlinear finite difference equations and, based on this linearization, construct linear algebraic equations assembled in a matrix equation. The fourth step (step 4) is to solve the linear algebraic equations assembled in the matrix equation. The simulation proceeds in a series of timesteps, and steps 3 and 4 are performed at each timestep. The simulation provides a prediction of reservoir behavior, which enables a petroleum engineer to predict reservoir performance, including the rate at which the reservoir can be produced. The accuracy of the model can be checked against the history of the reservoir after the model has been subjected to a simulated recovery process.
[0004] However, many simulation methods have been proposed. The method chosen can affect the stability and accuracy of the solution. Some methods require more computational work than other methods on a per-timestep basis. The methods differ primarily on how they treat the way the reservoir variables (such as pressure and saturation) vary in time. Most methods involve variations of the following two procedures:
(1) Explicit procedures use mobilities and capillary pressures computed as functions of saturations at the beginning of a timestep. The saturations are known from the previous timestep calculations. The mobilities and capillary pressures are assumed to maintain the same values during a timestep that they had at the beginning of the timestep.
(2) Implicit procedures use mobility and capillary pressure calculated as functions of saturation at the end of the timestep. The values are not known until calculations for the timestep have been completed. As a result, they must be determined using an iterative process.
[0005] The Fully Implicit method is a commonly used implicit procedure. This method is unconditionally stable because it treats both pressure and saturations implicitly. Flow rates are computed using phase pressures and saturations at the end of each timestep. In this method, saturations cannot fall below zero because a fluid can flow only if it is mobile at the end of a timestep. Fluids are mobile only for saturations greater than zero. The calculation of flow rates, pressure and saturation solutions involves the solution of nonlinear equations using a suitable iterative technique. Once the pressures and saturations are solved, these terms will continue to be updated using the new values of pressure and saturation. The iteration process terminates when the convergence criteria are satisfied.
[0006] The main drawback of the Fully Implicit method is the amount of computer time that it requires. In terms of computing cost, the method is generally satisfactory in models of single wells or parts of a reservoir, but it can be quite expensive to use in models of entire reservoirs. Several attempts have been made to reduce the computations required, possibly at the cost of accepting a method that does not permit the timestep sizes of the Fully Implicit method. The sequential implicit method, the adaptive implicit method, and the Cascade method have been proposed as ways of reducing the computational time. However, those methods have their own drawbacks. The largest consumer of computational time in the Fully Implicit method is the equation solving step (Step 4 of Figure 1). This typically consumes about three- fourths of the total computational time.
[0007] Accordingly, a need exists for a more computationally efficient method for solving the linear algebraic equations arising in Fully Implicit reservoir simulation.
SUMMARY
[0008] Various embodiments of the invention are directed to a method for solving a matrix equation AX=B, wherein A represents a block sparse matrix, B represents a right hand side block vector and X represents a solution block vector. In one embodiment, the method includes receiving the block sparse matrix and the right hand side block vector, constructing a reduced transformed block sparse matrix from the block sparse matrix, constructing a reduced transformed residual block vector from the block sparse matrix and the right hand side block vector, and solving for the solution block vector using the reduced transformed block sparse matrix and the reduced transformed residual block vector. [0009] In another embodiment, the method includes constructing a reduced transformed block sparse matrix from the block sparse matrix, constructing a reduced transformed residual block vector from the block sparse matrix and the right hand side block vector, solving for a reduced transformed solution change block vector using the reduced transformed block sparse matrix and the reduced transformed residual block vector, converting the reduced transformed solution change block vector to a solution change block vector having one or more changes in mass unknowns and one or more changes in pressure unknowns, and adding the solution change block vector to a current estimate of the solution block vector to update the solution block vector.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 illustrates a schematic diagram of the basic steps in an illustrative reservoir simulation process.
[0011] Figure 2 illustrates a method for solving one or more linear algebraic equations in a matrix in accordance with one or more embodiments of the invention.
[0012] Figure 3 illustrates a computer network into which one or more embodiments of the invention may be implemented.
DETAILED DESCRIPTION
Introduction and Definitions
[0013] A detailed description will now be provided. Each of the appended claims defines a separate invention, which for infringement purposes is recognized as including equivalents to the various elements or limitations specified in the claims. Depending on the context, all references below to the "invention" may in some cases refer to certain specific embodiments only. In other cases it will be recognized that references to the "invention" will refer to subject matter recited in one or more, but not necessarily all, of the claims. Each of the inventions will now be described in greater detail below, including specific embodiments, versions and examples, but the inventions are not limited to these embodiments, versions or examples, which are included to enable a person having ordinary skill in the art to make and use the inventions, when the information in this patent is combined with available information and technology. Various terms as used herein are defined below. To the extent a term used in a claim is not defined below, it should be given the broadest definition persons in the pertinent art have given that term as reflected in one or more printed publications or issued patents.
[0014] As used herein, the term "gridceU" is defined as a unit or block that defines a portion of a three dimensional reservoir model. As such, a three dimensional reservoir model may include a number of gridcells, ranging from tens and hundreds to thousands and millions of gridcells. Each gridceU may in certain cases represent a specifically allocated portion of the three dimensional reservoir model. An entire set of gridcells may constitute a geologic model that represents a subsurface earth volume of interest. Each gridcell preferably represents a unique portion of the subsurface. Such gridcells preferably do not overlap each other. Dimensions of the gridcells are preferably chosen so that the reservoir properties within a gridcell are relatively homogeneous, yet without creating an excessive number of gridcells. These gridcells have sides ranging from a smaller than a meter to a few hundred meters. Preferably, each gridcell is square or rectangular in plan view and has a thickness that is either constant or variable. However, it is contemplated that other shapes may alternatively be used. Gridcells may be visualized as well-stirred tanks with permeable sides. The contents of a gridcell, therefore, may be considered uniformly distributed within the gridcell and the rates at which fluids flow in or out maybe determined by the permeabilities of the sides of the gridcell and the pressure differences between adjacent gridcells. As such, the mathematical problem is reduced to a calculation of flow between adjacent gridcells.
[0015] As used herein, the term "singular value decomposition" is defined as a mathematical technique for decomposing a rectangular matrix into three factors. Given an M by N matrix A, where M > N, using at least certain types of singular value decomposition, matrix A can be rewritten as:
Figure imgf000008_0001
where FT is a diagonal matrix having "singular values" entries. The columns of matrix U and the rows of matrix Vτ (or, equivalently, columns of matrix V) are orthonormal. That is, for example, if Uι is a column of matrix U and Uj is another column of matrix U, then u;ut u; Uj = o, j ≠ i
[0016] The equivalent is true for the square matrix V, i.e., the inverse of matrix V is matrix Vτ. The columns of matrix U, diagonal entries of matrix W, and rows of matrix Vτ are customarily arranged such that w > w2 > ... > wN, where wi is the diagonal entry in row i of matrix W. The diagonal elements of matrix W are the singular values of matrix A. For purposes of illustrating various embodiments of the invention, it is more convenient to place them in the opposite order, such that w\ < w2< ... < W , and reorder the columns of U and V accordingly. Matrix V may be referred to as the right matrix and the vectors comprised therein as the right singular vectors.
[0017] Given the above definitions, matrix A can be approximated using a subset containing the last few columns of matrix U, entries of matrix W, and rows of matrix V . Thus, matrix A can be rewritten as:
Figure imgf000008_0002
[0018] As used herein, the term "timestep" is defined as an increment of time into which the life of a reservoir is discretized. For at least certain types of timesteps, a reservoir simulator computes changes in each gridcell (flow, pressure, etc.) over a timestep for many timesteps. Typically, conditions are defined only at the beginning and end of a timestep, and nothing is defined at any intermediate time within a timestep. Consequently, conditions within each gridcell may change abruptly from one timestep to the next. Usually, timesteps are chosen to be small enough to limit sizes of these abrupt changes to acceptable limits. The size of the timesteps depends on accuracy considerations and stability constraints. Generally, the smaller the timestep, the more accurate the solution, however, smaller timesteps require more computational work.
[0019] As used herein, the term "identity matrix" is defined as a square matrix of any dimension whose elements are ones on its northwest-to-southeast diagonal and zeroes everywhere else. Any square matrix multiplied by the identity matrix with those dimensions equals itself.
[0020] As used herein, the term "volume constraint" is an equation based on the principle that a gridcell must contain the amount of fluid required to fill the gridcell at a given time. For example, if a reservoir contains liquid hydrocarbon and water phases, then:
Liquid Hydrocarbon Volume + Water Volume = Gridcell Volume.
[0021] As used herein, the term "unknown" is defined as an unknown variable for which the linear algebraic equations assembled in the matrix equation are solved. For a reservoir containing oil and water, the linear algebraic equations are solved for various unknown variables, including pressure and mass. Other quantities may be derived from these variables.
[0022] As used herein, the term "block sparse matrix" is defined as a matrix whose elements are mostly null or zeroes and submatrices as the remainder. However, all of the submatrices along its diagonal are present, i.e., not null. For example, a block sparse matrix A may be expressed as:
Figure imgf000010_0001
[0023] Each submatrix, e.g., Aι may be expressed as:
Figure imgf000010_0002
where mt is the number of mass balance equations in row i and m} is the number of mass change unknowns in column j. Each submatrix has mt + 1 rows and m} + 1 columns. The first mt rows contain coefficients of the mass balance equations. The bottom row (row mt + 1) contains coefficients relating to the volume constraint equation. The coefficients in the first m} columns are configured to be multiplied by mass variables and the coefficients in the right-most column (column m, + 1) are configured to be multiplied by pressure variables. As such, each submatrix has a particular structure.
[0024] The mass variables can take several forms. Generally, the mass variables are changes over a Newton iteration. But, they can also be changes over a timestep or end-of-timestep masses, and not changes. They also can be expressed in terms of other measures of masses, such as saturations or mole/mass fractions. Similarly, pressure variables are generally changes over a Newton iteration, but can also be end- of-timestep pressures. These variable choices are interchangeable in the sense that one set of variables can be easily converted to another. For simplicity, the description that follows uses end-of-timestep masses and pressures.
[0025] For an off diagonal submatrix, where i ≠j, Aυ may be expressed as:
Figure imgf000011_0001
where/and φ coefficients relate to the flows between gridblocks. The /coefficients, which occupy the first mi columns of Ay, are configured to be multiplied by mass changes. Thus, they may be referred to as mass change terms coefficients. The φ coefficients, which occupy the column m^\ ofA , are configured to be multiplied by pressure changes. Thus, the φ coefficients may be referred to as pressure change terms coefficients. The / coefficients are used in the singular value decomposition, while the φ coefficients are not.
Ay may also be expressed as:
Figure imgf000011_0002
[0026] The diagonal submatrix An may be expressed as
Figure imgf000011_0003
where and φ coefficients relate to the flows between gridblocks, V 's are fluid partial volumes, and the c relates to compressibility. Auxnay also be expressed as:
I + F„ Φ;, A» =
where Fu
Figure imgf000012_0001
Figure imgf000012_0004
is an identity matrix. The entries of F, are multiphase partial volumes. They relate the fluid volume in the gridcell to the amounts of the components in it. The c,- term is related to fluid compressibility. It relates the gridcell's fluid volume to its pressure.
[0027] As used herein, the term "column matrix" is defined as a matrix containing the submatrices in a column of the block sparse matrix. For example, the h column matrix of A is
Figure imgf000012_0002
[0028] As used herein, the term "solution block vector" is defined as a block vector comprised of subvectors X} ... X„. For example, a solution block vector X may be expressed as:
Figure imgf000012_0003
Each subvector may be expressed as: (. =
Figure imgf000013_0001
where m or M represents a mass unknown and ? or P represents a pressure unknown.
[0029] In some instances, a solution change vector δX may be of interest, as opposed to the solution block vector X. The solution change vector δX may be expressed as:
δX; =
Figure imgf000013_0002
[0030] As used herein, the term "right hand side block vector" is defined as the right hand side of the equation AX = B. For example, a subvector of the right hand side block vector B may be expressed as:
B, =
Figure imgf000013_0003
where the M subscript denotes a mass balance right-hand side, and a V subscript denotes a volume constraint right-hand side.
[0031] As used herein, the term "residual block vector" is defined by R = B - Ax. For example, a subvector of the residual block vector R may be expressed as: R. =
Figure imgf000014_0001
where the M subscript denotes a mass balance residual, and a V subscript denotes a volume constraint residual.
[0032] As used herein, the term "mass balance equation" is defined as a mathematical relationship between the contents of a gridcell and flow into and out of the gridcell. It is based on the assumption that material is neither generated nor lost from the system. Each chemical component in the reservoir fluids must satisfy mass balance in each gridcell. For example, for a methane component, the mass of methane in a particular gridcell at the end of a predetermined timestep must satisfy the following equation:
Mass of Methane at New Time = Mass of Methane at Old Time + Mass of Methane Flow In - Mass of Methane Flow Out
A similar relationship applies for any other chemical component present in the reservoir fluids.
[0033] The mass balance equations for the entire reservoir model may be written as:
IM + FUM + FPP = BM (1)
[0034] The FM and Fp matrices relate to flow between gridcells. M contains the mass subvectors, P is the vector of pressures, and BM contains the mass balance right hand side subvectors. If a one-dimensional model having five gridcells is assumed, matrix FM can be written as a block tridiagonal matrix as follows:
Figure imgf000015_0001
where, in general,
Figure imgf000015_0002
Fp has the same structural form as Fm. We can write Eq. (1) as
= B
Figure imgf000015_0003
[0035] As used herein, the term "Frobenius norm" is defined as the square root of the sum of the squares of the coefficients in a matrix. For example, the Frobenius norm of the matrix, which is written as:
Figure imgf000015_0004
may be expressed as:
Figure imgf000015_0005
The Frobenius norm provides a useful estimate of the largest singular value in the singular value decomposition of the matrix A. Specific Embodiments
[0036] Various specific embodiments are described below, at least some of which are also recited in the claims.
[0037] In at least one specific embodiment, a method for solving a matrix equation AX=B, wherein A represents a block sparse matrix, B represents a right hand side block vector and X represents a solution block vector, includes: receiving the block sparse matrix and the right hand side block vector; constructing a reduced transformed block sparse matrix from the block sparse matrix; constructing a reduced transfomied residual block vector from the block sparse matrix and the right hand side block vector; and solving for the solution block vector using the reduced transformed block sparse matrix and the reduced transformed residual block vector.
[0038] In a specific embodiment of the method identified above, or of a method described elsewhere herein, the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change terms and one or more mass change terms, wherein the block sparse matrix contains one or more coefficients of the pressure change terms and one or more coefficients of the mass change terms, and wherein constructing the reduced transformed block sparse matrix comprises assembling the mass change terms coefficients from a column of the block sparse matrix into a column matrix.
[0039] In a specific embodiment of the method identified above, or of a method described elsewhere herein, the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change tenns and one or more mass change terms, wherein the block sparse matrix contains one or more coefficients of the pressure change terms and one or more coefficients of the mass change terms, and wherein constructing the reduced transformed block sparse matrix includes assembling the mass change terms coefficients from a column of the block sparse matrix into a column matrix; and performing a singular value decomposition on the column matrix to generate a left matrix, a diagonal matrix and a right matrix. [0040] In a specific embodiment of the method identified above, or of a method described elsewhere herein, the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change terms and one or more mass change terms, wherein the block sparse matrix contains one or more coefficients of the pressure change terms and one or more coefficients of the mass change terms, and wherein constructing the reduced transformed block sparse matrix includes: assembling the mass change terms coefficients from a column of the block sparse matrix into a column matrix; and performing a singular value decomposition on the column matrix to generate a left matrix, a diagonal matrix and a right matrix, wherein the diagonal matrix comprises one or more singular values arranged in ascending order.
[0041] In a specific embodiment of the method identified above, or of a method described elsewhere herein, the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change terms and one or more mass change terms, wherein the block sparse matrix contains one or more coefficients of the pressure change terms and one or more coefficients of the mass change terms, and wherein constructing the reduced transformed block sparse matrix includes: assembling the mass change terms coefficients from a column of the block sparse matrix into a column matrix; performing a singular value decomposition on the column matrix to generate a left matrix, a diagonal matrix and a right matrix; and discarding one or more singular values that are less than a predetermined threshold value to generate a reduced diagonal matrix. The predetermined threshold value is typically set to a quantity between 0.01 and 0.1, but other values can be used.
[0042] In a specific embodiment of the method identified above, or of a method described elsewhere herein, the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change terms and one or more mass change terms, wherein the block sparse matrix contains one or more coefficients of the pressure change terms and one or more coefficients of the mass change terms, and wherein constructing the reduced transformed block sparse matrix includes: assembling the mass change terms coefficients from a column of the block sparse matrix into a column matrix; performing a singular value decomposition on the column matrix to generate a left matrix, a diagonal matrix and a right matrix; discarding one or more singular values that are less than a predetermined threshold value to generate a reduced diagonal matrix; and multiplying the left matrix with the reduced diagonal matrix to generate a temporary column matrix.
[0043] In a specific embodiment of the method identified above, or of a method described elsewhere herein, the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change terms and one or more mass change terms, wherein the block sparse matrix contains one or more coefficients of the pressure change terms and one or more coefficients of the mass change terms, and wherein constructing the reduced transformed block sparse matrix includes: assembling the mass change terms coefficients from a column of the block sparse matrix into a column matrix; performing a singular value decomposition on the column matrix to generate a left matrix, a diagonal matrix and a right matrix; discarding one or more singular values that are less than a predetermined threshold value to generate a reduced diagonal matrix; multiplying the left matrix with the reduced diagonal matrix to generate a temporary column matrix having a plurality of mass change terms coefficients; and assembling the mass change terms coefficients of the temporary column matrix into one or more temporary mass change terms coefficient submatrices that correspond to the mass change terms coefficients of the column matrix.
[0044] In a specific embodiment of the method identified above, or of a method described elsewhere herein, the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change terms and one or more mass change terms, wherein the block sparse matrix contains one or more coefficients of the pressure change terms and one or more coefficients of the mass change terms, and wherein constructing the reduced transformed block sparse matrix includes: assembling the mass change terms coefficients from a column of the block sparse matrix into a column matrix; performing a singular value decomposition on the column matrix to generate a left matrix, a diagonal matrix and a right matrix; discarding one or more singular values that are less than a predetermined threshold value to generate a reduced diagonal matrix; multiplying the left matrix with the reduced diagonal matrix to generate a temporary column matrix having a plurality of mass change terms coefficients; assembling the mass change terms coefficients of the temporary column matrix into one or more temporary mass change terms coefficient submatrices that correspond to the mass change terms coefficients of the column matrix; and premultiplying each temporary mass change terms coefficient submatrix with the transpose of the right matrix to generate a transformed temporary mass change terms coefficient submatrix.
[0045] In a specific embodiment of the method identified above, or of a method described elsewhere herein, the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change terms and one or more mass change terms, wherein the block sparse matrix contains one or more coefficients of the pressure change terms and one or more coefficients of the mass change terms, and wherein constructing the reduced transformed block sparse matrix comprises: assembling the mass change terms coefficients from a column of the block sparse matrix into a column matrix; performing a singular value decomposition on the column matrix to generate a left matrix, a diagonal matrix and a right matrix; discarding one or more singular values that are less than a predetermined threshold value to generate a reduced diagonal matrix; multiplying the left matrix with the reduced diagonal matrix to generate a temporary column matrix having a plurality of mass change terms coefficients; assembling the mass change terms coefficients of the temporary column matrix into one or more temporary mass change terms coefficient submatrices that correspond to the mass change terms coefficients of the column matrix; premultiplying each temporary mass change terms coefficient submatrix with the transpose of the right matrix to generate a transformed temporary mass change terms coefficient submatrix; and premultiplying each subvector containing the pressure change terms coefficients in the block sparse matrix by the transpose of the right matrix to generate a transformed pressure change terms coefficients subvector.
[0046] In a specific embodiment of the method identified above, or of a method described elsewhere herein, constructing the reduced transformed block sparse matrix further comprises constructing a transformed block sparse matrix having the same block structure and submatrix form as the block sparse matrix. [0047] In a specific embodiment of the method identified above, or of a method described elsewhere herein, the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change terms and one or more mass change terms, wherein the block sparse matrix contains one or more coefficients of the pressure change terms and one or more coefficients of the mass change terms, and wherein constructing the reduced transformed block sparse matrix includes: assembling the mass change terms coefficients from a column of the block sparse matrix into a column matrix; performing a singular value decomposition on the column matrix to generate a left matrix, a diagonal matrix and a right matrix; discarding one or more singular values that are less than a predetermined threshold value to generate a reduced diagonal matrix; multiplying the left matrix with the reduced diagonal matrix to generate a temporary column matrix having a plurality of mass change terms coefficients; assembling the mass change terms coefficients of the temporary column matrix into one or more temporary mass change terms coefficient submatrices that correspond to the mass change terms coefficients of the column matrix; premultiplying each temporary mass change terms coefficient submatrix with the transpose of the right matrix to generate a transformed temporary mass change terms coefficient submatrix; premultiplying each subvector containing the pressure change terms coefficients in the block sparse matrix by the transpose of the right matrix to generate a transformed pressure change terms coefficients subvector; and postmultiplying each fluid partial volumes subvector in the block sparse matrix by the right matrix to generate a transformed fluid partial volumes vector.
[0048] In a specific embodiment of the method identified above, or of a method described elsewhere herein, the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change terms and one or more mass change terms, wherein the block sparse matrix contains one or more coefficients of the pressure change terms and one or more coefficients of the mass change terms, and wherein constructing the reduced transformed block sparse matrix includes: assembling the mass change terms coefficients from a column of the block sparse matrix into a column matrix; performing a singular value decomposition on the column matrix to generate a left matrix, a diagonal matrix and a right matrix; discarding one or more singular values that are less than a predetermined threshold value to generate a reduced diagonal matrix; multiplying the left matrix with the reduced diagonal matrix to generate a temporary column matrix having a plurality of mass change terms coefficients; assembling the mass change terms coefficients of the temporary column matrix into one or more temporary mass change terms coefficient submatrices that correspond to the mass change terms coefficients of the column matrix; premultiplying each temporary mass change terms coefficient submatrix with the transpose of the right matrix to generate a transformed temporary mass change terms coefficient submatrix; premultiplying each subvector containing the pressure change terms coefficients in the block sparse matrix by the transpose of the right matrix to generate a transformed pressure change terms coefficients subvector; postmultiplying each fluid partial volumes subvector in the block sparse matrix by the right matrix to generate a transformed fluid partial volumes vector; and constructing a transformed block sparse matrix from one or more of the transformed temporary mass change terms coefficient submatrix, the transformed pressure change terms coefficients subvector and the transformed fluid partial volumes vector.
[0049] In a specific embodiment of the method identified above, or of a method described elsewhere herein, the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change terms and one or more mass change terms, wherein the block sparse matrix contains one or more coefficients of the pressure change terms and one or more coefficients of the mass change terms, and wherein constructing the reduced transformed block sparse matrix includes: assembling the mass change terms coefficients from a column of the block sparse matrix into a column matrix; performing a singular value decomposition on the column matrix to generate a left matrix, a diagonal matrix and a right matrix; discarding one or more singular values that are less than a predetermined threshold value to generate a reduced diagonal matrix; multiplying the left matrix with the reduced diagonal matrix to generate a temporary column matrix having a plurality of mass change terms coefficients; assembling the mass change terms coefficients of the temporary column matrix into one or more temporary mass change terms coefficient submatrices that correspond to the mass change terms coefficients of the column matrix; premultiplying each temporary mass change terms coefficient submatrix with the transpose of the right matrix to generate a transformed temporary mass change terms coefficient submatrix; premultiplying each subvector containing the pressure change terms coefficients in the block sparse matrix by the transpose of the right matrix to generate a transformed pressure change terms coefficients subvector; postmultiplying each fluid partial volumes subvector in the block sparse matrix by the right matrix to generate a transformed fluid partial volumes vector; constructing a transformed block sparse matrix from one or more of the transformed temporary mass change terms coefficient submatrix, the transformed pressure change terms coefficients subvector and the transformed fluid partial volumes vector; and eliminating one or more transformed fluid partial volumes that correspond to the discarded singular values in the transformed block sparse matrix to generate the reduced transformed block sparse matrix.
[0050] In a specific embodiment of the method identified above, or of a method described elsewhere herein, the Frobenius norm of the column matrix is computed, which is referred to as the column matrix norm or value. If the column matrix value is equal to or less than a predetermined threshold value, the singular value decomposition is not performed on the column matrix, the singular values are set to zero, the right matrix is set equal to the identity matrix. As a result, certain computations that use the right matrix are skipped or simplified because the right matrix is equal to the identity matrix.
[0051] In a specific embodiment of the method identified above, or of a method described elsewhere herein, the reduced transformed block sparse matrix includes one or more reduced transformed diagonal submatrices and one or more reduced transformed off-diagonal submatrices, wherein each reduced transformed diagonal submatrix includes mass change terms coefficients and pressure change terms coefficients only within the bottom r,+l rows and right most r;+l columns of each transformed diagonal submatrix.
[0052] In a specific embodiment of the method identified above, or of a method described elsewhere herein, the reduced transformed block sparse matrix includes one or more reduced transformed diagonal submatrices and one or more reduced transformed off-diagonal submatrices, wherein each reduced transformed diagonal submatrix includes mass change terms coefficients and pressure change terms coefficients only within the bottom r;+l rows and right most r/+l columns of each transformed diagonal submatrix and each reduced transformed off-diagonal submatrix includes mass change terms coefficients and pressure change terms coefficients only within the bottom r,+l rows and the right most η+l columns of each transformed off- diagonal submatrix.
[0053] In a specific embodiment of the method identified above, or of a method described elsewhere herein, constructing the reduced transformed residual block vector includes constructing a transformed residual block vector.
[0054] In a specific embodiment of the method identified above, or of a method described elsewhere herein, constructing the transformed residual block vector includes constructing a transfonned residual block vector having a transformed mass balance residual subvector and a transformed volume constraint residual subvector.
[0055] In a specific embodiment of the method identified above, or of a method described elsewhere herein, constructing the reduced transformed residual block vector includes premultiplying a mass balance residual subvector by the transpose of the right matrix to generate a transformed mass balance residual subvector.
[0056] In a specific embodiment of the method identified above, or of a method described elsewhere herein, solving for the solution block vector includes solving for a reduced transformed solution change block vector using the reduced transformed block sparse matrix and the reduced transformed residual block vector.
[0057] In a specific embodiment of the method identified above, or of a method described elsewhere herein, solving for the solution block vector includes: solving for a reduced transformed solution change block vector using the reduced transformed block sparse matrix and the reduced transformed residual block vector; and converting the reduced transformed solution change block vector to a solution change block vector. [0058] In a specific embodiment of the method identified above, or of a method described elsewhere herein, solving for the solution block vector includes: solving for a reduced transformed solution change block vector using the reduced transformed block sparse matrix and the reduced transformed residual block vector; converting the reduced transformed solution change block vector to a solution change block vector; and adding the solution change block vector to a current estimate of the solution block vector to update the solution block vector.
[0059] In a specific embodiment of the method identified above, or of a method described elsewhere herein, solving for the solution block vector includes: solving for a reduced transformed solution change block vector using the reduced transformed block sparse matrix and the reduced transformed residual block vector; and converting the reduced transformed solution change block vector to a solution change block vector having one or more changes in mass unknowns and one or more changes in pressure unknowns.
[0060] In at least one specific embodiment, a method for solving a matrix equation AX=B, wherein A represents a block sparse matrix, B represents a right hand side block vector and X represents a solution block vector, the method includes: constructing a reduced transformed block sparse matrix from the block sparse matrix; constructing a reduced transformed residual block vector from the block sparse matrix and the right hand side block vector; solving for a reduced transformed solution change block vector using the reduced transformed block sparse matrix and the reduced transformed residual block vector; converting the reduced transformed solution change block vector to a solution change block vector having one or more changes in mass unknowns and one or more changes in pressure unknowns; and adding the solution change block vector to a current estimate of the solution block vector to update the solution block vector.
Specific Embodiments In Drawings
[0061] Specific embodiments shown in the drawings will now be described. [0062] Figure 2 illustrates a flow diagram of a method 200 for solving one or more linear algebraic equations in a matrix equation in accordance with one embodiment of the invention. At step 205, a block sparse matrix A and a block vector B axe received. The block sparse matrix A and the block vector B axe, used for solving for a solution block vector according to the implicit transport matrix equation AX= B.
[0063] At step 210, the /coefficients in column j of the block sparse matrix A axe assembled into a block matrix Mj. The/coefficients that are assembled into the block matrix MjXtvay be expressed as:
,ιιij
or
Figure imgf000025_0001
FM Mj = Fu where FJJ, Fy, Fy ...axe submatrices containing the / Fu
coefficients in column j of the block sparse matrix A. Column j represents the first column of interest to be processed. [0064] At step 215, a singular value decomposition is performed on the matrix Mj to generate matrices Uj, Wj, and Vj, where Uj represents a first or left matrix containing the left singular vectors, where W) represents a second or diagonal matrix containing the singular values arranged in ascending (i.e., from small to large) order, which is in reverse of the customary order, and where Vj represents a third or right matrix containing the right singular vectors. The singular value decomposition ensures that M} = UjWjVf , where Vj is the transpose of right matrix Vj. The columns of left matrix Uj and right matrix Vj are arranged in a manner such that each entry of diagonal matrix Wj is configured to multiply the appropriate column of left matrix Uj and the appropriate row of transposed right matrix Vj . Left matrix Uj may be expressed as:
Figure imgf000026_0001
u ( ) ( ) mh ,\ Au) mh ,ntj U, = (U) λ ) u. ( ) \,nij Xu) AU) (u) *21 ^22 2,ιn , u i ) Au) '»;, ,2 U (U) m ,mj
Diagonal matrix ^may be expressed as:
Figure imgf000027_0001
Right matrix Vj may be expressed as:
Figure imgf000027_0002
[0065] A more detailed description of the singular value decomposition is provided in the definition section above. It should be noted that to enhance the method, the Frobenius norm of the matrix Mj may be computed in block 215. The calculated Frobenius norm may be referred to as the column matrix norm. If the Frobenius norm is greater than a predetermined threshold value, the singular value decomposition is performed on the matrix Mj to generate matrices Uj, Wj, and Vj, as noted above. However, if the Frobenius norm is not larger than the predetermined matrix value, Vj is set equal to the identity matrix, the entries of Wj are set to zero, and the entries of Uj are not computed. That is, the method reduces the computations because the entries of Uj do not influence the outcome. Accordingly, the method is enhanced because certain computations are skipped or simplified.
[0066] At step 220, the singular values in diagonal matrix Wj that are smaller than a predetermined threshold value are discarded to generate reduced diagonal matrix
Wj r . In one embodiment, the singular values are discarded by setting them to zero.
The number of remaining (or retained) singular values in diagonal matrix ythat have not been discarded may be referred to as η. As such, reduced diagonal matrix Wjr) may be expressed as:
Figure imgf000028_0001
[0067] At step 225, left matrix Uj is multiplied by reduced diagonal matrix W r) to generate a temporary column matrix M . The right η columns of temporary column matrix M contain nonzero entries and the rest of the entries of temporary column matrix Mj l axe zeroes. Temporary column matrix M may be expressed as:
Figure imgf000028_0002
[0068] At step 230, the coefficients in temporary column matrix Mj* are assembled into blocks corresponding to the original set of submatrices (e.g., Fy) containing the / coefficients in column j of the block sparse matrix A that were assembled into matrix Mj. That is, temporary column matrix M^ may be expressed as: F(t) M Mψ = u 27(0 u
where temporary submatrices F() } may be expressed as:
0 ., .. 0 wU) u^ nij l,nij (0 0 ., .. 0 wmj \-r1 u2,mi ^\-r1 .. w IUHj 2lj,l)llj
0 ., .. 0 W rvιUιij ) +l-r, U m^, ,7H; +l-r, nij m, , ij
[0069] At step 235, steps 210 through 230 are repeated for the rest of the columns in block sparse matrix A to obtain the rest of temporary column matrices in the block sparse matrix A.
[0070] At step 240, for each i for which Vι is not an identity matrix the temporary submatrix F^ in temporary column matrix ° is premultiplied by transposed right matrix Vj to generate a transformed version of submatrix Ffp . The product may be expressed as: F = VJFyf . For each i with Vt being an identity matrix, the product is F, (0 F; (0
[0071] At step 245, for each i for which Vt is not an identity matrix the subvector Φy containing φ coefficients from submatrix Ay is premultiplied by transposed right matrix Vj to generate a transformed version of subvector Φy. The product may be expressed as: Φ; = VjΦϋ . For each i with Vt being an identity matrix, the product is
Φ υ.. :-= Φ v...
[0072] At step 250, for each j for which Vj is not an identity matrix the fluid partial volumes vector V- is postmultiplied by Vj to generate a transformed version of fluid partial volumes vector V} . The product may be expressed as: Vj = VjV} . For
eachy with Vj being an identity matrix, the product is Vj = Vj .
[0073] At step 255, a transformed block sparse matrix A having the same block structure and submatrix form as block sparse matrix A is constructed. As such, the transformed off diagonal submatrix A.. , where i ≠j, may be expressed as:
Figure imgf000030_0001
The transformed diagonal submatrix Ad may be expressed as:
Figure imgf000030_0002
1 . 0 A ) Jl,m, +l-r, Jl,m} T
0 . 1 J in, -r, ,ιn, +l-r, Jm, -η,m, ΦZ-r.
4 0 . 0 1 + fm J ιn,+l-η,ntι Ψntι+1-r,
0 . 0 f(ϋ) .. l+ Jfmi,tt,) in, φ T iWn!
Figure imgf000030_0003
[0074] At step 260, the transformed partial volumes that correspond to the discarded singular values in transformed block sparse matrix A are eliminated. In
one embodiment, the transformed partial volumes V{l) , ..., V^_r< that correspond to the discarded singular values in the transformed diagonal submatrix Au are eliminated by
multiplying V ή by fk'ml+ι-η , ---,fkl , φlu) and subtracting the result from n'li-r > •••' ^j,0 > ci> where k = I, ..., mj - t . A similar operation is performed on the transformed off diagonal submatrix Ay by multiplying the transformed partial volumes V l) with f^ +1_r , —,fkj3 > k J) and subtracting the result from the bottom row of the transformed off diagonal submatrix Ay . The elimination process may be repeated for all rows of transformed block sparse matrix A . Once the transformed partial volumes that correspond to the discarded singular values in transformed block sparse matrix A axe eliminated, the transformed diagonal submatrix Ah may be expressed as:
Figure imgf000031_0001
The transformed off diagonal submatrix Ay , where i ≠j, may be expressed as:
Figure imgf000031_0002
[0075] At step 265, a reduced transformed block sparse matrix A(r is constructed.
In the reduced transformed diagonal submatrices Aj of the reduced transformed block sparse matrix Air) , the bottom r,-+l rows contain nonzero coefficients in only the right most r,+l columns. These coefficients are placed in a matrix of smaller dimension, resulting in the reduced transformed diagonal submatrix , which may be expressed as:
Figure imgf000032_0001
[0076] The reduced transformed off-diagonal submatrices for e reduced transformed block sparse matrix _4(r) contain only coefficients within the bottom r,+l rows and the right most η+1 columns. As such, the reduced transformed off diagonal submatrix A may be expressed as:
Figure imgf000032_0002
' A M-> _ = Aϋ) Aϋ) J ml tmj+l—rj Jm„m1 Φ ,
Figure imgf000032_0003
_
[0077] At step 270, the residual block vector R is initialized by setting it equal to the right-hand side vector B. That is, the initial residual block vector i?(0) is set equal to the right-hand side vector B.
[0078] At step 275, a transformed residual block vector Rt is constructed. The transfonned residual block vector i?(. may be expressed as:
Figure imgf000032_0004
The. transformed mass balance residual subvector i?M may be expressed as: RM i = V RJIj . The transformed volume constraint residual subvector Rr i may be
computed by multiplying the transformed partial volumes ° that correspond to the discarded singular values in the transformed block sparse matrix A with r^l) and subtracting the result from the volume constraint residual subvector Rγ_u where k = l, ..., mi - rt - 1. [0079] At step 280, a reduced transformed residual block vector block vector i?(r) is constructed and expressed as:
P<0 'm, +l-r, R (r)
Figure imgf000033_0001
where the values of the reduced transformed residual block vector block vector R w
are obtained from the transformed mass balance residual subvector i? .i
[0080] At step 282, the matrix equation A^δX^ = R(r) is solved for a reduced transformed solution change block vector δX{r) , which contains a reduced set of mass and pressure unknowns.
[0081] At step 284, a partial transformed solution change vector <SY"(0) is created by setting each subvector as follows:
0
δX (0) _ υΛm,+l-r,
o "
The zeroes correspond to the discarded singular values.
[0082] At step 286, a transformed residual block vector Λ(0) is computed using the partial transformed solution change vector δXm and the following equation:
Ri0) = R - AδX (0) [0083] At step 288, the values of the transformed solution change vector δXi are constructed as follows: p(°. μo, δX, = <Se 7(Hr,Λ+1-
St? δp (0
where the values in the lower half of the transformed solution change vector δXt are obtained from the lower half of the partial transformed solution change vector δXm and values in the upper half of the transformed solution change vector δXi are obtained from the fransformed residual block vector i?(0) determined at step 286.
[0084] At 290, the mass changes δM{ axe computed according to δMf = V{ Xm • , where Vi represents the matrix containing the right singular vectors, as previously described with reference to step 215 and δX,„ represents a vector containing only the mass unknown entries in δXi . At step 292, the mass changes δMi are then used to assemble a solution change block subvector δX{ as follows: δMi δX, = δP
[0085] At step 294, the solution change subvector δXt is then used to update the solution subvector Xt as follows X. = X. + δXr At step 296, steps 290-294 are repeated for each subvector of X. In this manner, an estimate for the current solution block vector X is computed.
[0086] At step 297, an updated residual block vector R is computed according to R = B - AX . At step 298, a determination is made as to whether the updated residual block vector R and the solution block vector X have satisfied a predetermined stopping criteria. If the answer is in the negative, processing returns to step 275. If the answer is in the affirmative, then processing ends.
[0087] Figure 3 illustrates a computer network 300, into which embodiments of the invention may be implemented. The computer network 300 includes a system computer 330, which may be implemented as any conventional personal computer or workstation, such as a UNIX-based workstation. The system computer 330 is in communication with disk storage devices 329, 331, and 333, which may be external hard disk storage devices. It is contemplated that disk storage devices 329, 331, and 333 are conventional hard disk drives, and as such, will be implemented by way of a local area network or by remote access. Of course, while disk storage devices 329, 331, and 333 are illustrated as separate devices, a single disk storage device may be used to store any and all of the program instructions, measurement data, and results as desired.
[0088] In one embodiment, the input data are stored in disk storage device 331. The system computer 330 may retrieve the appropriate data from the disk storage device 331 to solve the implicit reservoir simulation matrix equation according to program instructions that correspond to the methods described herein. The program instructions may be written in a computer programming language, such as C++, Java and the like. The program instructions may be stored in a computer-readable memory, such as program disk storage device 333. Of course, the memory medium storing the program instructions may be of any conventional type used for the storage of computer programs, including hard disk drives, floppy disks, CD-ROMs and other optical media, magnetic tape, and the like.
[0089] According to a preferred embodiment, the system computer 330 presents output primarily onto graphics display 327, or alternatively via printer 328. The system computer 230 may store the results of the methods described above on disk storage 329, for later use and further analysis. The keyboard 326 and the pointing device (e.g., a mouse, trackball, or the like) 225 may be provided with the system computer 330 to enable interactive operation. [0090] The system computer 330 may be located at a data center remote from the reservoir. While Figure 3 illustrates the disk storage 331 as directly connected to the system computer 330, it is also contemplated that the disk storage device 331 may be accessible through a local area network or by remote access. Furthermore, while disk storage devices 329, 331 are illustrated as separate devices for storing input data and analysis results, the disk storage devices 329, 331 may be implemented within a single disk drive (either together with or separately from program disk storage device 333), or in any other conventional manner as will be fully understood by one of skill in the art having reference to this specification.

Claims

WHAT IS CLAIMED IS:
1. A method for solving a matrix equation AX=B, wherein A represents a block sparse matrix, B represents a right hand side block vector and X represents a solution block vector, the method comprising: receiving the block sparse matrix and the right hand side block vector; constructing a reduced transfonned block sparse matrix from the block sparse matrix; constructing a reduced fransformed residual block vector from the block sparse matrix and the right hand side block vector; wherein constructing the reduced transformed block sparse matrix comprises: assembling one or more coefficients of one or more mass change terms from a column of the block sparse matrix into a column matrix; performing a singular value decomposition on the column matrix to generate a left matrix, a diagonal matrix and a right matrix; and discarding one or more singular values that are less than a predetermined threshold value to generate a reduced diagonal matrix; and solving for the solution block vector using the reduced transformed block sparse matrix and the reduced transformed residual block vector.
2. The method of claim 1, wherein the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change terms and the one or more mass change terms, wherein the block sparse matrix contains one or more coefficients of the pressure change terms and the one or more coefficients of the mass change terms.
3. The method of claim 1, wherein constructing the reduced transformed block sparse matrix further comprises constructing a transformed block sparse matrix having the same block structure and submatrix form as the block sparse matrix.
4. The method of claim 1, wherein the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change terms and the one or more mass change terms, wherein the block sparse matrix contains one or more coefficients of the pressure change terms and the one or more coefficients of the mass change terms, and wherein the diagonal matrix comprises one or more singular values arranged in ascending order.
5. The method of claim 1 , wherein the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change terms and the one or more mass change terms, wherein the block sparse matrix contains one or more coefficients of the pressure change terms and the one or more coefficients of the mass change terms, and wherein constructing the reduced transformed block sparse matrix comprises multiplying the left matrix by the reduced diagonal matrix to generate a temporary column matrix.
6. The method of claim 1, wherein the matrix equation represents a system of fluid flow equations in one or more dimensions having one or more pressure change terms and the one or more mass change terms, wherein the block sparse matrix contains one or more coefficients of the pressure change terms and the one or more coefficients of the mass change terms, and wherein constructing the reduced fransformed block sparse matrix comprises: multiplying the left matrix by the reduced diagonal matrix to generate a temporary column matrix having a plurality of mass change terms coefficients; and assembling the mass change terms coefficients of the temporary column matrix into one or more temporary mass change terms coefficient submatrices that correspond to the mass change terms coefficients of the column matrix.
7. The method of claim 6, wherein constructing the reduced transformed block sparse matrix comprises premultiplying each temporary mass change terms coefficient submatrix by the transpose of the right matrix to generate a transformed temporary mass change terms coefficient submatrix.
8. The method of claim 7, wherein constructing the reduced transformed block sparse matrix comprises premultiplying each subvector containing the pressure change terms coefficients in the block sparse matrix by the transpose of the right matrix to generate a transformed pressure change terms coefficients subvector.
9. The method of claim 8, wherein constructing the reduced transformed block sparse matrix comprises postmultiplying each fluid partial volumes subvector in the block sparse matrix by the right matrix to generate a transformed fluid partial volumes vector.
10. The method of claim 9, wherein constructing the reduced transformed block sparse matrix comprises constructing a transformed block sparse matrix from one or more of the fransformed temporary mass change terms coefficient submatrix, the transformed pressure change terms coefficients subvector and the transformed fluid partial volumes vector.
11. The method of claim 10, wherein constructing the reduced transformed block sparse matrix comprises eliminating one or more fransformed fluid partial volumes that correspond to the discarded singular values in the transformed block sparse matrix to generate the reduced transformed block sparse matrix.
12. The method of claim 1, wherein constructing the reduced transformed block sparse matrix comprises: determining a column matrix norm for the column matrix; skipping the singular value decomposition if the column matrix norm is equal to or less than the predetermined threshold value; setting the singular values to zero if the column matrix norm is equal to or less than the predetermined threshold value; and setting the right matrix to the identity matrix if the column matrix norm is equal to or less than the predetermined threshold value.
13. The method of claim 12, wherein determining the column matrix norm comprises calculating the Frobenius norm of the column matrix.
14. The method of claim 1, wherein the reduced transformed block sparse matrix comprises one or more reduced transformed diagonal submatrices and one or more reduced transformed off-diagonal submatrices, wherein each reduced transformed diagonal submatrix comprises mass change terms coefficients and pressure change terms coefficients only within the bottom r;+l rows and right most τy+1 columns of each transformed diagonal submatrix.
15. The method of claim 14, wherein each reduced transformed off-diagonal submatrix comprises mass change terms coefficients and pressure change terms coefficients only within the bottom r,+l rows and the right most r,+l columns of each transformed off-diagonal submatrix.
16. The method of claim 1 , wherein constructing the reduced transformed residual block vector comprises constructing a transformed residual block vector.
17. The method of claim 1, wherein constructing the transformed residual block vector comprises constructing a transformed residual block vector having a transformed mass balance residual subvector and a transformed volume constraint residual subvector.
18. The method of claim 1, wherein constructing the reduced transformed residual block vector comprises premultiplying a mass balance residual subvector by the transpose of the right matrix to generate a transformed mass balance residual subvector.
19. The method of claim 1, wherein solving for the solution block vector comprises solving for a reduced transformed solution change block vector using the reduced transformed block sparse matrix and the reduced transformed residual block vector.
20. The method of claim 1, wherein solving for the solution block vector comprises: solving for a reduced transformed solution change block vector using the reduced transformed block sparse matrix and the reduced transformed residual block vector; and converting the reduced fransformed solution change block vector to a solution change block vector.
21. The method of claim 1, wherein solving for the solution block vector comprises adding the solution change block vector to a current estimate of the solution block vector to update the solution block vector.
22. The method of claim 1, wherein solving for the solution block vector comprises: solving for a reduced transformed solution change block vector using the reduced transformed block sparse matrix and the reduced transformed residual block vector; and converting the reduced transformed solution change block vector to a solution change block vector having one or more changes in mass unknowns and one or more changes in pressure unknowns.
23. A method for solving a matrix equation AX=B, wherein A represents a block sparse matrix, B represents a right hand side block vector and X represents a solution block vector, the method comprising: constructing a reduced transformed block sparse matrix from the block sparse matrix; constructing a reduced transformed residual block vector from the block sparse matrix and the right hand side block vector; solving for a reduced transformed solution change block vector using the reduced transformed block sparse matrix and the reduced transformed residual block vector; converting the reduced transformed solution change block vector to a solution change block vector having one or more changes in mass unknowns and one or more changes in pressure unknowns; and adding the solution change block vector to a current estimate of the solution block vector to update the solution block vector.
24. A method for solving a matrix equation AX=B, wherein A represents a block sparse matrix, B represents a first block vector and X represents a solution block vector, the method comprising: receiving the block sparse matrix and the first block vector; constructing a reduced transformed block sparse matrix from the block sparse matrix; constructing a reduced transformed residual block vector from the block sparse matrix and the first block vector; wherein constructing the reduced transformed block sparse matrix comprises: assembling at least one coefficient associated with the at least one mass change term from a column of the block sparse matrix into a column matrix; performing a singular value decomposition on the column matrix to generate a first matrix, a second matrix and a third matrix; and discarding each singular value less than a predetermined threshold value to generate a reduced diagonal matrix; and solving for the solution block vector using the reduced transformed block sparse matrix and the reduced fransformed residual block vector.
25. The method of claim 24, wherein the matrix equation represents fluid flow equations in a reservoir having at least one pressure change term and at least one mass change term, wherein the block sparse matrix has at least one coefficient associated with the at least one pressure change term and at least one coefficient associated with the at least one mass change term.
26. The method of claim 24, wherein constructing the reduced transformed block sparse matrix comprises: determining a column matrix norm for the column matrix; skipping the singular value decomposition if the column matrix norm is equal to or less than a predetermined threshold value; setting the singular values to zero if the column matrix norm is equal to or less than the predetermined threshold value; and setting the third matrix to the identity matrix if the column matrix norm is equal to or less than the predetermined matrix threshold.
27. The method of claim 26, wherein determining the column matrix norm comprises calculating the Frobenius norm of the column matrix.
PCT/US2005/012629 2004-06-07 2005-04-13 Method for solving implicit reservoir simulation matrix equation WO2005121840A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CA002569102A CA2569102A1 (en) 2004-06-07 2005-04-13 Method for solving implicit reservoir simulation matrix equation
US11/579,966 US7672818B2 (en) 2004-06-07 2005-04-13 Method for solving implicit reservoir simulation matrix equation
EP05735473A EP1759226A1 (en) 2004-06-07 2005-04-13 Method for solving implicit reservoir simulation matrix equation
NO20070090A NO20070090L (en) 2004-06-07 2007-01-05 Method of solving implicit reservoir simulation matrix equation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US57754104P 2004-06-07 2004-06-07
US60/577,541 2004-06-07

Publications (1)

Publication Number Publication Date
WO2005121840A1 true WO2005121840A1 (en) 2005-12-22

Family

ID=34956168

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2005/012629 WO2005121840A1 (en) 2004-06-07 2005-04-13 Method for solving implicit reservoir simulation matrix equation

Country Status (6)

Country Link
US (1) US7672818B2 (en)
EP (1) EP1759226A1 (en)
CN (1) CN100489558C (en)
CA (1) CA2569102A1 (en)
NO (1) NO20070090L (en)
WO (1) WO2005121840A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7932904B2 (en) 2007-06-01 2011-04-26 Branets Larisa V Generation of constrained voronoi grid in a plane
EP2599028A4 (en) * 2010-07-26 2017-10-04 Exxonmobil Upstream Research Company Method and system for parallel multilevel simulation
EP2377017A4 (en) * 2009-01-09 2018-05-16 Landmark Graphics Corporation Systems and methods for planning well locations with dynamic production criteria
CN110687605A (en) * 2019-09-30 2020-01-14 成都理工大学 Improved K-SVD algorithm-based algorithm analysis application in seismic signal processing

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100849328B1 (en) * 2005-11-22 2008-07-29 삼성전자주식회사 Apparatus and method for determining transmit/receive antenna in a communication system using multi antenna
DE102006022056A1 (en) * 2006-02-20 2007-08-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Device for determining spectral ratio between two signals with two spectrums, which depends on biological size, has computer for computation of wave ratio between spectral value of former spectrum
DE102006022055A1 (en) * 2006-02-20 2007-08-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Device for reducing noise component in time-discrete signal, has primary provisioning unit for provisioning time-discrete signal with noise component, where secondary provisioning device provisions primary time-discrete reference signal
DE102006022120A1 (en) * 2006-02-20 2007-09-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Spread spectrum method for the determination of vital parameters
US7668707B2 (en) * 2007-11-28 2010-02-23 Landmark Graphics Corporation Systems and methods for the determination of active constraints in a network using slack variables and plurality of slack variable multipliers
US8417497B2 (en) * 2008-01-18 2013-04-09 Westerngeco L.L.C. Updating a model of a subterranean structure using decomposition
US8204925B2 (en) * 2008-05-22 2012-06-19 National Instruments Corporation Controlling or analyzing a process by solving a system of linear equations in real-time
US8631057B2 (en) 2009-08-25 2014-01-14 International Business Machines Corporation Alignment of multiple liquid chromatography-mass spectrometry runs
US20110098996A1 (en) * 2009-10-26 2011-04-28 David Nichols Sifting Models of a Subsurface Structure
FR2963692A1 (en) * 2010-08-03 2012-02-10 Inst Nat Rech Inf Automat COMPUTER DEVICE FOR COMPUTER CALCULATION
GB2499768A (en) * 2010-12-13 2013-08-28 Chevron Usa Inc Improved constrained pressure residual preconditioner for efficient solution of the adjoint equation
US9489176B2 (en) 2011-09-15 2016-11-08 Exxonmobil Upstream Research Company Optimized matrix and vector operations in instruction limited algorithms that perform EOS calculations
CA2873406C (en) * 2012-05-30 2018-06-26 Landmark Graphics Corporation Oil or gas production using computer simulation of oil or gas fields and production facilities
US10077639B2 (en) 2012-06-15 2018-09-18 Landmark Graphics Corporation Methods and systems for non-physical attribute management in reservoir simulation
WO2015030837A1 (en) 2013-08-27 2015-03-05 Halliburton Energy Services, Inc. Simulating fluid leak-off and flow-back in a fractured subterranean
US10209402B2 (en) * 2013-12-10 2019-02-19 Schlumberger Technology Corporation Grid cell pinchout for reservoir simulation
CA2943970A1 (en) * 2014-04-30 2015-11-05 Landmark Graphics Corporation Forecasting production data for existing wells and new wells
GB2544179B (en) 2014-06-19 2020-12-30 Landmark Graphics Corp Multi-stage linear solution for implicit reservoir simulation
US20160202389A1 (en) * 2015-01-12 2016-07-14 Schlumberger Technology Corporation H-matrix preconditioner
US10242136B2 (en) 2015-05-20 2019-03-26 Saudi Arabian Oil Company Parallel solution for fully-coupled fully-implicit wellbore modeling in reservoir simulation
US10346507B2 (en) 2016-11-01 2019-07-09 Nvidia Corporation Symmetric block sparse matrix-vector multiplication
WO2018101913A1 (en) * 2016-11-29 2018-06-07 Halliburton Energy Services, Inc. Variable elimination to improve solver efficiency
NO344235B1 (en) 2018-01-05 2019-10-14 Roxar Software Solutions As Well flow simulation system
CN110632664B (en) * 2018-06-21 2021-06-25 中国石油化工股份有限公司 Oil-gas-containing prediction method and device based on multi-geophysical parameter correlation
US11461514B2 (en) * 2018-09-24 2022-10-04 Saudi Arabian Oil Company Reservoir simulation with pressure solver for non-diagonally dominant indefinite coefficient matrices

Family Cites Families (135)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3017934A (en) * 1955-09-30 1962-01-23 Shell Oil Co Casing support
FR1594818A (en) * 1968-11-21 1970-06-08
US3720066A (en) * 1969-11-20 1973-03-13 Metalliques Entrepr Cie Fse Installations for submarine work
US3702009A (en) * 1970-10-23 1972-10-31 Continental Oil Co Simulation of pressure behavior in petroleum reservoirs
US3785437A (en) * 1972-10-04 1974-01-15 Phillips Petroleum Co Method for controlling formation permeability
US3858401A (en) * 1973-11-30 1975-01-07 Regan Offshore Int Flotation means for subsea well riser
GB1519203A (en) * 1974-10-02 1978-07-26 Chevron Res Marine risers in offshore drilling
US3992889A (en) 1975-06-09 1976-11-23 Regan Offshore International, Inc. Flotation means for subsea well riser
US4176986A (en) 1977-11-03 1979-12-04 Exxon Production Research Company Subsea riser and flotation means therefor
US4210964A (en) * 1978-01-17 1980-07-01 Shell Oil Company Dynamic visual display of reservoir simulator results
US4154300A (en) * 1978-04-12 1979-05-15 Phillips Petroleum Company Method of locating extrema in multicomponent three phase systems
US4633446A (en) 1979-04-13 1986-12-30 Dresser Industries, Inc. Scrolling well logging data display method and apparatus
CA1136545A (en) 1979-09-28 1982-11-30 Neville E. Hale Buoyancy system for large scale underwater risers
FR2466606A1 (en) * 1979-10-05 1981-04-10 Aquitaine Canada PROCESS FOR INCREASING THE EXTRACTION OF PETROLEUM FROM A UNDERGROUND RESERVOIR BY GAS INJECTION
US4558438A (en) 1981-12-28 1985-12-10 Gulf Research & Development Company Method and apparatus for dynamically displaying geo-physical information
US4633447A (en) 1984-12-03 1986-12-30 Amoco Corporation Response waveform characterization of geophysical data
US4646840A (en) * 1985-05-02 1987-03-03 Cameron Iron Works, Inc. Flotation riser
US4821164A (en) * 1986-07-25 1989-04-11 Stratamodel, Inc. Process for three-dimensional mathematical modeling of underground geologic volumes
US4715444A (en) 1986-10-27 1987-12-29 Atlantic Richfield Company Method for recovery of hydrocarbons
US5265040A (en) 1987-08-28 1993-11-23 Hitachi, Ltd. Method and device for displaying information on simulation result in a numerical simulation system
JP2635617B2 (en) 1987-09-29 1997-07-30 株式会社東芝 Method of generating orthogonal lattice points for evaluating semiconductor device characteristics
US5684723A (en) 1987-11-16 1997-11-04 Fujitsu Limited Device simulation method and device simulator
US4918643A (en) * 1988-06-21 1990-04-17 At&T Bell Laboratories Method and apparatus for substantially improving the throughput of circuit simulators
US5058012A (en) * 1989-02-07 1991-10-15 Marathon Oil Company Method of extrapolating reservoir performance
FR2652180B1 (en) 1989-09-20 1991-12-27 Mallet Jean Laurent METHOD FOR MODELING A SURFACE AND DEVICE FOR IMPLEMENTING SAME.
US4969130A (en) 1989-09-29 1990-11-06 Scientific Software Intercomp, Inc. System for monitoring the changes in fluid content of a petroleum reservoir
US5202981A (en) * 1989-10-23 1993-04-13 International Business Machines Corporation Process and apparatus for manipulating a boundless data stream in an object oriented programming system
US5076357A (en) 1990-05-31 1991-12-31 Chevron Research & Technology Company Method of enhancing recovery of petroleum from an oil-bearing formation
IE69192B1 (en) * 1990-12-21 1996-08-21 Hitachi Europ Ltd A method of generating partial differential equations for simulation a simulation method and a method of generating simulation programs
US5305209A (en) * 1991-01-31 1994-04-19 Amoco Corporation Method for characterizing subterranean reservoirs
US5321612A (en) * 1991-02-26 1994-06-14 Swift Energy Company Method for exploring for hydrocarbons utilizing three dimensional modeling of thermal anomalies
US5466157A (en) 1991-06-12 1995-11-14 Atlantic Richfield Company Method of simulating a seismic survey
JP2956800B2 (en) * 1991-09-19 1999-10-04 株式会社日立製作所 Computer system for simultaneous linear equations
US5307445A (en) * 1991-12-02 1994-04-26 International Business Machines Corporation Query optimization by type lattices in object-oriented logic programs and deductive databases
US5794005A (en) * 1992-01-21 1998-08-11 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Synchronous parallel emulation and discrete event simulation system with self-contained simulation objects and active event objects
US5361385A (en) 1992-08-26 1994-11-01 Reuven Bakalash Parallel computing system for volumetric modeling, data processing and visualization
US5256171A (en) 1992-09-08 1993-10-26 Atlantic Richfield Company Slug flow mitigtion for production well fluid gathering system
US5913051A (en) * 1992-10-09 1999-06-15 Texas Instruments Incorporated Method of simultaneous simulation of a complex system comprised of objects having structure state and parameter information
EP0667972B1 (en) 1993-02-26 1996-11-06 Taligent, Inc. Collaborative work system
US5442569A (en) * 1993-06-23 1995-08-15 Oceanautes Inc. Method and apparatus for system characterization and analysis using finite element methods
WO1995003586A1 (en) * 1993-07-21 1995-02-02 Persistence Software, Inc. Method and apparatus for generation of code for mapping relational data to objects
US5428744A (en) * 1993-08-30 1995-06-27 Taligent, Inc. Object-oriented system for building a graphic image on a display
US5632336A (en) * 1994-07-28 1997-05-27 Texaco Inc. Method for improving injectivity of fluids in oil reservoirs
FR2725814B1 (en) * 1994-10-18 1997-01-24 Inst Francais Du Petrole METHOD FOR MAPPING BY INTERPOLATION, A NETWORK OF LINES, IN PARTICULAR THE CONFIGURATION OF GEOLOGICAL FAULTS
US5548798A (en) * 1994-11-10 1996-08-20 Intel Corporation Method and apparatus for solving dense systems of linear equations with an iterative method that employs partial multiplications using rank compressed SVD basis matrices of the partitioned submatrices of the coefficient matrix
US5980096A (en) 1995-01-17 1999-11-09 Intertech Ventures, Ltd. Computer-based system, methods and graphical interface for information storage, modeling and stimulation of complex systems
WO1996022574A1 (en) * 1995-01-20 1996-07-25 The Board Of Trustees Of The Leland Stanford Junior University System and method for simulating operation of biochemical systems
US5740342A (en) * 1995-04-05 1998-04-14 Western Atlas International, Inc. Method for generating a three-dimensional, locally-unstructured hybrid grid for sloping faults
FR2734069B1 (en) * 1995-05-12 1997-07-04 Inst Francais Du Petrole METHOD FOR PREDICTING, BY AN INVERSION TECHNIQUE, THE EVOLUTION OF THE PRODUCTION OF AN UNDERGROUND DEPOSIT
JPH08320947A (en) * 1995-05-25 1996-12-03 Matsushita Electric Ind Co Ltd Method and device for generating mesh for numerical analysis
US5539704A (en) * 1995-06-23 1996-07-23 Western Atlas International, Inc. Bayesian sequential Gaussian simulation of lithology with non-linear data
US5711373A (en) * 1995-06-23 1998-01-27 Exxon Production Research Company Method for recovering a hydrocarbon liquid from a subterranean formation
US6266708B1 (en) * 1995-07-21 2001-07-24 International Business Machines Corporation Object oriented application program development framework mechanism
US5629845A (en) * 1995-08-17 1997-05-13 Liniger; Werner Parallel computation of the response of a physical system
US5757663A (en) * 1995-09-26 1998-05-26 Atlantic Richfield Company Hydrocarbon reservoir connectivity tool using cells and pay indicators
US5710726A (en) * 1995-10-10 1998-01-20 Atlantic Richfield Company Semi-compositional simulation of hydrocarbon reservoirs
US5706897A (en) * 1995-11-29 1998-01-13 Deep Oil Technology, Incorporated Drilling, production, test, and oil storage caisson
FR2742794B1 (en) * 1995-12-22 1998-01-30 Inst Francais Du Petrole METHOD FOR MODELING THE EFFECTS OF WELL INTERACTIONS ON THE AQUEOUS FRACTION PRODUCED BY AN UNDERGROUND HYDROCARBON DEPOSIT
US6063128A (en) * 1996-03-06 2000-05-16 Bentley Systems, Incorporated Object-oriented computerized modeling system
US5838634A (en) 1996-04-04 1998-11-17 Exxon Production Research Company Method of generating 3-D geologic models incorporating geologic and geophysical constraints
FR2747490B1 (en) 1996-04-12 1998-05-22 Inst Francais Du Petrole METHOD FOR GENERATING A 3D MESH RESPECTING THE GEOMETRY OF A BODY, WITH THE PURPOSE OF REALIZING A REPRESENTATIVE MODEL OF THIS BODY
US5819068A (en) 1996-05-31 1998-10-06 United Defense, Lp Temporally driven simulation engine
US5886702A (en) * 1996-10-16 1999-03-23 Real-Time Geometry Corporation System and method for computer modeling of 3D objects or surfaces by mesh constructions having optimal quality characteristics and dynamic resolution capabilities
US5875285A (en) * 1996-11-22 1999-02-23 Chang; Hou-Mei Henry Object-oriented data mining and decision making system
US5905657A (en) * 1996-12-19 1999-05-18 Schlumberger Technology Corporation Performing geoscience interpretation with simulated data
US6128577A (en) 1996-12-19 2000-10-03 Schlumberger Technology Corporation Modeling geological structures and properties
US6219440B1 (en) * 1997-01-17 2001-04-17 The University Of Connecticut Method and apparatus for modeling cellular structure and function
US5835883A (en) 1997-01-31 1998-11-10 Phillips Petroleum Company Method for determining distribution of reservoir permeability, porosity and pseudo relative permeability
US5835882A (en) 1997-01-31 1998-11-10 Phillips Petroleum Company Method for determining barriers to reservoir flow
FR2759473B1 (en) * 1997-02-12 1999-03-05 Inst Francais Du Petrole METHOD FOR SIMPLIFYING THE REALIZATION OF A SIMULATION MODEL OF A PHYSICAL PROCESS IN A MATERIAL MEDIUM
US6052650A (en) * 1997-02-27 2000-04-18 Schlumberger Technology Corporation Enforcing consistency in geoscience models
US6018497A (en) * 1997-02-27 2000-01-25 Geoquest Method and apparatus for generating more accurate earth formation grid cell property information for use by a simulator to display more accurate simulation results of the formation near a wellbore
US6693553B1 (en) * 1997-06-02 2004-02-17 Schlumberger Technology Corporation Reservoir management system and method
US6106561A (en) * 1997-06-23 2000-08-22 Schlumberger Technology Corporation Simulation gridding method and apparatus including a structured areal gridder adapted for use by a reservoir simulator
FR2765708B1 (en) * 1997-07-04 1999-09-10 Inst Francais Du Petrole METHOD FOR DETERMINING LARGE-SCALE REPRESENTATIVE HYDRAULIC PARAMETERS OF A CRACKED MEDIUM
US6195092B1 (en) * 1997-07-15 2001-02-27 Schlumberger Technology Corporation Software utility for creating and editing a multidimensional oil-well log graphics presentation
US5923867A (en) * 1997-07-31 1999-07-13 Adaptec, Inc. Object oriented simulation modeling
US6064808A (en) * 1997-08-01 2000-05-16 Lucent Technologies Inc. Method and apparatus for designing interconnections and passive components in integrated circuits and equivalent structures by efficient parameter extraction
US6498989B1 (en) 1997-08-11 2002-12-24 Trans Seismic International, Inc. Method for predicting dynamic parameters of fluids in a subterranean reservoir
JP3050184B2 (en) * 1997-09-19 2000-06-12 日本電気株式会社 Tetrahedral lattice generation method and recording medium recording the program
US5864786A (en) * 1997-12-01 1999-01-26 Western Atlas International, Inc. Approximate solution of dense linear systems
US6236894B1 (en) * 1997-12-19 2001-05-22 Atlantic Richfield Company Petroleum production optimization utilizing adaptive network and genetic algorithm techniques
US5953239A (en) * 1997-12-29 1999-09-14 Exa Corporation Computer simulation of physical processes
US6101477A (en) * 1998-01-23 2000-08-08 American Express Travel Related Services Company, Inc. Methods and apparatus for a travel-related multi-function smartcard
US6052520A (en) * 1998-02-10 2000-04-18 Exxon Production Research Company Process for predicting behavior of a subterranean formation
WO1999057418A1 (en) 1998-05-04 1999-11-11 Schlumberger Evaluation & Production (Uk) Services Near wellbore modeling method and apparatus
US6453275B1 (en) * 1998-06-19 2002-09-17 Interuniversitair Micro-Elektronica Centrum (Imec Vzw) Method for locally refining a mesh
US6038197A (en) * 1998-07-14 2000-03-14 Western Atlas International, Inc. Efficient inversion of near singular geophysical signals
US6313837B1 (en) 1998-09-29 2001-11-06 Schlumberger Technology Corporation Modeling at more than one level of resolution
US6662146B1 (en) 1998-11-25 2003-12-09 Landmark Graphics Corporation Methods for performing reservoir simulation
US6108608A (en) * 1998-12-18 2000-08-22 Exxonmobil Upstream Research Company Method of estimating properties of a multi-component fluid using pseudocomponents
US6373489B1 (en) * 1999-01-12 2002-04-16 Schlumberger Technology Corporation Scalable visualization for interactive geometry modeling
US6201884B1 (en) * 1999-02-16 2001-03-13 Schlumberger Technology Corporation Apparatus and method for trend analysis in graphical information involving spatial data
US6810370B1 (en) 1999-03-31 2004-10-26 Exxonmobil Upstream Research Company Method for simulation characteristic of a physical system
US6665117B2 (en) 1999-05-06 2003-12-16 Conocophillips Company Method and apparatus for interactive curved surface borehole interpretation and visualization
US6230101B1 (en) * 1999-06-03 2001-05-08 Schlumberger Technology Corporation Simulation method and apparatus
US6826520B1 (en) 1999-06-24 2004-11-30 Exxonmobil Upstream Research Company Method of upscaling permeability for unstructured grids
US6266619B1 (en) * 1999-07-20 2001-07-24 Halliburton Energy Services, Inc. System and method for real time reservoir management
US6853921B2 (en) * 1999-07-20 2005-02-08 Halliburton Energy Services, Inc. System and method for real time reservoir management
US6549879B1 (en) * 1999-09-21 2003-04-15 Mobil Oil Corporation Determining optimal well locations from a 3D reservoir model
US6408249B1 (en) * 1999-09-28 2002-06-18 Exxonmobil Upstream Research Company Method for determining a property of a hydrocarbon-bearing formation
US7006959B1 (en) * 1999-10-12 2006-02-28 Exxonmobil Upstream Research Company Method and system for simulating a hydrocarbon-bearing formation
US6826483B1 (en) 1999-10-13 2004-11-30 The Trustees Of Columbia University In The City Of New York Petroleum reservoir simulation and characterization system and method
US6633837B1 (en) 1999-10-14 2003-10-14 Object Reservoir Method and system for generating software code using a symbolic language translator
US6480790B1 (en) 1999-10-29 2002-11-12 Exxonmobil Upstream Research Company Process for constructing three-dimensional geologic models having adjustable geologic interfaces
FR2801710B1 (en) * 1999-11-29 2002-05-03 Inst Francais Du Petrole METHOD FOR GENERATING A HYBRID MESH FOR MODELING A HETEROGENEOUS FORMATION CROSSED BY ONE OR MORE WELLS
US6928399B1 (en) * 1999-12-03 2005-08-09 Exxonmobil Upstream Research Company Method and program for simulating a physical system using object-oriented programming
FR2802324B1 (en) * 1999-12-10 2004-07-23 Inst Francais Du Petrole METHOD FOR GENERATING A MESH ON A HETEROGENEOUS FORMATION CROSSED BY ONE OR MORE GEOMETRIC DISCONTINUITIES FOR THE PURPOSE OF MAKING SIMULATIONS
US6305216B1 (en) 1999-12-21 2001-10-23 Production Testing Services Method and apparatus for predicting the fluid characteristics in a well hole
US6370491B1 (en) * 2000-04-04 2002-04-09 Conoco, Inc. Method of modeling of faulting and fracturing in the earth
NO309884B1 (en) 2000-04-26 2001-04-09 Sinvent As Reservoir monitoring using chemically intelligent release of tracers
FR2809494B1 (en) * 2000-05-26 2002-07-12 Inst Francais Du Petrole METHOD FOR MODELING FLOWS IN A FRACTURE MEDIUM CROSSED BY LARGE FRACTURES
US7369973B2 (en) * 2000-06-29 2008-05-06 Object Reservoir, Inc. Method and system for representing reservoir systems
US7006951B2 (en) * 2000-06-29 2006-02-28 Object Reservoir, Inc. Method for solving finite element models using time slabbing
US6801197B2 (en) 2000-09-08 2004-10-05 Landmark Graphics Corporation System and method for attaching drilling information to three-dimensional visualizations of earth models
US20080097730A1 (en) * 2000-09-29 2008-04-24 Canning Francis X Sparse and efficient block factorization for interaction data
US6631202B2 (en) 2000-12-08 2003-10-07 Landmark Graphics Corporation Method for aligning a lattice of points in response to features in a digital image
US7761270B2 (en) 2000-12-29 2010-07-20 Exxonmobil Upstream Research Co. Computer system and method having a facility management logic architecture
US7277836B2 (en) 2000-12-29 2007-10-02 Exxonmobil Upstream Research Company Computer system and method having a facility network architecture
FR2823877B1 (en) 2001-04-19 2004-12-24 Inst Francais Du Petrole METHOD FOR CONSTRAINING BY DYNAMIC PRODUCTION DATA A FINE MODEL REPRESENTATIVE OF THE DISTRIBUTION IN THE DEPOSIT OF A CHARACTERISTIC PHYSICAL SIZE OF THE BASEMENT STRUCTURE
WO2002086277A2 (en) * 2001-04-24 2002-10-31 Exxonmobil Upstream Research Company Method for enhancing production allocation in an integrated reservoir and surface flow system
US6989841B2 (en) * 2001-05-29 2006-01-24 Fairfield Industries, Inc. Visualization method for the analysis of prestack and poststack seismic data
US6694264B2 (en) * 2001-12-19 2004-02-17 Earth Science Associates, Inc. Method and system for creating irregular three-dimensional polygonal volume models in a three-dimensional geographic information system
FR2837572B1 (en) * 2002-03-20 2004-05-28 Inst Francais Du Petrole METHOD FOR MODELING HYDROCARBON PRODUCTION FROM A SUBTERRANEAN DEPOSITION SUBJECT TO DEPLETION
US7295706B2 (en) 2002-07-12 2007-11-13 Chroma Group, Inc. Pattern recognition applied to graphic imaging
US6823297B2 (en) * 2003-03-06 2004-11-23 Chevron U.S.A. Inc. Multi-scale finite-volume method for use in subsurface flow simulation
FR2853101B1 (en) 2003-03-28 2005-05-06 Inst Francais Du Petrole METHOD OF PSEUDOIZATION AND DECLINE TO DESCRIBE HYDROCARBON FLUIDS
CN100590637C (en) * 2003-09-30 2010-02-17 埃克森美孚上游研究公司 Characterizing connectivity in reservoir models using paths of least resistance
US20050165555A1 (en) * 2004-01-13 2005-07-28 Baker Hughes Incorporated 3-D visualized data set for all types of reservoir data
FR2869116B1 (en) 2004-04-14 2006-06-09 Inst Francais Du Petrole METHOD FOR CONSTRUCTING A GEOMECHANICAL MODEL OF A SUBTERRANEAN ZONE FOR TORQUE TO A RESERVOIR MODEL
FR2870621B1 (en) 2004-05-21 2006-10-27 Inst Francais Du Petrole METHOD FOR GENERATING A THREE-DIMENSIONALLY THREADED HYBRID MESH OF A HETEROGENEOUS FORMATION CROSSED BY ONE OR MORE GEOMETRIC DISCONTINUITIES FOR THE PURPOSE OF MAKING SIMULATIONS
US20080167849A1 (en) * 2004-06-07 2008-07-10 Brigham Young University Reservoir Simulation
US7526418B2 (en) * 2004-08-12 2009-04-28 Saudi Arabian Oil Company Highly-parallel, implicit compositional reservoir simulator for multi-million-cell models
FR2874706B1 (en) * 2004-08-30 2006-12-01 Inst Francais Du Petrole METHOD OF MODELING THE PRODUCTION OF A PETROLEUM DEPOSITION
FR2875305B1 (en) 2004-09-16 2006-10-27 Inst Francais Du Petrole METHOD FOR GENERATING A RESERVOIR MODEL ON FLEXIBLE MESH

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
No relevant documents disclosed *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7932904B2 (en) 2007-06-01 2011-04-26 Branets Larisa V Generation of constrained voronoi grid in a plane
US8212814B2 (en) 2007-06-01 2012-07-03 Exxonmobil Upstream Research Company Generation of constrained Voronoi grid in a plane
EP2377017A4 (en) * 2009-01-09 2018-05-16 Landmark Graphics Corporation Systems and methods for planning well locations with dynamic production criteria
US10060245B2 (en) 2009-01-09 2018-08-28 Halliburton Energy Services, Inc. Systems and methods for planning well locations with dynamic production criteria
EP2599028A4 (en) * 2010-07-26 2017-10-04 Exxonmobil Upstream Research Company Method and system for parallel multilevel simulation
CN110687605A (en) * 2019-09-30 2020-01-14 成都理工大学 Improved K-SVD algorithm-based algorithm analysis application in seismic signal processing

Also Published As

Publication number Publication date
US7672818B2 (en) 2010-03-02
NO20070090L (en) 2007-03-06
EP1759226A1 (en) 2007-03-07
CA2569102A1 (en) 2005-12-22
US20070255779A1 (en) 2007-11-01
CN100489558C (en) 2009-05-20
CN1965248A (en) 2007-05-16

Similar Documents

Publication Publication Date Title
US7672818B2 (en) Method for solving implicit reservoir simulation matrix equation
US6662146B1 (en) Methods for performing reservoir simulation
US10769326B2 (en) Parallel solution for fully-coupled fully-implicit wellbore modeling in reservoir simulation
US10126465B2 (en) Sequential fully implicit well modeling of transmissibility for reservoir simulation
Wang et al. Development of an empirical model relating permeability and specific stiffness for rough fractures from numerical deformation experiments
EP2673465B1 (en) Seismic-scale reservoir simulation of giant subsurface reservoirs using gpu-accelerated linear equation systems
Kozlova et al. A real-field multiscale black-oil reservoir simulator
EP1825411B1 (en) Finite volume method for coupled stress/fluid flow in a reservoir simulator
EP2599023B1 (en) Methods and systems for machine-learning based simulation of flow
EP1714230B1 (en) Reservoir model building methods
CN103003718B (en) For being modeled to the yield simulation device in stand oil gas field
US10534877B2 (en) Adaptive multiscale multi-fidelity reservoir simulation
US20130096899A1 (en) Methods And Systems For Machine - Learning Based Simulation of Flow
US20130096900A1 (en) Methods and Systems For Machine - Learning Based Simulation of Flow
US20130096898A1 (en) Methods and Systems For Machine - Learning Based Simulation of Flow
WO2000075854A1 (en) An improved simulation method and apparatus
Pasetto et al. A reduced‐order model for groundwater flow equation with random hydraulic conductivity: Application to Monte Carlo methods
He Reduced-order modeling for oil-water and compositional systems, with application to data assimilation and production optimization
Watts Reservoir simulation: past, present, and future
Seales Multiphase flow in highly fractured shale gas reservoirs: Review of fundamental concepts for numerical simulation
EP3857022B1 (en) Reservoir simulation with pressure solver for non-diagonally dominant indefinite coefficient matrices
Omosebi et al. Development of lean, efficient, and fast physics-framed deep-learning-based proxy models for subsurface carbon storage
Nardean et al. A block preconditioner for two‐phase flow in porous media by mixed hybrid finite elements
Blanc et al. Memoir 71, Chapter 11: Transient Productivity Index for Numerical Well Test Simulations
Jang et al. Stochastic optimization for global minimization and geostatistical calibration

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DPE2 Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 11579966

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 7066/DELNP/2006

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 2569102

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 200580018619.4

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Ref document number: DE

WWE Wipo information: entry into national phase

Ref document number: 2005735473

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2005735473

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 11579966

Country of ref document: US