Docslide - Us - Sagd Simulation Tutorial PDF
Docslide - Us - Sagd Simulation Tutorial PDF
Docslide - Us - Sagd Simulation Tutorial PDF
STARS
Tutorial
2012
Table of Contents
Exercise 0 Creation of Cyclic Steam Base Model ...............................................................................4
Defining Reservoir Properties ................................................................................................................... 4
Defining Component Properties ............................................................................................................... 7
Defining Rock-Fluid Properties ................................................................................................................. 9
Defining Initial Conditions....................................................................................................................... 11
Defining Numerical Controls ................................................................................................................... 11
Defining Wells and Constraints ............................................................................................................... 12
Defining Simulation Results Outputs ...................................................................................................... 17
Exercise 1 Determining Appropriate Operating Constrains.............................................................. 19
Altering Model Volumes to Account for Element of Symmetry ............................................................. 19
Exercise 2 Defining Circulation Preheating ..................................................................................... 24
2A- Defining Circulation Heating using HEATER ..................................................................................... 24
2B- Defining Circulation Heating using Heater Wells (HTWELL) ............................................................. 30
2C- Extracting a 2D Submodel................................................................................................................. 31
Exercise 3 Dilation/Recompaction.................................................................................................. 34
Adding Dilation/Recompaction Through Builder .................................................................................... 34
Exercise 4 Dilation with Permeability Dependence ......................................................................... 37
Adding Permeability Dependence through Builder ................................................................................ 37
Exercise 5 Dilation through Geomechanics ..................................................................................... 38
Enabling Geomechanics in Builder.......................................................................................................... 38
Exercise 6 Vertical Permeability Variation ...................................................................................... 42
Altering Vertical Permeability ................................................................................................................. 42
Exercise 7 Top Water ..................................................................................................................... 43
Adding Top Water ................................................................................................................................... 43
Exercise 8 Bottom Water ............................................................................................................... 45
8A- Adding Bottom Water ...................................................................................................................... 45
8A- Adding Bottom Water ...................................................................................................................... 50
2|Page
3|Page
4|Page
4. Under the Reservoir Menu expand the Create Grid Section and choose Cartesian.
Enter the values as shown below (note the for the Dimensions the first number is the
number of gridblocks followed by the desired dimension in meters):
5. Open the Specify Properties window and input the following values:
Grid Top
500 m
Layer 1
Grid Thickness
1m
Entire Grid
Porosity
0.3
Entire Grid
Permeability in I
1000 md
Entire Grid
Permeability in J
= Perm I
Entire Grid
Permeability in K
= Perm I
Entire Grid
o
Temperature
12 C
Entire Grid
For a shortcut to set Perm J and K = Perm I simply right-click on Entire Grid for Perm J and select
EQUALSI from the dropdown. Repeat for Perm K.
5|Page
6. After hitting OK twice you should now have a viable 3-D Grid. This model currently has
20 grid blocks along the length of wells (each 50 m in thickness).
7. To define Thermal Rock Properties go to Thermal Rocktypes in the Reservoir Section.
Add a new Rocktype by clicking on the sideways triangle at the top of the window and
enter the following in the Rock Compressibility Tab:
Porosity Reference Pressure
3100 kPa
Formation Compressibility
Next go to the Thermal Properties tab and insert the following data (make sure to check
COMPLEX Thermal Conductivity Phase Mixing):
6|Page
8. Lastly, go to the Overburden Heat Loss tab and enter the following values (the over and
under burden is being defined as having the same thermal properties as the reservoir
rock):
7|Page
2. The mole fractions of C1 and Heavy Oil need to now be defined throughout the
reservoir. To find these values you can right click on the white space on the tree menu
(as shown below) in the Components section and select Display Dataset for Section.
3. In the window that appears the first two sets of data are the values that are required.
Jot down these numbers down somewhere and click OK to close the window.
4. Under the Reservoir section open the Specify Properties window. Find the Array
Properties for Oil Mole Fraction (C1) and (Heavy) and insert these numbers for the
Whole Grid.
8|Page
9|Page
4. For Smoothing method for table end-points choose Quadratic Smoothing for both the
Oil-Water Table and the Liquid-Gas table.
10 | P a g e
11 | P a g e
12 | P a g e
3. Under the Constraints tab insert two operating constraints, one for STL surface liquid
rate MAX of 600 m3/day and one for BHP bottom hole pressure MIN of 3000 kPa.
Select CONT REPEAT under Action.
13 | P a g e
6. Under Constraints set the STW surface water rate MAX of 300 m3/day and BHP
bottom hole pressure MAX of 4000 kPa (both on Action: CONT REPEAT):
7. Since this is an injector details on the Injection Stream also need to be defined. Click on
the Injected Fluid tab and define the following:
Injected Fluid
Water
Mole Fraction
1 (Water)
Temperature
250 C
Steam Quality
0.8
14 | P a g e
8. The well perforations need to be defined before the Wells and Recurrent Section can be
considered complete. Under the Wells and Recurrent Section open the Well
Completions (PERF) window. In this window under the General tab for the Injector well
change the Geometry Direction to J Axis. Select LAYERXYZ apply only with GEO and
GEOA for the Use layer IJK directions or XYZ geometric data. Click Apply and Repeat
for the Producer well.
15 | P a g e
10. Dates need to be added to the dataset. Go to the Dates section and insert a Range of
Dates from 2009-01-01 to 2014-01-01 (5 years of run time) with an output Every
Month. Set a STOP on the Last Day.
16 | P a g e
17 | P a g e
3. In the Simulation Results Output window create a new output for Special by clicking on
the green plus in the OUTSRF section.
4. Click on Select. In the window that appears, under the 3rd section there is an option for
SOR. Click this and select Well 1 to be the Injector and Well 2 to be the Producer. For
the option choose INST (for instantaneous SOR). Go up to Insert and choose the option
to Insert and copy a row. In the next row choose the same parameters but choose the
option to be CUM (cumulative SOR).
5. Also check the box to output PRODSTEAMR for Producer. This will give the live steam
that is entering the wellbore. In steam processes production of steam is typically bad.
This is because the enthalpy in the steam has not been transferred to the formation (i.e.
not efficient).
18 | P a g e
19 | P a g e
6. To finish setting the values for the modification we need to define what the Block
Volume/Area Modifier Type of 2 means. This needs to be done in a text editor. Save
the dataset and close Builder.
7. Open the file in a text editor and find the Grid definition section (this should be near the
top). In here you will see the following:
8. Add a line that modifies the volume of the blocks defined as type 2 by half. To do this
add the following line after the VATYPE keyword's definition:
VAMOD 2 0.5 1 0.5 0.5
This keyword is stating that for Region 2 defined by VATYPE the Volume of the blocks
will be multiplied by 0.5. The Area in the I-direction will be multiplied by 1, J-direction
by 0.5, and K-direction by 0.5 (thus the numbers 2 0.5 1 0.5 0.5).
9. The resulting text file should look as follows:
10. Save the File and Run it. Open the .irf in Results 3D so that we can analyze the initial
pressure values.
11. If you scroll over the two perforated blocks (50, 1, 25 and 50, 1, 30) you should find the
pressure to be ~3240 and ~3290 kPa respectively.
21 | P a g e
12. Based on these initial pressures the operating constraints of the wells can be properly
defined. Open the dataset back up in Builder and go to the Wells and Recurrent
section. Open the Well Events window.
13. For the Injector well we found the initial pressure in the block to be 3240 kPa. We need
to inject the steam at a pressure higher than this. Injection pressure of 4000 kPa seems
to be reasonable.
Steam injection pressure can be anything above initial reservoir pressure. However, we
want to operate sufficiently below fracture pressure. We dont want steam to break
through the cap rock and come to surface. Both low and high pressures SAGD have their
advantages and disadvantages (some of this is discussed in slides).
14. Another aspect to remember is that TINJW should be set at saturation temperature of
steam. TINJW of 250 is saturation temperature of steam at 4000 kPa. So, this data is
correct.
15. Click Apply and select the Constraints tab for the Producer. The Pressure of the
producing block was 3290 kPa so we are going to set the Minimum Bottom Hole
Pressure to be 3000 kPa. This value allows for a drawdown of 290 kPa in the first time
step.
This is good for circulation period. However, it is not unusual to set MIN BHP of
producer higher than initial reservoir pressure during the SAGD phase. In fact, if BHP is
the only constraint on producer, this BHP is usually set only a few kPa below max BHP of
injector. This is done in order to avoid/minimize live steam production in the producer.
As previously noted, production of live steam in the producer is a waste of energy. In
SAGD, it is the aim that steam transfers all of its latent heat to the reservoir before being
produced as condensed water in the producer. However, there are other alternate
22 | P a g e
methods available for controlling live steam production (as will be observed in a later
exercise, both controls change the BHP of the producer to keep from producing steam):
Steam Trap (A Steam Trap is a value by how much the steam saturation
temperature [corresponding to well bottom hole pressure] exceeds the
temperature of grid block/produced fluid)
Steam Rate (Rate of live steam production allowed into the wellbore.
Commonly this will condense in the wellbore on its way to surface)
16. In this case define a constraint of Steam Rate for the SAGD phase (At 2009-04-01). This
timeframe is based on a 3 month circulation/preheating period. Define this by adding
an Operating Constraint for STEAM RATE of 5 m3/day and CONT REPEAT as the Action.
17. Click Apply and OK to close the window. Save the dataset and Run. Please refer to the
Slides for analysis of results from this run.
23 | P a g e
in
Builder
and
rename
it
Based on the analysis of results, the temperature of the grid blocks after 90 days is too
low to allow for large amounts of injection or production (This is also evident from the
log file). This issue is solved in the field through the circulating of steam down the
tubing and up the annulus for a period of time prior to injection (as a matter of fact
there are different kinds of configurations). There are various ways to model this
preheating/circulation period in STARS. One of the options to model this in STARS is
with Heaters.
2. The Heater keywords need to be applied to the grid block of the Injecting and Producing
wells to help raise the temperatures. These are grid blocks (50, 1:20, 25) and (50, 1:20,
30) respectively.
3. In the Reservoir Section under Specify Properties find Heat Transfer Rate and set it to 0
for the Whole Grid. Do the same thing for the Prop. Heat Transfer Coeff. The Temp.
Setpoint for Controller should be defined as 12 oC for the Whole Grid. Click OK to close
the window.
4. Make sure that the property being displayed is the Heat Transfer Rate, then go into the
Edit Reservoir Property mode by pressing the
button. Click on either of the wells
blocks. When you release the mouse button a window will popup. You need to choose
24 | P a g e
Property Modification Around Wells. Select both wells and replace the value with a
value of 2.9e9 and apply the changes to All perforated layers.
5. Repeat the process outlined in Step 4 for the Prop. Heat Transfer Coeff. property using
the same value of 2.9e9.
6. Repeat the same process for the Temp. Setpoint for Controller making the temperature
in the grid blocks 240 oC (10oC lower than the Steam Temperature).
7. Save the dataset and Exit Builder. Open the Dataset in a Text Editor. Under the Wells
and Recurrent section (search for the keyword RUN) you will find an area defining Heat
Transfer Rates, Coefficients, etc. just before the DATE 2009 2 1. After these definitions
and just before the DATE 2009 2 1, insert the following lines:
AUTOHEATER ON
50:50
1:20
25:25
AUTOHEATER ON
50:50
1:20
30:30
25 | P a g e
8. Make sure to shut heaters at the end of preheating phase by setting HEATR and UHTR
to 0 and turning the AUTOHEATER OFF:
26 | P a g e
9. Save and Run the dataset. When it is opened in Results 3D you should see a clear
difference in Temperature from Exercise 1. When analyzing the results it can be clearly
observed if the temperature of 237 oC is reached too quickly or not. If so, then it means
that the Heating Rate is too high and should be lowered, however decreasing this rate
by a factor of only 10 may results in not enough heating.
Different users tend to have different approaches for the wells during circulation period
when using heaters to mimic circulation/pre-heating. Sometimes both the wells are
kept shutin during this period whereas some users keep both wells open. You may also
come across cases where users define a pseudo injector at producer location or a
pseudo producer at the injector location.
10. If needed, the Heating Rate can be found and altered in Builder or text. Open the
dataset in Builder. Under the Tree View on the Left-Hand Side of the Screen click on
Reservoir Properties. Expand the list for Array Properties and find the Heat Transfer
Rate, *HEATR definition.
11. If you expand this keyword you will see a line that says Property Edited (*MOD
keywords). Double-Click on this line to bring up an excerpt of the text file where it is
being edited. You can modify the value here, and by clicking OK, apply the changes
directly in the dataset.
27 | P a g e
We can use trial and error to find appropriate values for the HEATR and UHTR. Another
method would be to use the excel spreadsheet provided or steam circulation using
FlexWells (done later in exercise 14). Modeling steam circulation will provide the most
accurate results of heat transfer to the reservoir. A common practice is to use FlexWell
to model the pre-heating phase and then use sink source for SAGD.
After using trial and error we found that appropriate values for HEATR and UHTR to be
1.0e9 and 1,0e8, respectively.
12. You may notice following warning at the end of log file when run is complete:
28 | P a g e
Remember, this dataset contains default numerical parameters. The best way to
eliminate this message is to increase ITERMAX and NORTH to a higher value (More
discussion of this on 4th day).
in
Builder
and
rename
it
2. Double click on Heater Well under the Wells and Recurrent Section
3. Select both injector and producer and input Wellbore Temperature as 240 for both
wells:
4. Switch off the Heater Wells on 2009-04-01 (end of circulation period) by unchecking
the box on this date.
5. Save and Run the dataset. Rerun the dataset with increased ITERMAX and NORTH
(150 each) if you get following message:
30 | P a g e
31 | P a g e
2. Select only 1 block in J direction (as follows) and click OK on the message that pops
up:
When you extract a 2D model, Layer XYZ doesnt mean anything and in fact will give
erroneous results of the perforation length of 1m.
32 | P a g e
3. Maximum Steam Injection Rate for injector needs to be changed to 15 m3/day and
Maximum Liquid Production Rate for producer should be 30 m3/day and a
Maximum Steam Rate constraint of 0.25 m3/day on 2009-04-01.
4. Depending on the version of Builder being used, AUTOHEATER ranges may not be
adjusted automatically when we extract sub model because this keyword is not
supported in Builder. Save the dataset and open it in a Text Editor to fix the
AUTOHEATER range as follows:
5. Also while in text editor be sure to change the geometry of the two wells to J
direction. When there is only one perforation for a well, builder prevents you from
changing the direction from k axis.
It will be observed that rates have been made 1/4th of their original for the shorter
length wells, and the AUTOHEATER location has also been adjusted.
In homogeneous cases like this, we can extrapolate (approximate) full well
performance in multiple ways. One of the approaches is to multiply rates obtained
from the 2D mode by a factor that is the ratio of full well length to the well length in
2D model (1000/50 = 20 in this case).
Another approach could be increasing the length of the gridblock in the 2D model to
the full well length (we need to be careful with this approach as sometime this may
lead to numerical instability).
We may also have a shorter 3D model and then use the multiplication factor on rates
same as explained above to predict performance of full well. However, it should be
noted that this approach is not taking into account differences in friction and heat
losses along the length of well. Results from the 3D Model, 2D model rates
multiplied by ratio, 1000m 2D model, and shorter 3D model rates multiplied by ratio
can be seen in comparison_fullwell_prediction from_different_runs.ses file located
in the SIZE COMPARISON folder, located in the REQUIRED DATA folder
Exercise 3 Dilation/Recompaction
The purpose of this exercise is to define dilation and recompaction in the model. This is a
geomechanical effect caused by injection and production in typically unconsolidated or lowcementation reservoirs.
4. In the Input/output Control section open the window for Simulation Results Output.
Under the section labeled Items in Simulation Results File- What to write (OUTSRF)
there is a line for Grid output with a box next to it titled Select for values. Click on this
and in the popup select the following then click OK to close both windows:
Fluid Porosity (FPOROS)
I direction absolute permeability (PERMI)
J direction absolute permeability (PERMJ)
K direction absolute permeability (PERMK)
In field operations, operators may have limited steam generation capacity and thus
injectors may be limited by rate constraints. However in this training we want to
compare the effect of different variations and thus need to include higher rates.
Increase the maximum injection rate to 150 m3/day for injector and maximum liquid
production rate of 300 m3/day and maximum steam rate of 5 m3/day for producer.
5. Go the Numerical tab and set a convergence tolerance of tighter.
6. Save the dataset and Run.
35 | P a g e
7. Also Re-run Exercise 2C with outputs of current porosity and permeabilitys to compare
with Exercise 3.
Open EXERCISE_2C_Heaters_NUM_2D.dat in Builder and Save it as
EXERCISE_2_PORO.dat. Add additional outputs as described in Step 4, above. Also
increase injection and production rates 10 times as done to Exercise 3 above (so a
comparison between dataset may be made). Run the dataset.
8. Porosity change for case 3 (left) and case 2 (right) comparison should looks as follows
9. Try some different values for the Pressure at which Dilation/Recompaction occurs and
compare the results. Make sure that dilation onset pressure is higher than initial max
pressure anywhere in reservoir.
36 | P a g e
37 | P a g e
3. Under Reservoir in the main menu bar open the window to Delete Properties. Find the
Permeability Multiplier for the I, J, and K directions and delete them.
5. Go to the Input/Output Controls section and open the window for Simulation Results
File Writing. In the top section (WSRF) click the green plus sign
to add a new
property to be written. In the popup window select the Grid Deform property for the
initial date and click OK. Click OK again to close the window.
6. Under the Geomechanics section open the window for Geomechanical Rock Types.
Add a new Rocktype by clicking on the sideways triangle at the top. Say OK at following
message:
39 | P a g e
7. Under Rock Type Model select Pseudo Dilation Model and enter the following data.
Finish by pressing Apply and OK.
8. Under the Geomechanics section open the window for Calculation and Numerical
Options. Select the values and options shown below then press Apply and OK to close.
40 | P a g e
9. Save the dataset, Close Builder and open it in a Text Editor. Add the following keywords
just before the RUN keyword:
STRESS3D 2000 2000 2000 0 0 0
GPERMLC 3
Note: First line is providing Initial Stress Distribution and second one is to define
exponent in Li Chalatrunyk empirical formula to link permeability to strain change (there
are other options available to link permeability to strain change). These keywords are
not available in Builder yet.
10. Save the dataset and Run the dataset. Compare the results for permeability, porosity,
and temperature. You can also note that a visual deformation occurs over time.
Compare results with Exercise 4 without geomechanics.
41 | P a g e
42 | P a g e
43 | P a g e
3. The results should demonstrate the following Thermal gradients. This plume is due to
the water on the top of the reservoir having a higher conductivity to heat, allowing for a
larger heat transfer.
44 | P a g e
45 | P a g e
2. You will notice that both producer and injector are now located in water zone. So, lets
move wells above water zone Injector to 50 1 19 and Producer to 50 1 24.
47 | P a g e
Change the AUTOHEATER location in text editor as this keyword is not available in
Builder.
48 | P a g e
5. In this case we have moved injector away from bottom water. If injector is close to
water zone, there will be quite a bit of steam energy which will get wasted in this water
zone. Below is the plot of cumulative SOR comparison of top and bottom water with the
base case where there is no top or bottom water present:
It can be noticed that cum SOR in both top and bottom water case is higher than the no top
or bottom water case.
49 | P a g e
50 | P a g e
Note: In above cases, we have limited amount of top and/or bottom water. In many real
situations, extent of these water bodies may be much bigger than the reservoir. In that
case amount of steam energy lost to these water bodies will be huge and process will
become less thermally efficient i.e., SOR will go up. In some cases process may become
un-economical.
51 | P a g e
52 | P a g e
53 | P a g e
54 | P a g e
Temperature:
Pressure:
55 | P a g e
2. Save the case as EXERCISE_10C_NoGasContent.dat and Run it. If model crashes, make
following changes in numerical section (Increase ITERMAX and NORTH to 300 and add
UPSTREAM KLEVEL), Save it as EXERCISE_10C_NoGasContent_NUM.dat and Re-Run it.
56 | P a g e
3. Open the other CMG STARS PVT Data form and under the K-Value tab, change the
Pressure Step and No. of pressure steps to 750 and 20 respectively.
6. Under the Reservoir Section in Specify Properties find the Bubble Point Pres (C1), *PBC
and change it to 0 for the Entire Grid. This sets the bubble point equal to that of the
initial grid pressure.
57 | P a g e
7. Since you cannot specify MFRAC_OIL and PBC for the same component, you need to
delete MFRAC_OIL for the C1 component. To do that, go to Reservoir -> delete
properties and select Oil Mole Fraction (C1).
8. In the Initial Conditions section change the Initial Pressure to 10,000 kPa.
9. Since the Initial Pressure is changing we need to alter the other properties accordingly.
Under the Well Events window Change the Producing well constraint for Minimum BHP
to be 9750 kPa and the Injector well constraint for Maximum BHP to 11000 kPa.
10. Since the Injection pressure is being altered the Steam Temperature must be found for
that pressure and Steam Quality of 0.8. This leads to a Temperature of 318.8 oC which
needs to replace the previous value of 250 oC in the Injected Fluids tab.
11. Dilation Parameters for the model need to be increased accordingly as well. Under the
Reservoir Section in the Thermal Rocktypes Window go to the Dilation-Recompaction
tab and change the data as follows:
58 | P a g e
12. Also output Component composition in oil phase to check what mole fraction of C1 in
oil phase will exist at initialization.
You will notice that model initializes with 19.71% C1 in oil phase as opposed to 7.8% in
original model.
13. Due to the higher gas saturations and pressures, the HEATER definition may need to be
altered. Increase the HEATR and UHTR to 1.0e9 and 2.9e9, respectively and the
TMPSET to a value of 308 (since the injector now is injecting at a temperature of 318
Deg C).
14. Save the case as EXERCISE_10D_HighGasContent.dat and Run it. If model crashes, make
following changes in numerical section (Increase ITERMAX and NORTH to 300 and add
UPSTREAM KLEVEL). Save dataset as EXERCISE_10D_HighGasContent_NUM.dat and
Re-Run it.
59 | P a g e
60 | P a g e
61 | P a g e
62 | P a g e
3. Go to the Rocktype Properties Tab and Check the box to enable Interpolation
Components (INTCOMP). In doing so the options will become available to select the
component and phase that will be tracked for switching.
In this case choose for the Rock-Fluid Interpolation Will Depend on Component: to be
Water and the Phase from which component`s composition will be taken: to be gas
mole fraction.
4. Click Apply then go to the Interpolation Set Parameters Tab. Input a value of 0.2 for
the DTRAPW and DTRAPN. This relates to the water mole fraction in the gas phase
(steam) associated with this relative permeability set. Click Apply.
63 | P a g e
5. At the top of the window is a dropdown for Interpolation Sets. Next to this is a
triangular button. Click on this and choose the option to Copy Current Interpolation
Set. A second Interpolation set will be created that is identical to the first. Values now
need to be altered to differentiate the relative permeability in this set from the first
based on the presence of steam.
6. In the Interpolation Set Parameters tab for the Interpolation Set 2 input values of 0.8 in
place of 0.2 for both the DTRAPW and DTRAPN values.
7. In the Relative Permeability End Points tab find the Relative permeability to gas at
connate liquid (KRGCW) and choose to Overwrite Table Value with the value of 0.6 (the
original value was 0.3 for solution gas). Press Apply.
8. Apply and press OK to exit the window. Once again, examine the diagnostic plots to
observe how the compositional dependency and temperature dependency are taken
into
account
at
the
same
time.
Save
the
Dataset
as
EXERCISE_11B_TEMP_DEPEN_COMP_DEPEN.dat and Run it.
64 | P a g e
9. To Summarize:
Below a water mole fraction of 0.2 in the gas phase the Set 1 Interpolation will be used.
Above a water mole fraction of 0.8 in the gas phase the Set 2 Interpolation will be used.
Any values in-between will have an interpolation made between the two sets.
65 | P a g e
66 | P a g e
3. Find the file hetrogeneous_model.bin located in the REQUIRED DATA -> SAGD Tutorial
-> EXERCISE_12_HETEROGENEOUS folder and click Open.
4. The message that pops-up is a description of the Rescue File. Click OK to close it.
Choose the option shown below on next screen and click OK.
5. This last window is where the user defines what the values in the dataset the values in
the Rescue Files should be imported into. Select the NULL Blocks property on the Left
side (Rescue File Values), find the NULL Blocks property on the Right side (Dataset
Values) and click Add to Selected List.
6. Repeat this for the other parameters (Perm_I, Perm_J Perm_K, Pinchout array and
Porosity) on the until the RESCUE values on the Left are all matched to values on the
Right.
Another common method for importing these properties is to create a Custom Property
on the dataset side to import each of the RESCUE properties into. Then a formula can
be applied to move the imported property into the associated property. Doing this gives
added flexibility by giving the user an intermediate step where the property may be
modified before final defining under the array property.
67 | P a g e
7. Now we will import well trajectories. Click Next on following 2 screens and Finish on 3rd
screen.
68 | P a g e
69 | P a g e
70 | P a g e
71 | P a g e
72 | P a g e
73 | P a g e
8. We will read in the perforation information from Perforation.perf file. This file can be
defined as follows:
74 | P a g e
75 | P a g e
9. We can use similar operating constraints as we used in the 3D model we built in the
beginning of the SAGD exercises. Set the Injector well to Injector Mobility weighted
Implicit and set STW to 300 m3/day and BHP to 4000 kPa. On injected fluid tab set
water mole fraction to 1, Temperature to 250 and Steam Quality to 0.8. Apply and OK.
76 | P a g e
10. Set the Producer well to Producer and set STL to 600 m3/day and BHP to 3000 kPa.
Press Apply and OK.
77 | P a g e
11. Set a range of dates for 5 years and place a STOP at last date.
Note: You might have noticed that in this case we are not using FRAC of 0.5 and VAMOD
because in this case wells are located in the middle of model and we are NOT modeling
element of symmetry
13. Use HTWELLs (as used in Exercise 2) to represent preheating/circulation period. These
heater wells should be shut after the circulation period (three months).
14. Output VISO (Oil Viscosity) for the Grid. Save and Run the dataset.
78 | P a g e
79 | P a g e
Notes:
There are many more options available for SAM. What we have done above is
the basic minimum needed for SAM. More details are discussed in the course
Wellbore Modelling offered by CMG.
When SAM is used, you get information about temperature, pressure and phase
changes in the output file. Variation of these properties with depth is not
available for plotting in Result Graph. However, when you use SAM you can get
some additional outputs such as temperature, pressure, and steam quality at
surface and bottom-hole conditions with the implementation of the following
keywords in the I/O Section of the dataset while open in Text Editor:
OUTSRF SPECIAL
PHWELL 'Injector' TEMP SURFACE
PHWELL 'Injector' TEMP DOWNHOLE
PHWELL 'Injector' PRES SURFACE
PHWELL 'Injector' PRES DOWNHOLE
PHWELL 'Injector' STQUAL SURFACE
PHWELL 'Injector' STQUAL DOWNHOLE
80 | P a g e
Additionally, you can get these outputs at the Pump location (if a pump is used).
You can insert these keywords in Builder in the Special Variable Output:
4. When you run this model, you will notice many Experiencing problems with lifting
fluids in well Producer messages in the .log file. This indicates that some type of
artificial lift is required to lift the production fluids to surface (i.e. the reservoir energy is
not enough to overcome the frictional and gravitational forces in the well).
81 | P a g e
2. Save and Run EXERCISE_13B_SAM_Pump.dat. Look in the output file (.OUT) of both
this and previous run for SAMINFO details. Also compare results of run with SAM model
with the Exercise 2A model.
82 | P a g e
83 | P a g e
2. Delete Special output from I/O section as well names will be changed later and this will
produce an error when we will go to run this file. Save and dataset.
3. Open EXERCISE_14_FlexWell.dat
Injector_CIRCULATION_TUBING
Producer_CIRCULATION_ANNULUS.
in Builder.
Rename
and
Rename
Well Injector
Producer
as
as
4. For circulation purposes we need to define Annulus and Tubing wells at both Injector
and Producer locations. We will be injecting down the tubing and producing up the
annulus (thus the naming convention applied above). As such, an Annulus Producer
(named Injector_CIRCULATION_ANNULUS) for the Injection well will need to created
along with a Tubing Injector (named Prodcuer_CIRCULATION_TUBING) for the Producer
well. The below steps show how to add the well Injector_CIRCULATION_ANNULUS but
the general steps are the same for adding the Producer Tubing:
84 | P a g e
85 | P a g e
86 | P a g e
NOTE:
When you copy well, FRAC is NOT copied. So, make sure to change FRAC to 0.5 in all
wells created by copying previously existing wells.
5. Now we need to assign constraints to these new wells which we have created in the
previous step. The easiest way to do this will be to copy constraints from existing wells
using Copy Event Using Filter feature in Builder and then modifying them if needed.
Steps
are
shown
below
to
copy
Injector
constraints
from
Injector_CIRCULATION_TUBING to Prodcuer_CIRCULATION_TUBING.
87 | P a g e
Note:
When you repeat this procedure to copy constraints
from
Producer_CIRCULATION_ANNULUS
to
Injector_CIRCULATION_ANNULUS do not forget to
clear previous the previous copy results by clicking
the Clear List button in the Search & Add results
window. Also, only copy the data from 2009-01-01
for these wells (not the 2009-04-01).
Add a new operating constraint to the Circulation
Annulus of both the Injector and Producer well.
The constraint will be MAX STEAM Rate Constraint
of 10 m3/day. This is done to ensure that live
steam is not produced back and energy is being
transferred to the formation.
88 | P a g e
89 | P a g e
9. Double-Click on FlexWells to open the associated window. Add a New FlexWell and
name it INJECTOR_CIRCULATION.
Define the Well Annulus to be
Injector_CIRCULATION_ANNULUS and set the Wall OD to 0.31 m.
10. Click the button to Add Tubing and select the Injector_CIRCULATION_TUBING as the
well. Change the Wall ID to be 0.173 m and the Wall OD to be 0.183 m. By default the
tubing will extend to the end of the well.
90 | P a g e
11. Repeat the previous Steps to define a FlexWell for the Producer.
diameters for the Annulus and Tubing.
12. In the Events section of the FlexWell window Deactivate the Producers FlexWell at the
date 2009-04-01. This is because the producer will be requiring a new setup for the
SAGD phase while the Injector well will just require the Annulus to be Shut-in so that the
steam injected down the tubing goes into the reservoir, rather than being produced.
91 | P a g e
13. In the SAGD phase a new FlexWell may be defined for the Injector and Producer so that
you can properly operate the wells. Another method for doing this is to use the
REPLACE keyword in text to replace wells in a FlexWell without needing to define new
FlexWells.
92 | P a g e
93 | P a g e
94 | P a g e
3. Make sure to also Shut-in the Producer_CIRCULATION_ANNULUS so that you are only
producing up the Tubing during SAGD at 2009-04-01.
4. Output some FlexWell-related outputs as displayed in following snapshots:
95 | P a g e
5. With FlexWell it is recommended to use Two numerical sets; one for FlexWell and other
for reservoir. This can be done by copying the current numerical set to make two sets
and then modifying Set One for FlexWell (note that Set 1 will always be used for
FlexWell by default).
6. It is recommended to have smaller NORMS and tighter tolerances for numerical set 1
which will be used by FlexWell. Use following numerical parameters for NUMSET 1:
96 | P a g e
7. Once we have defined 2 NUMSETS, we need to specify that Set 2 be used by the
Reservoir. This can be done as follows (If this is not done then Numerical Set 1 will be
used by both FlexWell and the Reservoir even when two numerical sets are defined):
Notes:
In this design, during the circulation period, we are injecting through the tubing
and producing through the annulus in both Injector and Producer. There are
many other configurations possible such as having a short and long tubing in
annulus and injecting through long tubing and producing through short tubing.
These configurations are examined in the Wellbore Modeling Course.
There are lot of additional output we have outputted in both the *.out and SR2
files. However, we dont have time to analyze this in this training. That is done in
the Wellbore Modeling Course.
97 | P a g e
98 | P a g e
2. You will notice that now you have more components in your fluid model:
3. Output some additional information which is relevant for ES-SAGD. One such output is
the values for components in the produced/injected streams. Also remove Special
output.
99 | P a g e
Note:
It is important to distinguish between the oil produced from the reservoir and the
produced solvent. If produced solvent is in liquid state at surface conditions then it will
be reported as oil. If we dont account for this solvent, oil recovery in an ES-SAGD case
will be overestimated. The solvent must also be taken into account in the calculation of
SORs.
4. Also output component mole fractions in oil and gas phase (X and Y, respectively). We
will need all this information for calculation of volume fractions in injected fluids:
100 | P a g e
5. In ESSAGD we inject solvent along with steam. So, next thing we need to do is change
INCOMP of injector. Go to injector and change Injected fluid to WATER-GAS-OIL as
follows:
Note:
If injected solvent is gas at surface conditions the WATER-GAS option should be
selected. If it is liquid at surface conditions then WATER-OIL option should be selected. If
solvent can exist as both liquid and gas at surface conditions then WATER-OIL-GAS
option should be selected.
6. Save the dataset (Very important to save at this spot).
4. In Initial Conditions section set the Reference Pressure to 101.325 and DGOC at 501m.
We have provided 1 m of top gas. This is done so that the model is able to initialize with
some gas. The flash calculation which is performed will determine what the
composition of this gas is for input into the Excel file.
102 | P a g e
5. Delete the Injector and Remove the BHP constraint from the Producer. Also Delete the
Special Output in the Simulation Results Output (since Injector was removed).
6. Save the dataset as EXERCISE_15_ES_SAGD_CALIB.dat and Run this dataset one time
step. Look for produced GOR in the *.Log file. Plug in this value of GOR in Box G3 of
Excel file Esagd vol frac conversion10wt.xlsx.
8. In excel file, plug in oil mole fraction of component in IC4-IC5 in cell C14, component in
C6-C8 in cell C15, component in C9-C11 in cell C16. Plug in gas mole fraction of
component in IC4-IC5 in cell J14, and component in C6-C8 in cell J15.
103 | P a g e
10. The Volume Fractions of the Solvent should now have been calculated. Input
appropriate volume fractions of injected fluid (INCOMP) in injector in the
EXERCISE_15_ES_SAGD.dat dataset, Save the dataset and Run it.
Analyze the results and compare recoveries with the Exercise 4 results.
104 | P a g e