sagd simulation tutorial

104
Modeling SAGD in STARS Tutorial 2012

Upload: mls28

Post on 28-Dec-2015

328 views

Category:

Documents


16 download

DESCRIPTION

Tutorial de CMG para SAGD

TRANSCRIPT

Page 1: SAGD Simulation Tutorial

Modeling SAGD in

STARS

Tutorial

2012

Page 2: SAGD Simulation Tutorial

2 | P a g e

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

Page 3: SAGD Simulation Tutorial

3 | P a g e

Exercise 9 – Mobile Water ................................................................................................................ 52

Adding Mobile Water .............................................................................................................................. 52

Exercise 10 – Top Gas ....................................................................................................................... 54

10A & 10B- Adding Top Gas .................................................................................................................... 54

10C- Simulating No Gas in the Model (Dead-Oil System) ....................................................................... 56

10D- Simulating High Dissolved-Gas Content in the Model ................................................................... 57

10E- Simulating High Dissolved-Gas Content in the Model .................................................................... 60

Exercise 11 – Temperature and Compositionally-Dependent Relative Permeability ....................... 61

11A- Adding Temperature Dependence ................................................................................................. 61

11B- Adding Compositional Dependence ............................................................................................... 63

Exercise 12 – Importation of a Heterogeneous Geologic Model via RESCUE ....................................... 66

Importing RESCUE Model ........................................................................................................................ 66

Defining Reservoir Properties ................................................................................................................. 70

Exercise 13 – Addition of a Semi-Analytical Wellbore Model ............................................................. 79

13A- Defining a SAM Model .................................................................................................................... 79

13B- Adding a Pump to SAM ................................................................................................................... 82

Exercise 14 – SAGD Modeling with FlexWell Model ........................................................................... 83

Defining FlexWells for Circulation ........................................................................................................... 83

Defining FlexWells for Circulation ........................................................................................................... 92

Case 15- ES-SAGD ............................................................................................................................. 98

Page 4: SAGD Simulation Tutorial

4 | P a g e

Exercise 0 – Creation of Cyclic Steam Base Model The purpose of this exercise is to utilize Builder to create a 3D Base Model that will be used in evaluating the different capabilities of STARS in modeling SAGD operations. This Is done through the tutorial exercises that follow. The model has 1000 m long horizontal wells. The model size is 30 m thick and 50 m wide. This model assumes that the well pair is located between two other well pairs defined by 100 m spacing. Since there will be other steam chambers growing on each side of the modeled well pair, it is assumed there is a no-flow boundary half-way between the well pairs. Based on this no-flow boundary assumption the total flow length would be defined as 50 m on each side of the well pair (100 m total). Due to the model being homogenous and uniform it can be further assumed that the steam chamber development will be the same on each side, allowing for just one side to be modeled (i.e. 50 m). This is defined by an element-of-symmetry about the well-pair.

Defining Reservoir Properties 1. Double click on Launcher to activate the CMG interface GUI.

2. Open BUILDER by double clicking on the appropriate icon in the Launcher.

3. Choose:

STARS Simulator

SI Unit

Single Porosity system

Start date 2009-01-01

Click OK, verify the settings and Click OK again

Page 5: SAGD Simulation Tutorial

5 | P a g e

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 1 m 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

Temperature 12 oC 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.

Page 6: SAGD Simulation Tutorial

6 | P a g e

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 1.0 e-06 1/kPa

Next go to the Thermal Properties tab and insert the following data (make sure to check

COMPLEX Thermal Conductivity Phase Mixing):

Page 7: SAGD Simulation Tutorial

7 | P a g e

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):

9. Save the dataset as EXERCISE_0_BaseCase.dat.

Defining Component Properties 1. The first step in doing this is to import proper fluid properties. To do this, go to the

Components section of Builder and select Import WinProp-generated Model. Find the

WinProp file generated on Day 1 called Live_Oil2_PVT.str. Press OK to import it.

Page 8: SAGD Simulation Tutorial

8 | P a g e

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.

Page 9: SAGD Simulation Tutorial

9 | P a g e

5. Click OK. Save the dataset.

Defining Rock-Fluid Properties 1. Go to the Rock-Fluid Properties and click on Create/Edit Rock Types. In the window

that pops-up click the sideways triangle and choose New Rock Type.

2. Click on Tools and select Generate Tables Using Correlations.

Page 10: SAGD Simulation Tutorial

10 | P a g e

3. In the Relative Permeability Correlations window input the following information to

define the Relative Permeability Curves and click Apply and OK:

4. For Smoothing method for table end-points choose Quadratic Smoothing for both the

Oil-Water Table and the Liquid-Gas table.

Page 11: SAGD Simulation Tutorial

11 | P a g e

Defining Initial Conditions 1. Go to the Initial Conditions Section and open associated window. Use the default of

Depth-Average Capillary-Gravity Method for Vertical Equilibrium Calculations. The

remaining values should be inserted as follows. Click Apply and OK:

Defining Numerical Controls 1. Open the Numerical Controls window and insert a value of 0.01 day for DTWELL. Click

Apply and OK.

Page 12: SAGD Simulation Tutorial

12 | P a g e

Defining Wells and Constraints 1. SAGD models use an Injector located above a Producer. Because of this we need to

define 2 wells in this model. To do this, go to the Wells and Recurrent Section and

select Well New.

2. First define the Production well. Name the well PRODUCER with Type: PRODUCER and

a Fraction of 0.5.

This fraction value dictates that only half the flow rates and well index will be applied to

the well. This is because the model being used is only taking into account half of the

well, and thus the element of symmetry is half (0.5 or 50%).

Page 13: SAGD Simulation Tutorial

13 | 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.

4. After this is complete Click OK.

5. Add another well in the same way with the name INJECTOR, Type: INJECTOR

MOBWEIGHT IMPLICIT, and Fraction 0.5:

Page 14: SAGD Simulation Tutorial

14 | 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

Page 15: SAGD Simulation Tutorial

15 | 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.

Page 16: SAGD Simulation Tutorial

16 | P a g e

9. To define the perforations go to the Perforations tab. Click on the button and

insert the number 50 1:20 30 for the Producer and 50 1:20 25 for the Injector. press

Apply and OK after this is complete.

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.

Page 17: SAGD Simulation Tutorial

17 | P a g e

Defining Simulation Results Outputs 1. Oil Viscosity change is an important parameter. Output Viscosity (VISO) for the grid

under the Input/Output Section -> Simulation Results Output -> Grid.

2. Steam-Oil Ratio (SOR) is an important parameter in determining the feasibility of a SAGD

project. There are two outputs for SOR. One output will be automatically output on a

per-sector basis (so well pairs may be placed in individual sectors). Another method for

outputting SOR is not on a per-sector basis but by defining each well pair.

Page 18: SAGD Simulation Tutorial

18 | 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).

6. Save and Run the dataset.

7. Analyze the operation of the base dataset in Results 3D and Graph.

Page 19: SAGD Simulation Tutorial

19 | P a g e

Exercise 1 – Determining Appropriate Operating Constrains The purpose of this exercise is to properly define the operating constraints relative to the model

pressure and volumes.

Altering Model Volumes to Account for Element of Symmetry

1. Open the dataset EXERCISE_0_BaseCase.dat. Save it under a new name of EXERCISE_1_VAMOD.dat.

2. The volume needs to be modified to account for element of symmetry. As previously noted in Exercise 0 when the wells were being defined, the model is only analyzing half of the well. If you look at an IK-2D X-Sec view of the model then you can think of the model as being 2 horizontal wellbores coming out of the screen towards you. We are in essence cutting the wellbore in half vertically and taking the left half. Since only half of the wellbore is being considered we limited the production and injection to half of what it would normally be by the use of a Fraction of 0.5 in the Well definitions. The grid blocks need to be altered as well though. Since the model was cut vertically through the wellbores all of the blocks in this vertical column should have half of the volume they normally would. There is also half of the original flowable area in the J and K directions.

3. To change the proper areas and volumes for this column of blocks we first need to define two different regions for the grid. To do this, go to Specify Properties under the Reservoir Section and find the Block Volume/Area Modifier Type Property. Enter a value of 1 for the Whole Grid. Click OK to exit the window.

4. We now need to edit the Block Modifier Type for the blocks along the right edge where the wellbores are located. Making sure that the property currently being displayed is Block Volume/Area Modifier Type and you are in IK-2D X-Sec view click the Edit Reservoir Property button . Click and Drag along these grid blocks. When they are all selected release the mouse button and a window will popup.

5. On this window we will be replacing the Current Value with the value of 2 for All layers through grid.

Page 20: SAGD Simulation Tutorial

20 | 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:

What we are interested in is the portion in the Red Box.

Page 21: SAGD Simulation Tutorial

21 | P a g e

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.

Page 22: SAGD Simulation Tutorial

22 | 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 don’t 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

Page 23: SAGD Simulation Tutorial

23 | 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.

Page 24: SAGD Simulation Tutorial

24 | P a g e

Exercise 2 – Defining Circulation Preheating

The purpose of this exercise is to define preheating of the reservoir through the use of Heaters

to model the energy transfer that would occur during circulation (prior to SAGD startup).

In high viscous oil (Athabasca kind of Bitumen) it is not possible to inject steam without first

preheating the reservoir in the vicinity of well pair. In the field, this is achieved by circulating

steam for certain duration in both injector and producer. This can be done in many different

ways but simplest approach is injection of steam down tubing and production of condensed

water up annulus. This process can be modeled using FlexWell (recommended method) and

Discretized Well (not as many capabilities as in FlexWell). However there are simpler options

available in STARS to mimic this process. The next 2 exercises explain these available options.

Usually when oil viscosity has decreased to around 1000 cp between the wells it is a good time

to switch over to SAGD phase.

2A- Defining Circulation Heating using HEATER

1. Open the file EXERCISE_1_VAMOD.dat in Builder and rename it

EXERCISE_2A_Heaters.dat and Save.

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

Page 25: SAGD Simulation Tutorial

25 | 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

Page 26: SAGD Simulation Tutorial

26 | 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:

Page 27: SAGD Simulation Tutorial

27 | 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.

Page 28: SAGD Simulation Tutorial

28 | 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:

Page 29: SAGD Simulation Tutorial

29 | 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).

13. Save this dataset as EXERCISE_2A_Heaters_NUM.dat and Run it.

Page 30: SAGD Simulation Tutorial

30 | P a g e

2B- Defining Circulation Heating using Heater Wells (HTWELL)

As mentioned earlier, there are multiple approaches to model circulation/preheating

period prior to SAGD. In previous exercise the Heaters approach was applied. This

exercise will use Heater Wells instead. These offer a greater flexibility, especially when

a well undulates through layers, following a real trajectory.

1. Open the file EXERCISE_1_VAMOD.dat in Builder and rename it

EXERCISE_2B_HTWELL.dat and Save.

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:

Compare results with Exercise 2A.

Page 31: SAGD Simulation Tutorial

31 | P a g e

Notes on use of Heater methods:

HTWELL and other heater options (HEATR, UHTR, etc.) may be applied to the same

block, but this practice is not recommended.

There are other options available to define heating, such as ‘ Max. Tot. Heating Rate

Per Well Length’ and ‘Max. Tot. Heating Rate’. In this case we have defined HTWELLs

in its simplest form. If both Temperature and Heating Rate are specified then the

heating rate will decrease as well block temperature approaches 240 degC. Heating

rate at any point in time will be WI*(240 -TWellBlock) if only temperature is set and the

minimum value of the heating rate and this calculation if both temperature and rate

are specified.

When using HTWELL it is also common practice to manipulate the well index in order

to get the desired amount of heat transferred to the reservoir.

2C- Extracting a 2D Submodel

Since this model is homogenous the steam chamber growth will be the same in any J-

Plane cut. Because of this, it can be justified taking out a 2-D submodel which can be

used to estimate the steam chamber development for the entire well. This is primarily

done to save run time, as 2D models typically run much quicker than 3D models.

1. Open EXERCISE_2A_Heaters_NUM.dat in Builder and Save it as

EXERCISE_2C_Heaters_NUM_2D.dat. Enter the Edit Grid mode by clicking on the

Edit Grid icon on the Menu Bar.

Say OK to the message that pops up. To extract a submodel go to the Reservoir

Section -> Edit Grid -> Extract Submodel.

Page 32: SAGD Simulation Tutorial

32 | 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 doesn’t mean anything and in fact will give

erroneous results of the perforation length of 1m.

So layer XYZ should be removed from perf card as follows:

Page 33: SAGD Simulation Tutorial

33 | P a g e

Note on Changes from Extraction:

Since now we have only a 50m long well, rates on both producer and injector should

be made 1/20th of original rates (as the original well length was 1000m, i.e. 50/1000 =

5%).

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.

Note on use of 2D Models:

As we noticed, the 3D case will take around 10 minutes to run. Since we don’t want

to waste time, we will use this 2D case for most of the Exercises. However, we may

use 3D case for some exercises later. Another option here would have been to have

a shorter-well 3D model. A 250 m long well model has also been extracted and

placed in the SIZE COMPARISON folder, located in the REQUIRED DATA folder. Work

flow for extracting a 250 m long well in 3D is the same as in Exercise 2C except that

we choose 5 layers in the J-direction at following interface:

Page 34: SAGD Simulation Tutorial

34 | P a g e

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 low-

cementation reservoirs.

Adding Dilation/Recompaction Through Builder

1. Open the file EXERCISE_2C_Heater_NUM_2D.dat in Builder and rename it

EXERCISE_3_Dilation.dat and Save.

2. In Builder under the Reservoir Section open the Thermal Rocktypes window and go to

the Dilation-Recompaction tab.

3. Input the following information and click Apply and OK when complete:

Page 35: SAGD Simulation Tutorial

35 | P a g e

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.

Page 36: SAGD Simulation Tutorial

36 | P a g e

7. Also Re-run Exercise 2C with outputs of current porosity and permeability’s 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.

Page 37: SAGD Simulation Tutorial

37 | P a g e

Exercise 4 – Dilation with Permeability Dependence

The purpose of this exercise is to define permeability dependence due to dilation. As porosity

changes there is generally an associated change in permeability. This can be non-linear when

entering into a dilation-type circumstance.

Adding Permeability Dependence through Builder

1. Open the EXERCISE_3_Dilation.dat dataset in Builder. Under the Reservoir Section

Open the Specify Properties window. Navigate to the property Permeability Multiplier

and set the value for the Whole Grid to 3 for the I, J and K directions.

2. Save the dataset as EXERCISE_4_Dilation_Perm.dat and Run it.

3. Compare the results (temperature, porosity, etc.) but also look at the Permeability

values. It can be observed that the permeability increases with the increase in porosity

around the wellbores.

Page 38: SAGD Simulation Tutorial

38 | P a g e

Exercise 5 – Dilation through Geomechanics

The purpose of this exercise is to define Dilation/Recompaction through the use of an actual

Geomechanical model. In this the stress and strains will be calculated and increases in porosity

will be a function of different Young’s Moduli (Elastic Modulus or Stiffness Factor) for the rock.

Enabling Geomechanics in Builder

1. Open the EXERCISE_4_Dilation_Perm.dat dataset in Builder.

2. Under the Reservoir Section Open the Dilation Recompaction window for Rock Type 1.

Uncheck the box that Enables Dilation Recompaction. Press Apply and OK to close the

window.

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.

4. Save the dataset as EXERCISE_5_Geomech.dat.

Page 39: SAGD Simulation Tutorial

39 | P a g e

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:

Page 40: SAGD Simulation Tutorial

40 | 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.

Page 41: SAGD Simulation Tutorial

41 | 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.

Page 42: SAGD Simulation Tutorial

42 | P a g e

Exercise 6 – Vertical Permeability Variation

The purpose of this exercise is to alter the vertical permeability of the model in order to

quantify the sensitivity on this parameter for a SAGD process.

Altering Vertical Permeability

1. Open the EXERCISE_4_Dilation_Perm.dat dataset in Builder. Under the Reservoir

Section Open the Specify Properties window. Change the Permeability in the K

direction to 100 md. Press OK to close the window.

2. Save the dataset as EXERCISE_6_VertPerm.dat and Run the dataset.

3. When the results are analyzed, for temperature in particular, it can be noted the large difference in heat transfer vertically between the 1000 md and 100 md cases (i.e. Exercises 4 and 6, respectively). What should be concluded from this is that: Good Vertical Permeability is Very Important in SAGD Operations.

Page 43: SAGD Simulation Tutorial

43 | P a g e

Exercise 7 – Top Water

The purpose of this exercise is to add top water to the model. Top water can either be

detrimental or helpful to a SAGD process based on the continuity of the water zone. Water has

a very high thermal conductivity and heat capacity and therefore will act as an enthalpy sink

once the steam chamber encounters it.

Adding Top Water

1. Open the EXERCISE_4_Dilation_Perm.dat dataset in Builder. Specify a Water

Saturation of 0.13 for the whole reservoir. This water saturation is the same as connate

water saturation. So, defining this value of water saturation will not change anything as

the model will initialize with a water saturation of 0.13 with or without this definition.

2. Go to IK-2D section and select Water Saturation as displayed property in drop down list.

Modify water saturation in top 5 layers to 0.999 to create a top water case.

It is recommended to use 0.999 instead of 1.0 as this will be more numerically stable

case. Save dataset as EXERCISE_7_TopWater.dat and Run it.

Page 44: SAGD Simulation Tutorial

44 | 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.

Page 45: SAGD Simulation Tutorial

45 | P a g e

Exercise 8 – Bottom Water

The purpose of this exercise is to add bottom water to the model. Bottom water is generally

detrimental to a SAGD process due to acting as a thermal thief zone if the injector well is

sufficiently close to it.

8A- Adding Bottom Water

1. Open the EXERCISE_7_TopWater.dat dataset in Builder. Modify location of 0.999 water

saturation layers to bottom of reservoir by editing mod location in Builder as follows

(don’t forget to hit apply):

Water saturation should look as follows:

Page 46: SAGD Simulation Tutorial

46 | P a g e

2. You will notice that both producer and injector are now located in water zone. So, let’s

move wells above water zone – Injector to 50 1 19 and Producer to 50 1 24.

3. We also need to move heaters to new locations

Page 47: SAGD Simulation Tutorial

47 | P a g e

Page 48: SAGD Simulation Tutorial

48 | P a g e

Change the AUTOHEATER location in text editor as this keyword is not available in

Builder.

4. Save the dataset as EXERCISE _8A_BottomWater.dat and Run the dataset.

Page 49: SAGD Simulation Tutorial

49 | 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.

Page 50: SAGD Simulation Tutorial

50 | P a g e

8B- Adding Both Top and Bottom Water

1. Open the EXERCISE_8A_BottomWater.dat dataset in Builder. Modify location of 0.999

water saturation layers to both top and bottom of reservoir by editing mod location in

Builder as follows (don’t forget to hit apply):

Water saturation should look as follows:

Page 51: SAGD Simulation Tutorial

51 | P a g e

2. Save dataset as EXERCISE_8B_TopWater_BottomWater.dat and Run it. If model

crashes, make following changes in numerical section (increase ITERMAX and NORTH to

300 and add UPSTREAM KLEVEL).

3. Save it as EXERCISE_8B_TopWater_BottomWater_NUM.dat and Re-Run.

4. Below is the plot of cumulative SOR comparison of both top & bottom water, top water

and bottom water with the base case where there is no top or bottom water present:

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.

Page 52: SAGD Simulation Tutorial

52 | P a g e

Exercise 9 – Mobile Water

The purpose of this exercise is to add mobile water to the model in order to observe how

mobile formation water can have an impact in steam chamber development and SOR.

Adding Mobile Water

1. Open the EXERCISE_4_Dilation_Perm.dat dataset in Builder. Under the Reservoir

Section Open the Specify Properties window. Change the Water Saturation to 0.25.

Press OK to close the window.

In this case 0.25-0.13 = 0.12 (12%) is mobile water in entire reservoir. Please note that

here we are working with constant values for properties as it is a simple, homogeneous

case. In a heterogeneous case different parts of the reservoir (theoretically each grid)

can have a different amount of mobile water (That is achieved by array values for

connate or critical water saturation and a water saturation array). Save the dataset as

EXERCISE_9_MobileWater.dat and Run the dataset.

2. Compare the results with Exercise 4 where there is no mobile water. It can be noticed

that steam chamber grows a bit bigger (left side picture) because mobile water helps in

steam injection but when you look at SOR, mobile water case SOR is not as good as the

base case.

Page 53: SAGD Simulation Tutorial

53 | P a g e

Page 54: SAGD Simulation Tutorial

54 | P a g e

Exercise 10 – Top Gas

The purpose of this exercise is to introduce top gas to the model. Due to the high

compressibility associated with gas if the steam chamber comes in contact with it tends to act

as a sink for the steam chamber growth (if the gas zone in continuous). In non-continuous,

discreet gas zones these zones can sometimes be observed helping steam chamber growth.

10A & 10B- Adding Top Gas

1. Open the EXERCISE_4_Dilation_Perm.dat dataset in Builder. In the Initial Conditions

section, set Gas Oil Contact (DGOC) to 505 m. Also change the Reference Pressure to

3050 kPa (done to keep almost same pressure at well locations for comparison

purpose). Save dataset as EXERCISE_10A_TopGas.dat and Run it.

2. Change the Gas-Oil-Contact to 510 m and reference pressure to 3100 kPa.

3. Save the case as EXERCISE_10B_TopGas.dat and Run it again.

4. Compare the results of the two runs with Exercise 4 in terms of saturations,

temperature, and pressure.

Ternary:

Page 55: SAGD Simulation Tutorial

55 | P a g e

Temperature:

Pressure:

Page 56: SAGD Simulation Tutorial

56 | P a g e

10C- Simulating No Gas in the Model (Dead-Oil System)

1. Open the EXERCISE_4_Dilation_Perm.dat dataset in Builder once more. Under the

Reservoir Section in Specify Properties find the Oil Mole Fraction (C1), *MFRAC_OIL

and change it to 0 for the Entire Grid. Also, change the Oil Mole Fraction (Heavy),

*MFRAC_OIL to 1 for the Entire Grid.

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.

3. Compare the results to those of Exercise 4.

Page 57: SAGD Simulation Tutorial

57 | P a g e

10D- Simulating High Dissolved-Gas Content in the Model

1. Open Live_Oil_PVT.dat in WinProp.

2. Open the CMG STARS PVT Data form and under the Basic PVT tab, increase the

pressure to 14000 KPa.

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.

4. Save the dataset as Live_Oil_PVT_EXERCISE_10D.dat and Run it.

5. Open the EXERCISE_4_Dilation_Perm.dat dataset in Builder. Import the above fluid

model by clicking on Components -> Import winprop generated model. Click Yes to the

warning message.

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.

Page 58: SAGD Simulation Tutorial

58 | 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:

Page 59: SAGD Simulation Tutorial

59 | 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.

Page 60: SAGD Simulation Tutorial

60 | P a g e

10E- Simulating No Gas Content in the Model (Dead Oil)

1. Open EXERCISE_10D_HighGasContent_NUM.dat in Builder and Delete Bubble Point

Pres (C1).

2. Next, Under the Reservoir Section in Specify Properties find the Oil Mole Fraction (C1),

*MFRAC_OIL and change it to 0 for the Entire Grid. Conversely, change the Oil Mole

Fraction (Heavy), *MFRAC_OIL to 1 for the Entire Grid.

3. Save this dataset as EXERCISE_10E_NoGasContent10MPA_NUM.dat and Run it. (Note

that it may be required to increase the HEATER parameters further to introduce the

necessary energy to allow for injection).

4. Below is a comparison of temperature between Exercise 10D with a high amount of

dissolved gas (Rs) , and Exercise 10E with no gas:

Page 61: SAGD Simulation Tutorial

61 | P a g e

Exercise 11 – Temperature and Compositionally-Dependent

Relative Permeability The purpose of this exercise is to add Temperature-Dependent and Compositionally Dependent

Relative Permeability to the dataset. It has been found that when temperature increases in a

reservoir, there is an observed increase in the amount of trapped water and a decrease in the

trapped oil saturation.

Compositional dependency comes into the picture in relation to the fact that there may be both

Steam and Solution Gas in the Gaseous phase. These two components may have different

relative permeability’s associated to their interaction with oil/liquid. Because of this, a

compositional dependency can be created which alters the relative permeability curves based

on if the gas phase is dominated by steam or solution gas.

11A- Adding Temperature Dependence

1. Open the EXERCISE_4_Dilation_Perm.dat dataset in Builder.

2. In the Rock-Fluid Section open the window for RockType 1. Make sure you are in the

Relative Permeability EndPoints tab.

3. Select the SWR, SORW, and SORG from the list and make these end points temperature

dependent. Input the values as shown in the following picture:

Page 62: SAGD Simulation Tutorial

62 | P a g e

4. Save data file as EXERCISE_11A_TEMP_DEPEN.dat, and Run it.

5. Compare results with Exercise 4. Comparison of the ternary plots for the two runs looks

as follows (please note lower oil saturation in the steam chamber of Exercise 11`s

results):

Page 63: SAGD Simulation Tutorial

63 | P a g e

11B- Adding Compositional Dependence

1. Open file EXERCISE_11A_TEMP_DEPEN.dat in Builder.

2. To add Compositional Dependency different curve Interpolation Sets will need to be created. Open the Rock Types window again and check the box at the top to Use Interpolation Sets.

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.

Page 64: SAGD Simulation Tutorial

64 | 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.

Page 65: SAGD Simulation Tutorial

65 | 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.

Page 66: SAGD Simulation Tutorial

66 | P a g e

Exercise 12 – Importation of a Heterogeneous Geologic Model

via RESCUE The purpose of this exercise is to import a heterogeneous 3D geologic model for use in SAGD

modeling. This exercise walks through the steps commonly taken in importing RESCUE models

and building a dataset for use in SAGD. This model will also examine the effects of

Heterogeneity on the growth of a steam chamber and its associated production.

Importing RESCUE Model

1. Open a new Builder and make following selections and click OK on this and next screen:

2. Under the Reservoir Section menu choose Open Rescue File.

Page 67: SAGD Simulation Tutorial

67 | 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.

Page 68: SAGD Simulation Tutorial

68 | P a g e

7. Now we will import well trajectories. Click Next on following 2 screens and Finish on 3rd

screen.

Page 69: SAGD Simulation Tutorial

69 | P a g e

Page 70: SAGD Simulation Tutorial

70 | P a g e

8. Save the Dataset as EXERCISE_12_HETEROGENEOUS.dat.

Defining Reservoir Properties

1. Give the same thermal properties to this model as given in previous cases:

Page 71: SAGD Simulation Tutorial

71 | P a g e

2. Import WinProp generated fluid model.

3. Specify oil mole fraction (C1 0.082312 Heavy 0.91769):

Page 72: SAGD Simulation Tutorial

72 | P a g e

4. Import relative permeability table from another dataset:

5. Click finish on the following interface and OK on next two messages.

Page 73: SAGD Simulation Tutorial

73 | P a g e

6. Specify the following under the Initial Conditions:

Page 74: SAGD Simulation Tutorial

74 | P a g e

7. Give a DTWELL of 0.001 in Numerical section.

8. We will read in the perforation information from Perforation.perf file. This file can be

defined as follows:

Page 75: SAGD Simulation Tutorial

75 | P a g e

Page 76: SAGD Simulation Tutorial

76 | 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.

Page 77: SAGD Simulation Tutorial

77 | 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.

Page 78: SAGD Simulation Tutorial

78 | P a g e

11. Set a range of dates for 5 years and place a STOP at last date.

12. Add a Steam Trap constraint at 2009-4-1 for Producer.

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.

Page 79: SAGD Simulation Tutorial

79 | P a g e

Exercise 13 – Addition of a Semi-Analytical Wellbore Model

The purpose of this exercise is to implement a Semi-Analytical Wellbore Model (SAM) which

can be used to estimate the thermal and frictional losses in the vertical section of a well.

Commonly sink/source wells are used which makes that assumption that fluid is flashed

to/from the first perforation in regards to surface conditions. By implementing SAM the heat

and frictional losses are taken into account and allow the user to properly calculate what the

temperature and pressure will be of fluids either being injected or produced.

13A- Defining a SAM Model

1. Open EXERCISE_2A_Heaters_NUM.dat in Builder and Save it as

EXERCISE_13A_SAM.dat. Add SAM to both Injector and Producer wells by defining the

parameters are shown in the following images (Depth 525m for injector and 530m for

producer, Inner Tubing Radius 0.086m for both):

Page 80: SAGD Simulation Tutorial

80 | P a g e

2. Remember to redefine SAM for producer on 2009-4-1. We need to do this since we

have redefined well constraints for producer at this date (added steam trap). Use the

same information as previously defined for this date.

3. Save the file and open in text editor. We want detailed information about SAM

calculations in *.out file. This can be obtained by inserting SAMINFO ON TIME keyword

in data file as shown below (this option is NOT available in BUILDER):

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

Page 81: SAGD Simulation Tutorial

81 | 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:

A dataset with the name EXERCISE_13A_SAM_AdditionalOutput.dat has been created

and saved in the Required Data -> SAGD Tutorial folder. A more detailed discussion of

these results is done in the Wellbore Modelling course.

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).

Page 82: SAGD Simulation Tutorial

82 | P a g e

13B- Adding a Pump to SAM

1. Open EXERCISE_13A_SAM.dat in Builder and Save it as EXERCISE_13B_SAM_Pump.dat.

Add a Pump to the SAM definition of the Producer. Please remember to do that for

both instances (i.e., at 2009-1-1 and 2009-4-1). Pump location is 520m, Pump power is

10000 W and Pump maximum pressure increase is 15000 kPa.

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.

Page 83: SAGD Simulation Tutorial

83 | P a g e

Exercise 14 – SAGD Modeling with FlexWell Model

The purpose of this exercise is to implement the FlexWell tool for more accurately calculating

the wellbore dynamics associated with a SAGD operation. In particular, the circulation stage

can only be explicitly modeled through the use of a wellbore modeling tool such as FlexWell.

This is due to injecting steam down a tubing and producing it back up an annulus in order to

heat the surrounding formation via conductive thermal transfer.

The use of a FlexWell can also help more accurately model the SAGD stage as often times there

may be tubing strings of different lengths in the injection and production wells which can be

optimized in placement to develop the most uniform steam chamber possible, optimizing

recovery in the process.

Defining FlexWells for Circulation

1. Open EXERCISE_2A_Heaters_NUM.dat in text editor, remove all heater keyword and

Save it as EXERCISE_14_FlexWell.dat.

Page 84: SAGD Simulation Tutorial

84 | 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 in Builder. Rename Well Injector as

Injector_CIRCULATION_TUBING and Rename Producer as

Producer_CIRCULATION_ANNULUS.

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:

Page 85: SAGD Simulation Tutorial

85 | P a g e

Page 86: SAGD Simulation Tutorial

86 | P a g e

Page 87: SAGD Simulation Tutorial

87 | 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.

Page 88: SAGD Simulation Tutorial

88 | 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.

Page 89: SAGD Simulation Tutorial

89 | P a g e

6. Your wells should like as follows:

7. The Injector_CIRCULATION_ANNULUS will only be used in the Circulation stage for

Production back of the injected steam. During SAGD typically the annulus will be shut-in

and filled with gas in order to help with reducing heat-losses while injecting steam down

the tubing. Shut-in this well on 2009-04-01.

8. Also shut-in the Producer_CIRCULATION_TUBING on this date for a similar reason (we

will be producing up the tubing, not injecting, during SAGD).

After shutting these two wells the well events should look as follows:

Page 90: SAGD Simulation Tutorial

90 | 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.

Page 91: SAGD Simulation Tutorial

91 | P a g e

11. Repeat the previous Steps to define a FlexWell for the Producer. Use the same

diameters for the Annulus and Tubing.

12. In the Events section of the FlexWell window Deactivate the Producer’s 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.

Page 92: SAGD Simulation Tutorial

92 | 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.

Defining FlexWells for SAGD

1. To add FlexWells for the SAGD phase we need to make sure that the wells required have

been defined. In this case the Injector is going to inject down its tubing still but the

annulus will be shut-in at the surface.

The producer, however, needs to be altered so that the tubing is used for production,

rather than injection.

Copy one of the Producer’s wells again and name the new well

Producer_SAGD_TUBING and make sure it is created on the date 2009-04-01. Copy the

operating constraints from the Producer_CIRCULATION_ANNULUS at the date 2009-

04-01 to this new well at the date 2009-04-01.

2. Following are the snapshots for Flexwell ‘Producer_SAGD’. Make sure to change date to

2009-04-01

Page 93: SAGD Simulation Tutorial

93 | P a g e

Page 94: SAGD Simulation Tutorial

94 | P a g e

Page 95: SAGD Simulation Tutorial

95 | 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:

Page 96: SAGD Simulation Tutorial

96 | 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:

Page 97: SAGD Simulation Tutorial

97 | 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):

8. WPRN FLEXWELL ITER ON generates lot of information in *.out file. So it is advisable to

turn it OFF after some time. This can be done in text editor as follows (currently this

can’t be done in Builder):

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 don’t have time to analyze this in this training. That is done in

the Wellbore Modeling Course.

Page 98: SAGD Simulation Tutorial

98 | P a g e

Exercise 15 – Modeling ES-SAGD in STARS

The purpose of this exercise is to implement and model an ES-SAGD Operation. ES-SAGD

(Expanding-Solvent Steam Assisted Gravity Drainage) adds a solvent to the injection of steam in

order to help further reduce viscosity at the steam chamber boundary, improving mobility and

thus production. Due to the increased costs associated with adding a solvent to injection, many

solvents are typically not pure components (i.e. Pentane, Hexane, etc.) but rather blends of

various light hydrocarbon components.

Importing Solvent PVT

1. Open EXERCISE_4_Dilation_Perm.dat in Builder and Save it as

EXERCISE_15_ES_SAGD.dat. Import the Live_oil_solvent_PVT*.str fluid model. This

fluid model contains components representing solvent.

Page 99: SAGD Simulation Tutorial

99 | 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.

Page 100: SAGD Simulation Tutorial

100 | 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 don’t 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:

Page 101: SAGD Simulation Tutorial

101 | 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).

Determining Injection Composition (Volume Fractions)

We need to provide volume fractions of injected fluid. Let’s say we are injecting 10

weight % solvent and 90 weight % steam. Since our input is in volume fraction, we

need to calculate volume fractions for injected fluid. We have an excel sheet set up to

do this conversion. Open the Excel file named Esagd vol frac conversion10wt.xlsx, copy

injected fluid volume fractions and paste in injected fluid INCOMP.

1. In order to do get input to the Excel file, create a hypothetical STARS dataset which

initialize with only the solvent fluid. Set oil mole fractions as follows (same

composition as solvent – you can take it from secondary component composition of

WinProp Exercise 4):

Page 102: SAGD Simulation Tutorial

102 | P a g e

2. Set reservoir temperature as 15.556 (surface temp)

3. Also, set some initial irreducible oil saturation in gas zone (Irreducible Oil Sat G-O ST)

of 0.1. This is done for proper flash calculation in gas zone for calculation of

components mole fractions in gas phase.

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.

Page 103: SAGD Simulation Tutorial

103 | 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.

7. Open EXERCISE_15_ES_SAGD_CALIB.dat in Result 3D and display following properties:

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.

Page 104: SAGD Simulation Tutorial

104 | P a g e

9. Open EXERCISE_15_ES_SAGD_CALIB.out in text editor and search for Fluid Surface.

Plug in oil phase mole densities of components in columns D14-D16 in the Excel file

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.