BOAST-VHS Simulator Manual
BOAST-VHS Simulator Manual
BOAST-VHS Simulator Manual
By
Ming-Ming Chang
Partha Sarathi
Raymond J. Heemstra
Aaron M. Cheng
James F. Pautz
January 1992
Prepared for
U.S. Department of Energy
Assistant Secretary for Fossil Energy
Prepared by
IIT Research Institute
National Institute for Petroleum and Energy Research
P. O. Box 2128
Bartlesville, Oklahoma 74005
_.:q
TABLE OF CONTEN'FS
SECTION PAGE
ABSTRACT ............................................................................................... 1
I. INTRODUCTION ..................................................................................... 1
1.1 Background ................................................................................... 1
1.2 Mechanics of simulation .................................................................... 2
1.3 Black oil simulators .......................................................................... 2
iii
TABLE OF CONTENTS - Continued
SECTION PAGE
X. References .......................................................................................... 63
iv
TABLES
pA(_E
ILLUSTRATIONS
FIGURE
!. Example of three continuous shale streaks across three interfaces ................... 27
2. Example of broken (discontinuous shale streaks along three interfaces ............. 28
3. Side view of grid to show angle theta .................................................... 49
4. Top view of grid to show angle alpha .................................................... 50
5. Side view to show a slanted wellbore position in x-z axis ............................ 51
USER'S GUIDE AND DOCUMENTATION MANUAL FOR
BOAST-VHS FOR THE PC
ABSTRACT
BOAST-VHS is a cost-effective and easy-to-use reservoir simulation tool for the study of
oil production from primary depletion and waterflooding in a black oil reservoir. The well model
in BOAST-VHS permits specification of any combination of horizontal, slanted, and vertical
wells in the reservoir. BOAST-VHS was designed for an IBM PC/AT, PS-2, or compatible
computer with 640 K bytes of memory. BOAST-VHS can be used to model a three-dimensional
reservoir of up to 810 grid blocks with any combination of rows, columns, and layers, depending
on the input data supplied. This dynamic redimensioning feature facilitates simulation work by
avoiding the need to recompiling the simulator for different reservoir models. Therefore the
program is only supplied as executable code without any source code.
The manual starts with a general background of reservoir simulation in Section I and
continues with the mechanism, capabilities and limitations of BOAST-VHS in Section III. System
requirements for the PC and step-by-step procedures for running this simulator are explained in
Section IV. This is followed by explanations for preparing an ivput data file with reservoir data in
Section V and recurrent data in Section VI. Example data inputs are enclosed after explanations of
each input line to help the user prepare his or her data files. Major items of the output files are
reviewed in Section VII. Section VIII guides the user in planning a typical simulation run.
Finally, three sample p:'oblems for running BOAST-VHS are described in Section IX and input
files and part of output liles of these problems are listed in the appendix.
I. INTRODUCTION
1.1 BackgroljnO
Reservoir studies are performed to predict the future performance of a reservoir based on its
current state and past performance and to explore methods for increasing the ultimate recovery of
hydrocarbons from a reservoir. Reservoir simulators are routinely used for these purposes. A
reservoir simulator is a sophisticated computer program which solves a system of partial
differential equations describing multiphase fluid flow (oil, water, gas) in a porous reservoir rock.
Simulators can be classified according to the systems they are able to simulate;
1. Number of phases and components in the reservoir modelled by the simulator.
2. Type of reservoir process to be modelled.
3. The direction(s) of fluid flow to be modelled.
4. Formulation to be used to solve the flow equations.
According to the number of phases, a reservoir simulator can be a one-, two-, or three-phase
model (gas, oil and/or water) and the number of components could vary from 1 to N.. According
to the type of process, a reservoir simulator can be classified as a black oil, compositional, or
enhanced oil recovery (EOR) simulator. According to the direction of fluid flow, a reservoir
simulator can be one-, two-, or three-dimensional. According to the formulation, a reservoir
simulator can be an IMPES (implicit in pressure - explicit in saturation) model, a fully implicit
model, or an adaptively implicit model.
The reservoir is first divided into segments, or blocks, using X, Y, and Z axes. Rock and
fluid properties are then assigned to each block to describe the reservoir system. Computations are
carried out for ali phases in each block at discrete time steps. The results, or output, usually
consist of production volumes and rates, pressure and saturation distributions, material balance
errors, and other process specific information provided at selected time steps.
The most routinely used type of reservoir simulator is the "black oil simulator." Black oil
simulators describe multiphase flow in porous media without considering the composition of the
hydrocarbon fluid. They assume that the liquid hydrocarbon phase consists of only two
c._,tnponents: oil ancl gas in solution. The gas phase consists of only free hydrocarbon gas. Mass
transfer of oil components from the liquid to the gas phase is not considered. Phase behavior is
represented by formation volume factor and gas/oil ratio curves.
The _eservoir fluid approximations are found to be acceptable for a large percentage of the
world's oil reservoirs. Thus, black oil simulators have a wide range of applicability and are
routinely used for solving field production problems. Example applications include: aquifer
behavior, up-dip gas injection, flank water injection, vertical water influx, vertical equilibrium,
single well operations, _,imulation of large multi-well structures, reservoir cross sectional analysis,
gravity segregation effects, heterogeneity effects, simulation of large reservoirs of several non-
communicating producing horizons, multiple completions with or without commingled production,
stratified flow patterns, and analysis of migration across lease lines.
Although black oil simulators are well suited for studies of numerous problems, they do have
some limitations in their scope of applications. They cannot be used to study cases where mass
transfer between phases is important. For example, black oil simulators cannot be used to study
problems associated with gas condensate and volatile oil reservoirs. In these reservoirs, the
composition and physical properties of the phases change with pressure. Similarly black oil
simulators cannot be used to simulate EOR processes, such as thermal (steam and in situ
combustion), chemical (surfactant and polymer), hydrocarbon miscible, and CO2 flooding.
II. ACKNOWLEDGMENTS
The authors wish express their appreciation to David Terhune for his review of the model
and the test problems. We also express our appreciation to Edna Hatcher and Bill Linville for
assisting in prepm ation and editing of the manual.
III. BOAST-VHS
3.1 Model Ov_,rvi_w
BOAST-VHS employs the implicit pressure - explicit saturation (IMPES) formulation for
solving its system of finite-difference equations. The IMPES method finds the pressure
distribution for a given time step first, then the saturation distribution for the same time step. The
IMPES formulation is straightforward, requires less arithmetic per time step, and hence is faster
than other formulations. Further, the IMPES formulation requires less storage than a fully implicit
formulation. This permits the simulation of larger problems on a small computer such as a
microcomputer.
Because of the explicit treatment of saturation in the IMPES method, the solution obtained by
use of this method may not be st,.,ble for some cases. This is especia_!y true for cases where rapid
changes in saturation result from high flux rates or the use of small grid blocks. In such cases, the
stability can be restored by reducing the time step size drastically. This then can cause computing
time requirements to become excessive. Since near-wellbore coning problems result in rapid
saturation changes, models based on IMPES formulations are unsuitable for the study of such
problems. Therefore, BOAST-VHS is not recommended for use in simulating single-well coning
phenomena.
The well model in BOAST-VHS permits specification of rate or pressure constraints on well
performance. The model also allows the user to add or recomplete wells during the period
represented by the simulation. Several other features are included in the model, such as flexible
initialization capabilities, a bubble point pressure tracking scheme, an automatic time step control
method, a zero transmissibility option (inactive grid blocks), and a material balance check on
solution stability.
The program permits the inpnt of ali data using the field-free format. The term "field-free
format" as applied to BOAST-VHS means that an item of data need not appear in a particular
location on a data input line. One restriction is that the values must be entered in a specific
sequence although they are not confined to specific locations, The main advantage of format free
data entry is that it simplifies the preparation, review, and visual checking of the data, thus
minimizing input errors. A "key word" convention is not used.
One useful feature of BOAST-VHS is dynamic redimensioning of the rows, columns, and
layers in defining the grid block model. This feature allows the program operator to change the
grid dimensions using the data input file instead of rewriting the computer code as required in the
original BOAST program.
Another feature permits the user to stop the program, modify the data file, and then rcstart the
simulation run. This feature can be useful to reduce the computing time for a study that determines
the best operating conditions for a reservoir.
The purpose of the dynamic redimensioning is to allow the operator of the program to set the
grid block number in three-dimensional simulation using the data input file. This allows the user to
tailor the simulation to the level of data available and his specific requirements. The more grid
blocks in a simulation the more accurate the represe_,tation of the reservoir and therefore the better
the prediction of reservoir performance. However, the larger the number of grid blocks, the more
time required for the computer to complete the simulation.
Dynamic redimensioning is the ability of the program to adjust the three-dimensional grid
blocks of the reservoir arrays. The main program has an array with non-adjustable bounds that can
call a subroutine with a reservoir array having adjustable dimensions. This allows variables st,_h
as pressure, fluid saturation, porosity, and penneability to be passed to the subroutine as
argm rants for each grid block. The size and bounds or this reservoir array are determined by the
set of arguments also passed to the subroutine and are controlled ftore the input file. As many as
810 grid blocks can be simulated in any combination of rows, columns, and layers, depending on
tile input data supplied. For example, the input data could require a 28 by 28 grid with 1 layer or a
20 by 20 grid with 2 layers, and so on. The product of the three dimensions can be any value up
to the limit of 810. This limit is imposed by the 640 kilobyte limitation inherent in Microsoft TM
DOS for Intel TMcomputer processing chips used in IBM-ATBBM-compatible personal computers.
An important additional program feature to BOAST is the restart capability after a normal
reservoir simulation run. The program can be instructed to run a simulation for a given time period
and then, after nomaal termination, be restarted from that point in time with a new set of operating
conditions. This feature is activated by entering the flag for restart in the initial input data file.
This flag will cause the program to generate a restart file that ends "RST". This new restart data
file needs to be modified to enter the new operating conditions for the time period from the end on
the first simulation until the new ending time. TMAX is reset to the duration of the combined
simulations - the initial simulation plus the period after restart. The restart file needs to be renamed
with an extension other than "RST" to avoid the new restart output file from overwriting the new
input file. If a new TMAX is not entered into the restart fi'2 with a text editor, the simulation will
not continue. Other data structures in t_e restart input file may need to be removed with tile editor
if the production/injection strategy needs to be changed from the previous simulation run. For
example, waterflood injection rate completed during the first simulation may need to be removed
before the restart begins if the injection plan varies with time. These changes usually occur in the
recurrent data records.
BOAST-VI-IS does have certain limitations which must be recognized to be able to use the
program effectively. The n_\jor limitation of BOAST-VFtS is that the program is not recommended
fc,r simulating• conin,,_ phenomena. Further, because of the memory limitations of a
microcomputer, this _;ir_t_latorca__n,,t bc u.,,edto perform very l_,:ge simulations. The program also
]., r;,)t recommended i'(_testimating lhc pcrfornmnce _)I"a reservc)ir under active waterdrive or for
.:_,+,delinggas production wells. "I'hc,,;clin_itati(ms are inhercnt in IMPt/.S solutions. BOAS'+" has
,.(,.)_cmathcn-mtic:_l i)_st,_bilitit:stl_at are sclf-corrccling, s() that cumulative productiot_s and average
i+._tl+)rt ratc_; atrc rcas()f'J;.tblyac_:ur:ttc. [Jt:fortunately, some of lhc it_,,tnt_tat_c(_usproduction
rates are not reasonable and can show sharp spikes in the graphed curves when ratios, such as
GOR, are plotted against time. Smaller time steps can reduce this effect. As long as the
application does not involve rapid pressure changes that are a problem wi_h IMPES, BOAST-VHS
should give reasonable results in the range of those obtained by other horizontal well simulators. 3
Comparative results are discussed in section X.
While BOAST-VHS does have some limitations, it is versatile enough to handle a large
number of commonly encountered black oil simulation problems on microcomputers. With
memories at 640 kilobytes or larger and a hard disk drive, BOAST-VHS can accommodate as
many as 810 grid blocks and is very economical for conducting small to moderate size simulations.
lt can be used to simulate single wells in different geometry throughout a reservoir. The angle of
penetration can be varied from 90 ° to 180 °. The examp.!e problems included with this manual
illustrate the scope and capabilities of this simulator.
Under the RESTART option (shown under Section 5.3 data input line 3 and 4), a run with a
short time limit followed by a restart run with a long time limit will show production rates
noticeably different from those of a continuous simulation run over the total time period. On the
other hand, a restart run with a long time limit period followed by a restart with a short time limit
would show much closer agreement to one continuous simulation over the total period.
This problem arises because the restart parameters are stored in an editable text file similar to
the original input data file. Only a binary file of ali simulation variables being used could overcome
this "butterfly" effect. Another problem is the inherent mathematical instability of BOAST. If the
first simulation ends on a spike in the gas production, the restarted simulation suffers an additional
inaccuracy.
The minimum system requirements to run BOAST-VHS on a personal computer are as follows:
Computer - IBM PC/AT, PS-2, or compatible.
Operating system- PC-DOS or MS-DOS version 2.1 or later.
Memory - 640 K minimum.
Disk capacity - 1.2 megabyte 5 1/4 or 1.44 megabyte 3 1/2 floppy drive. A hard disk drive
is a must for all but the smallest simulation. A second floppy drive is assumed in the
manual, but it is not necessary if a large hard disk drive is used.
Disk capacity - 1.2 megabyte 5 1/4 or 1.44 megabyte 3 1/2 floppy drive. A hard disk drive
is a must for all but the smallest simulation. A second floppy drive is assumed in the
manual, but it is not necessary if a large hard disk drive is used.
Printer - Dot matrix or ink jet printer. A wide carriage is preferred.
Math coprocessor is strongly recommended, because it can speed up the program's
operation (8087, 80287, or 80387 are math coprocessor. A i486 fM has a built-in
coprocessor but the new 486SX has the coprocessor turned off.).
BOSTVHSM.EXE has an emulated math coprocessor built into the software to
operate on machines without a coprocessor. (NOTE: BOSTVHSM.EXE should be
renamed BOASTVHS.EXE when it is loaded on the hard disk - see section 4.4.)
BOAST-'v HS is a program that needs an input data file from your disk and that writes an
output file to your disk.
Using BOAST-VHS is a two-step process. First you create an input file on your disk with the
DOS line editor "EDLIN" or any other text editor that generates an ASCII output. You can use a
word processing program to generate an ASCII input file, if it is able to generate an ASCII file
When the program is run, it creates an output file in printable form. You can then scan the output
on a screen and/or, use the DOS "PRINT" command to print the file.
4.3 Backing Up
It is a good idea to back up the program as soon as reasonable. For this, you will need a
blank, formatted diskette to serve as the backup. Unless otherwise specified, the term disk (or
diskette) refers to a floppy diskette that meets tile specifications listed above.
Load your DOS diskette in drive A and piace a blank diskette in drive B. Then type in a
response to the DOS prompt A>:
Follow the instructions on the screen as the system asks you to insert a diskette in drive B.
When formatting is complete, the system will ask if you would like to format another diskette-
respond by typing N. The A> prompt will now appear.
Remove your DOS diskette from drive A and replace it with your BOAST-VHS diskette.
:, _wtype in response to the DOS prompt A>:
COPY ".* B: and press the Enter key
This will back up the programs on your BOAST-VHS diskette to the blank diskette, which
you should label and store in a safe place.
The BOAST-VHS pror'ram should be copied onto a hard disk under the subdirectory
BOAST. To install BOAST-VHS onto a hard disk, use the follown_g procedure. It is assumed
that your system default drive is A and that your hard (fixed) drive is C. (If your computer does
not have a math coprocessor, substitute BOSTVHSM.EXE for BOASTVHS.EXE or rename it to
BOASTVHS.EXE.)
This will then establish your hard disk as the default drive and the DOS prompt C> will
appear on the screen. (NOTE: If you are using Microsoft version of DOS, the DOS
prompt will be C:_>)
C>MD BOAST
DOS will create the subdirectory BOAST in the current directory in drive C.
4. Next, to access the subdirectory BOAST, type in response to the DOS prompt:
C>CD BOAST
After a few seconds, the DOS prompt C> will appear er the monitor. If your
'AUTOEXE.BAT' file includes the command "PROMPT $ '$G", then the following
will appear on the screen.
C:/BOAST>
5. The software for BOAST-VHS is on one diskette. The diskette contains the
From the hard disk, go to the subdirectory BOAST and type in response to the DOS prompt:
(It is assumed that you have copied BOAST-VHS.EXE program onto the hard disk in the
subdirectory BOAST)
In response to the DOS prompt, type the name of the disk drive and the name of the input file as:
In the above example, A is the drive in which you plan to insert your input file diskette
containing the file INPUT.DAT. It is assumed that you have created the input file INPUT.DAT.
If you are using a hard disk and if your input file INPUT.DAT resides in the hard disk, then type
in response to the DOS prompt:
C>C: INPUT.DAT
It is assumed that both BOAST-VHS and the input files reside in the same directory on the
hard disk. The next section explains in detail how to build an input file. After entering the input
file name and pressing the Enter key, the following will appear on the screen:
In response to the DOS prompt, type the name of the disk drive and output file name as
Caation: Be certain that you specify a file name and have adequate disk space for the file(s). In the
above example, B is the drive in which you plan to insert a blank fomaatted diskette. The program
x:iI! write ali the output information on this diskette and label it as OUTPUT.DAT. If the restart
10
flag has been set, OUTPUT.RST will also be created. These files will be found in the
subdirectory BOAST if you have followed the above suggestions.
Caution: You should select the print code judiciously so that only the needed information is
printed. Otherwise a large volume of output will be created and you will risk running out of disk
spa,_e before the simulation is completed. The time !o print the details of the simulation can be
significant.
This section describes briefly the input requirements For BOAST-VHS. A complete
description of the input data required to run BOAST-VHS is given here and in Sections IV and V.
A brief discussion on how to create ahd edit an input data file using DOS line editor is also
included in Section IV.
All input data for the simulator are contained in a single file. This data can be divided into two
groups: (a) initialization data and (b) recurrent data. The initialization data include reservoir
geometry, rock porosity and permeability, initial pressure and saturation data, relative pemleability
and capillary pressure tables, and fluid PVT data. Also included in this section are the necessary
run control parameters and solution specific_ti_.,as.
The recurrent data include the location and initial specifications of wells in the model, time
step control information for advancing the simulation through time, a schedule of i_dividual well
rates and/or pressure performance, changes in well completions and operations over time, and
controls on the type and frequency of printout information provided by the simulator.
Throughout the description of input data in Sections IV and V, the term "header" is used to
refer to specific input data records. These records are designed to serve as delineators and/or as
data identifiers. The header record may be used to identify conveniently specific data items on the
subsequent record or records.
Ali data values are identified by a name that corresponds to the actual variable name in the
model. All data except the 'header' records are entered as free-field format. The term "free-field
format" as applied to this program means that an item of data need not appear in a particular
location on a data input line. The term 'line' refers to an individual line in an input data set as
entered on the monitor. Input data must be entered in a sequence, and a value must be specified for
each input datum. If more than one value must appear on a line, each value must be separated lr(_m
neighboring data by at least one space.
11
l_I ii II ,
As an example of "free-field format:," suppose that you wish to read an integer value of 8 and
a real value of 76.9 on one input line. This may be entered as follows:
8 76.9
or 8 76.9
or 8 7.69E01
However, it can not be entered as 876.9. Ali header records are read with an 'A' format.
If a full grid of input v_lues of rows (x-direction), columns (y-direction), and layers (z-
direction) (II, JJ, and KK values respectively) must be read for a particular parameter, the
following input order must be followed:
To read in a full grid of input values for a particular parameter (II = number of grid blocks in
x-direction, JJ = number of grid blocks in y-direction, KK = number of grid blocks in z-direction),
Layer 1 (K = 1) is read first. The data in each layer are read in by rows, starting with Row 1 (J =
1). Values of the parameter for Columns I = 1 to II are read for the first row, starting with column
1 (I = 1). After II values have been read for the first row, values are read for the second row (J =
2), etc. until JJ rows of data are read. This process is repeated for Layer 2 (K = 2), etc. until KK
layers of data are read.
BOAST-VHS uses a right-handed coordinate reference. The Z-direction values will increase
going down. For K = 1, II x JJ values must be read in the following order.
J= 1, I= 1,2 .... II
J=2, I= 1,2 .... II
J = ................... II
J =JJ, I = 1,2 ...II
Because II x JJ x KK values are required for each reservoir p_u'ameter, the complexity and
size of the input file grows iradirect proportion with the number of grid blocks.
BOAST-VHS is a sophisticated simulation tool that permits the study of a variety of problems
er_.countered in reservoir management and production operations. The program contains several
12
options, and to be able to use it most effectively to predict the performance of a reservoir, the user
must be familiar wit'_ them.
Perhaps the best way to become acq_ainted with BOAST-VHS, and to have a feel for the
operating parameters, is to run the program with diffex'ent sets of input data. lt is suggested that
the user first scan through the data input sections (Sections IV and V) to become familiar with the
general format of the input and then look at the examples in Section IX. These examples illustrate
the capability of the model to simulate multi-weil, multidimensional reservoir engineering and
production problems. These examples can be used as a general guide.
Although no default values are provided for input parameters (a value must be entered for ali
parameters), the range of typical values for most parameters can be seen in the three test problem
input files.
BOAST-VHS contains an automatic time-step control feature and material balaJ_ce calculations
for each fluid phase. Although time-steps can be controlled, it is recommended that autom_tic
time-step control be used for most runs. This feature allows the program to maintain a step size
that is large enough for the problem being simulated, yet small enough to avoid pressure and/or
saturation oscillations and to give acceptable solutions. A minimum time-step size of 0.1 day is
recommended for _utomatic time-step control. This minimum time-step will be used only if it is
needed to satisfy the user-specified maximum pressure and saturation constraints. The maximum
recommended saturation changes are 5 to 10 % for typical problems. Maximum pressure change is
normally less critical and typically may be 50 to 100 psi. To help determine if saturation and
pressure changes are acceptably small, the user should study both time-step and material balances.
Time-step material balances are printed on each summary report and should always be
checked carefully before accepting any run as a 'final' result. In general, time-step material balance
errors should normally be les._ than 0.1%.
13
An excessive material-balance error is an indication of a large saturation and/or pressure
change that causes the results of BOAST to be an inaccurate simulation. The problem can usually
be overcome by reducing the time-step size. This can be performed by specifying a smaller
minimum step-size and reducing saturation and pressure tolerances.
V. DATA INITIALIZATION
5.1 Introduction,
This section describes in detail the data required to initialize the simulation program. These
include the reservoir model grid dimensions and geometry, porosity and permeability distributions,
relative permeability and capillary pressure data, fluid PVT data, initial pressure and saturation
distributions within the reservoir, run control and d_agnostic parameters, time step control
parameters, and parameters for LSOR solution procedures. (BOAST-VI-tS uses the LSOR
solution procedures of BOAST. 1 Other solution techniques available in BOAST and BOAST II
were not included so that the BOAST-VHS program has the maximum number of grid blocks for
simulation and still runs on a PC.) These data are read only once at the beginning of the
simulation. They must be read in the order in which they appear in the following input data
sections.
This section describes briefly how to build an input data file using a DOS line editor. Using a
text editing program that is designed for programming and preparing data input files can save time
and is recommended if moderate size input files are expected.
First, you will need a blank, formated diskette to write the input file you plan to create.
Suppose you want to create an input file INPUT.DAT. Load your DOS diskette in drive A and
place a blank formatted diskette irl drive B. Make sure DOS is ready and C> is displayed on the
screen.
Then type
C> EDLINB:INPUT.DAT and press the Enter key.
The following message and prompt will then appear c,n tile screen.
NewFile
14
During the insert mode of operation, successive line numbers will appear automatically each time
you press the enter key.
When you have finished creating your input file, press Ctrl-Break (Control-Scroll lock) key.
This will get you out of the insert mode of operation, and the EDLIN prompt (*) will appear on the
screen. Now type
E and press the Enter key.
The file you have just created wil! then be saved by writing it to diskette on drive B and
labeled as 'INPUT.DAI". If the hard disk is used for the input file, change your current directory
to BOAST. When DOS is ready and C> (or C:_BOAST>) is displayed on the screen, type in
response to the DOS prompt.
C>EDLININPUT.DATand press the Enter key.
For more information on how to use the DOS line editor, consult your DOS manual.
The next several sections describe in detail the input data for the simulator. Each input entry
is illustrated by an example.
Line 2: This line is used to enter the number of grid blocks in each direction.
READ: II, JJ, KK
II -- number of grid blocks in the X-direction (cannot exceed 200)
JJ = number of grid blocks in the Y-direction (cannot exceed 200)
KK = number of grid blocks in the Z-direction (cannot exceed 20)
Note: Total number of grid blocks (= II x JJ x KK) cannot exceed 810 for an IBM-PC/AT.
Example: 99 1
This specifies that there are nine grid blocks each in the X- and Y-, direction, respectively, and one
in the Z direction.
15
Line 3: Use this line to identify the next set of data
READ: Header (40A2)
Example: +SO SHALE RESTART DT
Line 6: This line is used to enter codes for inputting grid block dimensions.
READ: KDX, KDY, KDZ
KDX = Code for specifying X-direction grid dimensions (see Table 5-1)
KDY = Code for specifying Y-direction grid dimensions (see Table 5-1 )
KDZ = Code for specifying Z-direction grid dimensions (see Table 5-1)
Example: -1 -1 -1. Specifies a single length for each dimension ofthe grids.
Line 7: This line is used to enter the X-direction grid dimensions in ft.
READ: DX
Example: 147
This specifies that the X-direction grid block length is 147 ft.
Note: See table 5-1 for the number of values. When KDX = 0 or 1, the order of input must
be as follows:
J=l I=19 II
J=2, I= 1,2 ..... II
. .,..., + .,.,.,..,..... °, .,.
J=JJ, I= 1,2,....II
16
+
TABLE 5-1. - Options for grid-block geometry
KDX -1 X-direction grid dimensions are the same for ali grid blocks; input only
one DX value
KDX 0 X-direction grid dimensions are read for each grid-block in the first row (J
= 1) of layer one (K = 1) input II values of DX. These same x-direction
dimensions are assigned to ali other rows and ali other layers in the model
grid.
KDX 1 X-direction dimensions are read for every grid block in layer one (K = 1).
input II x JJ values of DX. These same X-direction dimensions are
assigned to all other layers in the model grid.
KDY -1 Y-direction grid dimensions are the same for ali grid blocks; input only one
DY value.
KDY 0 Y-direction grid dimensions are read for each grid block in the first column
(I = 1) of layer one (K = 1). Input JJ values of DY. These same Y-
direction dimensions are assigned to all other columns and ali other layers
in the model grid.
KDY 1 Y-direction dimensions are read for every grid block in layer one (K = 1);
input II x JJ values of DY. These same Y-direction dimensions are
assigned to ali other layers in the model grid.
KDZ -1 Z-direction grid dimensions are the same for all grid blocks; input only one
DZ value.
KDZ 0 A constant value of thickness is read for each layer in the grid; input KK
values of DZ.
KDZ 1 Z-direction grid dimensions are read for every grid block; input II x JJ x
KK values of DZ.
Line 8: This line is used to enter the Y-direction grid dimensions in ft.
READ: DY
Example: 147
This specifies that the Y-direction grid block length is 147 ft.
Note: See table 5-1 for the number of values. When KDY = 0 or 1, the order of input must
be as follows:
I=l,J=l,2 ..... JJ
I=2, J= 1,2 ..... JJ
• .,,,.,,.,,,,..... .... ...,,
I = II, J = 1,2..... JJ
17
Line 9: This line is used to enter the Z-direction grid dimensions in ft.
READ: DZ
Example: 20
This specifies that the Z-direction grid block length is 20 ft.
Note: See table 5-1 for the number of values. When KDZ = 1, the order of input must be as
indicated in line 5 above with the layer order K = 1,2..... KK.
Line 2: This line is used to enter the number of grid blocks where grid dimensions are to be
changed; plus print code.
READ: NUMDX, NUMDY, NUMDZ, IDCODE
NUMDX = Number of grid blocks where X-direction grid dimensions (DX) is to be
changed.
NUMDY = Number of grid blocks where Y-direction grid dimensions (DY) is to be
changed.
NUMDZ = Number of grid blocks where Z-direction grid dimensions (DZ) is to be
changed.
IDCODE = Print code for grid dimension alterations.
If IDCODE = 0, do not print the modified grid dimensions.
If IDCODE = 1, print the mgdified grid dimensions.
Example: 0 0 0 0
This specifies that there is no change in grid dimensions; and that the dinaensions are
not to be printed (even if they were modified).
Line 3: Use NUMDX set of lines to enter the coordinates of the blocks in the X-direction
whose dimensions are to be modified; omit this line if NUMDX = 0.
READ: I, J, K, DX
I = X-coordinate of block to be modified
J = Y-coordinate of block to be modified
K = Z-coordinate of block to be modified
DX = New X-direction grid dimension (DX) for block (I, J, K)
Note: NUMDX lines must be read.
18
k
Line 4: Use NUMDY set of lines to enter the coordinates of the blocks in the Y-direction
whose dimensions are to be modified;
omit this line if NUMDY = O.
READ: I, J, K, DY
I = X-coordinate of block to be modified
J = Y-coordinate of block to be modified
K = Z-coordinate of block to be modified
DY = New Y-direction grid dimension (DY) for block (I, J, K)
Note: NUMDY lines must be read
Line 5: Use NUMDZ set of lines to enter the coordinates of the blocks in the Z-direction whose
dimensions are to be modified;
omit this line if NUMDZ = O.
READ: I, J, K, DZ
I = X-coordinate of block to be modified
J = Y-coordinate of block to be modified
K = Z-coordinate of block to be modified
DZ = New Z-direction grid dimension (DZ) for block (I, J, K)
Note: NUMDZ lines must be read.
Remember that with the coordinate system used here, Z-direction values increase going
down. Thus, elevations must be read as positive depths below the user selected reference datum.
Negative values will be interpreted as heights above the datum.
19
Example: 0
This specifies that a single elevation value is to be read.
J = J J, l= 1 9 II
(3) Elevations to the top of the grid-blocks in layers below Layer 1 will be
calculated by adding the layer thickness to the preceding layer elevation: i.e.,
TOP (I, J, K + 1) = TOP (I, J, K) + DZ (I, J, K I
Line 2: This line is used to enter the code for controlling porosity and pemaeability data input.
READ: KPH, KKX, KKY, KKZ
KPtt = Code for controlling porosity input data (See table 5-2)
KKX = Code for controlling X-direction permeability (Sec table 5-2)
KKY = Code for controlling Y-direction permeability (See table 5-2)
KKZ = Code for controlling Z-direction permeability (See table 5-2)
Example: -1-1-1-1
This specifies that porosity and permeabilities are uniform over the grid. Only one
porosity value and one value for each X, Y and Z direction pemleability is to be read.
2O
Note: (a) Porosity is read as a fraction (not as a percentage)
(b) See table 5-2 for the number of values. When KPH = + 1, the order of input must be
as indicated below with layer order
K= 1,2,... KK
J=l,l =1,2 ..... II
J = 2, I = 1,2..... II
• ..o, o,.o.. °........ oo. o, ..
KPH +1 Porosity varies over the entire grid; input II x JJ x KK values of PHI
KKX -1 X-direction permeability is uniform over the grid; input only one KX value
KKY -1 Y-direction permeability is uniform over the grid; input only one KY value
KKZ -1 Z-direction permeability is uniform over the grid; input only one KZ value
21
Line 4: This line is used to enter X-direction permeability values in md.
READ: KX
Line 6: This line is used to enter Z-direction permeability values irl md.
READ: KZ
g.., z,,
Line 2" This line is used to enter the nurnber of grid blocks where porosity
and/or permeability values are to be changed, as well as the print code.
READ: NUMP, NUMKX, NUMKY, NUMKZ, IPCODE
NUMP = Number of grid-blocks where porosity (PHI) values are to be changed
NUMKX = Number of grid-blocks where X-direction permeability values (KX) are
to he changed
NUMKY = Number of grid-blocks where Y-direction permeability values (KY) are
to be changed
NUMKZ = Number of grid-blocks where ,'_-direction permeability values (KZ) are to
be changed
IPCODE = Print code for porosity and permeability alterations
If IPCODE = 0, do not print modified porosity and permeability alterations
If IPCODE = 1, print modified porosity and permeability distribution
Example: 20001
This specifies that the porosity values are to be _nodif:,cdin
two grid blocks; no permeability changes and print the modified value._°
Line 3: Use NUMP sets of lines to enter the coordinates c f the blocks where porosity is to be
modified; omit this line if NUMP ----0.
READ: I, J, K, PHI
I = X-coordinate of block to be modified
J = Y-coordinate of block to be modified
K = Z-coordinate of block to be modified
PHI = New value of porosity in fraction for block (I, J, K)
Example: 1 1 1 0.125
9 1 1 0.125
This specifies that the porosity of the grids (1,1,1) and (9,1,1) are to be changed to
0.125.
Note: (1) Porosity must be entered as a fraction
(2) NUMP lines must be read
Line 4: Use NUMKX sets of lines to enter the coordinates of the blocks in d,,c
X-direction where pemaeability (KX) is to be modified.
READ: I, J, K, KX
I = X-coordinate of block to be modified
J = Y-coordinate of block to be modified
23
_!
K = Z-coordinate of block to be modified
KX = New value of X-direction permeability (KX) for block (I, J, K) in millidarcies
Note: (1) NUMKX lines must be read
(2) KX is a real variable
Example: No line in our example problem.
Line 5: Use NUMKY sets of lines to enter the coordinates of the blocks in the Y-direction
where permeability (KY) is to be modified.
READ: I,J, K, KY
I = X-coordinate of block to be modified
J = Y-coordinate of block to be modified
K = Z-coordinate of block to be modified
KY = New value of Y-direction permeability (KY) for block (I, J, K) in millidarcies
Example: No line in our example problem.
Note: (1) NUMKY lines must be read
(2) KY is a real variable
Line 6: Use NUMKZ sets of lines to enter the coordinates of the blocks in the Z-direction
where pemaeability (KZ) is to be modified.
READ: I, J, K, KZ
I = X-coordinate of block to be modified
J = Y-coordinate of block to be n,odified
K = Z-coordinate of block to be modified
KZ = New value of Z-direction permeability (KZ) for block (I, J, K)
in millidarcies
Example: No line in our example problem.
Note: (1) NUMKZlines must be read
(2) I<Zis a real variable
Note: lt is extremely important to keep in mind the directional convention used in specifying
transmissibility modifications. For example, m grid block (I, J, K).
TX (I, J, K) is the X-direction transmissibility which refers to flow across the boundary
between blocks I-1,J,K and I,J,K
TY (I, J, K) is the Y-direction transmissibility which refers to flow across the boundary
between blocks I,J-1,K and I,J,K
24
TZ (I, J, K) is the Z-direction transmissibility which refers to flow across the boundary
between blocks I,J,K-1 and I,J,K
Line 2: This line is used to enter the code for selecting shale zeroing (vertical transmissibility
modification) options. Shale zeroing means the Z-direction transmissibility (TZ) is set
equal to 0.0 and no flow can occur across the layer.
READ: NSHOPS
NSHOPS = Code for selecting shale options
Example: 0; this specifies no shale (option)
REMARKS: (1) If NSHOPS = 0, no shale option is selected. Go to Line 7
(2) If NSHOPS = 1, zero out the entire layer(s) i.e., continuous shale layer.
(3) If NSHOPS = 2, simulate broken layers, i.e., discontinuous shale layer
(4) Skip lines 3 through 6 if NSHOPS = 0
Line 3: This line is used to enter a single value representing the total number of boundaries
(between layers) affected. Omit this line if NSHOPS = 0.
READ: NTLAYR
NTLAYR = Total number of shale streaks to be introduced. For example, if you want
to introduce two shale barriers, one between Layers 1 and 2 and the other between
Layers 5 and 6, then set NTLAYR = 2. If you want to introduce broken or
discontinuous shales streaks between two layers, then NTLAYR = 2 again.
Example: No line in our example problem.
25
=
(2) To zero out the interface between layers 1 and 2 (i.e., no flow across the boundary
between layers 1 and 2), then set KT = 2. Similarly to zero out the interface between
layers 2 and 3, then set KT = 3, etc.
(3) Caution" If you set KT = 1, there will be flow out of the model.
26
Explanation: In the above example, no flow (zero transmissibility due to presence of continuous
shale streaks [NSHOPS = 1]) will occur across three interfaces [NTLAYR = 3] (See
figure 1). These interfaces are:
(a) boundary between layer 1 and 2 (KT = 2);
(b) boundary between layers 3 and 4 (KT = 4); and
(c) boundary between layers 5 and 6 (KT = 6).
3 N 3
N i:i:i
8 \ 4
Y-1,..,JN 5
III
FIGURE 1. - Example of three continuous shale streaks across three interfaces.
NTI.AYR =3
KT,NUTM = 2,2
IGBL = 2
IGBLIGBL
= 3
3/=4 / f°rNUTM = forNTLAYR = 2
27
KTNUTM = 5,1
IGBL = 2 /
/
forNTLAYR = 3
Explan.ation: In the above example, broken shale (discontinuous) streak occurs along three
interfaces; between layers 1 and 2 (KT = 2) two (NUTM = 2) values of Z-direction
transmissibility will be zeroed resulting in no flow between blocks (2,1,1) and (2,1,2)
and no flow between blocks (5,1,1) and (5,1,2) (IGBL = 2 and 5). The remainder of
the sequence zeros flow between blocks: (1,1,2) and (1,1,3); (3,1,2) and (3,1,3);
(4,1,2) and (4,1,3); (2,1,4) and (2,1,5).
Z--l_
6 2,1,5
FIGURE 2.- Exarr,p]e of broken (discontinuous) shale streaks along three interfaces.
28
Line 8: This line is used to enter the number of grid blocks where transmissibilities are to be
changed, and print code.
READ: NUMTX, NUMTY, NUMTZ, ITCODE
NUMTX = Number of grid blocks where X-direction transmissibility (TX) is to be
changed
NUMTY = Number of grid blocks where Y-direction transmissibility (TY) is to be
changed
NUMTZ = Number of grid blocks where Z-direction transmissibility (TZ) is to be
changed
ITCODE = Print code for transmissibility modification
If ITCODE = 0, do not print the modified transmissibility distributions
If ITCODE - 1, print the modified transmissibility distributions
Example: 0 () () 0
This specifies that no transmissibility modifications are to be made or printed.
Line 9: Use NUMTX sets of lines to enter the coordinates of the blocks in the X-direction
where transmissibility (TX) is to be modified. Omit this line if NUMTX = 0.
READ: I, J, K, TX
I = X-coordinate of block to be modified
J - Y-coordinate of block to be modified
K = Z-coordinate of block to be modified
Line 10: Use NUMTY sets of lines to enter the coordinates of the blocks in the Y-direction
Line 11: Use NUMTZ sets of lines to enter the coordinates of the blocks in the Z-direction
where transmissibility (TZ) is to be modified. Omit this line if NUMTZ = O.
READ: I, J, K, TZ
I = X-coordinate of block to be modified
J = Y-coordinate of block to be modified
K = Z-coordinate of block to be modified
TZ = New value of Z-direction transmissibility (TZ) for block (I, J, K)
Note: NUMTZ lines must be read
3O
SAT = Phase saturation
KRO = Oil phase relative permeability, fraction
KRW = Water phase relative permeability, fraction
KRG = Gas phase relative permeability, fraction
PCOW = Oil-water capillary pressure, psi
PCGO = Gas-oil capillary pressure, psi
REMARKS" SAT refers to the saturation of each particular phase,
Example: In a data line following SAT = 0.3; KRO would refer to the oil relative
permeability in the presence of 30% oil saturation, KRW would refer to the
water relative permeability in the presence of 30% .water saturation; KRG
would refer to the gas relative permeability in the presence of 30% g._
saturation; PCOW would refer to the oil-water capillary pressua-e in the
presence of 30% water saturation, and PCGO would refer to the gas-oil
capillary pressure in the presence of 30% _ saturation.
Line 1" Use this line to input table headings for next line.
READ: Header (40A2)
Example: PBO VS;LOPE BSLOPE RSLOPE PMAX IREPRS
Line 2: Use this line to enter the values of bubble-point pressure, undersaturated oil properties,
and maximum PVT table pressure.
READ: PBO, VSLOPE, BSLOPE, RSLOPE, PMAX, IREPRS
PBO = Initial reservoir oil bubble-point pressure, psia
VSLOPE = Slope of the oil viscosity versus pressure curve for pressure above PBO
(i.e., for under-saturated oil). This value is in cp/psi
BSLOPE = Slope of oil formation volume factor versus pressure curve for pressure
above PBO (i.e., for under-saturated oil). This value is in RB/STB/psi.
RSLOPE = Slope of the solution gas-oil ratio versus pressure curve for pressure
above PBO (i.e., for under-saturated oil). This value is in SCF/STB-
psi
PMAX = Maximum pressure entry for all PVT tables, psia
IREf-'RS = Code for repressurization algorithm;
IREPRES = 0 means no repressurization will be performed,
IREPRES = 1 means repressurization will be performed.
Example: 4014.7 0.0 -0.000001 0. 9014.7 1
3!
Notes: (1) VSLOPE, BSLOPE and RSLOPE are used only _'orunder-saturated oil
(2) BSLOPE should be a negative number and is related to under-saturated oil
compressibility, CO by Co = BSLOPE/BO
(3) Normally, RSLOPE will be zero
(4) If IREPRS = 0, a new bubble-point pressure will be calculated for each grid block
containing free gas at the end of each time step.
(5) PMAX (90i 4.7 in this example data file) is used as a termination flag for other PVT
input variables.
32
Line 5: Use this line to input water PVT table headings.
READ: Header (40A2)
Example: PRES VISW BW RSW
Line 7" Use this line to input gas PVT table headings and rock compressibility.
READ: Header (40A2)
Example: PRES VISG BG CR
3.3
Example: 14.7 0.0080 0.935800 0.000003
264.7 0.0096 0.067902 0.000003
514.7 0.0112 0.035228 0.000003
1014.7 0.0140 0.017951 0.000003
2014.7 0.0189 0.009063 0.000003
2514.7 0.0208 0.007266 0.000003
3014.7 0.0228 0.006064 0.000003
4014.7 0.0268 0.004554 0.000003
5014.7 0.0309 0.003644 0.00(0)03
9014.7 0.0470 0.002167 0.000003 PMAX (9014.7) specifies end of gas PVT data.
Note: (1) The last pressure entry must be PMAX as specified in line 2.
(2) Total number of table entries should be 25 or less.
BOAST-VHS contains two options for pressure and saturation initialization. Initial
pressure and saturation distributions can be calculated based on equilibrium conditions using the
elevations and pressure of tile gas-oil and water-oil contacts (option 1). Alternatively, the initial
pressure distribution can be read on a block-by-block basis, as in the case of a non-equilibrium
situation (option 2). Saturations can either be read as constant values for the entire Grid (option 1)
or the entire SO and Sw distributions are read on a block-by-block basis, and the program
calculates the Sg distribution for each block as SG = 1.0- So-S w (option 2).
34
READ: Header (40A2)
Example: OPTION 1: INITIAL PRESSURE & SATURATION BASED ON EQUILIBRIUM
CONDITIONS.
Line 2: Use this line to enter the codes for pressure and saturation initialization.
_: KPI, KSI
KPI = Code for controlling pressure initialization (see table 5-3)
KSI = Code for controlling saturation initialization (see table 5-3)
Example: 0 0
Line 3: Use this line to enter the equilibrium pressure initialization data.
Skip this line if KPI = 1 or 2.
If KIP = 0 then
READ: PWOC, I-'GOC, WOC, GOC
PWOC = Pressure at the water-oil contact, psia
PGOC = Pressure at the gas-oil contact, psia
WOC = Depth to the water/oil contact, in feet below datum
GOC = Depth to the gas/oil contact, in feet below datum ",
KPI 0 Use equilibrium pressure initialization. Input pressures at the oil/water contact
and gas/oil contact and elevations to each contact.
KPI 1 Use non-equilibrium pressure initialization. Read pressures for each grid
block on a block-by-block basis.
NOTE: II x JJ x KK values must be read.
KPI 2 Use non-equilibrium pressure initialization. Read pressures for each layer.
KSI 0 Initial oil, water and gas saturations are constant over the entire model grid.
NOTE: Read three values- SOI, SWI and SGI.
KSI 1 Read oil and water saturations for each grid block on a block-by-block basis.
The gas saturations for each grid block will be calculated by the program.
NOTE: II x JJ x KK values must be read for oil saturation; II x JJ x KK
values must be read for water saturation.
35
Example: 4806.6 0.0 8425.0 8300.0
Note: (a) Input this record only if KPI = 0
(b) PWOC and PGOC are used together with depth to calculate the initial oil phase pressure
at each grid-block mid point.
Line 4: Use this line to enter the non equilibrium pressure initialization data.
Skip this line if KPI = 0.
(a) ifKPI = 1, then
,READ: P
P = Pressure for the entire grid, Psia
Note: (1) A value of'P' must be read for each grid block in the model grid. Read a total of II x
JJ x KK values. The order of input must be as indicated below with layer order K =
1,2 ...... KK
J= 1 I= 1,2,....II
J=2 I= 1,2,....II
,.,,..,,,,.,.,,.,,., .,..,,,
J = JJ I = 1,2,.... II
(2) Input this record only if KPI = 1
a) IfKPI = 1, then
READ: P
Line 5" Use this line to initialize the saturation data for a constant saturation case.
If KSI=0, then see (a) below. If KSI = 1, then see (b) below. If KSI = 2, then see (c)
below.
36
(b) In a non-equilibrium case when KSI = 1, then
READ: SO, SW
SO - Initial oil saturation array
SW = Initial water saturation array
Note: (l) A value of SO must be read for each grid block in the model grid. Re_,_ a total of II x
JJ x KK values, q_.e order of input must be as indicated below with layer order K =
1,2, . . . KK
J- 1 I= 1,2 ..... ,II
J=2 I= 1,2, .... II
oo.. o.o,...o.ee..o....oo°...
Several codes for controlling diagnostics output for use in program debugging are
provided. These codes should normally be set to zero. These codes will not provide information
for debugging ,data input. Activating any of the codes will generate an extremely large volume of
output!
j ml
KSNn n The number of LSOR iterations required to convergence is printed at each nth
time-step.
KSMn n The solution matrix will be printed the first time-step and every nth step
thereafter.
KCOn n Oil, water and gas compressibilities and formation volume factors will be
printed the first time and every nth step thereafter.
38
5.13 Run Control Parameters
39
(3) For automatic time-step control, set FACT1 > 1.0 and FACT2 < 1.0; suggested values
are FACT1 = 1.25 and FACT2 = 0.5
(4) Automatic time-step control means the following:
(a) If at the beginning of a time-step, the maximum grid-block pressure and saturation
changes from the previous step are less than DPMAX and DSMAX, respectively
(DPMAX and DSMAX are defined in Section 5.14), the size of the current time-
step will be increased by FACT1
(b) If at the beginning of a time-step, the maximum grid-block pressure or saturation
change from the previous step is greater than DPMAX or DSMAX, respectively,
the size of the current time-step will be decreased by FACT2
(c) If at the end of one iteration (after new pressures and saturations are calculated),
the maximum pressure change exceeds DPMAX or the maximum saturation
change exceeds DSMAX, and FACT2 < 1.0, the size of the current time-step will
be decreased by FACT2 and the iteration will be repeated.
OMEGA = Initial LSOR acceleration parameter. The initial value for OMEGA must
be in the range 1.0 < OMEGA < 2.0. A typical initial value for OMEGA
is 1.20. The model will attempt to optimize OMEGA as the solution
proceeds if TOL is greater than zero
TOL = Maximum acceptable pressure change for LSOR convergence; a typical
value is 0.1 psi
TOLl = Parameter for determining when to change (i.e. optimize) OMEGA; a
typical value is 0.0005. If TOLl = 0.0 the initial value of OMEGA will
be used for the entire simulation
4O
saturation change of any phase in any grid-block exceeds DSMAX and the
current step-size is greater than DTMIN. If the resulting step-size is less
than DTMIN, the time-step will be repeated with the step-size DTMIN. A
typical value of DSMAX is 0.05
DPMAX = Maximum pressure change (psi) permitted over a time-step. The time-step
size will be reduced by FACT2 if FACT2 < 1.0 and the pressure change
in any grid-block exceeds DPMAX and the current step-size is greater
than DTMIN. If the resulting step-size is less than DTMIN, the time-step
will be repeated with step-size DTMIN. A typical value of DPMAX is 50
psi.
Example: 100 1.70 0.1 0.0 0.05 50.0
6.1 Introduction
During the course of a simulation run, it is generally desirable to be able to (1) add or delete
injection/production wells, (2) control injection/production rates or bottomhole pressures at all
existing wells, and (3) specify the types and frequency of output information. These types of
controls and output specifications are accomplished in this model via "recurrent data" records.
That is, as the simulation pruceeds, well specification and print control information is input at
preselected times.
Recurrent data record pairs are input which control printed output and time-step size for a
specified time period. The first parameter (IWLCNG) on the first recurrent data record specifies
whether or not to read well information. If IWLCNG = 0, well information is not read. If
IWLCNG = 1, well information is read immediately following the recurrent data record pair. In
any case, the simulator advances through time-steps until the specified elapsed time (ICttANG
times DT) has occurred. During this period, ali print codes and the latest well information applies.
At the end of this period, a new set of recurrent data records are read and the process is repeated.
Modification of the recurrent data records occasionally needs to be done under the restart
option. This is because ali of the recurrent data is written to the restart file. If a waterflood is
begun under restart conditions after any given period of primary production during a phase 1 run,
and then restarted and continued in a phase 2 period, the recurrent data records for the primary
recovery must first be removed.
4!
Line 1" Use this line to signify the start of the recurrent data.
READ: Header (40A2)
Example: RECURRENT DATA RECORDS
Note: This line is read only once.
Note: (a) Recurrent data record pairs are read at preselected times
(b) A recurrent data record 'pair' consists of one integer control record and one time-step
size specification record
(c) Lines 1 and 2 below constitute a recurrent data record pair. These records may be read
any number of times during a simulation run
(d) Well information records (section 6.3) must be read immediately following each pair of
recurrent data records if and only if IWLCNG = 1
(e) If well information is read, ali specified rates and pressures will be used this time-step
and all subsequent time-steps until new well information is read
Line 1: This line is used to input time-step and output control codes.
READ: IWLCNG, ICHANG, IWLREP, ISUMRY, IPMAP, ISOMAP, ISWMAP, ISGMAP, IPBMAP
IWLCNG = Code to tell the prog-ram whether or not the well information lines should
be read this time-step. If IWLCNG = 0, well information is not read this
step. If IWLCNG = 1, well information is read this step
ICHANG = A number for calculating the time period "ITIME" (see note 2 below) for
which this recurrent data record pair will apply
IWLREP = Output code for printing well report
ISUMRY = Output code for pnnting summary report
IPMAP = Output code for printing pressure distribution
ISOMAP = Output code for printing oil saturation distribution
ISWMAP = Output code for pnnting water saturation distribution
ISGMAP = Output code for printing gas saturation distribution
IPBMAP = Output code for pnnting bubble-point pressures (normally set IPBMAP =
0)
Example:l 1 1 1 0 0 0 0 0
The above example specifies that:
(a) Well information is read at this step;
(b) 1 is to be used as the number for calculating the time period for which this recurrent
data will apply;
42
(c) well report and summary reports are to be printed at this step; and
(d) no pressure or saturation maps are to be printed at this step.
Note: (1) If IWLCNG - 1, well information lines must be read. The new well information will
apply during the next time-step.
(2) If 'ETl' is the time at the beginning of the current step, then this recurrent data record
pair will apply from ETI until FTMAX = ETl + ITIME where ITIME = ICHANG times
DT. DT is the initial time-step size for this period as read in line 2 below.
(3) The actual number of time-steps for which ICHANG is used will likely be different
from ICHANG if automatic time-step control is 'on.' Whenever the calculated
simulation time exceeds 'FTMAX,' the current step-size is reduced to give an elapsed
time of exactly FTMAX. Whenever FTMAX is reached, another recurrent data record
pair is read.
(4) If the output code value = 0, the information will not be printed.
(5) If the output code value = 1, the information will be printed for each time-step during
this period from ETl days to ETl + ITIME days.
43
6.3 Well Information Records
KIP = Code for specifying both well type and whether the well's
production (injection) performance is determined by specifying rates or
specifying flowing bottomhole pressure and also _,hether an explicit or
implicit pressure calculation is to be made. For most cases, the implicit
pressure calculation is recommended. See Table 6-1 for the code details.
For more information on KIP see the notes at the end of this section.
QO = Oil rate, STB/D (nonzero only if KIP = 1 and QT = 0.0)
44
QW = Water rate, STB/D (nonzero only if KIP = 2)
QG = Gas rate, MCF/D (nonzero only if KIP = 3)
QT = Total fluid rate (nonzero only if KIP = 1 and QO = 0.0)
Example: 10 1 1 1 1 600. 0. 0. 0.
The above example specifies that the well PROD 1 is located in the grid block (10,1,1);
completed in one layer and produces oil at the rate of 600 STB/D.
Note: (1) Table 6-1 summarizes ali well control options
(2) NLAYER must include ali layers from PERFI to the lower most layer completed. For
example, in a 5-layer model, if a well is completed in layers 2, 3, & 5, set PERFI = 2
and NLAYER = 4. Note that in this, layer 4 must be included in NLAYER even
though layer 4 is not perforated. Layer 4 may be shut in by specifying the PID value
for layer 4 as zero in line 4 below.
(3) Exactly NLAYER lines must be read for each WELLID (even if the well is rate
controlled). Each of these lines specify a layer flow index (PID) and flowing
bottomhole pressure (FBHP) for one completion layer; thus, NLAYER of these lines
must be read. The first line read applies to the uppermost completion layer (PERFI);
additional lines apply to succeeding layers. If rates are specified for this well (KIP =
+1, +2, or +3), PWF will not be used and should be read as zero; however, PID will
be used to calculate a FBHP for the weil. This FBHP will be printed out on the well
report, but it will not be used in any way to control the well performance.
(4) Negative rates indicate fluid injection; positive values indicate fluid production.
(5) The total fluid rate given by QT is the oil plus water plus gas production for the well or
the total reservoir voidage at stock tank conditions.
(6) Only one of the four values (QO, QW, QG, or QT) may be nonzero. If KIP < 0, ali
four values should be zero.
(7) For most applications, implicit pressure calculations are recommended.
(8) If KIP = 2, -2 or -12, only water will be produced or injected; if KIP = 3, -3, or -13.
only gas will be produced or injected; solution gas is not considered; therefore, these
options are only recommended for water or g,s injection wells. If KIP = 1, -1, or -11,
oil, water, and gas will be produced in proportion to fluid mobilities and pressure
constraints.
(9) If KIP > 0, the specified rate will be allocated to layers based on total layer mobilities;
e.g. if QW is specified and there are two layers QW1 = QW * TM1/(TM1 + TM2) and
QW2 = QW * TM2/(TM1 + TM2), where TM1 = total mobility for layer 1 and TM2 -
total mobility for layer 2.
45
TABLE 6-1. - Options for controlling well performance
KIP -1 Oil well; oil, water & gas production rates will be calculated based on fluid
mobilities and PID and PWF for each layer. Well will be shut-in if block
pressure <PWF. Explicit pressure calculations are used.
KIP -2 Water well; Water injection rate will be calculated based on total mobility of
oil, water, and gas and PID and PWF for each layer. Well will be shut-in if
block pressure >PWF. Explicit pressure calculations are used.
KIP -3 Gas weil; Gas injection rate will be calculated based on total mobility of oil,
water, and gas and PID and PWF for each layer. Well will be shut-in if
block pressure >PWF. Explicit pressure calculations are used.
KIP -11 Oil well; Oil, water, and gas rates will be calculated based on fluid
mobilities and PID and PWF for each layer. Implicit pressure calculations
are used.
KIP -12 Water well; Water injection rate will be calculated based on water mobility
and PID and PWF for each layer. Implicit pressure calculations are used.
KIP -13 Gas well; Gas injection rate will be calculated based on gas mobility and
PID and PWF for each layer. Implicit pressure calculations are used.
Line 5: Use this line to enter flowing bottomhole pressure and productivity index information
for vertical well.
READ: PID, PWF
PID = Layer productivity index
PWF = Layer flowing bottomhole pressure, psia
Example: 10.0 2500.0
Note: (1) If rates are specified (i.e. KIP > 0) for this weil, PWF is not required and should be
specified zero.
(2) If rates are specified (i.e. KIP > 0) for this well and PID is specified nonzero, the
specified rate and PID will be used to calculate and print a flowing bottomhole
pressure. However, the calculated pressure will not be used to control well
performance.
40
(3) Once a well has been specified in any layer, that well and that layer must be specified
each time well information lines are read.
(4) To shut in a layer, set the layer PID = 0.0; to shut in a weil, simply set ali its layer
PID's = 0.0.
(5) The layer PID may be calculated from the following equation:
PID = [ 0.00708 kh /
]ln (re/rw) + S /
where -
re = equivalent grid-block radius, ft
rw = wellbore radius, ft
h = Z-dimension (layer thickness) of the block, ft
k = mean X-Y permeability in md
S = layer skin factor
The radius re may be calculated from Peaceman's formula:
r e = 0.28 _ky]
where:
Kx = permeability in x-direction
Ky = permeability in y-direction
dx = X-direction grid-block dimension, ft
dy = Y-direction grid-block dimension, ft
(6) Formation damage or stimulation at any point in time can be handled on a layer-by-layer
basis by changing the layer PID.
(7) Line 5 must be read NLAYER times
Example This illustrates the well information for well 2, INJ1
1 1 1 1 2 0-900.0 0.0 0.0
10.0 7500.0
The above example specifies that well number 2 is an injection well (INJ 1), is located
in the grid block (1,1,1), completed in one layer; the well is a water injection well
(KIP=2) and the injection rate is 9(X) STB/D. The layer productivity index tor this well
is 10.0 and the flowing bottomhole pressure 7500 psia will not be used in calculations.
47
Line 6: Horizontal Well ID (Omit this line if NVQNH = 0)
READ: WELID = Five character horizontal well name
Example: HORZ1
48
Example: 1 -11 0 0 0 0 1; slanted wellbore, produced under infinite conductivity and implicit
pressure condition, will be defined by option 1
ALPHA = Area angle in degree which wellbore departed from the increasing
direction of x-axis from the plan view as shown in figure 4 (0 <
ALPHA _<360)
i il ii ! i i i i i i
i i i i i THETA i _ i i !
! i i"4.-- i
4 i 0<THETA<180 ° i i i
THETA= 0° FORVERTICALWELL :
NZ THETA= 90° FORHORIZONTALWELL - :
,_ 2 4 X 6 8 NX
49
..................
_...............
..................
,............
SLANTEDWELL...............
...............................
..................
Y
iiiiiiiiiiiiiiiiiiii
I
°..................
i..............................
i................
"''_"'u'°°'_.,,,-._,,,,,°,..,,....Io...,..-°°. ° ° .°-, ° °o ......o °...° "--°° °°..- °. °. °°°.-°o o°- °°....°°_.....°° °°..,°. o°°... H..°°.. _ o..°H.H°..°°_OOO°°H°°°°°.°.O_,'.._
Ny i i i
- : { -"
" i
..................
.* ...............
•................
:................
°............
0 <_ALPHA_<360°............
i.................
".................
.........
_' ........
5'......3'4 _ 6 7 8 9 Nx --_
X
FIGURE 4. - Top view of grid to show angle alpha.
5O
1 2 3 4 5 6 7 8 9 10 11 X
! ! I I !
' i : j I "-
.Z :" ."
.= =.
=-
2 : i
i "
3 :- PERFORATL-D
": " WELLBORE
4 ":. E
5
i_ i: _
,o
Z
FIGURE, 5.- Side view to show a slantcd wellbore position in x-z axis.
This section provides a brief description of the BOAST-VHS program output. The
program always writes the initialization data to the output file at rr,odel start up. The program also
writes the initi.l well locations and well control information to this file. In addition to providing a
complete report, this gives the user an excellent opportunity to quickly check for input data errc*s.
The information printed prior to the first summary report consists of the following items, in the
order given:
(1) Grid-block sizes;
(2) Node midpoint elevations;
(3) Porosity distribution;
(4) Permeability distribution;
(5) Relative permeability and capillary pressure table;
(6) Oil-water-gas PVT table,
(7) Slopes calculated from PVT data for use in determining fluid compressibilities;
(8) Solution method parameters and time-step control data;
(9) Initial well locations and well control information;
(10) Initial fluids in place by layer; and
(1 1) Initial pressure and saturation distributions.
Other o:_tput can be obtained at the user's command. For example, whenever a
modification op'::ionis activated, the user may print out the altered array, lt is worthwhile to do this
as a check on tie input modifications.
The summa_ report is the single most useful report and can also be obtained at any desired
time. The summary report contains a concise summary of field injection and production
_'erformance information including (a) average reservoir pressure, (b) total reservoir oil, water, and
52
gas production rates and cumulative production, (c) total reservoir water, and gas injection rates
and cumulative injection, (d) total reservoir current and cumulative water-oil, and gas-oil ratios, (e)
time-step and material balances for oil, water, and gas, (f) and maximum pressure, and saturation
changes for the current time-step, and where these changes are occurring in the reservoir model.
The summary report serves two major purposes by permitting the user to (1) quickly
review total reservoir performance and (2) determine if the model is functioning properly. As a
general rule, maximum saturation changes nearly always should be less than 10%, and time-step
material balance errors should normally be less than 0.1%.
Material balances or saturation changes that are excessive do not necessarily mean that the
model cannot handle the problem at hand. However, it does mean that adjustments are needed to
some of the input parameters. Normally, the first adjustment is reduction of time-step size. If this
modification does not completely solve the problem, reduce injection and/or production rates to
determine if well controls are excessive based on existing flow capacity and reservoir pressure. By
making full use of automatic time-step control and being careful not to over-pressure or
overproduce the rese"voir, most reservoir engineering problems can be successfully simulated with
BOAST-VHS.
The user may output pressure, saturation, and bubble-point pressure arrays at any time-step
desired. For large two-dimensional or three-dimensional problems, an enormous output file can
result if ali these a_ays are frequently printed. Therefore, these distributions should only be
printed when absolutely needed. Normally, the bubble-point pressure array need not ever be
printed out. This array provides mainly diagnostic information.
The pressure and saturation arrays should always be checked carefully at discrete times
during the simulation to assure that overall pressure and saturation trends are as they should be.
Also, if a material balance problem exists, these maps may help to isolate the problem.
53
VIII. SIMULATION PLANNING
8.1 Introduction
This section briefly outlines the major steps involved in conducting a reservoir simulation
study. It must be emphasized at the outset that a reservoir simulator is an engineering tool and, as
such, a great deal of engineering judgement is involved in its proper use. Reservoir simulators do
not provide answers; they provide estimates of performance for user defined reservoir and
vertical/horizontal/slanted well models. These performance estimates, together with economic
evaluations, can then be used to make the required operating or field development decisions.
Because of the complexity and the volume of data needed for a simulation, it is almost
always wise to begin a simulation study using the simplest model and coarsest reservoir
description. If the results of the simulation run are no', adequate, further runs should be made
using a finely gridded model. The rule is to keep the simulation simple. The accuracy of the
simulation depends upon the input and not upon the sophistication of the model.
54
TABLE 8-1. - Minimum required information for a reservoir simulation study
B. 1Em0iriqal D_Ita
Relative permeabilities, capillary pressure, and PVT data are required for a simulation; if we
do not have these data they can be generated.
The following information is needed for the generation of relative permeability curves.
- Connate water saturation
- Residual oil saturation in water-oil system
- Residual oil saturation in gas-oil system
- Critical gas saturation
C. Grid D_ata
The required data include the elevation, thickness, permeability, and porosity distributions for
a reservoir. These data are compiled from:
Structure map
Gross and net sand isopach maps
- Isopermeability map
Isoporosity map
If these contour maps are not available, they can be constructed from well data (such as drill-
stem tests, log data, drilling records, etc.)
D. Production Data
55
The source of common reservoir data required for a simulation study are given in table 8-2.
In many cases, the only rock property data available are those obtained near well sites. The
following procedures, along with well site rock property data and reservoir geology, are then used
to infer reservoir rock data.
a. Collect ali available rock property data; namely, permeability, porosity, formation
thickness and formation elevation. Plot these data by well location on a plan map of the
region or field being modeled.
b. Contour the data points to obtain an overall distribution within the reservoir limits. In
evaluating and contouring these rock parameters, the engineer must use good
engineering judgement and the known geological interpretation of the region.
c. In a simulation study, the reservoir is divided into several cells by superimposing a
rectangular grid over the region. Within any given cell, the rock data are assumed to be
uniform. The contoured data are then digitized to obtain the required value at each cell.
The digitizing step is performed after the grid has been selected.
TABLE 8-2. - Sources of Common Reservoir Data Required for Simulation Studies
Property Sources
56
Reservoir fluid properties (PVT data) include initial bubble point pressure, fluid viscosities,
densities, formation volume factors, solution gas-oil ratio, solution gas-water ratio, etc. These
data are usually obtained from laboratory measurement of samples of the reservoir fluid. Usually
the PVT data are not known over the entire range of pressures and correlations are used to extend
the laboratory data to the desired range.
The rock and PVT data, together with the relative permeability and capillary pressure data,
constitute the initialization data for the model. Other initialization data include the reservoir model
grid dimensions and geometry, and the initial pressure and saturation distribution within the
reservoir. This information is read only once at the beginning of the simulation.
The remaining data that must be input are called the recurrent data. These data are read
repeatedly during the course of the simulation run. The recurrent data include the location and
specification of wells in the model, changes in well completions and field operations over time, a
schedule of well rate and/or pressure performance over time, etc. The simulator calculates
production and pressure performance based on the input data provided.
Since the accuracy of the simulation results depend upon the quality of input data,
ascertaining the reliability of the available data and information is vital for the success of modeling
a reservoir. Simulation models are often used to do sensitivity analyses on selected parameters.
By varying each of several selected parameters over a reasonable range of uncertainty and
observing the effect on simulator perfom_ance, the critical parameters controlling the performance
can be identified. Further efforts should then be expended in improving the quality of these critical
parameters.
The objective of history matching is to reproduce, with the simulator, the past reservoir
performance. This is achieved by adjusting the reservoir parameters of a model, until the simulated
performance matches the observed behavior. Thus, history matching is the process of determining
the values of poorly known or unknown physical parameters which are needed as input to the
mathematical reservoir model.
Since history matching is a qualitative procedure, the reliability of a history match depends,
in large part, on the knowledge and experience of the engineer performing the simulation. The
engineer must identify the reservoir parameters which should be adjusted, and then determine the
degree to which adjustments should be made. Some reservoir data are known with a greater
degree of accuracy than others, lt is usually assumed, for example, that the fluid properties a_e
57
valid, provided careful laboratory measurements were made. On the other hand, reservoir
formation properties, i.e., porosity, permeability, and capillary pressure, etc. are known only at
the points where the wells have pierced the formation, and even these may be subject to significant
errors. In the interwell regions, the rock properties must be inferred from geological and
petrophysical correlations. If these values are not precise or the correlation techniques
inappropriate, then the results of the simulation may be inaccurate as weil. History matching
provides a way of using the historical performance of the reservoir to adjust these values.
Normally observed reservoir behavior such as pressure, production rates, water-oil ratios,
and gas-oil ratios are compared with model results. Modifications of saturations, porosities, and
permeabilities are then made to improve the match. History matching is a complicated process and
many problems encountered during a history matching process can result in inexact performance
projections. Some of the typical problems encountered are described below.
An engineer should be aware that these and other potential problems result in inexact
performance projections. One should carefully analyze the simulation results and draw
conclusions based on his experience with the type of reservoir, the area, and the production
systems being used in the field.
History matching should not be attempted without a systematic plan. A step-wise history
matching procedure is described below.
58
Step I- Initialization:
The first step in any history matching process is to verify the reliability and completeness of
the field data. Problems encountered in these areas must be corrected as necessary. It may be
necessary to check:
- Data errors
- Pressure distribution at the initial time, and equilibration
- Saturation distribution at the initial time
- Original oil, gas, and water in place
Experience indicates it is wiser to match pressures (reservoir and individual wells) before
attempting to match production rates. By specifying the total production rates for wells, the correct
effect of the individual well rate on reservoir pressure can be approximated. A pressure match can
be achieved by adjusting:
- Size of the aquifer
- Rock compressibility
- Permeability distribution
- Thickness and porosity effecting the original oil in place
Once the pressure match has been achieved with sufficient accuracy for all of the wells, the
engineer should then match water-oil and gas-oil ratios. These are matched by adjusting
- Vertical permeabilities
- Relative pem-_eability curves
- Water-oil and gas-oil contacts
- Thickness of water or gas zones
- Permeability
If the pressure match is disturbed, repeat step II with the new data from step III. These two steps
might have to be repeated a number of times to match both P and S.
Finally, the well flowing pressures must be matched. The well flowing pressures can be
matched by modifying ttle productivity index. If there are multiple-node wells, with commingled
production, it might be necessary to make some runs with flowing well pressures.
Once these steps are taken, chances are that the reservoir simulation model will predict valid
future production perfommnce.
59
8.4 Prediction Runs
The final phase of a reservoir simulation study is the prediction runs. Prediction runs are
made (1) to predict the future performance of the reservoir under existing operating conditions; (2)
evaluate and compare a number of alternative field operations or development plans. The main
objective is to determine the optimum operating condition in order to maximize economic recovery
of hydrocarbon from the reservoir. Examples of the type of problems tackled in this stage could
be:
1. Do we need pressure maintenance for the reservoir? And, if we do need it, what kind
of pressure maintenance project is optimal?
2. What kind of infill drilling program should we choose?
3. What type of wells should we drill - vertical, horizontal, or slanted weil? Where are
these wells drilled? And, in the case of horizontal or slant wells, what are their optimal
length in the reservoir?
4. What would be the effect of installing more powerful pumps on the producing wells?
Since there are no field results against which to compare simulation results during the prediction
phase, an engineer must carefully analyze the results using experience and engineering judgment
before arriving at a decision.
9.1 lntrod_lctign
This section provides three example problems which illustrate the capability of the model to
simulate a wide range of problems in vertical, horizontal, or slant wells. The reservoir and PVT
data used for the example problems are not intended to represent any specific reservoir or fluid
system. The input files should be considered as "sample data" and their sole purpose is to illustrate
the capabilities of the simulator. Users can consider these input data as a guide for building their
own input data files.
Complete input files and output summary tables are presented for each problem in
appendices. Complete output files also are included on the program diskettes.
A brief description of each example problem is given below. The input file, summary
report and partial output file for each example are in the appendices and complete files are on the
program diskette.
6O
Test Problem 1:
A two-dinmnsional grid model with NX=I 1, NY=9 and NZ=I has been constructed.
The input and two output files for test problem 1, TSTPBMI.DAT, TSTPBMI.OUT, and
TSTPBM1.SUM, respectively, are on the program diskette. Files TSTPBM1.DAT,
TSTPBM 1.SUM, and part of TSTPBM 1.OUT are presented in appendix A.
Test Problem 2:
A two-dimensional grid with NX=9, NY=9 and NZ=I has been constructed. Vertical and
horizontal permeabilities o!" 195 md are used. The input and two output files for test problem 2,
TSTPBM2.DAT, TSTPBM2.SUM, and TSTPBM2.OUT, respectively, are on the program
diskette. Files TSTPBM2.DAT and TSTPBM2.SUM are presented in appendix B.
The rectangular reservoir model was dimensioned with NX=9, NY=9, and NZ=3. Located
in the middle of the reservoir, the slanted ,,veil penetrates the reservoir from the top to the bottom of
the formation at a sl:mt of 83 °. Both tile pressure and oil saturation show larger depletion near the
well bore with production tinge as compared to the formation away from the well bore. This test
problem demonstrates the capability of this model for simulating production from slant wells.
The input and two output files for test problem 3, TSTPBXI3.DAT, TSTPRBM3.SUM, and
TSTPBM3. OUT, respectively, are on the program diskette. Files TSTPBM3.DAT and
TSTPRBM3.SUM are presented in appendix C.
While BOAST-VHS has been tested on a variety of problems, the program has not been
tested exhaustively in ali of its options and features against every possible combination of factors
61
and cgnditions. Complete comprehensive validation is not practical due to the complexity of the
simulator and the great time and cost involved. Consequently, we strongly recommend that results
from any simulation be examined carefully and checked for "reasonableness" before accepting
them.
The program has been checked by comparing its results with those of the Seventh SPE
Comparative Solution 4 for modeling horizontal well production in a reservoir where coning
tendency is importmit and reported in another report 5. lt was found that BOAST-VHS predicted
well performance, including oil rate, cumulative oil production, and water-oil-ratio irl the same
range as those in the project. Pressure changes and saturation changes were limited to 10 psi and
1%, respectively at each time step in the BOAST-VHS simulations.
The specific changes to the BOAST program to "allowsimulation of horizont',fl and slant wells
are detailed by Chang in two previous publications2, 6.
9.4 BOAST-VHS Diskette
The BOAST-VHS simulator and related files on the BOAST-VHS diskette are:
BOASTVHS.EXE - BOAST-VHS simulator program that uses a math coprocessor
for those computers with math coprocessor chips (Intel TM XX87 series or
equivalent).
BOSTVHSM.EXE - BOAST-VHS simulator program that has an emulator built in
for those computer's without a math coprocessor. This is designed for use on "386
machines" and is not recommended for a 286AT based machine because the
simulation run times will be long.
TSTPBM 1.DAT - The data input file for test problem 1 described in section 9.
TSTPBM2.DAT - The data input file for test problem 2 described in section 9.
TSTPBM3.DAT - The data input file for test problem 3 described in section 9.
TSTPBM1.SUM - The summary report file from test problem 1.
TSTPBM2.SUM - The summ_u'y report file from test problem 2.
TSTPBM3.SUM - The summary report file from test problem 3.
TSTPBM 1.OUT- The full simulation report file from test problem 1.
TSTPBM2.OUT - The full simulation report file from test problem 2.
TSTPBM3.OUT - The full simulation report file from test problem 3.
62
X. REFERENCES
3. Fanchi, J.R., J.E. Kennedy, and D. L. Dauben. BOAST II: A Three-Dimensional, Three-
Phase Black Oil Applied Simulation Tool (Release 1.0), U.S. Dept. of Energy Report No.
DOE/BC 88/2/SP, Dec. 1987.
4. Nghiem, L., D.A. Collins, and R. Sharma. Seventh SPE Comparative Solution Project:
Modeling of Horizontal Wells in Reservoir Simulation. Presented at the 1lth SPE symposium
on Reservoir Simulation, Anahiem, CA, Feb. 17-20, 1991. SPE 21221.
5. Quarterly Technical Report for July 1 - September 30, 1991. U.S. Dept of Energy Report No.
NIPER-576, December 1991.
63
XI. GLOSSARY
Free-field format - input format in which an item of data need not appear in a specific location in a
line.
KR - Relative permeability
Mu - viscosity
PBO - bubble-point pressure
PC - capillary pressure
Q - production rate
240.00 240.00 240.00 300.00 300.00 300.00 300.00 240.00 240.00 140.00
293.33
50.00
3000.00
-1 -I -i -I
0.25
i0.00
I0.00
i0.00
0 I0 0 O0 0 00 6 00 784 00 784 O0
0 20 0 00 0 00 0 03 664 O0 664 00
0 30 0 02 0 00 0 09 544 00 544 O0
0 40 0 06 0 00 0 19 424 O0 424 O0
0 50 0 15 0 02 0 34 304 O0 304 O0
0 60 0 32 0 06 0 53 184 O0 i84 O0
0 70 0 59 0 15 0 75 64 O0 64 O0
0 80 1 O0 0 32 1 00 4 O0 4 O0
0 90 1 00 0 59 ] 00 4 O0 4 O0
1 I0 1 00 1 O0 I 00 4 O0 4 O0
500 5 35 ] 0"18 93 ]
65
4500. 0.94 1.479 1029.2
P MUW BW RSW
0 1.0 1.0 O.
P MUG BG CR
0 0 0 0 0
1 I 1 l l 1 l _ 0
•01 .001 3. 0. 0. 0.
RATES --
0 i t
PROD1
4 -II 1000.0 0 0 C 2
4 5 1 4 ." 52 5Ot.
5 5 1 4 .152 500.0
6 1 4. i 52 5Ot. "<
7 5 ! 4. i 52 b[;6. (_
0 i .....
. . .C- ] . r . .
• . .r . [_ . .
• _ . .
0 1 1 1 1 1 1 1 0
1 Ol 3. O. O. O.
0 365.0 0 0 0 0 0 0 0
1 Ol 30 0 0 0
0 1 1 1 1 1 1 ! 0
1 Ol 3. O. O. o.
0 365 . 0 0 0 0 0 0 0 0
1 Ol 3O 0 0 0
0 ! 1 ] 1 l 1 i 0
1 01 3. O. O. O.
0 365.0 0 0 0 0 N 0 0
1 01 3O 0 0 0
0 1 ] 1 I 1 1 1 0
1 01 3. O. O. O.
0 365.0 0 0 0 0 0 0 0
1 O! 30 0 0 O
0 1 I ' l ] 1 1 0
1 0] 3 O " "
O ? 30. O 0 " C 0 O C 0
Ol 30 O £ 0
0 1 " ] ' i 1 C
i . 01 3. (". 0. 0.
O i 095 .0 C ,ff rO C C 0 0
i. Oi 30 o o o
c 1 ..... l o
"• O! 3. C. 3. O.
0 1 O 95 .0 C) <: C 0 C O 0
i. O! 30 O 0 O
67
Summary Report for Test Problem 1
(TSTPBM1.SUM)
* (VERSIf]_ I.2) *
GAS WATER
N TIME PRE£S RATE OIL RATE GAS RATIO RATE _TF_ RATIO
(T.S.) (DAY) (PSI) (B/D) (BBL) (MTF/D) (MSF) (MCF/B) (B/D) (BBL) (B/B)
i05 856.13 1332.66 314 59 3-I"1264 I/5.32 518391. 0.56 O.OO, 0. 0.00
112 !062•75 1308.0! 289 58 439918 317.34 56"7846. 1.10 0.00 O. O.OC
119 !101.45 !303.04 277 92 450841 385.62 58157]. 1.39 0.00 0 O.OC
"26 ii33.59 1298.92 210 43 459634 405.62 5_344. !.30 O.OC C 0.00
-_33 1248.75 1284.6! 240 17 488774 44i.86 644035. 1.84 0.00 0 0.00
"40 !458.75 1262.92 ]97 37 533443 320.84 /26167. i.63 0.00 0 0.00
:47 1469•94
, !262.02 :_li
, 72 _r_,
-<_oa : 288.5! 729440. ] .46 0.00 0 0.00
154 1508.5! 1258.76 194.62 543213 255.62 139830. 1.31 0.00 C 0.00
16! 1644.75 !248.13 193.48 569485 !46.94 765916. 0.76 O.CO 0 0.00
168 i826.0! 1235.60 209.25 6060;8 50.93 781187. 0.24 0.00 0 0•00
"75 1838.93 !234 •80 210.25 608788 49.86 78]836. 0.24 C.OC 0 0.00
182 1885.2! _'_i_3_
_.9(] 213.j,_<_ 6]86©9. 49 34 784_]5,. 0.23 0.00 O 0.00
203 2460.75 1196.87 218.56 143922. i30 7? 840433 0.60 0.00 O 0.00
2]7 2582 97 1188.'72 ?l,.SC ,'_'0243. 196 07 860639 0.93 O.O0 :2 0.00
224 2662 94 1183.40 Z_]'_.(]5 786867 222 OC 87;559 i•',']8 0.0 /] 0 "_ _"
,21 2861 75 1170.6_ "9'.2{- 925563. 25_ 48 926045 1.35 0.(,(; C 0.00
,'38 90"71 75 1;_,,__,,,4,_ 17,07 86!515. ,-&v.58. 978461 _.40 O.O:',) O. 0.')0
245 3°8
.......
_ 15 1_44.;f; '69.50 8998] I. 259.44 ,r_-_:578 _....
.%'_ "].Or',, C. r_,,._,r_
0
2t2 3491 15
...........
1133 C[: _(75.,2',: _a_42u6 2;0 ";'_: 107{7649. 1.69 [;.?,t; 5. C.OC
68
PART OF THE OUTPUT FILE FOR TEST PROBLEM 1
(TSTPBM1.OUT)
. "k
GRID SIZE (DX) IN COLUMN 1 IS INITIALLY SZr AT 240.00 FOR ALL NOOES
GRID SIZE (DX) IN CO[IJMN 2 IS INFFIALLY SE'I'AT 240.00 FOP. ALL NOOES
GRID SIZE (DX) IN COI/_N 3 IS IN[TI/_/_Y SET AT 240.00 FOR ALL NODES
GRID SIZE (DX) IN CO[b,_N 4 fS INITIAI_Y SET AT 300.00 FOR _i, NODES
GRID SIZE (DX) IN (_[IJMN 7 IS INITIALLY SET AT 300.00 FOR ALL NOOES
GRID SIZF, (DX) IN C_I]]MN 9 IS ]NFI'!ALLY SE[' AT 240.00 FOR AI_ NOD_kS
GRID SIZE (DX) IN COlLeeN i0 IS INITIAI,I,YSET NI' 240.00 FC_ ALL NC_DF_S
GRID BLCCK WIDTH (DY) IS /N!'I'IAIL,Y SET AT 293.3300 FDR AI,I, NOOES
GRID BIf3CK DF/_'I'H (DZ) rS INIT]AI/_Y SET AT 50.0000 FOR ALL NOD[_
3025 ,_025 3025. 3025 3025. 3025. 3025. 3025 3025. 3025.
3025 3025 3025. 3025 3025. 3025. 3025. 3025 3025. "3025.
3025 3025 3025. 3t25 30,°h. 3025. 3025. 3025 3025. 3025.
3025 302'!, 9025 .......
3(]25 ').
302_. {'_"_ 3_"
,_2_.
_ 3025 302_ 302_,).
9025 3025 3025. 302:) 3025. 302[). 3025. 3025 3025 3025.
_025,, 3025 3025. ,-_"'_:,,o/_,
3025. 30Ph. 3025. BD2b "1025 3025.
3025 30_5. 3025. 3025 3025. 3025. 3025. 3025 3@25 3025.
3025 3025. 3025. 3025 3025. 3025. 3025. 3025 3025 3025.
3025. 3025. 3025. 3025 3025. 3025. 3025. 3025 3025 3025.
69
POI_ITY (PHI) IS INITIALLY SEF Ai 0.2500 FOR ALL. NODES
15 0 1 _u.-,Uu_<_'_''
i .0390 2.00
b00 0 5.J_0J i 0782] 93 IC
]000 0 3.390C _._230 198 (_'
J,J,,,
C "_.46/]0 . llC 3C9 5_
2000 0 !.9200 " .;2<ii, 424 O(;
2500 ¢ 1.5800 1.210(, 541 :8
3000 0 ".3400 1.37!2 669 6_0
3500 0 1.1700 1.3730 781 9()
4000 0 _.04 r_'_ i.4260 904 80
4500 _'3. C.9400 1.479% "$2 r} 21
5O_;q.O 0.8500 i .537.,'; :'.<490
5500.0 0.780,3 _. L8 ;:" 1281 89
FS;O(.;.,'. " .'_.S(; " .642t " 409 8_;
70
P HUG _ CR
P E_ DIK]]DP
500.0 0 2820F2-01 -0.2171E-02
I000.0 0 1223E-01 -0. 31957]-04
1500.0 0 7] 80F-02 -C;.]010E-04
2000.0 0 5132 E-02 -0. 4098E-05
2500.0 0 42!0}.-02 -0.1_- 8A_v-O:
"1{.i. .]
FACTOR FC_i !NCR_Lr_.B[N(] DEI,T ]. 200000 _]{EN [_.c_/_< AN[) [)Pb"9< ._.)'[' E,X'(._.:
..... .,'_.:..t"'.;
FACI_:)Ri'X)RDECIfl:_I]:
>_; DEILT 0. 5O()0CO WIIEN [),<IM_TX
OR i)I)IvAXif; [:'.X,,'_"'::.hLP.,?").
71
MAXII_ SIMUIATION TIME =3660.000000
[V_MUM RESERVOIR WOR/T]IME-STEP : 50. STB/STB
I_MtlM RESERVOIR GOR/TIME-STEP = 100000. SCF/STB
5iINIM[IM AVERA_ RESERVOIR PRF,SSURE/TIME-STEP = 0.
MAXIM[lM AVFJqAGE RESERVOIR PRfLZSURE/TIME-STEP = I0000.
,NODE OIL(STBD) NATER (STBD) GAS (MSF'D) TUFAL (RBD,) _{FP (PS[A) PID
4 5 1 i000.00 0.00 0.00 0.00 500.00 4.152000
5 5 1 i000.00 0.00 0.00 O.OC 500.00 4.152000
6 5 1 I000.00 0.00 0.00 0.00 500.00 4.152000
7 5 1 I000 .00 0.00 0.00 0.0G 500.00 4.152000
HORIZf)NTAL OR SLANT WELL PROOf IS AN LMPLICYI' PRESSU[_] SPECIFIED PRODUCING :_]f,LW]{ICH CONTAINS:
BLOCK 4 5 i
BI/3CK 5 5 1
BL_OCK 6 5 ]
BLOC_ 7 5 1
K = 1
1511 15il 1511. i511. !5!i. 1511. ]51! 151! ]5ii 1511.
1511 1511 1511 1511 i511. i511. 1511 151i 1511 151i.
1511 151] 1511 1511 ]51]. ]511. 1511 1511 151.] 1511.
1511 1511 1511 !511 i511 1511. 1511 151! 1511 !5!].
1511 1511 1511 !511 15!I 1511. 15!1 15!I 1511 1511.
1511 1511 1511 15ii i51_ i511. 1511 1511 !511 1511.
1511 1511 1511 1511 i511 1511. 151i 1511 1511. !511.
1511 1511 1511 ]511 15!] 151]. 1511. ]5_] i5!I. !511.
!511 1511 151! 1511 151i 1511. 1511. 1511 1511. 1511.
72
********* OIL SAIURATICN *********
K=I
0 750 0.750 0.750 0.750 0.750 0.750 0.750 0.750 0.750 0.750
0 750 0.750 0.750 0.750 0.750 0.750 0.750 0.750 0.750 0.750
0 750 0.750 0.750 0.750 0.750 0.750 0.750 0.750 0.750 0.750
0 750 0.'7500.750 0.750 0.750 0.750 0.750 0.750 0.750 0.'750
0 750 0.750 0.750 0.750 0.750 0.750 0.750 0.750 0.750 0.750
0 750 0.750 0.750 0.750 0.750 0.750 0.750 0.750 0.750 0.750
0.750 0.750 0.750 0.750 0.750 0.750 0.750 0.750 0.750 0.750
0.750 0.750 0.750 0.750 0.750 0.750 0.750 0.750 0.750 C 750
0.750 0.750 0.750 0.750 0.750 0.750 0.750 0.750 0.750 0.750
K=I
C.250 0.250 0.250 0.250 0.250 0.250 0.250 0.250 0.250 0.250
0.250 0.250 0.250 0.250 0.250 0.250 0.250 0.250 0.250 0.250
0.250 0.250 0.250 0.250 0.250 0.250 0.250 0.250 0.250 0.250
0.250 0.250 0.250 0.250 0.250 0.250 0.250 0.250 0.250 0.250
0.250 0.250 0.250 0.250 0.250 0.250 0.250 0.250 0.250 0.250
0.250 0.250 0.250 0.750 0.250 0.250 0.250 0.250 0.250 0.250
0.250 0.250 0.250 0.250 0.250 0.250 0.250 0.250 0.250 0.250
0.250 0.250 0.250 0.250 0.250 0.250 0.250 0.250 0.250 0.250
0.250 0.250 0.250 0.250 0.250 0.250 0.250 0.250 0.250 0.250
K -= 1
0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
O.O00 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
m == 1
1500 1500 1500. 1500. 1500. 1500. 1500. 1500 1500 1500.
1500 1500 1500. 1500. ]500. 1500. 1500. 1500 1500 1500.
1500 1500 1500. 1500. 1500. i500. 1500. 1500 1500 1500.
1500 1500 1500. i500. 1500. 1500. 1500. 1500 1500 1500.
1500 !500 1500. 1500. 1500. 1500. 1500. 1500 1500 1500.
!500 1500 i500. 1500. 1500. 1500. i500. !500 1500 1500.
!500 1500 ]500. i500. 1500. !500. 1500. ]500 1500 !500.
!500 1500 1500. 1500. 1500. i500. !500. !500 1500 1500.
1500 1500 1500. !500. i500. 1500. !500. 1500 1500 1500.
73
********** WELL _T FDR ALL /L'TIVE h%]MS ELAPSED Tlt@'J= 31.010000 DAYS _I<]M B_INNIIgS O_" SIMUIAT[ON "*'''***'"
CURRENT AVG RES PRESSURE - 1483.0 PREVI(TJS AVG RES PRESSURE = 1483.5 PRESSbIiE DPMAX( 5, 5, I) _ -
3.8
OIL MA_F_AIAL BALANCE (%) = 0.000010 GAS MATERIAL BAIAKZTE (%) = 0.006352 WA.qqFi9
MATERIAL [_tk[ANCE (%) =
0.000026
OIL PRGOt_IGN RATE (Sq'B/D) : 100O.0 CUM. OIL PI_DOUCI'ION (S'[B) =0.3101[i_05
CAS PRCOtK,TIQN RATE (_F/D): 458.6 C]/M. GAS P_OOUCTION (MSCF) =0.2256E_05
hA_F]{ PR_ION RATE(STB/D): 0.0 CUM. WATER PRGOtKTFION (STB) _:0.0000E_00
CAS INJECTION RATE (MSCF/D) = 0.0 CUM,. GAS INJECTION (_'_') :0.0000E+00
WA_ER INJECTION RATE (STB/D): 0.0 CUM. WATER IN JFt-qiON (STB) =0.0000E_00
K:I
1510 1510. 1509. 1509 1508. 1508. 1509 1509 1510 1510
1509 1509. 1507. 1506 1505. 1505. 1506 1507 1509 1509
1508 1506. 1502. 1498 1498. 1498. 1498 i502 1506 1508
1505 1501. ]494. 1465 1461. 1461. ]465 ]494 !50! i505
1503 1497. 1460. 1181 1169. 1169. 118i 1460 1497 1503
1505 150!. 1494. 1465 !46]. !46!. 1465 1494 ]50! 1505
1508 1506. 1502. ]498 1498. 1498. ]498 1502 i506 1508
1509 1509. 1507. 1506 ]505. 1505. i,")06 1507 1509 1509
1510 1510. 1509. 1509 ]508. 1508. ]509 !509 ]510 1510
74
-*' ...... 021, SA['J}<Aq'!C]N "*-*-**"
0 -_i,_0
0. -'f'r_
,4 ,,,, 0. 750 0. /50 0.750 <] ?50 0.750 0.750 0.750
O "50 0.7'50 0 750 0.750 0.750 0.750 0. /50 0.750 0.150 0.750
_,- 0 ., '_
? 7<.` ..... ,. ,:)w 0.750
" ,_-c, 0.750 0.750 -7_ 0.150 0.750
......
q 0.150
0 750 0. 150 0 749 0.744 0.143 0.-143 0.744 0.749 0.150 0.7,50
O lhc 0.;;49 0 ,"13 0.?04 0.699 0.699 0.704 0.743 0.149 0.750
'.,]
!50 0.150 0,749 0.7_,I 0.743 0.743 0.?,I,10.149 0.750 0.750
() _bO 0.750 0 790 0,790 0.750 0.750 0.-!50 0.750 0.750 0.150
0 ,'Se 0.750 0,V50 0.-150 0.750 0.750 0.750 0.750 0.750 0.750
,., ,, .<%
'_,,
._':_0 750 ,,.
n.IbO,.,._", _5,, " <o 0.750
0.7_,_ 0. ,;500.750 0,150 0.750
K:- :
"'l o ,-"
2.250 0.250 _,.,5,,3.250 0 o=,n 0.250 0 _ 0 250 0.250 0 250
0.250 0.2,50 0.250 0.250:C.2_0 0.2_C O 250 0.250 0.250 0.250
::.25,;3.250 O.?_0 0.250 _;.2-_0 0.2_;3 3 250 O.2b(; 0.250 0.22,0
:'.;:_C 3.250 O.;)SC <).2_t) C.2b:_ 2.2bC 0 ,):sO 0.25(; 2.250 0.25,%'
:;:.2nt'
2.250 0.21-0 0.250 O.2bC :'.?_b00 2b0 0.?_:,_C
0.250 0.2M_
(1.2::::0 _;.2b'," ':].2",,:) i",.2bC :).2iY) 0.2[,0 {; ;.hd O.?bO C.250 0.;-!:_0
.... "-" '0.2.::,: ,:.?::" _
._. 2<', :::.2::;', 3.25.:) ' 2:'8 ''_
,.,, 250 " . 2nO n.25[)
,,.,._,, q.:':,:! 7.25::: :_':..:_:(" :'.;::C' :3 f:,:t 0.750 Ct _:,r', 0.250
:'.2::_C_.25_ :].?f'<,'.?b,:" ,3.?':,) :; 250 0.2:<: ?.150 0.253
,.".2.-C
".: ".1','" ,'. " ::;" : .:':<" :'.?::2 :'.':2:' :;.::?: :.SC," L:.:':::'
Complete output file has separate report sections for each time step. To conserve space, the
last time-step was not included in the manual. The output file TSTPBM 1.OUT includes output for
all the time-steps. Many blank lines have been removed from the output for inclusion in this
document.
APPENDIX B. TEST PROBLEM 2
0 0 0 I0
GR( n
J BLOCK LENTTH
0 -I -I
I14,32 I14,32 114 .32 1i4.32 114 .32 1i4.32 114.32 114.32 114 .32
127.02
92 .00
i 903. O0
-I -1 -1 -I
0.25
i95.00
_95 nO
_95 no
TRANSMISS!B!LITY ._,,,
v_"+' +. ,,ioNg
Tr'A_" iNONE)
0 0 0
0 I0 0 00 0 00 O O0 350 63 350 63
0 40 0 i0 0 1O C 02 4 OC 4 O0
O _._r 0 20 0 20 3 I0 4 v_ 4 _'
vu
0 60 0 40 C 40 O 30 4 O0 4 00
0 70 0 60 0 60, 5 _5 4 O0 4 O0
0 _0 0 90 O 90 i 30 4 ,,,'_'_,, 4 0O
i iO i 00 _ C,,
n i t0 4 CO 4 O0
P MUO BO E ."1C
15 8 B0 1 g2_ 4
500 4 66 i 06, 89 _;
76
5000. 0.68 1.669 1377.2
0 I .0 1.0 O.
6000. 1 .0 l .0 O.
P MUG BG CR
0 0 0 0 0
1 1 0 0 3 0 O 0 0
.0! .001 3. 0. 0. 0.
RATES --
! 0 0
PROD1
5 1 ! 1 - ii _ _ 0 0
28.78 450.
30 • 0 0 0 C _ C 0 0
!. °0! 30. O. O. 3.
0 ! i i ! 1 i ] 0
!. .0! 3. 0. 0. 0.
0 150.0 0 0 0 0 0 0 0
i. .01 30. O. 0. O.
O ! i 1 ! I ] 0
i. .0l 3. O. 0. 0.
0 180.0 C 0 0 0 0 '] 0
i. .01 30. 3. 0. O.
i ! i i i i l l O
.01 .00! 3. _. O. 0.
RA_.S
1 1 0
77
PROD1
5 1 1 1 -II 0 0 0 0
28.78 450.
IN Jt
9 -12 0 0. 0 0 2
1 9 1 35 265 1300
2 9 1 35 265 1300
3 9 1 35 265 1300
4 9 1 35 265 1300
5 9 1 35 265 1300
6 9 1 35 265 1300
7 9 1 35 265 1300
8 9 1 35 265 1300
9 9 1 35 265 1300
C 30.0 0 0 O 0 0 0 0
! Ol 30. 0. 0. 0
O 1 1 1 1 1 ! '. 0
! O! 3. O. O. O.
J 150 0 o o 3 o t C 0
1 Ol 30. 0. 0. 0
0 ! 1 1 ! 1 ! 1 o
1 Ol 3. O. O. 0.
0 180 0 0 0 C O C 0 0
1 Ol 30. 0. O 0
0 1 1 1 l l 1 1 0
Ol 3 • 0° 0, _,
0 365 q 0 0 ? C 0 0 O
I Ol 30. 0. 0 0
0 1 1 ! _ l l _ 0
1 01 3. 0. 0. 0.
0 365 0 0 C C 0 O C C
i. Ol 3O. 0. O C
C i 1 1 ! 1 1 " 0
I. Oi 3. O. O. O.
0 365 0 0 0 O 0 0 O C
i. Ol 30 . 0. 0 C
O ! 1 1 1 1 ! 1 0
L. Ol 3. O. O. O.
0 365 0 0 0 O C C 0 0
I. Ol 30 . 0. C O.
c l l l _ L l l 8
!. Oi 3. O. O. C.
<" 730 0 0 0 C _ C 3 0
• Oi 30 . 0 . 3 C.
0 1 ! 1 l " 1 C
i. Ol 3. O. O. O.
<} 1095 O 0 3 3 0 3 3 0
!. Oi 30. O. 9 0.
7_
Summary Report for Test Problem 2
(TSTPBM2.SUM)
N TIME PRESS RATE 01L RATE C_AS RA'['IO RA4'}. "_A"..Y.'._ Y.,'< _<_
(T.S.) (DAY) (PSI) (B/D) (BBL) (MSF/D) (MCF) (bI2FIB) (B/J4 (i72_i.) (i_, h)
40 190.94 916.74 872.68 200436. 505 .95 116316 0.58 0.00 _._ C 0C
II0 408.52 1026 43 720.86 370254. 367.36 220037 0.51 0.00 0. 0.0O
120 489.63 1066 33 ii36.19 442136. ]54.32 237507 0.14 0.00 0. 0.0C
130 548.39 1107 39 1494.45 519651. 264.79 252168 0.18 0.00 0. _.00
140 602.22 1153 92 1714.43 613626. 606.95 278382 0.35 0.00 0. _.0u
150 718.16 1143 71 1605.74 813581. 535.56 337545 0.33 0.00 0. 0.00
160 744.82 1i48 59 1602.83 856103. 553oi9 352352 0.35 0.00 0 0.00
170 836.05 1163 85 1350.00 995414. 228.42 399147 0.17 0.00 0 0.00
180 929.42 1].83.87 i116.76 1107072. 194.99 436207 0.17 376.37 15740 0.34
190 1003.18 1172.43 1007.93 1182964. ]70.39 457155. 0.17 497.00 45189 0.49
200 i091.02 1173.35 802.23 1259628. 395,40 484989. 0.49 547.57 92914 0.68
210 1122.17 1173.!4 786.22 1284281 303.95 494973. 0.39 663.80 112784 0.84
220 1224.19 !173.91 717.24 1360615 199.87 524046. 0.28 824.34 1889 .<. 1.16
230 1298.83 1175.34 666.70 1411964 261.98 542831. 0.39 906.98 2545,4 1.36
,-4,, i344.41 1175.06 635 76 1441715 237.73 553241. 0.37 985.86 298321 ].55
250 !438.54 1173.11 564 10 1498336 204.59 575227. 0.36 1091.20 398422 1.93
260 _463.46 I]72.]6 553 02 1512440 219.65 579942. 0.40 1190 03 427638 2.15
270 _28.06 !169.6] 5,_ 55 1546711 203.90 593608. 0.40 1296 98 508430 2.52
zS_ 16J4.7] 1i58.83 444 28 ]606586 71.91 615761. 0.16 ]671 40 689954 3.76
230 '3/.21 !159._9 380 48 164!0/i 60.93 626719. 0.16 1794 28 823408 4.72
_3" _;_2[:.82 l_r"4
..........._", 364 6 _- 1673447 ,-- .,.z
_'] o- 636875. 0.27 ]826 82 9"11021 5.01
:: 1}_4 .98 i:£_=.!5 _5(] 99 1682630 -35.31 640155. 0.39 !807 42 1017264 5.15
C " [:,_.{_ 1,5_. ,_ 279 6,' 1725871 44.50 657464. 0.7,6 1866 4_, !2(<dlTb. &.6'
79
APPENDIX C. TEST PRf)BLEM 3
Input Data for Test Problem 3
iTS TPBM3.DAT)
_ .- -.- :.h
-..
. .
}'.: , ?/
gl
P MUW BW RSW
0 i .0 I .0 0.
? MUG BG CR
....
ao C C1617 C.?O,[2i 0 _"f'<}}3S
;'_8
-,- • " .....
,-, "s"' ," __ 305.082 8 O,OC 333t?
0 0 " C r,
J
,., _ 2 3 0 0 0 0
._ .O] 3. 0. C. O.
RATES --
0 0 1
SLANT
2 -1 0 0 0 0 2
3 5 1 7 5 3 3 5 1
0.25 0. 500. 2
9 30. 0 0 _" 0 0 0 0 0
1 , .2 i0. 0. 0. O.
0 1 1 ! I 1 1 1 0
.I .i 3., 0. O. O.
0 335.0 0 0 0 0 0 0 0
1. ,5 30. O. 0. 0.
0 1 1 1 1 ] ] i 0
.! .I 3. 0. 0. 0.
0 730.0 0 0 0 0 0 0 0
I. .5 30. O. 0. 0.
0 1 1 1 1 ] 1 1 0
._ .01 3. 0. O. O.
0 364 .0 0 0 0 0 0 0 0
! . .01 30. 0. O. 0.
0 ! 1 1 i ! ! 1 0
.i .01 3. 0 0 0
82
Summary Report for Test Problem 3
(TSTPBM3.SUM)
(VERSIC_ 1.2) *
* StAN'F PRC_JCER *
GAS WATER
P_S_3 _VG OIL CUM CAS CUM OIL _A_ER CUM _':
N TIME PRESS RATE OIL RA]_: GAS RATIO RATE, WA'IT_4 RATIO
S. ) (_Y) (PSI) (B/O) ([:tBL) (_Y/D) (,.HCF) (MC,F/B) (B./D) ([_BL) ,BI;_,)
9 "9.9<: 9}2.53 83!. 31 19680. 94.3l 2298. _.r' ii O.O0 [:. :,. :::::
!2 ]0.20 969.85 69:;. _., 21493. 92 .12 3!80 _. 13 t.OC Li. :] ,%0
:;; 116. 949 96. 489.1 / 74289. !74.01 31000 0.36 O.OC _ ' ',:'3
3% ,,_3.t_, 939 26 467.5! 106353 i55.73 41528 0.33 O.OO " :'.'::'
42 3/i.,'4 9!9 !3 391 8,') ]84578 46.22 74865 0.12 0.8(: ",: ::.:,%,]
83
r