Efficiency of D4 Gaussian Elimination on a Vector Computer

1985 ◽  
Vol 25 (01) ◽  
pp. 121-124 ◽  
Author(s):  
James C. Stringer ◽  
L. Kent Thomas ◽  
Ray G. Pierson

Abstract The efficiency of D4 Gaussian elimination on a vector computer, the Cray- 1/S, it examined. The algorithm used in this work is employed routinely in Phillips Petroleum Co. reservoir simulation models. Comparisons of scalar Phillips Petroleum Co. reservoir simulation models. Comparisons of scalar and vector Cray-1/S times are given for various example cases including multiple unknowns per gridblock. Vectorization of the program on the Cray- 1/S is discussed. Introduction In reservoir simulation, the solution of large systems of linear equations accounts for a substantial percentage of the computation time. Methods used today consist of both iterative and direct solution algorithms. Because of the theoretical savings in both storage and computing labor, D4 Gaussian elimination is a popular direct solution algorithm and is used widely on conventional scalar computers. In this paper we investigate the efficiency of the D4 algorithm on a computer with vector processing capabilities-the Cray-1/S. The D4 (or alternate diagonal) algorithm originally was presented by Price and Coats in 1973. Since that time much work has been done on the Price and Coats in 1973. Since that time much work has been done on the algorithm including an investigation by Nolen on the vector performance of D4 on the CDC Star 100 and Cyber 203 on single-unknown-per-gridblock example cases. Levesque has presented a comparison of the Cray-1 and Cyber 205 in reservoir simulation that includes the D4 algorithm. Vector performance of the Cray-1 on linear algebra kernels, both sparse and dense, performance of the Cray-1 on linear algebra kernels, both sparse and dense, also has been reported. Vector performance on these kernels typically is expressed in terms of million floating point operations per second (MFLOPS). Our objective here is to evaluate vector performance on a typical production code written in FORTRAN for a scalar computer. Therefore, performance, or efficiency, will be evaluated in terms of both scalar and vector CPU times on the Cray-1/S. We include vector performance on the original code with automatic vectorization enabled, and vector performance on the same code with minor restructuring, automatic performance on the same code with minor restructuring, automatic vectorization enabled, and the use of Cray assembly language (CAL) basic linear algebra kernels. Example cases for multiple unknowns per gridblock are presented. Reservoir Flow Equations The reservoir flow equations written using a seven-point finite difference formulation can be expressed as ...........................(1) where the terms A, B... G are matrices of order N equal to the number of unknowns per gridblock. represents the vector of unknowns at cell i, j, k, and H is the vector of residuals of the flow equations at cell i, j, k at iteration . Values of N from 1 to 10 typically are encountered depending on the type of simulator and the degree of implicitness used. For example, N is equal to one for an implicit pressure, explicit saturation (IMPES) black-oil model; three for a fully implicit black-oil model; five for an implicit three-component steamflood model and usually 10 or less for an implicit compositional model. Driver Program To facilitate timing studies in this work, a driver program was written to calculate coefficients for the D4 Gaussian elimination routine. Input to the program consists of grid dimensions and the number of unknowns per gridblock. All elements of the off-diagonal matrices (A, C, D... G) were set equal to 1. To guarantee a nonsingular solution, the B matrix was set equal to -5 for one unknown and as below for N unknowns. ............................(2) Right-side coefficients, H, were calculated by assuming a unit solution for . No-flow boundary conditions were used, which require specific matrices, such as A for I = 1 and C for I = NX, to be set equal to zero. Description of Hardware and Software All run times reported in this work were obtained on the Cray-1/S, Serial No. 23, at United Computing Systems in Kansas City, MO. Serial No. 23 contains 1 million 64-bit words of central memory interleaved in 16 memory banks and no input/output (I/O) subsystems. The FORTRAN compiler used was CFT 1.09. CPU times were obtained by calling SECOND, a FORTRAN-callable utility routine that returns CPU time since the start of the job in FPS'S. CPU overhead incurred for each call to SECOND is approximately 2.5 microseconds. For all reported Cray-1/S times, "vector" refers to the original FORTRAN code run with automatic vectorization enabled, which is the normal operating mode. SPEJ p. 121

2018 ◽  
Vol 141 (3) ◽  
Author(s):  
Xinqian Lu ◽  
Xiang Zhou ◽  
Jianxin Luo ◽  
Fanhua Zeng ◽  
Xiaolong Peng

In our previous study, a series of experiments had been conducted by applying different pressure depletion rates in a 1 m long sand-pack. In this study, numerical simulation models are built to simulate the lab tests, for both gas/oil production data and pressure distribution along the sand-pack in heavy oil/methane system. Two different simulation models are used: (1) equilibrium black oil model with two sets of gas/oil relative permeability curves; (2) a four-component nonequilibrium kinetic model. Good matching results on production data are obtained by applying black oil model. However, this black oil model cannot be used to match pressure distribution along the sand-pack. This result suggests the description of foamy oil behavior by applying equilibrium black oil model is incomplete. For better characterization, a four-component nonequilibrium kinetic model is developed aiming to match production data and pressure distribution simultaneously. Two reactions are applied in the simulation to capture gas bubbles status. Good matching results for production data and pressure distribution are simultaneously obtained by considering low gas relative permeability and kinetic reactions. Simulation studies indicate that higher pressure drop rate would cause stronger foamy oil flow, but the exceed pressure drop rate could shorten lifetime of foamy oil flow. This work is the first study to match production data and pressure distribution and provides a methodology to characterize foamy oil flow behavior in porous media for a heavy oil/methane system.


Author(s):  
Akinsete O. Oluwatoyin ◽  
Anuka A. Agnes

Pressure depletion in gas-condensate reservoirs create two-phase flow. It is pertinent to understand the behavior of gas-condensate reservoirs as pressure decline in order to develop proper producing strategies that would increase gas and condensate productivity. Eclipse 300 was used to simulate gas-condensate reservoirs, a base case model was created using both black-oil and compositional models. The effects of three Equation of States (EOS) incorporated into the models were analysed and condensate dropout effect on relative permeability was studied. Analysis of various case models showed that, gas production was maintained at 500MMSCF/D for about 18 and 12 months for black-oil and compositional models, respectively. However, the compositional model revealed that condensate production began after a period of two months at 50MSTB/D whereas for the black oil model, condensate production began immediately at 32MSTB/D. Comparison of Peng-Robinson EOS, Soave-Redlich-Kwong EOS and Schmidt Wenzel EOS gave total estimates of condensate production as 19MMSTB, 15MMSTB and 9MMSTB and initial values of gas productivity index as 320, 380 and 560, respectively. The results also showed that as condensate saturation increased, the relative permeability of gas decreased from 1 to 0 while the relative permeability of oil increased from 0.15 to 0.85. The reservoir simulation results showed that compositional model is better than black-oil model in modelling for gas-condensate reservoirs. Optimal production was obtained using 3-parameter Peng-Robinson and Soave-Redlich-Kwong EOS which provide a molar volume shift to prevent an underestimation of liquid density and saturations. Phase behaviour and relative permeability affect the behaviour of gas-condensate reservoirs.


1985 ◽  
Vol 25 (06) ◽  
pp. 893-901 ◽  
Author(s):  
S.H. Leventhal ◽  
M.H. Klein ◽  
W.E. Culham

Abstract This paper presents a set of curvilinear coordinate transformations that lead to no mixed derivative terms in transformed flow equations. The transformations are created by examining the transformed flow equations and by showing that the mixed derivative terms are zero if the transformation satisfies a system of differential equations that depend on the geometry and rock property distribution within the reservoir. Numerical examples with a black-oil simulator are presented to show the increased accuracy resulting from the use of the curvilinear coordinate system and the importance of eliminating the mixed derivative terms. Introduction The accurate and efficient simulation of fluid flow in a reservoir is highly dependent on the choice of the mesh upon which discrete flow equations are to be solved. In many situations, a simulation conducted on a curvilinear coordinate system is advantageous. Many authors have reported on the advantages of solving reservoir simulation problems with a curvilinear coordinate system. problems with a curvilinear coordinate system. These advantages include the elimination of grid-orientation effects, improved modeling of reservoir geometries, and reductions in CPU time. Solving a problem on a curvilinear coordinate grid system is equivalent to transforming the reservoir into a rectangle and then solving the transformed problem on the rectangle. The transformed reservoir flow equations, however, will generally contain mixed derivative terms. In turn, these terms can alter the structure of the matrix that results from discretizing the flow equations. If the structure of the coefficient matrix is altered, the efficient solvers designed for use in reservoir simulation cannot be used without major modifications. One method for eliminating the mixed derivative terms is to use an orthogonal coordinate system. This system, however, does not eliminate the mixed derivative terms for an anisotropic permeability distribution. Several authors claim that the mixed derivative terms are small and, therefore, may be neglected. This is not the case, however, with large anisotropies. To maintain the inherent advantage of the curvilinear coordinate system, we found it necessary to minimize the effect of the mixed derivatives. This paper presents a class of curvilinear coordinate transformations that lead to no mixed derivative terms. The transformations maintain the advantages of a curvilinear coordinate grid system while avoiding the use of mixed derivative terms. The transformations are generated by examining the transformed flow equations and by showing that the mixed derivative terms are zero if the transformations satisfy a system of differential equations. These equations are based on the geometry and rock property distribution within the reservoir. The resulting system of differential equations is solved by a finite-element method (FEM) developed by Aziz and Leventhal. We begin with the derivation of the curvilinear coordinate transformation and how the mixed derivative terms are eliminated. The FEM is outlined briefly, followed by a description of the inverse transformation used to construct the curvilinear grid. Numerical examples with a black-oil simulator are presented to show the increased accuracy resulting from the use of the curvilinear coordinate system, the importance of accurately representing the reservoir geometry, and the importance of eliminating the mixed derivative terms. Mathematical Formulation The scope of this study is limited to two-dimensional (2D) reservoir flow problems. The transformations developed are applicable to complex transient and multiphase problems. However, it is sufficient to consider the model for the flow equations given in Eq. 1. .......(1) (See Appendix for more details.) It is assumed that the reservoir is banded by four curves, as shown in Fig. 1. The top and bottom curves represented by f1 and f2 are functions of x, while the sides, g1 and g2, are functions of y. The coordinates of the four corner points, c1, c2, c3, and c4, are (x1, y1), (x2, y2), (x3, y3), and (x4, y4), respectively. SPEJ p. 893


Author(s):  
Klaus Rollmann ◽  
Aurea Soriano-Vargas ◽  
Forlan Almeida ◽  
Alessandra Davolio ◽  
Denis Jose Schiozer ◽  
...  

Sign in / Sign up

Export Citation Format

Share Document