Gap Complete Updated
Gap Complete Updated
User Manual
IPM
GAP
Version 14
March 2022
GAP
IPM - Multiphase Production Optimisation OVERVIEW
by Petroleum Experts Limited
GAP is a multiphase oil and gas optimiser tool that models the surface gathering network of
field production systems. When linked with the well models of PROSPER and reservoir
models of MBAL a full field production optimisation and forecast can be achieved. GAP can
model production systems containing oil, gas and condensate, in addition to gas or water
injection systems.
GAP's powerful non-linear optimisation engine allocates gas for gas lifted wells or sets
wellhead chokes for naturally flowing wells to maximise revenue or oil/gas production while
honouring constraints at any level in the system.
APPLICATIONS
Copyright Notice
The copyright in this manual and the associated computer program are the property of Petroleum Experts
Ltd. All rights reserved. Both, this manual and the computer program have been provided pursuant to a
Licence Agreement containing restriction of use.
No part of this manual may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated
into any language, in any form or by any means, electronic, mechanical, magnetic, optical or otherwise, or
disclose to third parties without prior written consent from Petroleum Experts Ltd., Petex House, 10 Logie
Mill, Edinburgh, EH7 4HG, Scotland, UK.
IPM Suite, GAP, GAP Transient, PROSPER, MBAL, PVTp, REVEAL, RESOLVE, IFM, IVM, Model
Catalogue, OpenServer and MOVE are trademarks of Petroleum Experts Ltd.
We also recognise the registered trademarks of the following corporations that we may make reference to in
this manual: Microsoft, Schlumberger, Honeywell Process, Rock Flow Dynamics, Kongsberg Digital, AVEVA
SimSci, Halliburton, Stone Ridge Technology, CMG, AspenTech, Beicip-Franlab, ConocoPhillips, Emerson,
Shell, ExxonMobil, Saudi Aramco, BP, Chevron, WellDrill, SSI.
The software described in this manual is furnished under a licence agreement. The software may be used or
copied only in accordance with the terms of the agreement. It is against the law to copy the software on any
medium except as specifically allowed in the license agreement. No part of this documentation may be
reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying,
recording, or information storage and retrieval systems for any purpose other than the purchaser's personal
use, unless express written consent has been given by Petroleum Experts Limited.
Address:
email: [email protected]
Internet: www.petex.com
Table of Contents
0
II
III G AP
Lump/Delump Compositions
......................................................................................................................................... 162
Transfer Options.........................................................................................................................................
for Gas Lift Injection 162
Execute OpenServer
.........................................................................................................................................................
Statement 164
Importing .........................................................................................................................................................
GAP models in an existing project 165
The Constraints
..........................................................................................................................................................
Menu 170
System Constraints
......................................................................................................................................................... 171
Binding (Yes/No)
......................................................................................................................................................... 174
Edit Constraints
.........................................................................................................................................................
Table 175
Edit Abandonment
.........................................................................................................................................................
Constraints Table 177
5 Describing
...................................................................................................................................
the PVT 178
Black Oil .......................................................................................................................................................... 179
Com positional ..........................................................................................................................................................
Options 182
EoS Model.........................................................................................................................................................
Setup 182
More Lumping ......................................................................................................................................... 190
Water Composition ......................................................................................................................................... 192
Setting up.........................................................................................................................................................
a Compositional model 194
Tracking ......................................................................................................................................................... 198
Fully Compositional
......................................................................................................................................................... 199
Black Oil Compositional
.........................................................................................................................................................
Lumping/Delumping 200
View ing Compositional
.........................................................................................................................................................
Results 201
Brine Modelling.......................................................................................................................................................... 206
Im port PROSPER..........................................................................................................................................................
PVT 208
6 Flow ...................................................................................................................................
Assurance 212
Tem perature..........................................................................................................................................................
Gradient 212
Form ation Data
.......................................................................................................................................................... 214
Flow Assurance
..........................................................................................................................................................
Properties 218
Sand Transport
......................................................................................................................................................... 218
Erosion ......................................................................................................................................................... 221
Liquid Loading
......................................................................................................................................................... 224
Pigging ......................................................................................................................................................... 225
Corrosion......................................................................................................................................................... 225
Pipeline Flow..........................................................................................................................................................
Assurance 226
Flow Regime
.........................................................................................................................................................
Plot 227
Slug Catcher
.........................................................................................................................................................
Calculation 228
Erosion Calculation
......................................................................................................................................................... 235
Corrosion.........................................................................................................................................................
Calculation 241
Flow Assurance
.........................................................................................................................................................
Plot 246
Severe Slugging
.........................................................................................................................................................
Plots 246
Pots Severe Slugging .........................................................................................................................................
Number 247
PE5 Stability ......................................................................................................................................... 249
7 Equipment
...................................................................................................................................
Data 252
Introduction .......................................................................................................................................................... 252
Equipm ent Data..........................................................................................................................................................
Entry Screen Form at 252
The Navigator
.........................................................................................................................................................
- Equipment list 253
Equipment List Filter ......................................................................................................................................... 254
Section Buttons
......................................................................................................................................................... 255
Summary ......................................................................................................................................... 256
Input Button ......................................................................................................................................... 256
Results Button ......................................................................................................................................... 257
Action Buttons
......................................................................................................................................................... 258
Wells .......................................................................................................................................................... 260
Well Summary
.........................................................................................................................................................
Screen 261
Calculate ......................................................................................................................................... 265
Contents IV
Well Input.........................................................................................................................................................
Screens 270
IPR Input ......................................................................................................................................... 271
Ipr Layer ................................................................................................................................... 272
IPR Layer Composition ................................................................................................................................... 282
IPR Match ................................................................................................................................... 283
FBHP/Rate Calculation ................................................................................................................................... 285
More Layer Data ................................................................................................................................... 285
Production Data................................................................................................................................... 289
Grid View ................................................................................................................................... 291
Abandonment Section ................................................................................................................................... 291
Note on w ater injector's
...................................................................................................................................
IPR 292
Transient IPR Input ......................................................................................................................................... 294
Transient IPR Layer ................................................................................................................................... 295
Transient IPR Model ................................................................................................................................... 298
Transient IPR Prod ...................................................................................................................................
Data 301
RESOLVE Tight...................................................................................................................................
Reservoir - Inflow Import 302
VLP Input ......................................................................................................................................... 310
Inspection of VLP ...................................................................................................................................
Data 314
Well Constraints......................................................................................................................................... 315
General Constraints ................................................................................................................................... 316
Gas Lifted Wells ...................................................................................................................................
Constraints 317
Diluent Injection...................................................................................................................................
Wells Constraints 318
ESP, HSP, PCP ...................................................................................................................................
and Jet Pump Wells Constraints 318
Abandonment Constraints................................................................................................................................... 320
Symbols ................................................................................................................................... 321
Notes on Constraints ................................................................................................................................... 321
Controls ......................................................................................................................................... 322
Symbols ................................................................................................................................... 322
dP Control ................................................................................................................................... 322
Gas Lift Control................................................................................................................................... 324
ESP Control ................................................................................................................................... 325
Diluent Control ................................................................................................................................... 326
Diluent Control w ...................................................................................................................................
ith Gas Injection 327
SRP Control ................................................................................................................................... 328
HSP Control ................................................................................................................................... 329
Jet Pump Control ................................................................................................................................... 330
PCP Control ................................................................................................................................... 331
CBM Control ................................................................................................................................... 331
Fluids Property ...................................................................................................................................
Setup 332
Control Group ................................................................................................................................... 333
Well Control Summary ................................................................................................................................... 335
PC Data ......................................................................................................................................... 337
PC Generation ................................................................................................................................... 338
Coning (For Oil Producers
.........................................................................................................................................
Only) 339
Dow ntime ......................................................................................................................................... 341
Tank Connections ......................................................................................................................................... 341
Schedule (ONLY.........................................................................................................................................
for Transient & Prediction) 342
Change OpenServer ...................................................................................................................................
Variable Linearly 344
Transient Well Input ......................................................................................................................................... 345
Well Description................................................................................................................................... 346
Well Environment ................................................................................................................................... 347
Transient Simulation ................................................................................................................................... 348
Outflow Only Well ......................................................................................................................................... 350
Outflow Only - ...................................................................................................................................
VLP 352
IV
V G AP
VI
VII G AP
Source / Sink
.........................................................................................................................................................
Input Screens 536
Source Fluid ......................................................................................................................................... 536
Fixed Rate/Pressure/Mass
......................................................................................................................................... 537
Schedule ......................................................................................................................................... 539
Inline Elem ents.......................................................................................................................................................... 540
Inline Gate.........................................................................................................................................................
Valve 541
Input Data / Schedule .........................................................................................................................................
( ONLY for prediction) 542
Inline Check.........................................................................................................................................................
Valve 543
Inline Check Valve .........................................................................................................................................
Data Summary Screen 543
Input Data / Schedule .........................................................................................................................................
( ONLY for prediction) 544
Inline Separation
......................................................................................................................................................... 545
Inline Separation.........................................................................................................................................
Data Input Screen 547
Input Data / Schedule .........................................................................................................................................
(ONLY for prediction) 547
Inline Choke......................................................................................................................................................... 548
Inline Choke dP Control......................................................................................................................................... 550
Input Data / Schedule .........................................................................................................................................
(ONLY for prediction) 553
Inline Injection
......................................................................................................................................................... 554
Defining the Injection .........................................................................................................................................
Fluid PVT 555
Defining the Injection .........................................................................................................................................
Rate 556
Schedule (ONLY.........................................................................................................................................
for prediction) 556
Inline General
......................................................................................................................................................... 557
Notes on Inline General.........................................................................................................................................
Elements 557
Inline General Script .........................................................................................................................................
Variables 558
Schedule (ONLY.........................................................................................................................................
for prediction) 559
Inline Element Variables
......................................................................................................................................... 560
Control Variables ......................................................................................................................................... 562
Temporary Variables ......................................................................................................................................... 563
Results Variables ......................................................................................................................................... 563
Tax Regime Variables ......................................................................................................................................... 563
FLOW and COMP .........................................................................................................................................
Structure Variables 564
PVT Calculator .........................................................................................................................................
- Black Oil 567
PVT Calculator .........................................................................................................................................
- Compositional 569
Logging Messages ......................................................................................................................................... 572
Mathematical Functions ......................................................................................................................................... 572
Control Structures ......................................................................................................................................... 573
Example Script ......................................................................................................................................... 574
Inflow Icon .......................................................................................................................................................... 576
Inflow Summary
.........................................................................................................................................................
Screen 576
Input ......................................................................................................................................................... 577
Grouping .......................................................................................................................................................... 578
Group Equipment
.........................................................................................................................................................
Input Data 578
Constraints ......................................................................................................................................... 580
Schedule ......................................................................................................................................... 580
Grouping ......................................................................................................................................... 581
Group Control
.........................................................................................................................................................
Input Data 583
Members ......................................................................................................................................... 583
Control ......................................................................................................................................... 585
Schedule ......................................................................................................................................... 586
Flow sheets .......................................................................................................................................................... 586
User Defined..........................................................................................................................................................
Elem ent 591
Heat Exchanger .......................................................................................................................................................... 594
Notes on Constraints
.......................................................................................................................................................... 597
8 VLP/IPR
...................................................................................................................................
Generation 598
A w ell m odel..........................................................................................................................................................
in GAP 598
Contents VIII
VIII
IX G AP
Plot Nodes.........................................................................................................................................................
Simulations Results... 691
Transient Results
.......................................................................................................................................................... 691
Transient.........................................................................................................................................................
Plots 693
3D View s......................................................................................................................................................... 695
3D Plot ......................................................................................................................................... 697
3D Pipe View ......................................................................................................................................... 698
Transient.........................................................................................................................................................
Simulation Filter 699
Transient.........................................................................................................................................................
Simulation Preference 701
Transient.........................................................................................................................................................
Simulation Export 703
12 Prediction
................................................................................................................................... 706
Prediction - Basics
.......................................................................................................................................................... 707
Forecast .........................................................................................................................................................
Workflow 712
Linking MBAL
.........................................................................................................................................................
files to GAP 712
Running Predictions
......................................................................................................................................................... 713
Notes on .........................................................................................................................................................
Constraints 720
Linking Production
.........................................................................................................................................................
/ Injection Forecasting 720
Prediction Options
.......................................................................................................................................................... 725
Run Prediction
......................................................................................................................................................... 725
View Prediction
.........................................................................................................................................................
Log 725
Save Prediction
.........................................................................................................................................................
Results as 726
Reload Prediction
.........................................................................................................................................................
Snapshot 729
Prediction.........................................................................................................................................................
Script Options 731
Edit System.........................................................................................................................................................
Constraints Schedule 732
Notes on Constraints ......................................................................................................................................... 733
Edit Separator
.........................................................................................................................................................
and Joint Schedules 734
Edit Equipment
.........................................................................................................................................................
Schedule 737
Edit Tank .........................................................................................................................................................
Schedule 740
Edit Gas lift
.........................................................................................................................................................
Schedule 742
Edit Schedule
.........................................................................................................................................................
Event Groups 744
Edit DCQ Schedule
......................................................................................................................................................... 744
Apply Schedule
.........................................................................................................................................................
to 750
Purge Results
......................................................................................................................................................... 751
Plot and View
.........................................................................................................................................................
the Prediction Results 751
13 Results
...................................................................................................................................
and Reports 756
Results Menu .......................................................................................................................................................... 757
Detailed Results
......................................................................................................................................................... 758
Summary .........................................................................................................................................................
Results 759
Total System
.........................................................................................................................................................
Results 761
System Emissions
......................................................................................................................................................... 762
Plot Performance
.........................................................................................................................................................
Curves... 764
Plot Options
......................................................................................................................................................... 765
Insitu Rates
......................................................................................................................................................... 769
Reports .......................................................................................................................................................... 770
Hardcopy.........................................................................................................................................................
Reports 773
Report Setup
......................................................................................................................................................... 774
14 History
...................................................................................................................................
Matching an IPM Model 777
Introduction .......................................................................................................................................................... 777
Procedure for ..........................................................................................................................................................
History Matching 778
Running the
.........................................................................................................................................................
model and comparing to history 778
History matching
.........................................................................................................................................................
each element independently 779
15 Prediction
...................................................................................................................................
Script 788
Introduction .......................................................................................................................................................... 788
Functions .......................................................................................................................................................... 789
Contents X
X
XI G AP
Generate .........................................................................................................................................................
Well VLPs 1011
Set the Scheduling
......................................................................................................................................................... 1014
Fixed Operating
..........................................................................................................................................................
Frequency 1015
Run Forecast
.........................................................................................................................................................
w ith Fixed Pump Frequency 1016
Variable Operating
..........................................................................................................................................................
Frequency 1021
Set Well.........................................................................................................................................................
Controls 1021
Set System
.........................................................................................................................................................
Constraint on Maximum Pow er 1024
Run Forecast
.........................................................................................................................................................
w ith Variable Operating Frequency 1024
10 Example
...................................................................................................................................
7a - Gas Lift Optimisation 1027
Objectives .......................................................................................................................................................... 1027
Data Available
.......................................................................................................................................................... 1029
Build the GAP..........................................................................................................................................................
Model 1029
Draw the .........................................................................................................................................................
GAP Netw ork 1029
Define the
.........................................................................................................................................................
Wells 1031
Generate .........................................................................................................................................................
Well IPRs 1033
Generate .........................................................................................................................................................
Well VLPs 1036
Set the Scheduling
......................................................................................................................................................... 1039
Fixed Gas lift
..........................................................................................................................................................
Gas Injection 1041
Run forecast
.........................................................................................................................................................
w ith Fixed Gas Injection 1042
Variable Gas ..........................................................................................................................................................
Lift Injection 1048
Set w ell.........................................................................................................................................................
Controls 1048
Set Maximum
.........................................................................................................................................................
Gas Lift Available 1049
Run Forecast
.........................................................................................................................................................
w ith Variable Gas lift Injection 1050
11 Example
...................................................................................................................................
7b - MultiPoint Gas Lift Optimisation 1056
Objectives .......................................................................................................................................................... 1056
Data Available
.......................................................................................................................................................... 1057
Base Case .......................................................................................................................................................... 1057
Initial Optim..........................................................................................................................................................
isation 1060
Optim isation..........................................................................................................................................................
Quality Check 1062
MultiPoint Optim
..........................................................................................................................................................
isation 1065
12 Example
...................................................................................................................................
8 - Gas Lift Injection Network 1071
Objectives .......................................................................................................................................................... 1071
Data Available
.......................................................................................................................................................... 1074
Modify the Production
..........................................................................................................................................................
Netw ork 1075
Generate .........................................................................................................................................................
the Well VLPs w ith Casing Pressure 1077
Setting Well
.........................................................................................................................................................
Controls in GAP 1080
Build the Gas..........................................................................................................................................................
Lift Injection Model 1081
Draw the .........................................................................................................................................................
GAP Netw ork 1082
Define the
.........................................................................................................................................................
Wellheads and Delivery Station 1090
Define the
.........................................................................................................................................................
Pipelines and Surface Equipment 1092
Define the
.........................................................................................................................................................
Compressor Curves 1103
Associate Production
..........................................................................................................................................................
to Gas Lift Gas Netw ork 1115
Write the.........................................................................................................................................................
Prediction Script 1117
Run Prediction
..........................................................................................................................................................
With Coupled Models 1121
Case 1 ......................................................................................................................................................... 1122
Case 2 ......................................................................................................................................................... 1124
Case 3 ......................................................................................................................................................... 1130
13 Example
...................................................................................................................................
9a - LNG (Fully Compositional) 1134
Objectives .......................................................................................................................................................... 1134
Data Available
.......................................................................................................................................................... 1135
Build the GAP..........................................................................................................................................................
m odel 1137
Draw the .........................................................................................................................................................
GAP netw ork 1137
Define the
.........................................................................................................................................................
Reservoir 1143
XII
XIII G AP
Setting up
.........................................................................................................................................................
MBAL as compositional 1144
Entering compositional
.........................................................................................................................................
PVT Data 1148
Define the
.........................................................................................................................................................
Wells 1153
Import EOS Composition
.........................................................................................................................................
in GAP 1156
Generate Well .........................................................................................................................................
IPRs 1158
Import VLPs ......................................................................................................................................... 1160
Define the
.........................................................................................................................................................
LNG Plant 1161
Define the
.........................................................................................................................................................
Pipelines 1163
Setting the
.........................................................................................................................................................
Well Controls 1164
Set the Scheduling
......................................................................................................................................................... 1165
Solve Netw ork
.......................................................................................................................................................... 1166
View ing.........................................................................................................................................................
the Detailed Compositional Results 1169
Running the..........................................................................................................................................................
Prediction 1173
View ing.........................................................................................................................................................
the Detailed Compositional Results 1176
14 Example
...................................................................................................................................
9b - LNG (Black Oil Compositional Lumping-Delumping) 1189
Objectives .......................................................................................................................................................... 1189
Data Available
.......................................................................................................................................................... 1190
Set up GAP ..........................................................................................................................................................
as Black Oil com positional Lum ping/Delum ping 1190
Running the..........................................................................................................................................................
Prediction 1193
Prediction
.........................................................................................................................................................
and view ing the results 1195
Black Oil - Lum
..........................................................................................................................................................
ping/Delum ping 1199
15 Example
...................................................................................................................................
10 - Tight Gas 1200
Objectives .......................................................................................................................................................... 1200
Data Available
.......................................................................................................................................................... 1202
Build the Sector
..........................................................................................................................................................
m odel 1203
Draw the .........................................................................................................................................................
GAP Netw ork 1204
Define the
.........................................................................................................................................................
Wells 1206
Generate transient .........................................................................................................................................
IPR Data 1208
Import VLPs ......................................................................................................................................... 1212
Define the
.........................................................................................................................................................
Pipelines 1213
Solve Netw ork
..........................................................................................................................................................
(Sector Model) 1214
Build the Full
..........................................................................................................................................................
Model 1215
Create Partial
.........................................................................................................................................................
GAP file 1216
Import Partial
.........................................................................................................................................................
GAP file 1216
Solve Netw ork
..........................................................................................................................................................
(Full Model) 1219
Including.........................................................................................................................................................
the Compressor 1219
Bypassing.........................................................................................................................................................
the Compressor 1220
16 Example
...................................................................................................................................
11 - Coal Bed Methane 1226
Objectives .......................................................................................................................................................... 1226
Data Available.......................................................................................................................................................... 1227
Build the GAP ..........................................................................................................................................................
Model 1228
Draw the .........................................................................................................................................................
GAP Netw ork 1229
Define the.........................................................................................................................................................
Reservoir 1231
Define CBM.........................................................................................................................................................
Wells 1232
Define the.........................................................................................................................................................
Routing Links 1234
Define the.........................................................................................................................................................
Pipelines 1238
Generate .........................................................................................................................................................
Well IPRs 1238
Generate .........................................................................................................................................................
Well VLPs 1240
Set the Well
.........................................................................................................................................................
Controls 1243
Set the Scheduling
.........................................................................................................................................................
for the Wells 1244
Run Prediction
......................................................................................................................................................... 1246
Interpret the Results ......................................................................................................................................... 1247
17 Example
...................................................................................................................................
12 - Surface Jet Pumps 1250
Contents XIV
XIV
XV G AP
1
2 GAP
1 Technical Overview
PETROLEUM EXPERTS GAP (General Allocation Package) is a multiphase flow simulator that is
able to model and optimise production and injection networks. The concept of the network is
here intended in the fullest sense, therefore it includes both the surface and downhole
equipment.
GAP is part of the IPM Suite and allows the engineer to build complete system models including;
the reservoirs, wells and surface network.
GAP can be linked directly to PROSPER and MBAL to model entire reservoir and productions
systems. Reservoir numerical simulators (REVEAL, Eclipse, Imex, GEM, etc.), process
simulators (Hysys, Unisim) and spreadsheets can also be linked through the Petroleum Experts
controller RESOLVE.
GAP can handle a combination of different fluids including; oils, dry and wet gases, retrograde
condensates, steam and water flowing through complex production or injection systems. The
fluid phase behaviour can be modelled using the Black Oil formulation or Equation of State
Compositional Modelling. The rigorous compositional modelling capabilities of GAP enable
the engineer to perform studies where the determination of the fluid composition is crucial (for
example, in the case of environmental restrictions or in order to satisfy the requirements at
process level) or when it is necessary to determine the conditions at which there is precipitation
of solids for Flow Assurance studies (wax and hydrate deposition).
Calculations can be performed to determine the state of the system at a specific point in time
(Solve Network) or to understand the evolution of the model with time (Prediction), taking into
consideration the connected reservoir simulator (MBAL or any numerical simulator) to model the
reservoir depletion.
The GAP optimiser provides the engineer with the option to maximise a certain objective
function (for example oil production or revenue) whilst at the same time honouring any constraints
set in the system. GAP identifies the optimum control settings (i.e. well head chokes,
compressor speeds etc.) that maximise the objective function so that the engineer can then
implement these controls in the field.
GAP is designed with a fully open architecture which enables the user to access all the features
of the software from a third party application (Excel macros, Visual Basic, C, etc.) which is
called OPENSERVER. OPENSERVER allows the engineer to automate tasks like updating the
models, run sensitivities or implement complex workflows with the underlying network model.
MAIN APPLICATIONS
Field Optimisation 9
Field Planning 10
Reservoir Modelling 15
Artificial Lift 17
Automation 19
Examples Index 34
1 Robust Solver The solver in GAP has been designed to be fast and robust.
Several comparative studies that have been done by oil
companies have classified the GAP solver as the fastest and
most accurate in the industry, being at least 10o times faster
than the network solver that came second. Pemex has come to
the same conclusion during their software standardization tests
carried out in 2005 (in Veracruz), where GAP was the only
program to be able to solve the complex loop problem given
with standard settings and at the first attempt.
3 Ability to handle GAP is being used by several companies in Canada and the
extremely large USA, where tight gas systems have more than 1500 wells in
networks (in excess of them. These systems have extremely complex loops in them
1500 wells) that could not be solved by any other program that modeling
was attempted with.
4 Ability to handle pipes Mechanistic models have been found to be the only way
with mechanistic surface pipes can be modeled accurately in oil and gas fields,
models since traditional correlations like Beggs and Brill or Duckler
Flannigan have severe limitations that prevent them from being
consistent when conditions in the field change over time. A
comparison done on BP pipelines has found that our own PE5
model was the best among mechanistic models, with
6 Ability to handle This is the only way multilayer models can be built when the
multilayer wells, layers have different PVT. Specialized options have been put
including mixing of in GAP for handling these cases in the most accurate way
PVT possible.
7 Choice of PVT models Black Oil, Fully compositional, Compositional Tracking and
(Black Oil, Black Oil lumping/delumping are available
compositional and
hybrids)
9 Gas lift optimization Example on modelling gas lift networks is provided in the
including coupling to manual.
gas lift gas injection
system
15 Voidage replacement These are automatically done based on user specified values
calculations
17 Flowsheets for better Flow sheets can be used to embed parts of the main network
model visualization into sub screens
18 Ability to locate pieces New Equipment name filter allows the entire model to be
of equipment easily in searched by entering text
the network
19 Inline elements Chokes, check valves, inline gas lift gas injection, Gate valves,
available inline separation etc
20 Generalized element This is the “Inline General” element in GAP, which has been
that can be proven to be very useful in defining pressure drop elements as
programmed to be any P Vs Q curves.
piece of equipment the
user decides
22 Ability to compare This can be easily done on plots comparing data with various
pressure drop model pressure drop models.
performance against
real data
23 Potential calculations These are calculations performed with some or all the
constraints lifted from the system.
24 Ability to enter mixed The non-linear optimizer in GAP can handle this, whereas a
constraints at any part linear optimizer (or even sequential lineal) would not find the
of the network optimum in these situations, especially when gas lift
optimization is concerned.
27 Ability to model the The recirculation loop from the compressor can be modelled
recirculation loop of a explicitly and thus the interaction with other parts of the system
compressor can be captured.
The GAP optimiser provides the engineer with the option to maximise a certain objective
function (for example oil production or revenue) whilst at the same time honouring any constraints
set in the system. GAP identifies the optimum control settings (i.e. well head chokes,
compressor speeds etc.) that maximise the objective function so that the engineer can then
implement these controls in the field.
Full field optimisation studies with mixed systems (i.e. the combination of ESP, gas lifted and
naturally flowing wells).
Full field gas lift optimisation (gas lift gas allocation amongst wells).
Identification of control settings to meet field management targets (i.e. wellhead chokes,
compressor speeds etc.).
Multi-phase looped network optimisation.
GAP links to PROSPER (well model) and MBAL (tank model) to allow entire production
systems to be modelled and optimised over the life of the field.
Water injection system optimisation (i.e. studying of pressure support).
Gas lift injection system optimisation (i.e. optimising the gas lift gas network that provides the
gas to the artificially lifted wells).
Back to Overview 2
Production forecasts using reservoir models (MBAL directly in GAP or numerical simulators
through RESOLVE)
Full field forecasting optimisation.
Field management (Scheduling)
Day to day field operation optimisation.
Optimisation of injection strategies - pressure support or gas lift studies.
Back to Overview 2
In GAP, various options are available to accurately model the fluid PVT properties depending on
the objectives and the available data:
Black oil
Black oil model is used for the calculations.
Tracking
This method is based on a combination of the black oil model and fully compositional model
(equation of state or EOS).
- The black oil model is used for the main pressure drop calculations
- The EOS is then used in a post calculation to determine the composition in any part of the
system by performing compositional blends and flashes based on the rates determined from the
black oil calculations.
If a black oil reservoir simulation is used, the compositional tracking provides the engineer with
the capability of recombining the initial composition in order to match the GOR of the fluid
produced. This functionality is also available with the following PVT methods.
Fully Compositional
This method allows the engineer to run all of the calculations using an equation of state, which
gives the compositions as well as the fluid PVT properties at any point in the network.
All of the compositional PVT methods can be used with the full or the lumped compositions.
The black oil viscosity models can now be combined with the EOS method so that density
calculations can be handled by the EOS and the viscosity can be calculated using the
correlations improving the flexibility of pipeline pressure drop calculations
An improved EOS for CO2 modelling which reproduces the results of Span-Wagner EOS and
has the additional capability of handling other impurities in the composition, is now available
Back to Overview 2
With regards to the PVT modelling, each of the applications have their own requirements, which
are dictated on one side by the objectives of the application itself and on the other by the
calculation speed. The figure below summarises the main requirements for the three main
classes of simulators:
Reservoir numerical simulators are generally focused more on volumetric properties and the
phase behaviour. PVT modelling can be carried out by means of black oil or compositional
(EOS) modelling. In the case of EOS modelling, the number of components has to be limited to
avoid the model from running too slowly (with the exception of thermal simulators like REVEAL,
where a larger number of components is required to guarantee accurate thermal calculations)
Surface network simulators can work in black oil or compositional and are focused mainly on
densities and viscosities as these parameters are dominant in the pressure drop calculations.
As far as the EOS is concerned, the number of components has to be decided on the basis of
the modelling objectives. If the objective is only to determine the pressure drops, a small
number of components can be suitable and can reduce the run time. However, if the objective
is to perform detailed flow assurance studies (temperature estimations, hydrates, etc.), an
extended composition will be necessary.
Process simulators on their side, focus more on thermal properties calculations, therefore they
require compositional modelling and the composition needs to have a large number of
components. This is because the thermal properties can be accurately estimated only by
specifying in detail the composition. Density is by default determined on the basis of a
correlation (Costald).
In general, when connecting different models together the common factor among them is the
fluid. In other words, it is necessary to be able to use a PVT characterisation that is consist
throughout the system.
Based on the different requirements of each model from reservoir to surface, it is important to be
able to pass from a small number of components to a large one (or vice-versa) whenever
necessary, and to make sure that the fluid characterisation is representative of the actual fluid
throughout.
This means that at any point in time the full and the lumped compositions will be equivalent and
representative of the real fluid. In general when creating two characterisations of the same fluid,
by definition they will not give the same answers. However, the lumping/de-lumping methodology
has to make sure that the important properties are consistent, so that calculation speed and
accuracy are both satisfactory.
In GAP this is achieved by means of the so-called "Lumping Rule", which is a piece of logic that
defines the mechanisms to pass from the full to the lumped composition. The 'Lumping Rule' is
created at the stage of building the EOS model using Petroleum Experts' PVT package PVTP.
PVTP has all the facilities to create and quality check the couple full/lumped compositions and to
create the required 'Lumping Rule.'
In GAP it is possible to import a 'Lumping Rule', which is used to generate the lumped (or the full)
composition when desired. It is then possible to decide if to run the calculations with the full or
with the lumped composition.
In this case GAP would be run using the full composition, which is determined on the basis of the
lumped composition coming from the simulator.
The reservoir can be directly modelled in GAP using material balance models (MBAL) or by
linking GAP to the reservoir simulator using the IPM controller RESOLVE.
Back to Overview 2
Features:
PROSPER on line for advanced temperature modelling (Enthalpy Balance, Improved
Approximation).
Improved Approximation available with GAP 'Internal Correlations' pressure drop model.
Programmable elements allowing modelling of complex user-defined equipment.
Heat Transfer Coefficient Calculations.
Transient multiphase flow simulation.
Back to Overview 2
Features:
Full field Optimisation studies where naturally flowing, gas lift and ESP wells can all be
included in the same production system model.
Coupled modelling of the gas lift network and the production network
Detailed reporting of pump results (head, power consumption, etc.)
Back to Overview 2
Main features:
Well inflow and outflow elements to decompose the wellbore
Pipeline elements can have tubing or annular flow patterns with a multitude of different flow
connections
PROSPER on line allowing the use of rigorous temperature models
Completion description for detailed heat transfer coefficient calculations
Back to Overview 2
1.9 Automation
GAP is fully functional through OPENSERVER, which gives access to all of the capabilities of
GAP through external applications such as macros which can be written in Visual Basic, C, etc.
This allows the user to automate many of the tasks that can be performed by operating the
program GUI and to code his/her own workflows. Over the years this feature has been applied to
achieve a vast variety of different objectives as the scope is completely flexible. These are only a
few examples of those applications:
Back to Overview 2
The "Separator" in GAP does not have to be the physical separator in the field, it is simply a
point of fixed pressure in the network. Mathematically speaking it corresponds to a boundary
condition which must be specified in order to solve the system.
In the figure below, the fluid contribution can be from the wells or sources:
C = Constant
This set of equations is solved numerically to provide the “natural” response of the network.
The solution that is generated by the solver i.e. the “natural" response of the system may not be
the optimum. The network may be capable of higher production rates, by altering certain
conditions, like:
The optimiser of GAP can determine these conditions. As well as boundary conditions i.e. fixed
pressure values (separator pressures) in the system the optimiser can also honour various
constraints such as:
The optimiser will achieve the maximum hydrocarbon production using the rate of change of the
production rate with respect to the rate of change of controllable variables (e.g. the injected lift
gas rate for gas lifted wells).
GAP handles naturally flowing and artificially lifted wells in addition to water and gas injectors.
There is no upper limit on the number of wells and/or platforms that can be
entered.
Constraints can be considered at any level in the system e.g. well, joint, separator
and total system.
Production Forecast models can also consider constraints at the reservoir level.
The key element of this method is the quality of the well models.
This explanation will concentrate on a Gas Lifted system as it is the best system to explain the
non-linearity of a field and how it can be addressed from an optimisation point of view.
This has a clear maximum in the X region we are looking into, indicated by the red arrow on the
plot above.
In a linear system, two methods can be applied to determine the maximum of this function:
Bracketing
Derivatives
The first method is based upon trying different guesses of X and calculating Y. After trying
a number of X guesses, the maximum is “Bracketed” and reached. The following diagram
shows the approach:
The derivative of Y is calculated with respect to X and then set to 0. This will allow
calculation of all (X,Y) points which are maxima, minima or points of inflection.
The second derivative of the function can then be used to determine the nature of each
calculated point and the maximum determined.
Both of these methods work very well for linear problems where Y can be described as a
direct function of X.
In the context of a field, this is the case of a dry gas field with no water production in which
A non linear system will not behave in the same way. By the very nature of it,
each time a guess of X is taken in order to calculate the corresponding Y, the Y
function itself changes as it may be dependent on other variables affected by the
choice of X.
The following diagram will show how the function will behave for a choice of X:
This, in effect, represents a moving target and trying to determine the optimum with 'Linear
Programming' techniques will not succeed.
Consider now the case of a gas lift injection network (shown in a simplified diagram below):
This is made up of two gas lifted wells and the objective is to determine what is the optimum gas
lift injection rate to inject in each in order to achieve maximum production from the system.
'Linear Programming' techniques will work based on the response of the well. The performance
curve of the well on the right (with one fixed WHP) will be:
In the quest for the 'Optimum Gas Lift Injection Rat'e, a guess for the injection rate is taken (as
shown on the diagram above) and the corresponding liquid rate calculated from the well
response.
This rate will then be used to calculate the response of the surface pipelines that will return a new
well head pressure, based on the pressure drops in the system. A new performance curve will
then be constructed for the well (again based on the new WHP kept constant):
Even in this simple system, this behaviour will not represent the reality. Each time a guess on
gas lift injection rate is taken, the pressure drops in the pipeline will cause the back pressure on
the other well to be different.
This system is by nature 'Non Linear' and is conceptually similar to the function described earlier.
Linear programming techniques will not be able to see the impact that gas injected in one well
will have on the other due to the pressure drop in the surface lines. The true response on a well is
shown below:
As these responses are inbuilt in the calculations, the actual behaviour for the wells can be
constructed and the optimum solution found as shown in the last figure.
NLP will always result in higher rates with less gas injection compared to Linear
Programming.
First and foremost, every User of the software has access to the Online Help and User Guide
Manuals which are included with the installation of the software.
For those client's who have a maintenance contract with Petroleum Experts, access to our
Web User Area and Technical Support team is also available.
More information on how to access all these different elements of help and support are provided
below.
1.11.1 Online Help
The online Help of each program can be found via the Help | Contents menu on the top tool bar:
To use this facility, the help file must be located in the same directory as the program. Please
note that due to security settings in Windows, if the help file is located on a shared drive, then the
help may have issues loading.
Help through the Almost every screen contains a Help button which, if selected, will take the
interface user directly to the appropriate help section for the given screen.
Help through From the menu bar, choose Help | Index or ALT H I, and select the
the menu desired subject from the list of help topics provided
Getting help To get help through the mouse, Press SHIFT+F1. The mouse pointer
using the changes to a question mark. Next, choose the menu command or option
mouse and to view. An alternative way is to click the menu command or option to
keyboard view, and holding the mouse button down, press F1. To get help using the
keyboard press the ALT key followed by the first letter of the menu name
or option and press F1
Minimising If the Help window is to be closed, but not exiting the help facility, click the
Help minimise button in the upper-right corner of the help window. If use of the
keyboard is preferred, press ALT Spacebar N
The help facility uses function buttons and jump terms to move around the 'Help' system. The
function buttons are found at the top of the window and are useful in finding general information
about Windows help. If a feature is not available, the button associated with that function is
dimmed.
'Jump' terms are words marked with a solid underline that appear in green if a colour VDU is in
use. Clicking on a jump term, takes the user directly to the topic associated with the underlined
word(s).
Using the Help This option is useful for viewing specific sections listed in the help menu.
Index Go to the topic of interest and select the necessary subject item
Using the Help This facility is useful for finding specific information about particular topics.
Search feature
For example, 'Production Constraints'. Type in the keyword 'constraints' to
search the system for the phrase, or select the corresponding topic from
the list displayed
The User Guide Manuals are installed in the IPM installation directory (normally ...\Program Files
\Petroleum Experts\IPM XX\pdf\) or can be accessed via the Windows START menu:
In addition to information on the different models, screens and inputs which are required for each
tool, the User Manuals contain numerous step-by-step worked examples for each of the tools.
Completed models for each of these examples (and initial files where required) can be found in
the same IPM installation folder structure as the User Guides (normally ...\Program Files
\Petroleum Experts\IPM XX\Samples\). Please note that due to the size of these files, they are
not installed as part of the main installation of the software and are installed via a separate
installer. If the sample files are not present on a machine, please contact the IT department or the
user who downloaded the IPM installation files to obtain access to the worked example installer.
First and foremost, this includes access to our dedicated Technical Support teams based out of
Edinburgh, Scotland and Houston, USA. The role of the Technical Support team is to ensure that
the tools work as documented and also, where appropriate, demonstrate how options and
setting within the software can be used to achieve certain engineering objectives.
To ensure fairness to all of our clients, support queries are answered on a first come, first served
basis with the target of 50% of queries being answered within 24 hours and 95% of emails being
answered within 48 hours. In order to facilitate this, the primary route to obtain Technical Support
is via email. While it is possible to phone the Technical Support team, in cases where models
are required in order to understand the query, an email with the model will be required. Where
models are too large to send via email, the Technical Support team can send out a link which
can be used to upload the model. Where required, phone calls or video meetings can be set up
to discuss queries after the initial query has been received.
As well as access to Technical Support, maintained clients can also profit from a number of
other benefits.
1.11.3.1 Software Upgrades
Petroleum Experts are constantly improving the software and also researching new ways of
obtaining value from the software. These improvements and advancements are provided to
maintained clients via new builds and versions of the software.
Petroleum Experts aims to release a new version of IPM every 12-18 months and these new
versions are denoted with a change in the version number i.e. IPM 11.0 to IPM 12.0. Within
each version of the software, a number of different builds will be released to fix known issues
and add certain advancements.
It is important to note that all builds and versions of IPM are backwards compatible which means
that models build in older versions/builds of the tools will always be able to open and run in
newer versions. For example, a model build in IPM v9 can be opened in IPM v10. Models build
or saved in newer versions, however, cannot be opened in older versions of the software. For
example, a model saved in IPM v12 cannot then be opened in IPM v11 or earlier. Different
builds of the same IPM version are both backwards and forwards compatible which means that
a model saved in IPM v12 build 100 could be opened in previous builds (build 90 etc) and also
future builds (build 101 etc).
To find out the version of the tools which is currently being used, the User can browse to Help |
About... in any of the programs. The version and build is then shown on the screen:
To find out the current commercial version of the software, please either contact the Technical
Support team or log onto the Web User Area.
1.11.3.2 Annual User Group Meeting
Every year, Petroleum Experts hosts a meeting of our Users in Edinburgh, Scotland. This User
Group Meeting is an opportunity for Petroleum Experts to present the new functionality and also
for clients to present their work to each other to gain a better understanding of how others are
creating value. The User Group Meetings are also used as an opportunity to receive
development requests from clients and discuss each one with all attendees. Based upon the
feedback of the user community, each request will be given a priority and then added to the
development plan of the next version of the software as appropriate.
Invitations to the meeting are sent out to our main contacts in all maintained clients and then
each company decide to send a representative or team to attend the meeting.
As the number of clients who can attend the meetings from each client are limited, all
presentations which are given by Petroleum Experts (and all client who provide permission) are
uploaded to our Web User Area so that all clients can understand what new developments are
coming and also the presented case studies. A database of the presentations from all of the
User Group Meetings through time is also available and is a fantastic source of information on
the advancements and developments which have been made to the software over time.
1.11.3.3 Web User Area
Maintained clients also have access to the Petroleum Experts Web User Area which can be
accessed through the Help | Web User Area menu of any product:
In addition to access to the Web User Area, clients can also directly contact the Technical
Support team via the Help | Technical Support menu. This part of the Web User Area not only
allows support queries to be registered with the support team, but also stores all previous
queries which each user has sent so that they can be easily accessed and referenced in the
future.
When the Web User Area is accessed, different information can be seen:
Oil Field Modelling Using Become familiar with using the Rule
The Rule Based Network Based Network Solver and analysing Example 2b 936
Solver results
Viewing details of the pressure drop
Detailed Results for
calculation in GAP using the Example 3 944
Pipelines
PROSPER on line feature
Setting up network model for water
Pressure Support with injection system, linking it to the main
production model and running Example 4 959
Water Injection
prediction with the two coupled
models
Setting up a network model for a
multi-layered well completion with
inflow controllable valves, optimising
Smart Well Completions Example 5 976
both of the layers to maximise oil
production, introducing scheduling
and prediction script.
Delumping) modelling.
Setting up a tight gas field, creating/
Tight Gas Field importing partial GAP files and Example 10 1200
compressor modelling.
predictions.
Surface Jet Pumps Setting up a model containing a SJP.
Copying and pasting data between Example 12 1250
2
User Guide 39
2 User Guide
2.1 What's New
Version 14
The main new developments implemented in GAP version 14 are:
GAP:
Outflow Only wells
Improvements to Outflow Only wells through introduction of ports, which
make more transparent the connections of elements/equipment to the
Outflow Only wells and will help to address issues that were sometimes
encountered when modelling smart well completions with Outflow Only
wells.
Solver enhancements
Numerical stability of network solver
Parallelisation of calculations
Parallelisation of calculations has been extended to include more
calculation options and model types, which will result in significantly
faster calculation speed for most models
Version 13.5
The main new developments implemented in GAP version 13.5 are:
GAP:
Control Groups
Allows for multiple equipment controls of the same type to be handled
by a single control value when using the RBNS or GAP Optimiser.
Version 13
The main new developments implemented in GAP version 13 are:
GAP:
Parallelisation of VLP generation
MultiPointing VLPs
Capturing valve throttling and multi-pointing behaviour as part of network
optimisation and field planning studies
Shared control/constraints for Gas Lifted Wells
Dual-String Gaslift optimisation
Improved Emulsion matching
Improved steam modelling
Steam enthalpy accounted for across chokes
Improved Choke calculations
Hydraulic Systems
Interrogate model by hydraulic system via OpenServer of the
RESOLVE GAP Topology DataObject
Improved OpenServer access
Saving of prediction results
Retrieval of well VLP correlations and match parameters
Etc.
Improved visualisation, validation and warnings
Reporting of additional results
ESP Wells: Surface kVA, Motor Power Factor, Load % and Fluid
Velocity
Gas-Lifted Wells: Injection Depth, Tubing Pressure and Temperature,
Casing Pressure, Critical Injection Rate, Casing Head Pressure, etc.
Various, including density and kinematic viscosity at separator,
unchoked well etc.
Version 12
The main new developments implemented in GAP version 12 are:
GAP:
Improved Validation and Warnings
Additional Constraints
Max C-Factor, GVF at ESP Inlet, Max Torque (Compressors), Max
temperature (nodes)
DCQ Control added to RBNS
Inline Injection Element: Controls/Constraints added to RBNS
Improved Thermal Models - Calculate Heat Transfer Coefficient
Similar to the Enthalpy Balance model PROSPER, allows calculation of
heat transfer coefficient taking into account heat tranfer mechanisms
GAP Transient:
New Transient Flow Simulator
Used with GAP to model transient flow within wells and surface pipeline
network.
Ability to quickly and easily transform an existing steady-state GAP
model into a transient model.
Flexible Model Setup
Allows the entire network of wells and pipeline to be modelled in
transient or alternatively a smaller subset of the network can be
modelled using transient calculations while the other elements remain
steady-state.
Robust IPR Modelling
Allows integration with Transient IPR models for more realistic inflow
response
Allows integration with numerical simulators through RESOLVE
2D/3D visualisation of detailed transient results
Direct access to results similar to steady-state pipeline flow assurance
Ability to run slug catcher analysis on transient pipeline/well results
Version 11
The main new developments implemented in GAP version 11 are:
Forecast Recommendations
Hydro -2P mechanistic flow model should be used when modeling long
pipelines
PVT Modelling
Ghetto et al black oil correlation has been added for heavy oils
Well Modelling
Gas coning model has been improved to capture more points, enter data at more
than one time and improved match algorithm
Power fluid rate for jet pump lifted wells and drawdown for all wells can now be
viewed in well summary results
Maximum Oil and water constraints can now be specified for wells
Option to enter well fractional flow tables in terms of layer cumulative production
(This is additional to the default which is in terms of tank cumulative production)
Option to transfer IPR data from MBAL using ‘Transfer All Matching’
Choke sizes can now be calculated in network solve and predictions using one
of the available choke models. The calculated choke sizes will be reported in the solve
network/prediction results.
Program Interface
Calculation start and end times now reported in the prediction and solver log
New archive method allows GAR files to be created greater than 2Gb
The tooltip can now be customised to allow users to configure the solver results
displayed for each type of equipment.
Option to increase size of table in layer production tab for tight reservoirs and
decline curves
The limiting constraints in the prediction now reports if the constraints is due to
the DCQ schedule
If there are errors when initialising tanks at the start of a prediction, the error
message will now display the tank name in the *.MBI file
Flow Assurance
Allow access to the flow assurance and gradient results via OpenServer
New Elements
Heat Exchanger
Compressor modelling
Pipeline Modelling
Number of pipe segments allowed has been increased from 100 to 500
Calculation Enhancements
Version 10
GAP is now available as a 64-bit application. The main new developments implemented in GAP
version 10 are:
GAP now contains a Rule Based Network Solver (RBNS). This is a new approach
to performing predictions whilst obeying constraints in the system.
PVT Modelling
Multiphase Flash
Well Modelling
Pump/Compressor Modelling
Program Interface
New ability to filter equipment in the navigator window via text entry
Pipeline Modeling
Version 8.5
The main new developments implemented in GAP version 8.5 are:
PVT Modeling
Gas viscosity correlations (Lee et al. and Carr et al.) selectable for pressure drop
calculations
Pipeline Modeling
Well Modeling
Well Control
Program Interface
Version 8
The main new developments implemented in GAP version 8 are:
Lumping/Delumping methodology
– Compositional Lumping/Delumping
– Black Oil Lumping/Delumping
Import .PRP composition file for multiple wells, main PVT and Gaslift PVT
Modeling
Model flare and vent in GAP and capture in reports as "emissions", with different
revenue and separate category in Reports
Option to turn wells off if the intersection of VLP/IPR is left of the minimum.
Add outputs of energy, for production and cumulative production, to get output
in units of kilo-watt hours (heating value x mass)
State the correlation used to generate pipeline VLPs on the VLP page
Automatic transfer of the latest well test data on Matching screen from PROSPER
into GAP Model Validation screen
Option to use Lookup tables for fractional flow instead of relative permeability
curves
Option to populate decline curve tanks and related wells production data tables
from prediction results.
Program Interface
Version 7.0
GAP User Guide March, 2022
User Guide 49
Modeling
Pipeline modeling:
Annular flow calculation
Improved Approximation temperature model for Steam
Specify Black Oil Correlation for each Pipe Element
Prediction:
DCQ contract type: gas rate, gross heating value...
DCQ prediction
New event schedule, such as ESP frequency...
Schedule Event Grouping
OPENSERVER access variable scheduling
New constraints, such as temperature constraints, tank withdrawal
constraints...
Program Interface
Edit/Undo button
Flowsheets (sub-models)
user can now specify flow correlation to be used when generating Lift Curves for
Pipes.
user can now view all elements linked to a GROUP from the same screen.
Version 6.0
Modeling
IPR includes the bubble point as part of the data for matching the IPR
Now if the bubble point of a test is available it can be used with the matching information
to adjust the IPR.
Version 5.0
Program internal structure
Structure Enhancements
There is no program limit to the number of pieces of equipment contained in a model. The
number of ipr's in a well is not longer limited to 30.
Enhanced validations
Data validation routines have been enhanced to trap data input errors before calculation
starts. Invalid fields are highlighted in red in the screens.
All prediction results are saved to disk while the prediction is running. This makes the
program memory requirement independent of the number of prediction steps.
Program interface
Convert well into inflow or split well into inflow and outflow
Existing wells can be split into an outflow only well (VLP) and inflow pieces of equipment.
Modeling
Downhole Networks
Outflow only well and inflow pieces of equipment allow the modeling of smart wells. Any
piece of equipment (joints, pumps, separators, pipes or completions ...) can be inserted
between the inflows and the wells.
Equipment Grouping
Individual pieces off equipment can be assign to one or several groups even if these
pieces of equipment are not related or connected together. The groups can then be
assigned rate constraints
Computation
Optimisation on revenue
Prediction
Material balance and decline curve prediction types have been merged
Decline curves and material balance reservoir models can be associated in the a
prediction run.
IPR WCT or GOR versus cumulative production for decline curve tank
WCT and GOR profiles can be entered versus cumulative production or reservoir
pressure.
Prediction results and network snapshots are saved during prediction runs
through OPENSERVER
Note: The GAP sample files are distributed as archives (which contain all the files necessary to
run the models). For a quick description of how to extract the sample files, click here 92 .
A powerful feature is the ability to perform predictions in a step-by-step mode, allowing Data
Server macros to be run at each timestep. This can be used to implement, for example, event
driven scheduling (changing IPR during a prediction, changing constraints with time, overriding
the GAP optimiser, scheduling compressors...)
The screen displays in this guide are created using both Windows XP and the Windows 7
interface.
The screen displays used in this guide are taken from the examples provided with the software
as well as models from clients (with permission). On occasion, the data files may vary from the
examples shown as updates to the program are issued. Where major amendments or changes
to the program require further explanation, the corresponding documentation will be issued.
2.3 Introduction
Petroleum Experts General Allocation Package (GAP) is an extremely powerful and valuable
tool offered to the Petroleum Engineering community. GAP offers complete surface production/
injection network modelling, capable of handling a variety of different wells in the same network
with the ability to optimise hugely complicated systems very efficiently.
The optimiser controls production rates using wellhead chokes, ESP operating frequencies,
pump/compressor speeds or allocating lift gas to maximise the hydrocarbon production while
honouring constraints at the gathering system, well and reservoir levels.
Allocation of production
Full field forecasts (predictions)
The interaction of coupled production and injection systems that captures the important
physics of both systems and then optimises the whole system taking into account the
physics and ensuring that the predicted control settings are representative of reality.
Optimisation
GAPs powerful optimisation engine can, for example, allocate gas for gas lifted
wells, alter the frequency of ESP pumps or sets wellhead chokes for naturally
flowing wells to maximise revenue or oil production while honouring constraints at
any level.
Running Predictions
GAP calculates full field production forecasts including gas or water injection
volumes required to meet reservoir pressure constraints.
Link to MBAL
Link to PROSPER
GAP can calculate the PVT fully compositionally and track compositions from the
well/source level through to the separators. In a prediction, GAP can take
compositions calculated by MBAL and record the evolution of compositions
throughout the system with time.
The compositional tracking can be done as in previous versions using the black
oil model. Lumping/delumping of compositions can be performed in both the fully
compositional and black oil cases.
Beginning-to-end
If the user is new to Windows applications, we recommend reading this document from
beginning to end to become familiar with the program features, menus, and options. This is the
slow approach, but will cover all there is that is necessary to work with the program.
Selected tasks
Use this approach only if the user is already familiar with the basic functionality of the program.
Worked examples
If the user has limited time and wants to sample the program features quickly, follow the
instructions provided in the examples. The examples can be found in the Examples Guide 799 .
The examples demonstrate the fundamentals of building a network, running sensitivities and
performing predictions with full integrated models. Considerable effort has been made to
ensure that the examples are practical and relevant so that key engineering concepts and
problems are resolved throughout the different exercises.
Term Application
Abandonment For prediction runs only. Minimum rates, maximum GOR etc. can
Value be set to turn wells off.
Actual Evaluation of well models for specified top node (wellhead)
pressure, GOR and water cut. Used to quality control well models
by comparing model and actual measured test rates.
Compositional The tracking of fluid components/compositions from the well bore
Tracking 198 to the top (separator) node.
Constraint Constraints are used to direct the GAP optimiser to honour
process limitations, limit well production rates. Constraints always
refer to the GAP optimiser. Well abandonment rates are set
elsewhere.
Element A well, joint, pipe, separator, tank etc. used to construct either the
production or injection systems.
Generate The process of calculating and importing well parameters like
IPR
VLP
GOR Gas / Oil Ratio. In GAP this is the 'Producing GOR' including
solution and free gas, but excluding gaslift injection.
Icon Graphical symbol used to represent a system element.
IPR Inflow performance relation. Function relating pressure drop
across reservoir and production rate. IPRs can be generated
directly from PROSPER.
Node Point where one or more production elements connect to another
system element.
Performance Curve Curve representing the well response. Expressed as pressure
(PC) downstream of the well (or manifold pressure) vs rate produced.
The PCs can be generated from VLP/IPR by sensitising on well
manifold pressure for a given reservoir pressure and water/gas
content (respectively, water cut and GOR).
Pipe Pipes connect joints together to form a gathering system. Pipes
in GAP have a length, elevation, inside diameter and roughness.
Prediction Calculation of (optimised or not optimised) future production and
injection rates using pressure decline curves or reservoir models
(MBAL for instance).
Production Use of systems analysis models in GAP to calculate field and well
The user interface consists of a framework window that contains several child windows, as well
as the menu and toolbar from which GAP commands are issued. The child windows include the
system windows that contain the system network drawing, and the navigator window that can
assist in the viewing of large networks.
Menu functions are discussed in the following chapter. The other three parts of the interface that
are listed above are described in the sections below.
If the current system has not been saved, or has been changed since it was last saved, GAP will
warn of the possible loss of data and ask to save the changes to the previous model.
This is the standard Windows file browser, which may be familiar from other
Windows applications.
The dialogue box lists the files that match the selection criteria on the left-hand
side.
The files in the default working directory are automatically shown first.
Double-click on the file name required and this will be opened by GAP.
The 'Open as read only' option enables to open a file as a read-only file, which can be consulted
but not modified.
If one chooses to type in a file name, the file extension can be omitted: the program will
automatically append the correct one.
If the current system has not been saved, or has been changed since the last save, GAP will
warn of possible loss of data when the new system is loaded over the old.
To load an old file, click on the number of file you wish to reload. If the file can be loaded, the
current file will be cleared an a new system window with the new file will be created.
The number of old files stored can be altered in the Preferences 79 dialogue, which is obtained
from the Options | Preferences menu item.
To save a file, choose either File Save or File Save As from the main GAP menu. The 'Save'
command stores changes made to the current active file, overwriting the previous data. By
default, the Save command saves a file under its original name and to the drive and directory
last selected.
*.gar – GAP archive file containing all associated IPM files including GAP surface
network, MBAL tank and PROSPER well models.
*.gap – GAP file containing the surface network model.
*.gapprs – log file detailing prediction results. If more than one set of results have been
saved then multiple files
*.gaplgp/*.gaplgs – log messages from the prediction and network solve, respectively.
This contains details from the run such as limiting constraints, constraint violations, etc.
*.gapsnp – file containing data for saved snapshots.
2.4.1.5 Save As
Clicking File | Save As allows the saving of the current GAP system to a new file.
This option is used to create a new file for the current GAP network. A file browser is produced;
use this to select the required file. This can be an existing one or to create a new on. The file
extension can be omitted when typing in a name; the program will automatically append the
correct one.
If the file already exists, a warning message will be displayed asking if the file can be overwritten.
The system window is used to draw, edit, and view the system. Coloured icons represent the
equipment nodes. The different actions that can be performed on this window are obtained by
clicking the right hand mouse button within the area of the system window. This action will
provide a menu from which the user can carry out actions. Alternatively, the same set of actions
can be performed using the toolbar or the menu, which are described below.
Addition of To add an item to the system, activate the required equipment type from
Network the toolbar or use the right hand mouse button. The cursor appearance on
Equipment the screen will change to indicate that an equipment selection has been
made. Click on the screen at the point where the equipment is to be
inserted. A network node will be created, and a label dialogue will appear
prompting the user to name the new equipment.
Zoom In / Out To zoom in or out, first select the appropriate icon from the toolbar or from
the right hand mouse menu described above. To zoom in on an area, hold
the left-hand mouse button while sweeping the cursor over the area of
interest. Alternatively, one may click once at a point in the system and
GAP will zoom in or out from that point using a fixed scaling factor (which
may be adjusted using the Preferences dialogue).
Deletion of itemsSelect the "Delete" icon from the toolbar or from the right hand mouse
menu. Groups of items may be deleted as above.
Right Hand Mouse Utility menus will appear when the right hand mouse button is clicked
Button Actions anywhere in the system view. The normal menu is displayed above, and
appears when the button is clicked over an empty space. If it is clicked
over an equipment node, a shorter menu will appear with a number of
equipment specific functions such as Delete, Mask, or Select.
Panning To move the view around the system, simply click on the main window and
hold the left mouse button down. Shift the cursor and the network will be
moved following the direction of the cursor.
Popup Status As the mouse is moved over equipment nodes, a small window will
Information appear. This contains basic status information for the node in question
and allows the status of a piece of equipment to be checked without
entering the data entry screen. This is an optional feature. To switch this
function off go to the' Preferences' screen and un-tick the “Enable Flyover
Status Information”.
Changing Icon These functions are also available from the right hand mouse menu as
Sizes / System well as from the main menu under 'Options.' See below for more
Fonts information.
Title Bar This indicates whether a production or injection system is being viewed.
Opening a New It is possible to open a new GAP window specifically focused on one area
GAP Window of the network. To do so, zoom in on the region of interest and press the
Shift key after the zoom region as been specified. Selecting Window |
New Window from the main toolbar will open the new window with this
magnified section of the network.
®
Windows specific Minimise: Click this button to minimise the window in the GAP workspace.
Actions Maximise: Click this button to maximise the window to fill the GAP
workspace.
Following this, if GAP is shut down and restarted, it will automatically bring
up the new window in a maximised state.
Close: Click this button to remove the window from the workspace.
Restore: This restore the default system window
File/Interface Functions
Accelerator for File | New. This clears the current system and initialises a new
one. A warning will be displayed if there are any unsaved changes in the old
system.
Accelerator for File | Open. This will prompt for a new file name. If the file can
be opened successfully, the old file will be cleared and the new file opened in a
new window.
Accelerator for File | Save. By default, this will override the currently saved
version of the file. Use File | Save As to save the file to a different location.
Accelerator for Window | New Window. This will open a new full system view of
the current file.
System Functions
Equipment Set-up
When an equipment button is selected, click once on the system window to create a new node of
the required type at the chosen point. A label dialogue will appear to allow equipment to be
labelled immediately.
Add a separator. This is the final solution node and is located at the "top" of
the system, i.e. furthest from the wells. The separator does not have to be an
actual one. In GAP, separator is a convenient way of describing a point of
known pressure in the network. For injection systems, this button will add an
Injection Manifold.
Add a joint. This represents a network node. A joint is a solution point in the
system.
Add a link. Note that this can become a pipeline, a well-tank connection, or a
pump connection depending on the context of the connection being made.
Add a well. The default well type is an oil producer with no lift (unless in an
injection system). The well type can be changed from the main data entry
screen. When drawing well icons, it is suggested that they are arranged
around the connection point. This simplifies the drawing of the pipeline
connections.
Add a tank. This represents a reservoir source. Tanks are only required when
running predictions.
Add a flare or vent. This element withdraws from the system a fixed rate of
fluid.
Add a pump. A pump is associated with a joint or separator. If associated with
a joint, it is in line with the joint, between the joint and the pipeline connecting
the joint to the next level.
Add a compressor. A compressor is associated with a joint. If associated with
a joint, it is in line with the joint, between the joint and the pipeline connecting
the joint to the next level.
Add a source/sink. A source/since is created and should be described for;
fixed rate, fixed pressure or fixed mass.
Add an inline element. This can be an Inline Gate Valve, an Inline Check Valve,
an Inline Separation, an Inline Choke or an Inline programmable.
Add inflow (represents the IPR), when this option is selected it will contain
similar data as the well except that there is no VLP information. This icon is
used for downhole networks.
Add group, using this option the same constraint can be applied to certain
groups of wells.
Add flowsheet, creates sub-flowsheets that can be attached to the main GAP
flowsheet
Add a Surface Jet Pump. A SJP must have three connections; low pressure,
high pressure and discharge
Add a User Defined Element. A user defined element can be created from an
in-line general element which can be shared amongst multiple users within an
organisation.
Add a heat exchanger. This can be used to capture heating and cooling within
the network.
Zoom in/out. When "zoom in" is selected, a zoom can be achieved either by
clicking the mouse on the system window which will zoom in a fixed amount
and set the centre of the view to the position clicked. Or, by sweeping an area
with the mouse which GAP will then view. The aspect ratio will be retained
when an area zoom is performed.
Mask/unmask. When either of these are selected, clicking on an equipment
item in the system window will mask or unmask the item as directed. For short-
term removals of equipment, this is to be preferred to deletion, which removes
the equipment permanently. When masking, all child nodes will also be
masked. When unmasking, parent nodes will be unmasked so as to clear a
passage to the top-most node. From GAP version 4.0 onwards, any masked
item will be brought online by 'Schedule' during prediction. To exclude any item
from prediction (irrespective of what is set in the 'Schedule'), use 'Disable/
Enable'.
This Icon will disable completely any item in the production / injection system
during the production forecast or solver network calculations even if the item is
set to run with a certain schedule.
This Icon will enable any element in the production / injection system.
Delete. After this is selected, it is possible to delete a node by clicking on the
item in the system window or delete a whole section of network by dragging a
box around it. The icon automatically becomes unselected following a deletion
to prevent accidental deletion of further nodes.
Move a node. After this is selected, a node may be moved by clicking on the
item in the system window and then, with the mouse button depressed,
dragging the item to the new position.
Select a node. After this is pressed, a node may be selected by clicking on the
item in the system window. A cyan circle around the item indicates the item is
highlighted. One can select any item on the window system for further actions
for example set wells to controllable, move items, delete items etc.
Unselect all items.
When the data is entered while building the system, double-click the appropriate icon to access
the main data entry screen.
Separator Adds a production separator element. This is a point in the system whose
pressure is known and fixed.
This is the final solution node and is located at the "top" of the system i.e.
furthest from the wells. GAP will optimise the entire system connected to all
separators.
Joint Adds a manifold joint or connecting point in the system. A joint is a solution
point in the system.
Add Link/Pipe Creates a pipeline between two joints or links between separators and joints,
wells and joints, tanks and joints and separators and pumps/compressors.
Short flowlines are best modeled as part of the well rather than as a pipeline.
The type of link produced is decided from the context of the link.
To link two items, activate the link icon. Click on the first item in the system
view, and drag the mouse to the second item with the left mouse button
pressed. When the button is released a link will be produced if the context is
valid
Well Adds a well in the system network. When drawing well icons, it is suggested
they be arranged around the connection point. This simplifies the drawing of
pipeline connections
Tank Adds a tank in the system network. These may be modeled separately using
the MBAL software which can be supplied by Petroleum Experts.
Flares and Adds a sink at constant rate, mass or pressure and the amount of fluid
Vents collected by them is accounted for in the emissions results
Pump Adds a pump in the system network
Drawing elements
The first thing to consider before drawing a system is its layout. For instance, the number of
elements to include can determine how to design the structure. A brief outline or sketch of the
network may help in deciding how to plan the model.
Since the key solution point in the network is the separator, one way to proceed is starting at the
top with the separator(s) and working down through the manifold joints (incoming connection
pipes) to the wells.
1. To draw an element on the screen, the appropriate object on the tool bar must be
selected. Positioning the pointer on the screen and clicking the Left mouse button will
place the element on the desired position. When drawing a system from scratch, it is
suggested to start at the top and centre of the screen and work down and outwards.
2. When the element is placed on the screen, a dialogue box will automatically appear
where the label of the element can be entered. Labeling is optional (unless the model is
being used in IFM where it is essential), however typing in a short name or abbreviation to
identify the element icon is suggested. Click the | OK button or press Enter to return the
screen display.
3. Select the next element to draw by clicking the relevant button on the tool bar. Position
the pointer on the screen where you want to place the element and click. A dialogue box
will appear prompting to label the element again. Follow these steps for each required
element
5. When all the elements have been set on the screen, select the Add Link/Pipe tool and
connect the elements by clicking and dragging with the left mouse button. The links should
be created in the direction of flow (i.e. from the upstream elements such as the reservoirs to
the downstream elements which would be the wells in a production system).
New elements to the network can be added until the system reflects the actual conditions or the
structure suits the particular requirements of the project.
Entering data
Once the icons had been placed and labeled, the data for each item needs to be entered. The
properties of an item can be entered as they are added to the system, or later when the
complete network model has been graphically laid out. To enter data, double-click on the
corresponding icon that is to be updated. The main data entry screen 252 for the element will
appear. From this screen, other elements in the system for data entry can be selected.
Duplicating items
GAP includes a utility that enables elements to be copied. This facility is useful for adding many
elements with similar properties (e.g. wells), as it can save time entering data when editing the
item(s). When copying an icon, the program makes an exact duplicate of the item, which
includes the PROSPER file name, data and icon label. There are two approaches for duplicating
icons:
1. Hold the cursor over the element to be copied, right click the mouse and select "Copy" from
the menu. Place the cursor at the location where the new element is to be created and then right
click again and select "Paste"
2. First draw or add a new element icon. To copy, hold down the "Ctrl" key, while clicking and
dragging the original icon into the new unnamed icon.
Data from one element type cannot be copied into an element of another type. For example, the
data of a Separator icon cannot be copied into a Joints icon.
For more information on the user interface and its use, see The 64 GAP 64 user Interface 64 .
The basic premise of this operation is to assign each piece of equipment a 'charge', which acts
to spread the equipment, and assign an 'attraction' between connected items (e.g. connected
joints) using spring-like forces. The equipment positions are then optimised by applying this
algorithm, leading to a more visually pleasing equipment configuration. The extent of the Auto-
Layout can be suited to various objectives by adjusting the algorithm parameters which are
outlined below.
To access the Auto-Layout feature, right-click anywhere on the GAP canvas and select Auto-
Layout which brings up the following window.
Algorithm Defines the algorithm used to perform the Auto-Layout. As above, the Simple
Force-Directed algorithm assigns each piece of equipment a charge to space
them and an attraction between connected objects to favourably layout the
elements on the canvas.
Initialisation Defines the starting point for the algorithm. Three options are available:
Circle initialises all elements in a circle
Current begins the algorithm using the geometry currently applied on the GAP
canvas.
Point initialises the algorithm by placing all equipment on a single point on the
canvas.
Maximum This value limits the number of steps allowed. Note, if the algorithm finds a
Iterations suitable geometry before it reaches the maximum number of iterations it will exit
the optimisation.
Force This parameter scales the attraction and repulsion forces involved, such that
Constant larger Force Constants leads to more rigid formations (i.e. increasing the Force
Constant favours attractive forces).
Initial This parameter defines the extent of the space explored by the algorithm. High
Temperature temperature values have more energy to explore the available space, whereas
reducing the temperature means the algorithm is confined to explore a smaller
space.
Perform This button simply begins the Auto-Layout algorithm.
Layout
Algorithm
Enable Flyover If this is checked then it will be possible to see a status box appear as the
GAP will load all well VLP files when the file is being opened
Read VLP's at solver initialization
The model will be loaded without the well VLP data (fast for large models),
where the well VLP files will then be read at the start of a calculation
Never read VLP's
Well VLP files will not be loaded, and is time saving when working with
large models were results are only to be investigated
License Handling With the “PROSPER on line” options added to GAP for Version 5.0 or
– VERY later, licenses of PROSPER and/or MBAL may be used by GAP depending
IMPORTANT on the options chosen when building a model. It is recommended to keep
these options to the default. Please consult with the person in the
organisation responsible for license handling before changing any
of these options
Default Input (and This option allows the user to set the default unit systems for GAP model.
Output) Unit This unit system will be used whenever a new GAP model is built
System
Always Use Ticking this box will force the unit system to be the same as the default
Default Unit one. If a GAP model contains different units to the default, when opening
System the file, GAP will change the units to default
Show Flow Selecting the ‘Show Flow Assurance using Surface Terminology’ will
Assurance using
Surface display the flow assurance results in terms of total distance and elevation
Terminology rather than the default which is MD and TVD.
Click 'Add' and select the required .COR correlation file from the browser. The Info button can be
used to examine details of the selected correlation. Click | OK to return to GAP. The external
correlation will now be available for calculating pipeline/tubing pressure drops.
Please contact Petroleum Experts to obtain more details about the multiphase DLL
format required to create the *.COR files.
The "Remove" button removes the selected correlation from GAP. It is not possible to remove
the GAP internal correlations.
In IPM 13, GAP has the capability to use externally programmed equipment models (e.g. booster
compressor model). Before they can be accessed, the custom equipment DLLs must first be
linked into GAP and this can be done by going to File | User Correlations | Booster Model
menu. The following screen will be presented:
Click ‘Add’ and select the required *.bst GAP external model file so it can be loaded in GAP.
Click “OK” button to return to GAP main interface. The external equipment model will now be
available for selection in the Compressor element in GAP where it can be used to calculate
performance of custom equipment.
Please contact Petroleum Experts to obtain more details about the Booster Model DLL
format required to create the *.bst GAP external model file.
Whenever a file is open, closed or created, the program automatically selects the files or
saves to the data directory defined in these menus.
It is recommended to keep data files separate from other program files in a related sub-
directory (e.g.: C:\PROJECT\GAPDATA).
MBAL executable location needs to be defined to be able to launch MBAL via the Tank
Summary Screen
PROSPER executable location needs to be defined to be able to launch PROSPER via the
Well Summary Screen
Application startup timeout time can be entered, after which the program will flag that the
MBAL and PROSPER licenses cannot be found.
2.4.1.14 Printing from GAP
Printer Set Up This will prompt the standard Windows Printer Set-Up screen. Use this to
select the preferred printing device
Printing the To print out a current network drawing, select 'Print' from under the File menu.
Network It is possible to print to a hardcopy device, to the clipboard, or to a windows
Drawing metafile (.WMF). There are options to print in colour, monochrome, or
greyscale.
Copy To copy a line of data, click the check box or the selection button next to the line
of data required and press the Copy button. This copies the data into GAP's
internal buffer
Paste To paste data to a required location, check the box or the selection button next
to the required location and press the Paste button. Any data that is currently at
that position will be overwritten
Delete To delete a row of data, check the box or click on the selection button alongside
the data and press Delete
All Checks all the check boxes in the array or highlights the entire grid
Invert Inverts the selection
In dialogues that support multiple selections, hold the <control> key down as the left hand mouse
button is clicked. This will enable more than one check box to be selected.
In some grids (post V3.2) it is possible to select portions of the grid by clicking the left hand
mouse button and dragging the mouse over the required region, prior to performing a copy or
paste. This feature is useful when copying data from GAP screens to other software, e.g. Excel
spreadsheets. Care should be taken when pasting to grids that the data items are consistent
with the position in the grid to which they are being pasted.
2.4.1.16 Exiting GAP
To exit from GAP, the File | Exit command can be selected. If the file has not already been
saved, the program will prompt a screen allowing the user to save the current file.
The user will be asked to select a file name for the archive from a file browser (the default
extension for GAP archives is .GAR).
Once the file name has been entered and saved, the user will be presented with a Project
Creation screen with the following options:
There is an example 933 provided in the manuals that demonstrates the application of this feature.
Main features
The screen contains the following features:
Project This is a hierarchical listing of all the files in the project, also seen in the Edit
Project 155 menu option. Select the files to be archived from the list (by default,
all valid file paths are highlighted). To select all files, click on the "All" button. It is
possible to double-click on an item in the project list or the baggage list (below)
to obtain the basic properties of the file in question.
Baggage It is possible to add other files that are not directly associated with the project to
the archive (for example, Excel spreadsheets or Word documents).
To add a file to the archive baggage, type in the file path in the Baggage File
field below the Baggage listing (or browse to it using the file browser provided),
and press the 'Add' button. The file will then appear in the list box. Duplicate file
names are added to the archive only once.
Project This field can be used to enter comments describing the project. This will
Comment appear whenever one wants to extract the files from the archive, and can help
recall the contents of a particular archive. Select the “Write” button to create the
.GAR file.
Add Assoc This adds associated files to the baggage list. For example, if one clicks on a
.vlp file in the project list and then click on Add Assoc, GAP will look in the
same directory as the .vlp file and, if they are present, also add the .tpd and/or
.mbv files to the baggage list. Multiple selections in the project list are possible.
The following gives the associated file types for project file types:
Action Buttons
Once the file has been selected GAP will enter the archive extraction screen as follows:
Main features
The screen contains the following features:
Project This is a listing of all the files that comprise the original GAP project. All files are
Listing selected by default.
Those files that were originally in the project but the archiver chose not to include in
the archive are displayed in light grey. It is possible to double-click on a file to obtain
its basic properties. Select from the list those files that are to be extracted. All files
are selected by default
Baggage This lists the baggage files that the user chose to add when the archive was
Listing created. As with the project listing, the user may double-click on an item to view its
properties. Select the files to be extracted. All files are highlighted by default. To
select all of the files, click on All Baggage
Extract Browse to the directory to which one would like to extract the archive files. If the user
wants to keep the original directory structure of the archive within the extraction
directory, click on Retain Directory Structure and new directories will be created if
necessary
Comment This displays the comment that was supplied with the original archive
Action Buttons
2.4.3.1 Method
This section is where the overall system parameters are set up, including the type of system
(production or injection), the prediction mode, and various options on the optimisation process.
System Type:
This section defines the type of network that can be modeled in GAP.
Production Production systems can contain oil (e.g. naturally flowing or artificially lifted wells),
gas or condensate wells which produce fluids to the separator.
Water This allows the engineer to model the water injection distribution network which
Injection can be coupled to the main production network model and then optimised
simultaneously. The water injection manifold takes the place of the production
separator at the top level of the system.
Gas This allows the engineer to model the gas distribution network which can be
Injection coupled to the main production network model and then optimised
simultaneously. The gas injection manifold takes the place of the production
separator at the top level of the system.
Gas Lift This allows the engineer to model the gas lift injection distribution network which
Injection can be coupled to the main production network model and optimised
simultaneously.
Optimisation Method:
This section defines the objective function used by GAP to optimise the system.
Production This option optimises the production rate of the primary fluid (in an oil system
this is the oil for example) and penalises on the water production. GAP will
calculate the maximum rate of the primary fluid that can be achieved while
honouring any constraints in the system.
Revenue This option optimises on the revenue generated by sales of oil and gas
produced after taking into account specified costs. If this option is selected,
then prices need to be defined for each fluid in the system (see below).
Up to 32 different Tax Regimes can be set in one system and the currency can
be defined by selecting "Currency Setup". Different Tax Regimes can be
associated to different wells in the system.
In pump lifted wells, the motor power reported by GAP is actually the pump
power. The cost of power is calculated using the motor power divided by the
motor efficiency, as this is the actual electrical power consumed by the motor
(excluding power losses in the cable).
Oil rate only / These methods are used when the objective is to maximise the Oil rate or the
Water rate Water rate only.
only
Gas + Oil rate This method allows the user to maximise, at the same time, oil and gas
rate only production rates and honour constraints in the system.
Gross This option maximises the gross heating value produced by the field. This
Heating option is mainly used in the case of gas fields where one would like to
Value maximise the heating value of the delivered gas.
If the GAP model contains various streams of gas that will contain different
compositions and hence gravities, the optimizer will control the system in order
to provide at the delivery point a blend of gas that can have the highest
possible heating value.
In black oil mode, the heating value comes from an internal correlation
developed from analysis of fluids done by Petroleum Experts. It considers all
the impurities that are entered in the gas stream and is a correlation based on
the gas gravity and the impurities.
If the model is compositional then the heating values come from the
composition.
Gas Rate This method allows the user to maximise, at the same time, oil and gas
with production rates and honour constraints in the system. This objective function
Preference to has a weighting on the oil content and can be particularly useful for optimising
Oil Content condensate systems.
For example, a condensate system with large flowlines can have significant
pressure drops with increasing oil rate. This can impede gas production to the
extent that we may not satisfy our gas contracts. The "Gas Rate with
Preference to Oil Content" will ensure that we meet our gas contract and will
then try to maximise the oil rates in the system by finding the optimum fluid
fractions that minimise the production losses in the flowlines which may not be
captured by the option "Gas + Oil rate only" which has no weighting factor
assigned to a particular phase.
Prediction:
This option needs to be on “ON” so that GAP can allow the user to carry out a prediction
calculations.
PVT Model:
This option allows the user to define which PVT model in the system.
Black oil Black oil model is used for all of the calculations.
Tracking This method is based on a combination of the black oil model and fully
compositional model (equation of state or EOS).
Black oil model is used for the main pressure drop calculations
The EOS is then used as a post calculation to determine the composition in
any part of the system by performing compositional blends and flashes
based on the rates determined from the Black oil calculations.
Black Oil Lumping/Delumping may use the full or the lumped compositions like
the "Fully Compositional" option.
Details about the PVT model options can be found further in the manual ( click here 178 to view).
The EOS as models are not predictive, unless matched to measured lab data. Care
has to be taken in order to make sure that the EOS has been matched and is
applicable for the range of Pressures and Temperatures to be investigated.
Prediction Method:
This option defines whether temperature calculations in pipelines are performed or not
Pressure Only Temperature changes along the flow lines are not calculated but instead
entered by the user
Pressure and GAP calculates both the pressure and temperature losses along the flow
Temperature lines, using either a simple temperature model or the more advanced
Enthalpy Balance option available through PROSPER on Line.
Pressure and GAP calculates the pressure and temperature as above but allows a
Temperature - surrounding temperature gradient to be entered. The temperature gradient
Gradient can be specified on both a global level (by clicking Flow Assurance |
Global Temperature Gradient) or at individual pipe level.
This option can be used to predict the presence of Wax or Hydrates at any point in the system.
The Wax of Hydrate Warning is only available through the GAP Options Menu when the
compositional details of the fluid are available i.e. when the Compositional Model is set to
“Tracking” or “Fully Compositional”. If this option is on and GAP encounters a wax of hydrate risk
in the model, then it will raise a flag in the “Status” column of the pipeline results.
Please note: The Wax and Hydrate Warning option can be made available for Black Oil PVT
models when using PROSPER Online wells and pipelines.
Water Vapour:
This option allows the user to enable/disable the calculation of condensed water vapour in
pipelines.
The improved steam modelling introduced in IPM 12 (i.e. accounting for the
steam enthalpy across the choke) is only available with the ELF choke model.
Temperature Model:
In previous versions of GAP, rigorous temperature modeling with the "Enthalpy Balance" or
"Improved Approximation" models could only be achieved by modeling the pipelines with the
PROSPER on line option.
Advanced temperature modelling can now be enabled and used along with the default pipeline
modeling option GAP Internal Correlations.
Rough This is a heat balance model that calculates the heat loss from the well to the
Approximation surroundings based on an overall heat transfer coefficient, the temperature
difference between the fluids and the surroundings and the average heat
capacity of the well fluids.
The Rough Approximation temperature model requires calibration using
measured temperature data. Without this calibration, the temperature profiles
predicted may not be accurate.
Improved This is a rigorous thermodynamic model that is based on a full enthalpy
Approximation balance model considering all the components of energy (enthalpy, potential
energy, kinetic energy and heat transfer between fluid and surroundings).
The term of the enthalpy balance concerning the heat exchange with the
surroundings is simplified by a heat loss term characterised by an overall heat
exchange coefficient. For this reason data related to the completion hardware
is not necessary.
As in the enthalpy balance model the Joule-Thomson Effect is also accounted
for. These characteristics make this model particularly useful when an
accurate calculation of temperature is sought after and only limited data about
the completion is available.
Steam calculations require the Improved Approximation model to be used.
The Improved Approximation temperature model also requires calibration
using measured temperature data.
Calculate Heat The user can either enter a overall heat transfer coefficient or allow GAP to
Transfer predict the overall heat transfer value for a pipeline element.
Coefficient
The heat transfer coefficient calculated will capture heat transfer due to
conduction, forced/free convection and radiation. The thermal diffusivity of the
surrounding environment is taken into account and localised heating (or
cooling) of the formation by the well/pipeline fluid is also captured.
The completion description tool in the pipeline element input screen should be
used to define the detailed equipment description required (annulus fluid,
pipeline insulation etc.) to calculate the overall heat transfer coefficient.
Calculate Well
Choke DeltaT When the dynamic wellhead choke has been set on the well directly that GAP
will automatically control during optimization to meet constraints, rather than
explicitly defining an in-line choke in the system, the dynamic choke
temperature change can be captured by setting the option to YES, enabling
GAP to calculate the temperature drop using an isenthalpic flash. If set to NO,
The Calculate Well Choke dT option is not applicable for injection systems
Brine The brine properties option will define if the default water correlations or
Properties IAWPS correlations will be used by GAP. Enabling the IAWPS correlations will
Correlation allow further brine model setup options to account for dissolved gas in water
and pressure correlation. This will also disable the water viscosity correlations
option.
If along with the production network system there are associated gas injection
Associated and/or water injection and/or gas lift injection networks it is possible to link
Injection them to the main production model though this option and solve the combined
Models systems simultaneously.
The associated injection model(s) for the field can be specified here. Select
the check box to indicate that an associated injection model exists and then
specify the model file using the button.
If no associated injection model exists, GAP will still calculate the injection
volumes necessary for the desired injection policy, but will simply assume that
these volumes can be injected (not taking into account how they will be
injected).
The list of injection fluids can be edited from the Options | Injection Fluids screen shown below:
If the source type is kill, then kill fluids properties (viscosity, volume factor) for up to 10
different temperatures can be entered.
The source PVT properties
Gas gravity and the impurity levels (in terms of mole percentage for the gas).
Water salinity for water sources.
GOR, API, gas gravity, water salinity and water cut for oil sources
If GAP is run using the compositional options, the composition for each source needs to
be defined by clicking on the 'Edit' button (the Edit button will only be visible if the
compositional option is selected).
When a new file is created, the list will contain four default fluids
Gas source - Gas01
Water source - Water01
Gas source - Atmosph01
Water source - SeaWater01
When gas lifted wells are created, they will (by default) be assumed to be using gas from
the first source (Gas01) in the list.
The user can change the gas associated with gas lifted wells to another gas source in
the list (explained in Gas Lift Control topic 324 ).
When a GAP Generate | VLP is performed, the values of the lift gas properties used by
PROSPER to generate the lift curves for each well will be taken from the properties of the
gas source associated with the well in GAP.
The gas lift source data in GAP takes precedence over the current value gas lift gas
properties in the PROSPER file.
The original PROSPER files are changed by GAP, when generating VLP data and the
gas lift properties section of PROSPER is updated.
The list of formation types can be edited from the Options | Formation Library screen shown
below:
Each well in the system can then be assigned either the same or different tax regimes, thus
letting the program know the value of oil coming out of one well as opposed to oil coming from
another. The optimiser will then calculate the maximum amount of revenue that can be achieved
by the system.
The 'Gas Sales Revenue per BTU' switch at the bottom of the screen enables the user to choose
the units in which the gas sales price is described.
In the laboratory, stable emulsions can be prepared from many crude oil / water systems. Field
experience shows that the effect of emulsions is usually less than predicted by laboratory tests.
Emulsion PVT should be used with caution and only when it is certain that emulsions are present
and it is necessary to evaluate their effect on calculated pressures.
Emulsion viscosity will replace the mixture viscosity for selected elements of the production
system. Experimental or empirical emulsion viscosity data can be entered and curve-fitted using
a non-linear regression. The emulsion model is used to optionally replace the oil/water mixture
viscosity in pressure drop and pump calculations. When selected, the oil viscosity will be
factored according to the emulsion model which will be used in the calculation of the mixture
viscosity.
Stage 1
Sharp increase at low water cut (WC), which is determined using the equation below.
Stage 2
Plateau with a constant oil viscosity multiplier for intermediate water cuts, which is determined
using the equation below.
The parameters Left and Right Water Cut for Maximum Viscosity (WC1 and WC2) define the
plateau region.
Stage 3
‘Tail’ that declines from the end of the plateau to the viscosity of water (at 100% water cut). This
is a proprietary model which is a function of the water viscosity, oil viscosity, WC1, WC2, P1, P2,
P3 and P4 parameters. As stage 3 is a function of oil/water viscosity, the shape of the curve is
thus dependent on the fluid PVT as well as the pressure/temperature which the fluid PVT is
evaluated at. Therefore a reference fluid PVT as well as reference pressure/temperature are
required to create the emulsion plot.
The reference oil and water viscosity used to determine the oil viscosity multiplier in stage 3 of
the emulsion plot (which is used to obtain the matching parameters) are calculated at the
specified Experiment match pressure and temperature. The PVT used to determine the
reference oil/water viscosity is based on an oil description from the 'Injection fluids' library, using
the black oil correlations selected in the ‘systems settings’.
o No impurities
If there is more than one oil fluid type in the 'Injection fluids' list, then the user will be given
If a composition is present it will use the black oil properties of that fluid
When the regression has stopped, click 'Plot' to display the matched mixture viscosity.
The above regression will only match the first part of the curve (highlighted in blue) using
parameters 2 and 3 to fit the data. For the viscosity correction applying to water cuts above the
right plateau limit (highlighted in red), an exponential decline is implemented that needs to be
matched manually using parameter 4
The database comes with 10 pre-defined items and more can be added by the user. When
adding a new item to the library; a label, thermal conductivity, heat capacity and emissivity will
need to be specified.
Colours...:
The colours button will open a new window which contains a list of all items in the library. A colour
to the material can be specified for display in the completion description tool. A specific colour
for the material can be defined by RGB colour code or using the slide bar - as shown below.
Injection Fluids
Emulsion Model
Tax Regimes
PVT correlations for pipeline calculations
Volume Correction Factors
Pipe Lines
Choke Parameters
These can be also changed in each element in the model, allowing the user to use
different selections (for example, PVT correlations) in different areas of the system to
reflect the actual situation in the field.
Injection This is the default choice for the water injection and gas injection. The Edit
Fluids Injection Fluid 104 List allows the user to modify the list of fluids used in the
model.
Emulsion This is the default choice for the emulsion model. The Edit Emulsions 110 option
Model allows the user to modify the list of emulsion models used in the model.
Tax Regimes This is the default choice for the Tax Regimes. The Edit Tax Regimes 108 option
allows the user to modify the list of tax regimes that can be used in the various
wells in the system.
Wall Materials This is the default choice for wall material when calculating heat transfer
coefficients. The Edit Wall Materials 115 option allows the user add additional
items to the list.
Default PVT This is the default choice for the Oil Pb, Rs, Bo correlation, the oil viscosity and
Correlation the gas viscosity correlations.
Note that the Beggs et al oil viscosity correlation has been modified at low
temperatures to account for the fact that the original correlation tended to over
predict viscosity at low temperatures.
Volume When GAP is reporting production rates it calculates Bo and Bg using its own
Correction PVT calculator and a ‘virtual process’ occurring at the separator. When
Factors interfacing GAP with a process simulator one may wish to apply a correction to
the Bo and Bg calculated by GAP to match that calculated by the simulator,
which may be using an equation of state rather than a black oil model.
In the fields provided in this screen, one can enter the correction factors to Bo
and Bg. Note that these are corrections to the volume ratios, and not the volume
themselves. GAP will perform the calculations based on the new values of Bo
and Bg.
'Use PROSPER Matching' will disable the volume correction to Bo and Bg and
use PVT match parameters imported from PROSPER. Further information can
be found here 208 .
Use It the PVT has been matched in the underlying PROSPER well models
PROSPER selecting the option means the underlying correlation matching parameters will
Matching be passed to GAP when generating the IPR. TO also use the matched PVT
correlations for flow line calculations, then it is important to also set the
corresponding Pb, Rs, GOR and viscosity correlations as per the underlying
PROSPER file at the pipeline element level.
The matched PVT correlations will be used at the pipeline level until a different
matched PVT is encountered, where at the corresponding node where fluids will
mix, the underlying global PVT correlations well be used for downstream PVT
calculations since it is not possible to mix invividually matched black oil PVT
correlations.
Modifying these values in the settings screen controls the maximum number
of values that the user can enter in the Generate | Generate well VLPs using
PROSPER data screen.
Pipe Line This field represents the defaults used when creating a new pipe
Default pipe This is the default roughness that will appear as soon as a
roughness pipeline element is created. As mentioned above, if
required, each pipeline segment can have its own
roughness value to represent the actual field configuration
Gas/Liquid This cut-off parameter specifies the GOR at which the fluid
pipe GOR definition will switch from a liquid to a gas. This triggers the
Cutoff condensate to be treated as an equivalent gas in the
pipelines as opposed to a liquid. It is recommended to
keep this value at default. One can also select the
correlation for viscosity based on the one that matches the
fluid in the system
Water vapour This parameter specifies the value of the GOR above which
GOR Cutoff the water vapour calculations are performed.
Below the cutoff water is considered to be in liquid phase,
whilst above the cutoff presence of vaporised water is
accounted for.
This option is enabled when the water vapour calculations
are enabled in the main program Options 100
Slug Method System default slug characteristic method of calculations for
flow assurance results. Further details on these method can
be found in the PROSPER User Guide.
Brill
Petroleum Experts 6
RCS Mechanistic
Choke This is the default model for performing any choke calculations.
Parameters
Use Historical IPR - This uses historical data points to define the IPR time step. This is the
default method.
Use Predictive IPR - This uses future data points to define the IPR time step.
The Title and Comments can be moved all over the network window by simply
dragging them while holding down the "Shift" key.
The invalid items section displays equipment which contain errors and need to be reviewed.
Selecting an invalid item and clicking the 'Edit' button will take the user directly to the summary
screen of the item in question.
Disable When selecting this option, the 'Automatic Masking' is disabled. This means
Automatic that if a well is disabled/masked, the pipe downstream the well will not be
Masking greyed out, but will appear on the screen in full colour.
Disable System Before accessing any calculation area, the program validates if there are
Validation missing/invalid items in the network and will activate a flag highlighting the
invalid item. This option disables that validation flag.
Disable Label The program sets a flag on any item that has an invalid label (for example, two
Validation wells with the same name). This option disables that validation flag.
Disable This option (when enabled) allows identifying any inconsistency between the
PROSPER/GAP GAP well model type [Oil producer (ESP lifted) for instance] and the well
Well Type definition of the PROSPER file associated. In the case of an inconsistency, the
Validation well becomes "invalid".
These options allow the user to view connection lines, masked items, equipment labels, the
grid, etc.
One important point the users are urged to consider is to leave the system validation
options switched on at all times as these will highlight areas at which the model can be
improved or corrected.
Grey out masked items (masked items in the network are coloured grey)
Invalid items (usually highlighted by a thick red circle)
Bottle necked pipes (highlighted by a purple colour)
TVD differences (see below 126 )
Solver pressure and mass imbalances (see below 129 )
Limiting and violated constraints (see below 130 ).
2.4.4.2.1 Highlight TVD Differences
This option is used to highlight any inconsistence in the pipelines' TVD description. An orange
circle is displayed around the node where a TVD inconsistency arises.
For instance, considering the system below, one can see a TVD inconsistency highlighted on the
node "Manifold_A":
Upon inspection of the pipeline description the TVD of the most downstream point of the
pipeline situated upstream of the node "Manifold_A" is 625ft. Where as the TVD of the most
upstream point of the pipeline situated downstream of the node "Manifold_A" is 600ft.
The location of this node within both pipeline descriptions should be the same and those
discrepancies will lead to erroneous pressure drop calculations across the pipelines.
Imbalances are typically related to the quality of the input in each element that makes up the
system (i.e. VLP's, pipeline descriptions etc.) and these would need to be reviewed whenever
imbalances occur.
Violated
constraint
This flag indicates that at the end of the Solve Network calculation the constraints
could not be honoured. When that happens, it is recommended to review both the
model and the constraints themselves. In this case there is an inconsistency in the
system that causes the constraints to not be achievable (an infeasible or
impossible problem is created).
Limiting
constraints
This flag indicates that the piece of equipment (in the case above, a separator) is
limiting the production. In other words, the element could produce more, but
constraints imposed on the equipment limit the production.
These flags can be displayed on any type of equipment where constraints have been set up.
Icon Label This is the information that appears in the main screen along with each element.
The default setting is each icon's "label only". Select "Liquid Rate" for instance to
display the liquid rate results of the last network solver, along with each icon.
Icon This is the information that is displayed in the small "fly-over" window that is
Custom Tooltip
The Custom Tooltip option allows the user to configure the solver results displayed for each type
of equipment.
The Custom Tooltip can be defined by selecting the Custom Tooltip from the Icon Tooltip menu
and clicking Edit Custom Tooltip.
The tooltip can then be edited by selecting the equipment (LHS) and assigning to solver
variables (RHS). The example shown below shows that the separator tooltip will display the oil
rate, gas rate and water rate.
Click on the desired label position and then | OK to change the label position.
2.4.4.3.3 Colours
From the View | Colours menu item the user may change the colours of the system drawing and
the GAP windows.
To change the customised colour use the Red/Green/Blue scrollbars on the right hand side of the
dialogue. Each colour can be varied from a value of 0 (off) to 255 (full on). The "Sample" field of
the dialogue provides the colour that is obtained by mixing the primary colours in the ratio given.
There is also a choice of colour schemes, gained by toggling the radio boxes at the top of the
dialogue.
Colour allows full selection of any of the (255 x 255 x 255) colours
Grey scale forces the Red/Green/Blue values to be equal, so that only 255 shades of grey
are available
Monochrome forces the Red/Green/Blue values to be either on or off, giving a choice of two
colours (black or white)
Select the plot component from the list on the left-hand side of the form that is to be changed.
Select an appropriate colour using the colour-mixing palette on the right. Once the colour has
been chosen, save the current set of colours for future GAP sessions by clicking ‘Save as user
default’.
The dialogue consists of a slider with a data entry field, which contains the current icon size (this
defaults to 60 out of an arbitrary 0 – 100 range for a new file). Change the icon size by adjusting
the slider or entering a new size in the entry field. Check the "Automatic Update" box to update
the system window as the slider is moved.
2.4.4.3.5 Fonts
The fonts used in the network drawing can be modified. Select View | Fonts from the main
menu, or right-click on the main canvas and search for the same option. This will bring up a font
selection dialogue. Select the font size and style required and then | OK. The new font will be
applied to all system drawings.
Individual fonts for the Items' labels, the Network Title and the Comments can all be entered.
2.4.4.3.6 Grid
A background grid can be implemented in the GAP model by selecting View | Draw Grid from
the main menu. The settings of this grid can be modified using the "Grid" option which is also
accessed from the View menu.
The dialogue consists of two sliders with corresponding data entry fields, which regulate the
horizontal and vertical spacing of the grid lines. Change these spacings by adjusting the sliders
or entering a new size in the entry field. The line type and colour used for drawing the grid can
also be modified. Check the "Automatic Update" box to update the system window with the new
grid dimensions as the slider is moved.
Normalize Resets the system of coordinates used by the program. This is particularly useful
Equipment when merging different models created according to different zoom scales.
Icons When merging the models, this option will reset both models to work with the
Position same scale so that the systems can be laid out correctly.
Snap to Grid When the Grid is active (Draw Grid options enabled), this option places each
element in the closest grid corner. This feature is useful to create tidy (squared)
network drawings
Note that the 'Undo' options are available only for actions done on the
network drawing and not on the input data entered in the equipment data
entry screens or in the various input menus
Select All This option selects all the equipment in the network model
Items
Select All... This option allows the user to select items on the basis of their type or status. To
select the "type" or "status" of the item choose from the sub-menu:
Dialogue This option opens up a selection window where one can select the items one by
Select one:
Unselect This option unselects all the selected items. The option is active only when there
All Items are selected items in the system
What is shown in the right hand menu can be filtered by equipment type by selecting them in the
left hand menu.
Disable/Enable This option Disables/Enables an element in the system. The disabling action
is irreversible, that is to say, even if during the prediction a scheduled event
sets to open the element it will still remain closed.
Mask/Unmask This option Mask/Unmasks an element. The masking action is reversible, that
is to say, if during the prediction a scheduled event sets to open the element it
can be opened and introduced back into the system.
Bypass /Un- This bypass/unbypass option is applied to inline elements only (pipelines,
bypass chokes, valves, inline separators, etc.). For example, if a pipeline is bypassed
the solver will no longer consider the pressure drop across the element. When
an element is bypassed it is greyed-out.
Remove The objective is to eliminate inline elements from the system without having to
re-draw all of the connections again. This option allows the user to delete an
inline element and to re-establish the connection between the upstream and
downstream nodes of that element.
Initially an inline element is present in the system (in this case an inline choke).
After selecting the element with the selection tool and applying the Edit |
Selected Items |Remove option the following changes are made.
The inline element has been removed and a connection between the well and
the pipeline joint is created.
Show Gradient This option allows the user to plot the pressure gradient along all the selected
pipelines.
Show gradient This option allows the user to plot the pressure gradient along both the
between two upstream and downstream pipelines.
selected nodes
Copy/Cut/ Options to duplicate, cut and delete selected items.
Delete
Extract to GAP This option allows to create a copy of the network or part of it, which can then
Partial File imported in another GAP project (see below 165 for further details).
(.gpp)
Snap to Grid This option snaps the selected elements to grid (see above 137 ).
Change Icon This option changes the elements' icon label position.
Label Position
Set dP Control This option sets the wellhead choke to None (choke switched off so
the well is fully open), Fixed pressure drop or Calculated (choke set by
the optimiser to maximise production and honour constraints).
Set Casing Pressure This option sets the casing pressure control to a fixed value or to be
Control controlled by the optimiser.
Set Use Casing This option is to switch on/off the casing pressure option for gas lift
Pressure wells.
Set Well model This option changes the well type for the selected wells (VLP/IPR
Intersection, PC Interpolation, Outflow Only - VLP and Outflow only -
PROSPER on line). Refer to the Well description 261 for further details.
Set IPR Rate model This option specifies if the IPR is defined in terms of volumetric flow
rates of mass flow rates.
Set IPR Use Original When running calculations in compositional mode the original
Composition composition entered in the model may be changed based on the input
from the reservoir model (for example when the produced GOR
changes as the reservoir pressure decreases below the bubble point).
The new composition is called the "Working" composition. This option
will reset the IPR composition to be the original composition.
When CompositionThis option is enabled when one of the compositional models is being
Toggle Pipe It switches the direction of the pipe, in case the pipe was incorrectly
Description defined.
Pipe Model This changes the model used to calculate the pipeline dP (GAP
Internal Correlations, Lift Curves, PROSPER Online)
Lumping Calculation In Lumping/Delumping mode this option allows the user to run the dP
Model calculation using either the lumped or the full composition.
Convert to PROSPER This option converts the pipeline (initially modelled as GAP Internal
Online Correlations) to PROSPER Online.
Toggle transient Flag This option will toggle on/off the transient check box for the selected
for selected pipeline element
Equipment
Set Pipe Calculate This option will toggle on/off the 'Calculate Heat Transfer Coefficient'
Heat Transfer option for the selected pipeline element
The 'Selected Tanks' option will allow the user to import decline curve tanks from the production
obtained in the initial run by the pre-existing tank model, or from the production obtained by the
inflow elements linked to the tank itself.
and choosing the 'Show members' as selected option, the elements that are part of the group
become selected.
The top list in the dialogue gives the different equipment types available in GAP. When the
dialogue is invoked, all equipment types are selected. The lower list displays all the system
equipment of the selected types, sorted on the basis of equipment type and alphabetically. To
locate a piece of equipment on the system window, double-click on an entry in the lower list (or
select a piece of equipment and then press Locate). A pink rectangle will appear around the
icon representing the node in all the system views. The rectangle will disappear when leaving the
screen.
In the above screenshot, the separator element called “Separator” will be located on the network
by selecting "Locate" as shown. The requested item will then be highlighted on the main window
and on the navigator window if selected.
Note that whenever a selection is made in the "equipment type" list, the list of equipment in the
Action Buttons
The “Edit” buttons will lead directly to the control page of the individual well models.
The “Display” and “Control Type” buttons enable the user to filter the wells in the display on the
basis of how they are controlled or whether or not they are to be optimised.
A specific layout setup can be kept in memory using the “Save Layout as” button.
the 'Transfer' Button can be used to move the value of current equipment control in one column to
another column, for example the 'Measured' well head choke dP can be transferred to the
'Actual' when validating the system network with a solve network (no optimisation).
This option is useful when, having copied a GAP file from one machine to another, the
associated file paths are no longer valid. Selecting “All” and “Alter Paths” can allow the user to
define the new directory where the associated PROSPER, MBAL etc. files now reside.
A typical GAP project is displayed in the example above. The production system file is displayed
at the top with any associated well or tank files. Injection system files are listed in a similar
fashion below this. If a prediction history file is present this will be displayed at the bottom.
The list icons are colour coded by type. For example, well files are represented by a green icon
and tank files by a yellow icon. In addition, a tick or a cross indicates whether the file is a valid
file of the required type.
From this screen the user may view or alter the properties of the associated files, or change the
paths of a group of files.
Action Buttons
Alter Paths This is used to change the paths for a group of files. The files to be altered can
be selected with the mouse or the Select button as described below. When this
button is invoked, a directory browser appears. Navigate to the new directory and
press OK. The file list will be updated accordingly
View This is only active when a single selection is made in the file list. When invoked
Details the 'File Properties' screen appears, allowing the file properties to be viewed or
the file path to be modified. The same action is obtained by double-clicking the
left hand mouse button on a file list entry.
OK Clears the dialogue, saving any changes.
Cancel Clears the dialogue, ignoring any changes.
Apply This saves any changes without clearing the dialogue. This is useful if an injection
file name has changed as this will load the new file and display its contents in the
list.
Help Invokes this screen
Select Multiple selections from the file list can be made in the usual ways with the
mouse. Alternatively, all items of a particular type can be selected using this
button. Choose from the drop-down list which category is to be selected. The
following choices are possible:
All well files
All tank files
All item model files (tanks and wells)
Injection system files (associated gas/water injection systems)
Prediction history file
When Select is pressed the files of the given type will be highlighted.
On the screen there are two lists shown. On the left is a listing of the components (tanks and
wells) in the MBAL model and on the right are the wells of the GAP model. Valid layers are
displayed in the GAP well list and transfers to invalid layers can be accomplished by transferring
the required data to the well icon itself and then specifying the layer number in the resulting query
screen.
To transfer data, click on an item in the MBAL list and a destination in the GAP list. Click on
either the "IPR" or "Rel Perms" button in the middle of the form to transfer data of the required
type. The actual data transferred will depend on the type of the item selected in the MBAL list (for
example, tank IPR data will include the tank starting pressure and PVT data, whereas well IPR
data includes the PI). It is not possible to transfer VLP data from an MBAL tank.
Action Buttons
IPR This transfers IPR data from the MBAL item to the GAP target. The data
transferred is as follows:
From a tank:
Starting pressure
Starting temperature
Impurity data (% H2S, water salinity)
Gas gravity
Oil/condensate gravity
GOR/CGR
From a well:
PI (Darcy coefficients, C and n)
Layer type
PI Relative permeability correction (oil layers only)
Perforation depths
Breakthrough constraints
Match data
Test water cut / layer pressure
VLP Transfers lift curve data to the well in question. This is only possible if the data
has been imported into the MBAL well model
Rel Perm Transfers either the tank or the well relative permeability depending on the
source type. If the MBAL well model is set to "Use Tank Rel Perm", then this will
return the tank relative permeability anyway
New Model This will load in an additional MBAL model file (extension .mbi) and display the
File contents in the list. Choose the required file from the file selection box
displayed. Data can then be transferred from the new elements as above.
Note that new files are not stored when the screen is cleared and must be reloaded when going
into the screen on subsequent occasions.
It is important to note that when using this feature, an MBAL simulation will be run up to the
initialisation date. The fluid saturations in the reservoir at this point in time will be used, along
with the set of relative permeabilities defined in the MBAL model, in order to obtain the WC/
GOR or WGR/CGR corresponding to that particular date.
As with the previous option, more details are provided in the History Matching chapter 777 which
deals specifically with history matching.
This screen allows the engineer to initialise a well IPR from a tank model (decline curve or
material balance). When one invokes the Edit | Initialise IPRs from Tanks menu item a list of
wells appears. Select the wells that are to be initialised and press | OK.
The list of tanks that are connected to the selected wells appear in a list in the Tank Name
column.
In order to evaluate the tank pressure and PVT, the tank models must have a history in the case
of material balance models and in the case of decline curve models there must be production
data. These are the options available:
MBAL Start For MBAL models only - the start date of the tank history
Date
MBAL End For MBAL models only - the end date of the tank history
Date
Start For Decline Curve models - the cumulative production at which the pressure
Action Buttons
Calculate Evaluates the tank pressure and PVT at the specified date/cumulative
production, and displays this in the Pressure column
Continue Calculates the PVT and pressure data at the required conditions, and places
this in the IPR data of those wells that were selected initially
Cancel Clears the screen, ignoring any changes
Select which wells in the system are going to be associated with a particular EOS (or fluid
composition).
1. Import the Lumping Rules which may be desirable if the Lumping/delumping PVT option is
being used.
2. Import EOS Options which will include the Volume shift options, the fluid path to standard
conditions etc.
Selecting "Continue" will activate a new window so that the .PRP file (which contains all of the
compositions and EOS properties) can be imported into the wells' IPR input section. This option
is used in Example 9a .1156
Select which wells in the system are going to be associated with a particular lumping rule.
The required lumping rule can be selected from the drop down menu and modified with the 'Edit'
button. Further information on compositional lumping can be found here 190 .
2.4.5.7.5 Transfer Options for Gas Lift Injection
When a gas lift injection network model is associated to the production network model three
options are available:
Transfer Well Gas Lift gas rates When a 'Solve Network' calculation (for example, an
to Injection System Sinks optimisation) is performed in the production system, the gas
lift rates used by each well can be passed to the gas lift
injection system, which can then be used to calculate the
pressure required to flow the gas
Transfer Injection System Sink When a 'Solve Network' calculation (for example, an
pressures to Gaslifted Wells optimisation) is performed in the gas lift injection system, the
casing pressure pressure calculated for each well (casing head pressure) can
be passed to the production system, which can then be used
to calculate the production that can be obtained applying
those casing pressures
Transfer Production System
Separator pressures to Gaslift This option transfers the production separator pressures to
The applications of this feature are extensive however an example would be masking multiple
elements at the same time or reading the result of a particular element.
To use the feature enter the OpenServer string, select the "Mode" and then "Evaluate" to
execute the command.
In the Returned value/message the program will provide the numerical value or highlight if the
command has been successfully executed.
Using the wildcard $ in the place of the equipment label or index will give access
to all the items of the same type instantaneously. For example:
DoCmd("GAP.MOD[{PROD}].WELL[$].MASK()")
will mask all the wells in the system.
This feature could be used to change the flow correlation used by all the
pipelines or any other parameter shared amongst a particular item.
This section explains how to save GAP Partial (.gpp) files for sub-systems and recall them later
to assemble a complete system model.
The model will then be selected (cyan circles will indicate the selected items).
Note that the section of the model to be exported can also be selected manually using the cyan
arrow selection tool from the button toolbar. This allows sections of the system to be selected
instead of the whole model.
It is now possible to save the selected section of network as a GAP Partial file by selecting the
menu Edit | Selected Items | Extract to GAP partial file (.gpp):
GAP saves a .gpp file that contains all the data for the selected system elements.
This will allow import the (.gpp) file into the system which can be connected as appropriate.
In this manner, the entire system can be built up from sub-systems that have been independently
prepared and matched. This is illustrated in detail in Example 10 .
1216
General constraints (as opposed to abandonment constraints) are displayed with two red arrows
pointing towards the element that is constrained.
Abandonment constraints are displayed with two blue arrows pointing towards the element that
is constrained.
GAP constraints are used to direct the Optimiser algorithm and should not be confused with well
limits used in prediction runs to shut in high GOR wells (for example).
To set the total system or global constraints such as maximum water, gas or liquid select
Constraints | System Constraints from the main menu. The following screen appears:
These parameters are used to define the maximum and minimum production levels for the
system, where appropriate. When left blank, the program will assume no constraint for a
particular variable.
The Unscheduled Production Deferment constraint takes into account the effects on the
production due to any non-scheduled events. The influence of these events will be taken into
account statistically as an overall percentage of production.
Therefore, if an unscheduled production deferment value of 5% is specified in the system
constraints section, the entire field will only produce 95% of the total production calculated by the
solver. This deferment is applied to all average and cumulative rates, but not to the
instantaneous rates.
It is important to notice that this constraint, if used, will overwrite any downtime applied
at well level.
Field Tabs
Value Enter in this screen the value of the constraint to be set in any element of
the model
Binding Selects which constraints are binding or not. The optimiser will always try
(Yes/No) to honour all of the constraints set in the model. When constraints are set
to binding Yes the optimiser will iterate until the constraints are honoured
(provided it is feasible) whilst in the case of NO binding, if the constraints
cannot be achieved (because physically infeasible) it will be neglected
and there will be no additional iterations.
Potential Enables the user to include constraints in the potential calculation. Those
(Yes/No) constraints set to NO will not be considered in the Potential calculation
Action Buttons
OK Use this button to leave the system constraints entry screen and save all
changes that have been made.
Cancel Use this button to leave the system constraints entry screen and ignore
any changes that have been made.
Report Use this button to produce a report of the data. Reports can be written to a
file, the Windows clipboard, the screen, or a hardcopy device. See the
Reports menu item 773 for more information.
Help Use this button to access this screen.
This option provides a single table from which all of the constraints in the system, as well as the
system constraints, can be viewed and edited. An example of the dialogue produced is as
shown below.
The “Type” and “Sub Type” selection menus enable the user to filter the constraint tables. There
are three tab screens (highlighted in the figure) that allow the user to enter the magnitude of the
constraints, whether the constraints are binding or not and whether they should be included in the
potential calculations.
When setting a constraint as 'Binding' or 'Not Binding', the program will in both
cases try to honour the constraint, with the difference being that in the case of the
binding constraint the program will iterate until the constraint is honoured (if it is
feasible), whilst in the case of not binding constraint, if this cannot be respected, it
will be neglected and there will be no additional iterations.
Field Tabs
Value Enter in this screen the magnitude of the constraint to be set in any
element of the model.
Binding Selects which constraints are binding or not. The optimiser will always try
(Yes/No) to honour all the constraints set in the model, however when constraints
are set to binding Yes the optimiser will iterate until the constraints is
honoured (provided it is feasible) whilst in the case on NO binding if the
constraint can not be achieved (because physically infeasible) it will be
neglected
Potential Enables to include the constraints in the potential calculation. Those
(Yes/No) constraints set to NO will not be considered in the Potential calculation
Action Buttons:
Items in the main network that have abandonment constraints have two blue arrows above
the icon pointing towards the element.
Black oil Black oil model is used for all of the calculations.
Tracking This method is based on a combination of the black oil model and fully
compositional model (equation of state or EOS).
Black oil model is used for the main pressure drop calculations
The EOS is then used as a post calculation to determine the composition in
any part of the system by performing compositional blends and flashes
based on the rates determined from the black oil calculations.
to match the GOR of the fluid produced. This functionality is also available with
the following PVT methods.
Fully This method allows the user to run all the calculations using an equation of
Compositional state, which gives the compositions as well as the fluid PVT properties at any
point in the network.
Black Oil To speed-up calculations, the 'Black Oil Lumping/Delumping' method tracks
Compositional the composition of the fluids throughout the network at each iteration of the
Lumping/ solver but performs pipeline, compressor, pump and choke calculations using
Delumping the black oil correlations which use the BO properties calculated from the
tracked composition. This option makes sure that the black oil model is at any
point in time consistent with the EOS.
This option can also be used with the Lumping/Delumping technique which
empowers the user with the possibility to run calculations using an extended
composition, or using an equivalent composition with fewer components
(lumped).
'Black Oil Lumping/Delumping' may use the full or the lumped compositions
like the "Fully Compositional" option.
In the case where Tracking, Fully Compositional or Black Oil Compositional Lumping/Delumping
is selected then an Equation of State will be required in order to either track the compositions in
the system or get the PVT directly from the EOS.
This section describes in more detail the various options available in GAP for both black oil and
compositional modelling.
2.5.1 Black Oil
If the PVT model model is set to “Black Oil” the PVT properties used in the pressure drop
calculations will be determined with a Black Oil model.
The term “Black Oil” refers to a PVT model that considers the fluid to be (when below
saturation conditions) split between a Liquid and a Gas (2 Phases) in equilibrium. The
implicit assumption being that the liquid and the gas are characterised by a fixed
composition, irrespective of the pressure and temperature conditions.
Correlations are used to calculate the Bo, Bubble Point, Gas Oil Ratio and viscosity
from measurements at surface (API gravity, gas gravity etc). This definition can be
extended to gases and condensates where correlations can be used to obtain the CGR,
dew point and other properties. Hence the existence of “Black Oil” PVT models for
condensates.
In the MBAL and PROSPER manuals, the black oil models have been described in more detail.
This description includes:
The origin of the black oil properties used by GAP to perform the network calculations depends
on the way the model is run.
When running the model in "Solve Network" mode, the black oil properties used by GAP are the
ones in the well IPR input section that are imported from PROSPER with an IPR generation 603 .
When running the model in "Prediction" mode, the PVT black oil properties of the fluid produced
from each well will be obtained at every time step from the reservoir model (MBAL or an external
simulator). The PVT information transferred from PROSPER and present in the IPR screen of the
well models in GAP will be overwritten, along with the reservoir pressure.
GAP will then feed this PVT information into its internal PVT model (defined in the Default
Settings 116 ), which will calculate all the properties necessary for determining the pressure drops
throughout the system.
When two or more fluids are present in the system, G A P will blend the fluids at every
manifold where they meet in order to determine the properties of the new fluid that forms
as a result of the mixing. The black oil properties (gravities, GORs and CGRs) of the
resulting fluid will be calculated on the basis of the mass flow rates of each stream
(mass of blending fluids = mass of resulting stream) and properties of the original fluids.
Delumping
Details about each PVT model option are reported in the next few sections (click on the above
links to access them).
Once any of the compositional options have been selected from the System options menu the
EOS Model Setup will be displayed.
This gives access to the configuration section, where the EOS options are selected.
These options should reflect the EOS available for the fluid (from PVTP for
example) and the process (path) the fluid follows to standard conditions
(which will affect the volumes and quality of the resulting fluid).
General
In this field it is possible to decide which EOS model to select, as well as the calculation
engines.
EOS Model The choice is between the two industry-standard cubic EOS
models, Peng-Robinson and Soave-Redlich-Kwong.
Optimisation Mode This defines how the calculations are run. Our PVT experts have
been working on ways to speed up the calculation of properties
from an EOS model. Speed is one of the main issues with fully
compositional models and the options in this field will define the
speed of calculations. The objective of this option is to speed up
the calculations without penalising the accuracy the results. The
Medium mode is the fastest (up to 80 times) and also default and
this should be selected unless any problems are detected in the
calculations
Optimise Repeat When repetitive calculations are performed, this option can be
Calculations selected to reduce the number of compositional calculations
performed (increase of speed by up to 40 times). This option is
particularly useful when running the Black Oil Compositional
Lumping/Delumping option as the determination of the equivalent
black oil model is only done when the composition changes. If the
composition does not change then the black oil properties
remain the same, hence it is not required to use the EOS to re-
calculate the black oil properties
Volume Shift
In this field it is possible to decide if to apply the Volume Shift correction or not to the EOS. Note
that if Lumping/Delumping is enabled, it is possible to enable/disable the Volume Shift in both
the full and the lumped compositions.
If no Lumping is enabled, the only Full composition volume shift option is available.
With the use of a polynomial that corrects the CO2 volume shift parameter ('correct CO2 Density'
enabled), the CO2 properties can be modeled such that they are consistent with the NIST
standard data up to 20 000 psi.
Lumping
This option enables the lumping/delumping method and allows the user to specify which
composition should be used throughout the system (i.e. the lumped or the full composition) along
with the lumping rule that associates the two compositions.
For example, if the Unit System is Oilfield, the gas rates are expressed in Scf or MMscf (where
"S" indicates standard volumes) which are by definition at 60 deg F and 0 psig.
Flash Mode The "Two Phase" flash method treats the water as a completely
separate phase from the hydrocarbon fluid.
Hydrate Model There are three models available for predicting the onset of
hydrate formation. These are:
1. Munck et al
2. Hydrafact Modified Cubic
3. Hydrafact Modified CPA
Viscosity
This section defines the viscosity model used for the oil and the gas. In previous versions, when
using the EOS model only the Lohrenz, Bray Clark method (with regression on the critical
volumes) was available. The user now has the option to use the Pederson et al method and the
Lohrenz, Bray Clark method with regression on the coefficients which is the technique used by
other thermodynamics packages.
In addition to this, the user has the added functionality of being able to use the black oil viscosity
correlations which have been shown in many cases to be more reliable over a wider range of
temperature and pressure.
Phase Check
This section decides which method to use for the phase detection. This option should not be
modified.
Thermal
Two enthalpy models are available for selection. The Original model uses a simple correlation to
determine each component enthalpy as a function of SG, MW and BPt. Lee and Kesler model
provides a more complex description of fluid enthalpy by correcting specific heat capacities -
this is particularly useful for heavy oils.
In general the path to STD used in the model should be consistent with the path used in the field
to meter the phase rates.
To achieve that, the program determines a gas and a liquid from the original composition and
then it recombines them in order to reproduce the actual producing GOR. This entry option
defines the source of oil and gas used to recombine the fluid.
Use Separator The stream performs a full separator calculation using the
Fluids separator train input at the bottom of the dialogue. The
accumulated gas and dead oil compositions found during
this flash are then mixed in the GOR target calculation.
Use Fluid The stream has its saturation pressure calculated at the
from PSAT reservoir temperature. A flash is then carried out a
pressure just below this pressure value. The gas and oil
compositions found during this flash are then mixed in the
GOR target calculation.
Lump Rules
This section allows to select the Master Rule used throughout the GAP model.
Lumping Rules
This contains a table with the list of lumping Rules currently imported in the GAP model. From the
"Select" button it is possible to Import or Export, view or edit the 'Lumping Rule'.
In the 'Lumping Rules Summary' dialogue section the lumps are described. For example in the
figure above, the first lump "N2C1" is associated with the components N2 and C1.
At the top right of the screen a BIC Multiplier is reported. This is a multiplier to the binary
interaction coefficients (BICs) of the lumped composition, which is a technique used to make
sure that the lumped composition reproduces the same saturation pressure as the full
composition.
The "Setup" button defines the logic behind each lump. For example the Lump "N2C1" was
created by combining the components N2 and C1 by name.
General
This section defines the options for Lumping/Delumping.
"Allow Lumping" and "Mode" are the same options that are reported in the main EOS Setup
section (see above 186 ). The remaining options are described below.
Use Full One of the main reasons why surface and process models need
Composition for Enthalpies to have a large number of components is that thermal
calculations (heat capacities, enthalpies) require a very detailed
composition in order to be accurate.
This option forces the program to use the full composition every
time enthalpies need to be calculated, and should always be
selected.
DeLumping
This section defines the techniques used to Delump a lumped composition.
DeLump Method This option defines the method used to determine a full composition
from a lumped one. Three main options are available.
Use DeLump This option uses the 'Lumping Rule' to delump the
Rule and lumped composition, along with the 'Target GOR'
Target GOR method to make sure the delumped composition
reproduces the lumped composition's GOR. This
option is the default and is also recommended.
Use Target This option makes sure that the full composition
GOR Only matches the GOR of the lumped composition only.
Use DeLump Only the Lumping Rule is applied.
Rule Only
Hold C1 Group in This option makes sure that the C1 amount is preserved when
DeLumping passing from the de-lumped to the lumped composition. This is
useful to quality check.
Lumping
This section allows to define the techniques used to Lump a full composition.
Lump Method This option defines the method to determine the lumped
composition from the full. The options are the same as in the
DeLump Method options
Salt Mode
This option dictates how the salinity is handled.
Use Salinity Only This option uses the salinity entered in the "Water Salinity" field
which is the parameter required for calculating the water
properties from the internal correlations.
Use Water Composition This option will calculate the salinity based on the brine
composition which can be entered in the "Salts" section.
The brine composition and the salinity are directly related, and there are options to calculate one
based on the other.
Hydrate Model
This option is the same as the hydrate option reported in the main EOS Setup section (see
above 187 ).
Inhibitors
This option allows the user to specify the concentration of different inhibitors in the water
Salts
This option allows the user to specify the concentration of different salts in the water
2.5.2.2 Setting up a Compositional model
The process of building a GAP model when any of the compositional options is enabled
(Tracking, Fully Compositional or Black Oil Compositional Lumping/Delumping) is always the
same.
The following steps illustrate how a model is set-up with any of the compositional options:
1. Enable the desired PVT Model from the Options | Method entry screen.
To enter the compositions on a well-by-well basis, go to the well data input screen and
navigate to the "Ipr Layer" tab. In this screen total fluid compositions can be entered for
the entire well production (single-layer case) or for each valid layer of a multi-layer case.
Select the layer for which one wishes to enter a composition (if applicable) and press
the 'Composition' button. Compositional information can be entered into the resulting
screen by hand, imported from a .PRP file or pasted from a spreadsheet application
(e.g. Excel).
In this screen one may also perform phase envelope, hydrate, water composition and
Target GOR/H2O calculations.
If 'Lumping/Delumping' has been selected in the EOS Model Setup options then it is
possible to import a .PRP containing both the lumped and the full compositions (see
figure below). The 'Options' dictate which of the two compositions are used in the
network calculations.
When the composition has been entered, press | OK. The colour of the 'Composition'
button on the well composition entry screen is an indication of whether the composition
entered is valid. This procedure must be carried out for every well in the system.
3. For gas lifted wells, one must ensure that the gas lift source has an associated
composition. This is entered in the 'Well Gas lift Input' screen.
4. (Prediction only). If there is gas voidage replacement / injection, then the composition of
this needs to be specified. If there is no associated gas injection system, then the
composition of the injected gas can be entered from the 'Prediction Forecast Set-up'
screen or from the 'Tank Injection Entry' screen.
5. If there is an associated gas injection system then the composition of the injection
source has to be specified at every injection manifold in the injection system.
During the prediction run the wells will receive the fluid compositions from the tanks, provided
these have been set up in the MBAL model. If one reloads a snapshot 918 following a prediction
run then compositions received from the tanks can be viewed from the wells.
2.5.2.3 Tracking
If "Tracking" is selected as the PVT model option, GAP uses the black-oil model in its network
calculations (to determine pressure drops and rates) and an EOS composition is carried along
and used to determine (or track) fluid compositions from the well bore through the surface
network system in a post calculation.
The compositional tracking feature takes advantage of the speed of the Black Oil
calculations and can still determine the resulting composition of the fluid at every node
in the system. Provided that the pressure drops are not affected significantly by the fact
that the EOS is not used directly for the PVT properties, then this method can yield very
good results without compromising on speed.
Compositions are tracked during the Solve Network or during one prediction time step as
follows:
GAP calculates fluid rates and specific gravities referred to surface conditions
throughout the system using the black oil correlations.
From these mass flow rates, and hence mole rates, can be evaluated.
Compositions at manifolds can then be found by a simple combination of molar
quantities of the input stream compositions.
By working from the bottom (well) level up, the composition of the fluid at the separator
can be determined.
If the fluid GOR changes with time (for example during a prediction) then the program
will recombine the initial composition entered in the well IPR section (using the Target
GOR function) in order to match the new fluid GOR coming from the reservoir. The
recombination technique is called Target GOR.
Gas injection at wells or in injection systems is handled in the same way. Knockout of gas at
joints is achieved by flashing the fluid to the manifold operating pressure and temperature, and
then removing the specified number of moles.
At the beginning of any calculation GAP will inform the user if the tracking calculation was
successful. The tracking will fail if there are any missing compositions or in the unlikely event of
a calculation failing.
When running the model in the tracking mode, it is possible to set the EOS Model Setup
options ( see above 182 ) to use the Lumping/Delumping methodology. This allows the
user to track either the full or the lumped composition.
When two different fluid streams blend, GAP will perform a mass balance (on a molar basis) to
determine the composition of the resulting fluid stream. Gap will mix the properties of
components that have the same name or similar molecular weight. Components with different
names and molecular weights (such as pseudos) will not be blended and will be carried forward
as separate components. This is illustrated in the sketch below.
Whenever there is a phase separation (before pumps or compressors, inline separators, main
separators, etc.) the flash calculation that is executed provides the compositions of the oil and
gas along with flow rates.
The volumetric flow rates reported by the program at any point in the network are
expressed at Standard Conditions (which are by default 60 degF and 0psig) and should
not be confused with the in-situ rates.
For example, if the reported oil rate is 500 STB/day then this means the fluid as been
flashed from the in situ conditions in the network through a defined path to surface
conditions.
The difference with the 'Tracking' option is that with the tracking, the EOS originally entered in the
well IPR section is recombined from the well up to the separator based on the calculated rates of
the black oil model in a post calculation. The problem that can arise is that the resultant
composition from the recombination can have different properties to the properties calculated by
the black oil model. In the case of 'Black Oil Compositional Lumping/Delumping', whenever a
pressure drop calculation is performed during each iteration of the solver the program
determines a black oil model from the EOS and uses the black oil model for the calculation
which avoids the inconsistency but maintains the speed in its calculations.
This option ensures that the black oil model is always consistent with the EOS and is in general
the recommended option to adopt when accurate results and quick run times are required.
When inspecting the 'Solve Network' results, the fly-over will display the compositional results.
Note that to view the composition results in the fly-over, this has to be enabled in the menu View |
Select Info Displayed.
Alternatively, results can be viewed from any of the Results screens. It is also possible to view
the composition details by going to the results screen of the node in question, scrolling to the far
right end of the table, and clicking on the "View" Composition button.
The "View Composition" screen is common to all the results screens in IPM and provides the
user with a variety of additional functionality along with viewing the composition details. For
example the user can Import or Export the composition in the form of a .PRP file (for further
analysis in PVTP).
The user can calculate the fluid properties for a range of pressure and temperature using the
"Generate" button.
The user can quickly retrieve all the black oil properties of the composition from the "Properties"
button.
The user can perform a 'Target GOR' calculation to determine the composition required to
reproduce a given Produced GOR.
Similarly, the user can perform a Target H2O calculation to determine the water cut based on a
given composition and vice versa. Within this interface, we can also use the 'Calculate Saturated
Gas' option (enabled by setting the watercut to use 'Water/Volume Gas') to determine the
volume of water which will saturate the gas for a given temperature and pressure.
The "Phase Env..." button allows the user to visualise the phase envelope of the fluid and
calculate the hydrate/wax formation. The functionality of this option is well documented in
Example 9a .1176
The water composition option has been explained previously (see above 192 ).
Note that if there are two compositions associated with the fluid (a lumped and a delumped
composition) there is the option to switch between the two can perform the above calculations.
Default
The default correlation uses a variety of correlations and methods to determine the water
properties to be used. This sections briefly outlines these.
There are two different water viscosity calculation methods available within GAP. These are:
When the default brine correlation is used, one of the above options will be used as selected by
the user.
The water formation volume factor is determined from a proprietary curve fit to data from Frick
“Petroleum Production Handbook” (1962). In addition to this, GAP also makes a proprietary
correction for water salinity.
Water density is based on the water formation volume factor and the water specific gravity (i.e.
salinity), using the equation below:
IAWPS
The IAWPS Correlation uses the IAPWS-97 equation of state at its base to determine the water
properties at pressure and temperature. Although the IAPWS-97 equation of state is the basis
for calculations, additional methods have also been employed to account for salinity and gas
solubility. Depending on the options selected in the screen below, different modifications will be
applied.
The Spivey, McCain and North (2004) formulation has also been used to correct the density for
brine with a modification to the water vapour pressure method.
When this brine model is selected, the brine viscosity is modelled using the Kestin, Khalifa and
Correia (1981) method despite what may have been selected in the Fluid Description section.
The Kestin, Khalifa and Correia (1981) method is based on Chen and Millero's (1977) model at
standard pressure. Additional pressure modifications up to 500 MPa have been applied to the
Kestin method, with theoretical deviation is ±1.5%.
Assume Methane Only - this option assumes that all of the dissolved
gas is methane. This uses the Duan and Mao (2006) formulation to
Brine find the gas fugacity and partial molar volumes.
dissolved gas
model Use Gas Gravity for Rsw - this option assumes that the dissolved
gas is a mixture of hydrocarbons and impurities. This uses also the
Duan and Mao (2006) formulation to find the gas fugacity and partial
molar volumes of methane and impurities with the additional
modification of using a proprietary method based on Henry's Law
constants. These constants can be found via the Max Planck Institute
database compilation (which is an open source) and allow for
changing gas composition to be accounted for.
No Pressure Correction
Brine thermal
Brine thermal properties are based on correlations developed by the
properties
Lawrence Livermore Laboratory with heat capacity being calculated
using the Jamieson et al. (1969) method.
References
Spivey, J. P., McCain, W. D., and North, R. (2004), Estimating Density, Formation Volum Factor,
Compressibility, Methane Solutbility, and Viscosity for Oilfield Brines at Temperatures from 0 to
275°C, Pressures to 200 MPa, and Salinities to 5.7 mole/kg, Journal of Canadian Petroleum
Technology, 43 (7), pp 52 - 61
Kestin, J., Khalifa, H. E., and Correia, R. J. (1981), Tables of the Dynamic and Kinematic
Viscosity of Aqueous NaCl Solutions in the Temperature Range 20-150°C and Pressure Range
0.1-35 MPa, Journal of Physical and Chemical Reference Data, 10 (1)
Chen, C. T., and Millero, F. J. (1977), Speed of sound in seawater at high pressures, The
Journal of the Acoustical Society of America, 62, pp 1129 - 1135
Duan, Z., and Mao, S. (2006), A thermodynamic model for calculating methane solubility, density
and gas phase composition of methane bearing aqueous fluids from 273 to 523 K and from 1 to
2000 bar, Geochimica et Cosmochimica Acta, 70, pp 3369 - 3386
Jamieson, D. T., Tudhope, J. S., Morris, R., and Cartwright, G. (1969), Physical properties of
sea water solutions: heat capacity, Desalination, 7 (1), pp 23 - 30
Sun, H., Feistel, R., Koch, M., and Markoe, A. (2008), New equations for density, entropy, heat
capacity, and potential temperature of a saline thermal fluid, Deep-Sea Research, pp 1304 -
1310
In order for GAP to use the PROSPER PVT match coefficients, this needs to be in enabled from
the system default settings (as shown below) – this can be accessed from Options | Edit
System Settings…
The PVT match parameters are imported at the IPR level – this is in Well | Input | IPR | More …
(as shown below). The user is required to check the ‘Use match coefficients’ option and then
press the ‘Import PROSPER PVT’ button.
Please note that correlation field will be coloured red if the PROSPER PVT is not consistent with
the GAP default PVT correlations.
The imported PROSPER PVT correlation and match parameter will be used to perform well
calculations (PI mobility correction etc.).
PVT match parameters will be passed along the network if the downstream pipeline network
contains the same PVT correlations as the imported PROSPER PVT at the well.
PVT match parameters will also be blended at a joint in the network if the PVT correlations are
the same.
If the PVT correlations are not the same at a joint in the network then PVT match parameters will
no longer be used downstream of that joint. The system default PVT correlations will be used to
obtain fluid properties for all equipment (pump, compressors etc.) calculations. When a pipe
connects to a equipment, if the upstream PVT correlation is not consistent with the system
default PVT correlation then PVT match parameters will no longer be used downstream.
Clicking Flow Assurance | Global Temperature Gradient... a global temperature gradient that
covers all the pipelines in the GAP network can be specified in terms of TVD vs. surrounding
temperature, as shown below.
A local temperature can also be specified on an individual pipeline level which can be done by
clicking on the pipeline in question | Input | Environment and ensuring the use local
gradient tick box in selected. The temperature gradient can then be entered by clicking on the
Enter Gradient Data button.
This formation profile data is required to allow GAP to predict the heat transfer coefficient.
Global and local data entry will be possible once 'Heat Transfer Coefficient Calculations' have
been allowed from the system options - as shown below.
This will require the prediction method in system options to be set as 'Pressure and temperature
- Gradient'. The setup of the global formation data can be accessed from the Global
Temperature Gradient window - as shown below. Different formation labels (defined in the
formation library) can be defined vs. TVD to create a surrounding environment for pipelines
which are set to calculate heat transfer coefficient.
A local formation profile can be entered for individual pipeline by checking the 'Use local pipe
environment' check box - as shown below. The local environment data can then be entered by
clicking on the 'Enter Climate Data..' button. This will ignore the global formation data defined.
This calculation determines the maximum size of a grain of sand which can be transported by the
producing fluid.
The model implemented in GAP is based upon a series of equations derived by Thomas
(Reference 3) to calculate the friction velocity at the limit of solid transport in a liquid / solid
system.
Sand will be lifted to the wellhead only if the velocity of the fluid in the wellbore is greater than the
“Critical Transport Velocity”.
This velocity is function of sand particle size, shape and density and the fluid density and
viscosity.
Two different equations are used: one for oil wells and one for gas well:
1. Oil Wells
The equation used in this case is more applicable to laminar flow, conditions that are
likely to be encountered in oil and / or water wells.
Where:
2. Gas Wells
The equation used in this case is applicable to high gas flows and does not include a
factor for viscosity: viscosity has only an insignificant effect on lifting sand.
Where:
- Cd = Drag coefficient for the particle - Essentially a function of particle shape at high
Reynolds numbers. Cd value for sand grain is 0.85.
In both the oil/water and gas cases, PROSPER knows the fluid velocity in the wellbore. Therefore,
it will calculate the maximum particle diameter that can be transported by the well flow.
These calculations are important when an attempt is made to cut back the production rate so
that the well will stop producing sand and will help determine if the formation sand may be
accumulating at the bottom of the well.
References:
1. Fairhurst.CP – “Sand Transport in the South East Forties Pipe Line”, BHRA, 1983
2. Smith.M – “A Model for Predicting Solids Transport in near Horizontal Multi-Phase Oil
and Gas Pipe Lines”, XFE report 8/2/1993
3. Wasp, Kenny & Gandhi – “Solid-Liquid Flow Slurry Pipe Line Transportation”, Gulf
Publishing Company, Clausthal, Germany 1979
2.6.3.2 Erosion
The DNV erosion model will be used to calculate the rate of erosion based on the entered sand
production rate, wall material and deformation when performing a gradient calculation.
When performing pipeline calculations, GAP will evaluate the rate of erosion for the following
geometries:
Straight Pipe
The geometry with the largest rate of erosion is reported in the gradient calculation.
Further details on the DNV erosion model can be found in the flow assurance section of the
PROSPER user manual.
The gradient calculation will also use the sand production rate, C-Factor and S-Factor input to
estimate the erosional velocity value
This erosion can be caused by the repeated impact of solid particles on tubings and pipelines.
To avoid this we attempt to estimate the velocity at which erosion will occur.
Normal practice is to use equation of API 14 E. This can be unreliable especially for clean
production where the limiting value of C (125) can be too restrictive. In practice, values of 1000
for C have been recorded in pipes where no erosion has been detected.
In PROSPER, we calculate and display the C value and it is the responsibility of the User to
work out whether for this C value, erosion will occur or not depending upon the expected
operating conditions. An interesting paper that deals with the subject is:
"Criteria for Sizing Multiphase Flowlines for Erosive/Corrosive Service" by S.J. Svedeman -
SPE Paper 26569.
The debate regarding the erosional velocity is still big concern; many investigators reviewed the
velocity limits specified in the RP 14E and concluded that the limits are too conservative
In cases where sand is present even at very low velocities erosion will be a problem and there
are no guidelines on the amount of reduction to the calculated velocity in this cases.
Some times, limiting the velocity in flowlines to a unnecessarily low value will result in costly
oversised flowlines
Other investigators calculated that the velocity that would produce liquid impingement erosion
corresponds to C=300.
Other cases, for example the erosional velocity limits for water injection system correspond to
values of C=450 with out any solid and non corrosive conditions but when corrosion is present
this value can be reduced to C=250 depending on the corrosive condition
A ConocoPhillips paper (An Alternative to API14E Erosional Velocity Limits for Sand
Laden Fluids - ASME Transaction - Energy Resources Technology Journal) challenges
API14E on the basis that it can be very conservative for clean service and is not applicable for
conditions where corrosion or sand are present. It proposes a simple alternative approach that
has been verified by a comparison with several multi-phase flow loop tests that cover a broad
range of liquid-gas ratios and sand concentrations. Values of S for different components are
proposed in the paper
The constants C and S for the two formulations can be customised by selecting System/Solids
and tab button Erosional Velocity or the Options button in any calculation screen.
When in this area a Sand Production Rate equal to nil is entered, then the program will utilise the
original API 14E equation. If a non-zero Sand Production Rate is entered then the program will
use the modified formulation subject to the following logic.
Calculate the Erosional Velocity for solid-free fluid using the C value entered (Vef).
If the Sand Production Rate (W) is greater than zero:
Calculate the Erosional Velocity using the ConocoPhillips method (Ves).
If the Vef (for solid free fluid) < Ves (for sand-laden fluid), set the erosional velocity = Vef.
In order to see the values computed by the ConocoPhillips method set C sufficiently high until the
values do not change for changing values of C.
The Turner Equation is used to study the continuous removal of liquid from gas wells.
This equation is used to determine the minimum velocity of the producing fluid necessary to drag
away the droplets of liquid. The original formulation of the equation is the following:
Please note that this is the equation from the original paper where the units are inconsistent with
the constant given. The 20.4 constant in fact relates to when the surface tension is defined in
units of 'lbf/ft'.
Using the Petroleum Experts 4 mechanistic model it has been found that 2.04 gives much more
reliable results in a wide range of examples.
This constant can be however changed by the User by selecting Flow Assurance | Flow
Assurance Properties | Liquid Loading...
2.6.3.4 Pigging
This calculation can be used to describe the pigging characteristics of the flow in pipelines.
Assuming 100% removal efficiency of a sphere and that all the liquid removed by the sphere is in
the form of a continuous slug, the pigged slug volume can be estimated by integrating the
difference between the liquid holdup and the no-slip holdup in the pipeline. Also the time to
produce the slug can be calculated from
These are the additional results reported in the Gradient Traverse results. These values are all
cumulative,
Pigged Slug Length
Pigged Slug Volume
Time to Produce Pigged Slug Length
Time for Pigged Slug to reach Outlet
Pigging Efficiency can be entered by user by clicking Flow Assurance | Flow Assurance
Properties | Pigging...
2.6.3.5 Corrosion
The NORSOK CO2 corrosion model will be used to calculate the rate of corrosion reported in
the pipeline flow assurance results.
The uninhibited rate of corrosion (URC) calculated by the NORSOK CO2 model will be adjusted
by the user entered inhibited rate (IRC) and inhibitor efficiency (EFF).
Further information on the NORSOK CO2 corrosion model can be flow assurance section of the
PROSPER user manual.
Please note that water and a %CO2 impurity must be present in the GAP pipelines for a
corrosion rate to be calculated. The alkalinity entered acts as a buffer in the pH calculations.
The standalone CO2 corrosion calculator can be accessed by navigating to the pipeline flow
assurance results and right clicking on the gradient results.
2.6.4 Pipeline Flow Assurance
GAP has been designed to be used as part of flow assurance studies. As part of this, a number
of flow assurance calculations and plots can be accessed from the pipeline results by clicking on
view button highlighted below.
This will bring up the Gradient Traverse calculation for the pipeline. Right clicking at a particular
depth will bring up a menu with a number of additional flow assurance calculations and plots that
can be accessed.
This plot can be used to identify the current operating point on a flow regime map and how it
stands compared to the flow regime boundary.
Please note that the operating point on the Taitel-Dukler flow regime map may differ to the
regime reported in gradient calculation as different flow correlations/models have different
methods of determining the flow regime.
2.6.4.2 Slug Catcher Calculation
The slugcatcher calculator is a powerful tool for sizing slugcatchers/separators, as well as
validating slug catcher designs for potential carry over and carry under situations.The slug
catcher calculation can accessed by right-clicking on a gradient calculation point and selecting
'Slug Catcher Calculation'
Invoking the slugcatcher calculator from a gradient calculation will automatically populate all input
fields with the current selected operating conditions.
Based on the slugging characteristics determined by the slug method selected , it is possible to
calculate the surge volume required to contain the slug.
First, the slugcatcher liquid rate (i.e. the slug and bubble liquid rate) can be determined based
on the average liquid rate and slug/bubble surge factor for liquid. The outlet liquid rate is the
steady state rate of production and is equal to the average liquid rate. The diagram below
illustrates the slugcatcher liquid rates plot:
Now that the inlet and outlet liquid rates are known with time, the surge volume of liquid in the
slug catcher can be calculated based on a mass balance over the slug catcher unit. The peak
surge volume reflects the maximum liquid surge volume in the slugcatcher and will occur at the
end of the slug length and start of the bubble length. The position of the peak surge volume over
a unit slug period will be dependent on the slug and bubble length.
Once the surge volume with time in the slugcatcher can be determined, design rules available in
the slugcatcher calculator can be used to size and validate slugcatcher designs in its ability to
separate the liquid and gas effectively e.g.
Max gas velocity to be able to separate liquid droplets from the vapour phase (Sounders-
Brown Equation)
Max liquid velocity to be able to separate gas bubbles from the liquid phase (Based on Stokes
Law)
Normal liquid level
Retention time: API Spec 12J or User Specified
Input
The entered pressure, temperature, WCT and total GOR should reflect the fluid PVT and insitu
conditions in the slugcatcher.
Mean Slug or 1/1000 If the slugcatcher calculator has been accessed from the flow
Slug assurance options of the gradient calculation screen, the mean
slug or 1/1000 slug radio button selected will determine the flow
characteristics to be used in the calculator (i.e. the mean or 1/1000
slug length, bubble length, slug frequency)
Pigged Slug The pigged slug characteristics are used as input data for the slug
catcher calculation.
No Slugs The steady state production rates can be used to investigate the
separator liquid level variation
K Factor
The K factor is required in the Souden-Brown equation to determine the max gas velocity. The K
value is dependent on the separator geometry and internals, flow rate and fluid properties.
Retention Time
This is the amount of time the liquid will remain in the slugcatcher unit.
API Spec 12J The API Spec 12J method is used to estimate the retention time.
This value calculated is sensitive to the fluid API entered in the PVT
data.
Geometry
Flow Characteristics
Average Liq/Gas Rate This can be calculated based on the phase superficial velocity
multiplied by the pipe area.
Slug Surge Factor (Liq/ This is a ratio of the slug rate and average rate e.g. Slug Surge
Gas) Factor (Liq) = Slug Liq Rate divided by the average liquid rate.
Bubble Surge Factor This is a ratio of the bubble rate and average rate e.g. Bubble
(Liq/Gas) Surge Factor (Gas) = Bubble Gas Rate divided by the average gas
rate.
Slug Liq/Gas Rate Slug surge factor multiplied by the average phase rate.
Bubble Liq/Gas Rate Bubble surge factor multiplied by the average phase rate.
Slug/Bubble Length Length of the bubble or slug.
Slug Frequency Number of slugs per unit time.
Liquid Disposal Rate (Pigged Slug Only Input) Outlet liquid rate from separator.
Pigged Slug Rate (Pigged Slug Only Input) Pigged slug inlet rate.
Pig Prod Time (Pigged Slug Only Input) Time taken to produce the pigged slug.
Results
The PlayBack tool can be used to visualise the liquid level in the slugcatcher over the slug
period. Some of the results displayed will be specific to the time step selected on the PlayBack.
Peak Liquid Volume Sum of the peak surge volume and holdup volume.
Peak Surge Volume Maximum surge volume in separator, this occurs at the peak surge
time.
Holdup Volume The fixed volume of liquid in the separator during operation. This is
either calculated based on the retention time or norm liquid level.
Peak Surge Time Time taken for all of the liquid slug to travel through the slugcatcher.
This is calculated as a fraction of the slug clearance time based on
the ratio of the slug/bubble length.
Slug Clearance Time Time taken for one unit slug to travel through the slugcatcher. This
includes the liquid slug and gas bubble section and is the inverse
of the slug frequency entered.
Outlet Liq Rate Steady state outlet liquid rate of the separator.
Max Gas Velocity The maximum allowable superficial velocity of the gas at operating
conditions to allow liquid droplets to settle out of the moving gas.
This is calculated using the Souden-Brown equation.
Max Liquid Velocity The maximum allowable superficial velocity of the liquid at
operating conditions to allow gas bubbles to escape out of liquid
level in the separator. This is based on Stokes Law.
Normal Liquid Level (Dimensional Only) The normal liquid level in separator is
calculated based on the entered dimensions.
Retention Time This is the amount of time the liquid will remain in the slugcatcher
unit.
Liquid Volume The liquid volume in the separator at the current selected time step
on the PlayBack.
Surge Volume The surge volume in the separator at the current selected time step
on the PlayBack.
Surge Liquid Level The surge liquid level in the separator at the current selected time
step on the PlayBack.
Estimated Gas Velocity The gas velocity is estimated based on the cross-sectional gas
area for a horizontal or vertical separator and average gas rate
entered.
If a dimensional geometry has been entered into the slugcatcher calculator, then potential carry
over and under as well as sufficient volume to contain the slug will be evaluated.
The following messages are reported for the liquid and vapour:
Liquid
Vapour
A primary assumption of the slug method models (Brill, RCS and PE5) is that the mass of liquid
and gas in a slug unit is conserved.
Depending on the slugging characteristics evaluated, for example, this means that if the slug
liquid rate is too large (i.e. too much mass in the liquid slug) then the bubble liquid rate will need
to be negative to maintain mass balance. The same principle applies for the slug/bubble gas
rate.
Physically, a negative rate would indicate that the size of the slug is not fixed and that liquid or
gas is flowing back to feeding into the next slug.
As a negative inlet rate into the slugcatcher is not physical, GAP will assume the inlet rate is zero
and modify the slug/bubble length accordingly to maintain mass balance.
This can be applied for dimensioning new pipes and determining the maximum flow rate in
existing pipes.
Where
K is a material constants
n is a velocity exponent
Up is the velocity
ρt is the density of the wall material
At is the area
C is a conversion factor
F(α) is a geometric term dependent upon the impact angle and the material deformation
characteristics.
Further details on the formulation of the above empirical model can be found in the DNV RP
O501 reference – ‘Recommended Practice RP O501, Erosive Wear in Piping Systems.
The erosion calculator can be accessed by the flow assurance items in a gradient calculation
which will populate the calculator with the results of the current operating point (e.g. pressure,
temperature, rates, water cut, etc.). The mass of sand traveling in pipeiline is assumed to be
consistent through all pipelines and equivalent to the value specified in the erosion flow
assurance properties (Flow Assurance | Flow Assurance Properties | Erosion...)
Input Data
This input data will be used to calculate insitu fluid properties required by the erosion model.
Erosion Properties
The calculation type drop down menu defines the different pipe geometry for the erosion wear
calculations to be performed on.
Straight Pipe
Welded Joint /
Downstream Weld
Pipe Bend
Blind Tee
Reducer
Material Properties
This relates to the properties of the pipe element. The items in gray are the default material
property values from the DNV model.
Sand Properties
Fluid Properties
These are the insitu properties of the fluid used by the DNV model.
Pipe Properties
Results
This is an empirical model based on flow loop experiments for carbon steel and will be valid
where pure CO2 corrosion is the dominating corrosion reaction. Acetic acid and H2S are not
taken into account in the model.
Where:
KpH,T is a factor for the effect of pH on the corrosion rate for each temperature
The above factors where best fitted from data taken from a database containing more than 2400
data points.
Further information can be found in 'CO2 corrosion model for carbon steel including a wall shear
stress model for multiphase flow and limits for production rate to avoid mesa attack, Halvorsen &
Sontvedt, NACE International (1999)'.
The CO2 corrosion calculator can be accessed by the flow assurance items in a gradient
calculation which will populate the calculator with the results of the current operating point.
Calculation Options
Based on the entered design life and corrosion rate calculated, the
required allowance for corrosion will be determined.
Properties
These values should reflect the point of interest at the pipe and will be used to calculate the fluid
properties displayed.
Other Properties
Fluid Properties
These are the insitu properties of the fluid used by the NORSOK model. This is determined
using the fluid PVT data entered into the PROSPER model and the entered properties in the
corrosion calculator.
Results
Corrosion Rate The corrosion rate calculated takes into account the entered
inhibitor rate and inhibitor availability i.e. the inhibited rate
multiplied by the inhibitor availability plus uninhibited rate multiplied
by 1 minus the inhibitor availability factor.
Uninhibited Rate This is the corrosion rate calculated by the NORSOK CO2 model
Calculated pH This is the pH used by the NORSOK CO2 model
Required Availability Based on the entered corrosion allowance entered, the required
inhibitor availability will be back calculated.
Severity Level The severity level reported is based on the uninhibited rate
calculated. The value reported follow 'Guidelines for prediction of
CO2 corrosion in oil and gas production systems - IFE/KR/E-
2009/003'
In order to perform the comparison, PVT warnings should be enabled in the GAP summary
options screen and the relevant PVT warning curves have to be entered.
The plots can be accessed by right-clicking on any result in a gradient calculation and navigating
to 'Flow Assurance Plots', as shown below.
The phenomena is caused by liquid falling back in the opposite direction of flow causing it to
block the passage of gas. As time progresses, the liquid level in the riser will accumulate, grow
and produce at the top of the riser.
After a period of liquid production, the gas builds up at the bottom of the riser and begins to
penetrate the liquid column. When the gas reaches the top of the riser, the liquid is no longer
lifted and begins to fall back down again and a new cycle begins.
Such an operating condition can lead to the development of severely long liquid slugs and gas
surges which may cause surface operation problems and possible liquid carry over at the
separator.
Two methods for determining the onset of severe slugging or liquid falling back down are
available:
PE5 Stability
2.6.4.6.1 Pots Severe Slugging Number
The POTS number reported in PROSPER is based on the model presented in 'Severe Slug
Flow in Offshore Flowline/Riser Systems by Pots et al'.
The POTS number calculated is a dimensionless number which is the ratio of the rate of
hydrostatic pressure buildup in the riser resulting from the growth of the slug against the rate of
gas pressure buildup in the flowline.
Where
LF length of flowline
ygF gas hold up in the flowline
wg gas mass flowrate
wL liquid mass flowrate
It is important to note that the POT number is sensitive to the ratio of gas and liquid mass rate.
This means that at high GLRs tend to be stable and low GLRs are unstable.
The POTS number will be calculated for surface equipment only and if there is a significant
change in the deviation angle of the pipe element.
The gradient calculation will report the POTS number as a column of results. A plot of the severe
slugging locations in the pipe can be found by going to Severe Slugging Plots | Pots Number, as
shown below.
The plot will contain the pipeline deviation survey with an overlay of the severe slugging
locations, the POTS condition and current operating point, as shown below.
The PE5 Stability Criteria works on the basis of a momentum balance calculation by the PE5
mechanistic flow model, where the momentum of the liquid film on the pipe wall is evaluated to
determine its direction. Where the direction of fluid travel is calculated to be going down the well,
the PE5 stability flag will be raised, and this commonly will result in a negative frictional pressure
gradient.
If the flag = 1 then it is possible that production is unstable (this can be investigated further using
transient modelling tools, e.g. GAP Transient).
This calculation will be performed for both surface and downhole equipment data in GAP.
The gradient calculation will report the PE5 stability flag as a column of results. A plot of the
severe slugging locations in the pipe can be found by going to Severe Slugging Plots | PE5
Stability, as shown below.
The plot will contain the pipeline deviation survey with an overlay of the severe slugging
locations, the PE5 tability flag and current operating point, as shown below.
In this chapter the main equipment data entry screen is described. This is the screen
from which all equipment data can be entered and the results of the calculations for
the equipment are stored.
This is followed with a detailed description of the input data that is required for a full
description of a well model in GAP.
Finally, the results screens that apply to all the item types are described.
2.7.1 Introduction
This chapter describes the different elements making up a GAP model.
Wells 260
Separators 371
Joints 386
Pipelines 395
Tanks 462 (Reservoirs)
Flares and Vents 475
Pumps 477
Compressors 502
Sources/Sinks 531
Inline elements 540
Inflow elements 576
Groups 578
Flowsheets 586
The input screen for all the equipment has the same general format, though the data entry
headings/ formats vary from one to the other. The following diagram shows the data entry
screen for a well.
The equipment in the screen can be listed in four different ways, which can be changed simply
right clicking on the list:
Separator down sort
Tank up sort
Alphabetical sort by equipment label
Sort by equipment type
In the example above, the option “Equipment Type Sort” is used. This is the new default in IPM 9.
Summary Master section from which one can access all the different inputs
(i.e. controls, constraints etc.)
Input Accesses all the sections where data can be entered for the
particular element (for example: IPR, VLP, etc. for a well)
Results Section where the calculations results are reported.
Section buttons Each section can be accessed through the corresponding
buttons at the bottom of the screen.
2.7.2.2.1 Summary
The 'Summary' contains information about each element of the network (for example, a well, a
joint, etc.).
Label Name that appears in the GAP main screen (network drawing)
Name Extended name
Mask Option to mask the element
Comments Comments on each element can be entered
Data Summary Section containing the links to all the input screens. The number and type
of sections vary depending on the element.
On this screen, it is possible to see various tabs, where the input data is entered. The number
and type of available tabs depends on the equipment type.
When one of these tabs / buttons is selected, a child screen appears in which the relevant data
can be entered.
There are two tabs available for results buttons, one for each calculation type available in GAP:
Network Solver Tab reporting the results of the latest 'Solve Network' calculation.
Results
Simulation Results Tab reporting the results of the latest 'Transient' calculation.
Prediction Results Tab reporting the results of the latest 'Prediction' calculation.
The buttons are referred to as 'action buttons' in this manual. There are action buttons at every
input data screen like the summary screen, various input screens and the results screen.
The buttons that are displayed active on a screen depend on the equipment type and the screen.
These are described in detail in the descriptions of all the individual equipment. Some of the
main buttons are described below:
Run In the case of a well, this opens the associated PROSPER file which can be
PROSPER / MBAL modified or updated. For a tank, this opens the associated MBAL file.
OK Removes the dialogue screen, saving all of the changes that have been
made in any of the screens.
Cancel Removes the dialogue, ignoring all changes. If any changes have been
made, a confirmation message will appear
Help Displays a help screen which assists the user with an additional
For wells:
If selected from the 'Summary' screen, this allows the user to
perform a VLP/IPR calculation.
If selected from the 'Input' screen, the user can estimate the liquid
rate or FBHP from the IPR or the VLP.
For compressors and pumps:
The 'Calculate' button is accessible from the 'Input' screen and
allows the user to perform a calculation of the compressor/pump
dP, head, power, etc. given the rate, PVT and inlet conditions.
Plot Will produce a plot screen appropriate to the screen or tabbed screen
being displayed (for example, an IPR plot will be displayed from the IPR
input screen). This is greyed out when there is no suitable plot
Report Enters the GAP Reporting System. The report produced will depend on
the currently displayed screen or tabbed screen (for example, an IPR
report for the IPR input screen)
Next (selected) These buttons can be used to navigate through the equipment list. Next will
Previous (selected) move to the next piece of equipment in the equipment list. Previous will
move to the previous piece of equipment in the list. If items are selected,
these buttons will navigate between selected items
Mark These buttons allow items to be marked for reference purposes during an
Mark All editing session (for example, to indicate to the user that a well
Unmark All performance curve has been regenerated). Marked items appear with
their status (tick or cross) displayed in reverse.
2.7.3 Wells
The modelling of the wells is the first part of building an accurate GAP field model. The rest of
this chapter is devoted to a description of the data required for a complete well model in GAP.
The data required for a well model in GAP depends on the mode in which GAP
is running and the type of well that is being modelled.
Like any other equipment, well data entry screens can be accessed by
Double-clicking the left-hand mouse button on a well icon on the main GAP drawing, or by
Clicking on the appropriate well icon in the equipment list of the main data entry screen.
Summary Screen This allows selection of the well model and well types, and also gives the
status of various aspects of the well input data. See the following section
Input Screen Includes tabbed screens for the following input fields:
Control
- dP Control
- Artificial Lift control.
The type of artificial lift control available will vary depending on the
type of well. For example, Gas Lift Control is for gas lifted wells
only and ESP Control is for ESP Wells only.
IPR Input
VLP Input
PC Data Input (For manual entry / generation of performance
curve (PC) data for wells)
Constraints
- General
- Abandonment
Downtime
Coning
Tank Connections
Production Data (Decline Curve prediction only)
Schedule (Only available is Prediction is Selected in the Main
Option)
Results Screen Contains the following fields:
Network Solver Results.
Prediction Results
Input Fields
Label Maximum of 18 characters allowed. This defaults to the name supplied in the
label dialogue box when the well icon was initially added to the system. If
blank, enter a short name or abbreviation to identify the icon on the screen.
Name Maximum of 32 characters allowed. Use this field to enter a full or descriptive
name, if any, for the well. This name will appear in the reports generated by
the allocation calculations.
Mask This option allows a well to be added or omitted from the network database
and consequently the calculations.
When the well is not to be taken into account in the system calculations, two
options are available:
Mask
Indicates the well is masked. A masked well is excluded from the system but
can be recalled during a prediction if an unmask event appears in the well
schedule.
Disable
Comments Enter any string of comments to provide more detailed information about the
well (for example, date shut-in, fractured, etc.)
Well Type Specifies the type of well. The well type should be the first thing to be
specified as the data required in the input screens depends on the well type.
These options are available:
Gas Injector
Gas Producer
Liquid Injector
Oil Producer (Diluent Injection)
Oil Producer (Diluent and Gas Injection)
Oil Producer (ESP Lifted)
Oil Producer (SRP Lifted)
Oil Producer (Gas Lifted)
Oil Producer (HSP Lifted)
Oil Producer (Jet Pump Lifted)
Oil Producer (No Lift)
Oil Producer (PCP Lifted)
Retrograde Condensate Producer
Water injector
Water producer
CBM Water producer (ESP Lifted)
CBM Water producer (PCP Lifted)
The liquid injector well type can be used to model injection of any
liquid, for example polymer or NGL.
PROSPER GAP can work with PROSPER .OUT files. If a PROSPER .OUT file for this well
File is available, the file name should be specified here. When GAP accesses
PROSPER, the program will automatically load the file that has been specified
in this location.
Model Select one of the following:
Outflow Only – The well icon no longer stores any lift curves. When a
PROSPER pressure drop calculation is required, GAP can calculate it
dynamically using the equipment set in the PROSPER on
line section. Please refer to the following sections for
details
The outflow only models for well modelling have been introduced
from GAP v5.0 onwards. They increase greatly the capabilities of
GAP in terms of modeling smart well completions and multilayer
systems (an example of multilayer model 976 can be found in the
Examples Guide section)
Rate Model Rates can be defined in terms of volumes (at standard conditions) or mass.
Defining the rates in terms of mass has got the benefit of making
the rates (hence the VLPs) process independent. This is because
volumetric rates at standard conditions depend on the process
used to analyse the fluid, whilst mass is invariant, therefore does
not depend on the process used. This option is particularly useful
when coupling models with different reference paths to standard as
using the mass mean that the IPRs and VLPs do not need to be
regenerated if the process changes.
Transient IPR This option allows the transient effects in the reservoir inflow to be captured
for unconventional (tight reservoir) systems or transient simulation studies.
Transient IPR models can be captured using the following methods:
This gives details on the status of various aspects of the well-input data. It
consists of various fields that correspond to different areas of the well-input
data. These screens have the following colour code:
The icons that appear in this area are dependent on well model and
Prediction Type (None / Material Balance / Decline Curve) selection.
By clicking on any of these fields, one can access the input data for the field.
2.7.3.1.1 Calculate
For every well the user has access to a "Calculate" button.
Within the summary screen, the "Calculate" button will determine the liquid rate and
corresponding bottom hole pressure based on the IPR and VLP curves for a given set of
conditions.
The user can plot the VLP/IPR intersection by clicking on the 'Plot solution' button.
The 'Initialise from solver results' can be used to recall the flowing conditions
calculated during a Solve Network 646 calculation. This is useful when
troubleshooting the well performance as these are the same conditions that
occurred in the main calculation.
Note that when there are two intersections between the VLP and the IPR curve,
GAP will by default pick up the intersection on the right hand side (as in general this
corresponds to the stable rate whereas the left hand intersection is the unstable
one).
GAP can be forced to use the left hand intersection when the “Force Left Hand
Side Intersection (Solver)” option has been enabled.
On the VLP input screen, the "Calculate" button invokes the VLP calculation dialogue. This
enables the user to calculate the FBHP from the vertical lift performance curve of the well for a
specific set of flowing conditions.
On the IPR input screen, the "Calculate" button invokes the IPR calculation dialogue. This
enables the user to calculate the FBHP/rate from the inflow performance curve of the well.
Calculate:
Performs an intersection calculation based on the current input data. This is also performed
automatically when the dialogue is entered.
Plot:
Performs a VLP/IPR intersection plot.
OK:
Clears the dialogue, saving any changes.
Cancel:
Clears the dialogue, removing any changes.
Help:
Invokes this screen.
Note also that this dialogue allows the copying and pasting 87 of row data.
2.7.3.2 Well Input Screens
The tabs are coloured according to the validity of the data on the corresponding dialogues.
If the tab is green, then the data is valid for the current system set-up.
If it is red, then the data is invalid or empty.
If the tab is grey, then this tab is not applicable to the current model and so is
inaccessible.
Apart from the screen inputs as described in the following sections, there are
various action buttons such as OK, CANCEL etc. that appear in these screens.
Their function is the same in every screen.
This screen inputs the well inflow performance data on a per-layer basis.
The IPR data can be transferred from PROSPER using the “Generate” function of
GAP. However, if the user chooses to enter the data manually then this can be
done as well.
IPR’s can also be generated with different PROSPER files for each layer by
associating different PROSPER models to the "PROSPER file for IPR section".
The IPR data input is divided into four tabbed screens as shown in the example below.
These are:
Ipr Layer Individual layer input data like PI, reservoir pressure, temperature etc
More... Data for defining relative permeability and layer breakthrough (water / gas)
parameters
Prod Data Section defining the well GOR and WC (or WGR in the case of gas) versus
reservoir pressure or cumulative production. Only available if the decline
curve option is selected in the tank model.
Grid View Screen where a summary of all layers is tabulated and the individual IPR
data can be plotted against each other
Abandonment To define the conditions at which the layer is abandoned (production is shut
down)
The data input for all the four sections of the well IPR input us described below:
2.7.3.2.1.1 Ipr Layer
In this screen, the data required to generate the IPRs for each layer is entered. The data input
screen is divided into four sections:
Select
Inflow Performance Input
Select
This section has the following sub-menus:
Layer Use this to select the layer for which data is to be entered. When the list is
List Box produced, each layer appears in the drop down list with "Invalid" or "OK",
representing the status of the IPR layer data.
Layer Type (Available only for multi layer IPR Producers except WATER
producer and injection Wells)
This can be Oil, Gas, Condensate or CBM. When a well is created, the
layer type is set to reflect the well type however the layer type can be
changed using the drop down list.
Mask It is possible to Mask or Disable the selected layer from the IPR using this
option.
Switching to the More Input Screen will display data related to the
layer that has been selected in the layer input screen.
Inflow Performance
The data items shown in this dialogue depend on the well type, the layer type and the prediction
(None / Material Balance / Decline Curve) mode. In a multi layer model, data may be entered in
this dialogue or in the IPR Input Grid View, which displays all layers simultaneously.
Tank In a multi layer model, this gives the label of the tank which is connected to
Connection the selected layer.
The “Table Look Up” utility has been included in the IPR types for allowing an eas
link between GAP and Reservoir Simulators. It stores the IPR informatio
generated by the reservoir simulator as a table with oil, gas and water rates as
function of flowing bottom hole pressure (FBHP). IT SHOULD ONLY BE USED
FOR THOSE APPLICATIONS.
Force Target
GOR
IPR dP The IPR dP is used when the datum for the reservoir pressure in the well
model is significantly different to the datum used in the reservoir model. The
IPR dP can be used to correct the reservoir pressure coming from the
reservoir model to the well model datum.
Permeability (Production systems only & NOT for Table Look Up)
Correction This is used to correct the absolute permeability of the layer as the pressure
with Pressure declines in a prediction. Enter the quantity N in the equation:
The crossflow injectivity index represents the rate of injection in the reservoir
should the bottom hole pressure be greater than the reservoir pressure. In
other words, the crossflow injectivity index represents the IPR curve for
negative flow rates therefore the larger the value (for oil wells - where the
index has the units STB/day/psi) the easier it is to inject into the layer.
If the value of the crossflow injectivity index is not specified, the rate of
injection in the reservoir will be governed by the Productivity Index
(indicating that the production capacity of the reservoir is the same as the
injection capacity).
If there has been any studies made on the injectivity index for a given
reservoir, then this may be used to define the Crossflow injectivity index.
The use of Crossflow Injectivity Index may lead to large cross-flow rates and
potential instabilities in any prediction run as these rates are held constant
over a time-step.
Effectively this means that the 'C and n' model injectivity index has the units
consistent with the 'C' reservoir parameter. When using Forchheimer and
Forchheimer Pseudo Pressure the units will be the reciprocal: psi2/(Mscf/
day) & psi2/cp/(Mscf/day) respectively. This represents the pressure
squared or pseudo pressure per unit rate injectivity - meaning that a large
value represents a system where it is difficult to inject.
IPR Match Selecting Match IPR on the IPR Input screen will display the following
dialogue:
Test Points
These fields hold the set of test points of measured rate and flowing bottom
hole pressure.
Rate and pressure data can be entered by hand, or pasted from the
Windows clipboard or directly from PROSPER’s IPR screen.
Click Match and GAP will regress on the well productivity (or injectivity)
index and AOF (or whichever coefficients are required from the IPR model)
so that the IPR curve passes through the match points. Click OK, and the
P.I. and the rest of the data will be passed back to the well IPR screen.
Gravel Pack GAP models Gravel Packed completions as in PROSPER. More detailed
information about this model is available in the PROSPER user Guide.
When the IPR is generated from a PROSPER file that contains a Gravel
Pack completion, the Gravel Pack information is transferred from
PROSPER to GAP. It is then possible to sensitize on Gravel Pack
parameters from within GAP.
When the system is solved, GAP calculates the pressure drop across the
Gravel Pack (accessible under the layer results). It is then possible to
constrain the well production based on:
The maximum gravel pack casing velocity
The maximum gravel pack screen velocity
The maximum gravel pack delta P
Fluid (for producer wells)
Properties This section contains the fluid PVT properties, which are used during the
Solve Network calculation. The properties are updated automatically during
a Prediction, based on the data coming from the connected reservoir model
(which could be MBAL or a third party numerical simulator)
Use Tank (NOT for Prediction modes “None” & “Decline Curve”)
Impurities If the ‘Use tank impurities’ box is checked, GAP will use the values from
MBAL tank model and the impurity input data will be made unavailable
PROSPER For multi-layer well, it is possible to import the specific PROSPER file
File for IPR corresponding to each specific layer. When the option "Generate |
Generate Well IPRs from PROSPER..." is used, GAP calls all the
PROSPER files to generate the different layers' IPRs in a batch.
ACTION BUTTONS
The IPR Input windows contain the following action buttons.
The action buttons have been explained in detail previously 258 and have here exactly the same
role.
The following action buttons are particular to the Input section, and their roles are described
below:
Plot Plots the IPR plot for the current layer (or the well in a single layer model).
The Match data (if present) is also displayed. In the Grid View all of the IPR
of all layers and the total IPR of the well as well
Calculate Displays the IPR Calculation screen. This allows rates to be calculated
from flowing bottom hole pressures or vice versa based on the resultant
IPR.
From MBAL See description below
From MBAL
It is possible to transfer data from existing material balance models to well models inside GAP.
Either the VLP, IPR and relative permeability data can be transferred across. This action button
takes the user to the screen that allows these parameters to be transferred.
On the left hand side, the MBAL files associated with the tanks in GAP are opened and lists of
either history or prediction wells can be displayed, depending on the option chosen.
On the right hand side, all of the GAP wells along with their layers are displayed.
The user selects a layer in the MBAL list and a layer in GAP list. This gives the following two
transfer options:
If the user selects a well on both sides the following transfer option is available as well:
VLP To transfer the VLP data from the MBAL prediction well to GAP well
The actual data transferred will depend on the type of item selected in the MBAL list (e.g. tank
IPR data will include the tank starting pressure and PVT data, whereas well IPR data includes
the PI).
At the bottom of the MBAL item list, is a “New Model File” button. Pressing this gives the user
access to MBAL files that might not be associated with the current GAP model which can also
be transferred. Note that new files are not stored when the screen is cleared and must be
reloaded when going into the screen on subsequent occasions.
IPR This transfers IPR data from the MBAL item to the GAP target. The data
transferred is as follows.
From a tank:
Starting pressure
Starting temperature
Impurity data (% H2S, N2, CO2 & water salinity)
Gas gravity
Oil/condensate gravity
GOR/CGR
From a well:
PI (Darcy coefficients, C and n)
Layer type
PI Relative permeability correction (oil layers only)
Perforation depths
Breakthrough constraints
Match data
Test water cut / layer pressure
VLP Transfers lift curve data to the well in question. This is only possible if the data
has been imported into the MBAL well model in *.tpd format
Rel Perm Transfers either the tank or the well relative permeability depending on the
source type.
Transfer All This option allows the user to select which batch transfers are to take place
Matching (Transfer History Relative Permeabilities, IPRs, VLPs, Prediction Relative
permeabilities). This will then automatically match up all the GAP IPRs and
MBAL History wells and transfer the data. This avoids having to match them up
manually.
Transfer Type
Under the transfer options, the user can select the data to be transferred, which
includes:
Match Type
Match Exact names only. To use this option the names in MBAL and GAP
must be exactly the same.
Match GAP names in MBAL names . This option can be used to perform the
matching when part of the MBAL name exists in the GAP well.
Match MBAL names in GAP names. This option can be used when part of the
GAP name exists in MBAL.
New Model This will load in an additional MBAL model file (extension .mbi) and display the
File contents in the list. Choose the required file from the file selection box displayed.
Data can then be transferred from the new elements as above.
COMPOSITION BUTTON
The 'Composition' button allows the user to enter/visualise the composition for the well.
This is available when one of the compositional options are selected. Selecting the
'Composition' Button allows to visualise the fluid composition.
Use Original By ticking this box the original composition entered in the well IPR section
Composition will be used for the calculations, overriding any composition coming from
MBAL or the Working composition present in the well IPR section
The 'Composition' button allows the user to enter/visualise the composition for the well.
This is available when one of the compositional options are selected. Selecting the
'Composition' Button allows to visualise the fluid composition.
Use Original By ticking this box the original composition entered in the well IPR section
Composition will be used for the calculations, overriding any composition coming from
MBAL or the Working composition present in the well IPR section
Allows manual entry of IPR data to match a performance index.
This screen is used to match an equivalent PI to a set of IPR points. In normal use, this will be
imported directly from PROSPER in batch IPR generation mode.
Input Fields
Test Layer When an IPR transfer from PROSPER is done, this screen is populated with
Pressure data from the PROSPER IPR section
Test Water Cut Enter in these fields the test values for water cut and layer pressure that will
be used in the calculation of the IPR parameters. See the IPR data entry
screen 272 for more details about how these values are used to apply
correction factors to the IPR
Test Points These fields hold the set of test points of measured rate and FBHP
Action Buttons
Match Use this button to calculate the matched IPR data. The AOF and performance
index will be calculated and placed in the fields at the base of the screen
(Darcy and non-Darcy or C and n for gas/condensate wells, depending on the
IPR type selected on the IPR input screen)
Ok Use this button to leave the screen and save all changes that have been
made. The layer data entered here is written to the layer data as displayed in
the IPR input screen. The performance index calculated in the Match process
is also written
Cancel Use this button to leave the screen and ignore any changes made
Rate and pressure can be entered by hand, or pasted from the Windows clipboard or directly
from PROSPER’s IPR screen.
Click Match and GAP will calculate the well productivity (or injectivity) index and AOF (or
whichever coefficients are required from the IPR model). Click OK and the P.I. and the rest of the
data will be passed back to the well IPR screen.
When an IPR is generated, the reservoir pressure and PVT information (e.g.
GOR, Water Cut) are used in the calculation of an IPR.
This screen calculates flow rates from flowing bottom hole pressures and vice versa.
In the drop down list at the bottom of the dialogue, select whether one wishes to calculate rates
from flowing bottom hole pressures or flowing bottom hole pressures from rates. Enter the test
value into the appropriate edit field (the other will be coloured blue and be read-only).
Action Buttons
Calculate Performs the calculation and writes the result to the required edit field
OK Clears the dialogue
Help Activates this screen
Layer This is the place where the current layer is selected. This by default is the
Selection same layer as selected in the first screen
Relative (NOT for Injectors and Water Producers). See description below:
Permeability
Use match This will import the black oil PVT correlations and match parameters of the
coefficients underlying PROSPER PVT. Further information on this functionality can be
found here 208 .
Prediction Here, we define the set of relative permeability curves that GAP uses for:
Fractional 1. Calculating water cut and producing GOR (CGR/ WGR in gas / Condensate)
Flow wells during prediction (Material balance).
Rel. Perm 2. Calculating the changes in the well PI due to WC and GOR (No prediction/
Material Balance/ Decline Curve). Effectively, as the WC and GOR change, the
fluid mobilities will be modified.
From Tank Model (Available only for Material Balance Prediction). GAP
will take relative permeability and data from the tank associated with the layer
considered (MBAL Model).
From Rel Perm 1 or 2. GAP will use the relative permeability entered under the
Edit button. These rel perms can be entered by hand or transferred from MBAL
by means of the button From MBAL (located at the bottom right of the screen).
In both cases the relative permeability curves are defined as Corey functions
(ref. MBAL user Guide).
From Table 1 or 2 (see below) the user can directly enter the WC and the GOR
as a function of time, pressure or cumulative production
Shift Rel The option "Shift Rel Perm to Breakthrough" is used to smooth the set of relative
Perm to permeabilities of water or gas, after the breakthrough occurs (see "Breakthrough
Breakthrou and Perforation Depths" section hereafter). If this option is turned off, and the gas
gh breakthrough occurs at Sg,breakthrough>Sgr, the relative permeability of the gas goes
straight from zero to Krg_0 (cf. following sketch) creating a step change in
mobility. Consequently, this step change in mobility can result in a sharp increase
in WC or GOR which may not be representative of reality.
To prevent this from happening the user has the option to "Shift the Rel Perm to
Breakthrough" which effectively translates the rel perm curve to the breakthrough
saturation.
PI If this option is set to ‘Yes’, the PI will be corrected based on the changing WC
Correction which is directly related to the change in mobility. A test-water cut and a test
for Mobility pressure must be entered.
The test water cut, reservoir pressure and temperature are used to determine the
water saturations (Sw ) and oil and water viscosities. The oil saturation (So) is
calculated as described in the Vogel correction depending on the options as
indicated later.
With the use of relative permeability curves, the test mobility can be calculated
from:
K rw K ro
M test
w o
At a particular reservoir pressure and water cut, the current mobility (M) can be
calculated using a similar formula. Based on the two calculated mobility values,
the corrected productivity index will be:
M
PI PI test
M test
And this value of corrected PI will be used to generate the new IPR
Vogel (Available Only for Oil wells with Mobility correction for PI on)
Correction If this option is set to ‘Yes’, the relative permeability values that are used for PI
for GOR mobility corrections are calculated using the effect of reduced oil/water relative
permeability caused by the presence of free gas down hole. It requires the entry of
a test GOR value which refers to the total produced GOR.
The PVT, Test WC and GOR are used to calculate the downhole fractional flow
ratios (Fw and Fg). The saturations that satisfy the fractional flow ratios and the
relationship
So 1 Sw Sg
Are then used to calculate the mobility. The corrected PI is estimated from the
total liquid mobility ratios as indicated above.
the expression
So 1 Sw
are used to determine the mobility. Based on these phase saturations, the
mobility ratios can be calculated and the PI correction can be applied.
It is important to note that two different sets of rel perms can be defined for the
fractional flow prediction and for the mobility correction (Rel Perm 1 and Rel Perm
2).
Use Match This option will toggle if the PVT match parameters (P1 multiplier and P2 shift) will
Coefficients be imported from the associated PROSPER file. Further information can be
found here 208 .
Accessing the 'Edit' button will allow the user to enter the required fractional flow table:
In the primary column section select the basis for the fractional flow curves (time, pressure or
Cumulative Production).
If the fractional flow tables are entered in terms of cumulative production, select whether this is to
be based on the tank cumulative production or layer cumulative production.
If the 'Decline Curves' option is active then the "Prod. Data" tab becomes available and the data
is entered as shown below.
Select the layer for which to enter the production data from the list box at the top of the screen.
For single-layer wells, only one layer is available. If there are multiple layers then GAP requires
production data entered for every layer associated with the well.
Current Reservoir pressure at which to evaluate the GOR and Water Cut
Layer Pressure
Interpolate on Curves can be expressed either as a function of Reservoir Pressure or
Cumulative Production.
Action Buttons:
Calculate Calculates the water cut and GOR for the Current reservoir pressure
Plot Displays the production data in graphical form. Use 'Variables' on the 'Plot'
screen to switch between GOR and water cut.
Action Buttons
Plot Plots the total well IPR, in addition to the individual layer IPRs for all valid
layers.
Calculate Invokes the IPR Calculation 285 screen. This performs rate and bottom hole
pressure calculations based on the total well IPR (not the individual layer
IPRs).
Report Invokes the standard GAP report generator. This produces a report for the
total well IPR in addition to the individual layer IPRs (valid layers only)
For example, if a maximum water cut abandonment constraint is entered, then the well will be
shut-in during a prediction run if the produced water cut exceeds this value. When rate
abandonment constraints are applied (i.e. Qoil_min/Qgas_min/Qliquid_min) and the well has been
made controllable, the well will be shut-in once the rate falls below the abandonment value,
provided that there is also no dP across the wellhead choke determined by the RBNS/non-linear
optimiser.
The "Frac PI" and "Frac dP" input data are entered to model fractures. The following IPR sketch
illustrates how these two values are taken into account.
Fractured dP
i.e. “Frac dP”
Normal PI Fractured PI
Initial Reservoir i.e. “P.I.” i.e. “Frac PI”
Pressure
Water Rate
The normal P.I. entered or calculated (if the IPR is generated from PROSPER) is used up to a
bottom hole pressure equal to the initial reservoir pressure + the entered Frac dP value. From
this point on, the Frac PI is used.
2.7.3.2.2 Transient IPR Input
The Transient IPR option can be used to capture transient reservoir behaviour for unconventional
(tight reservoir) systems or transient network simulation studies. This option is based on
analytical solutions to the radial diffusivity equation or dimensionless pressure/time (PdTd) type
curves which can either be manually entered or generated and history matched using the
RESOLVE Tight Reservoir DataObject.
The reservoir model is created within the well IPR section, and therefore the 'Transient IPR' well
cannot be linked to any reservoir models in GAP.
The 'Transient IPR' option is selected from the Summary section of the well screen, as shown
below.
If an MBAL file has already been created containing this IPR information; the values can be
copied over using the 'From MBAL' bubtton above.
If the user selects the "Use MBAL PVT Model" option; GAP will use the PVT as defined in
MBAL. GAP will use the PVT correlations selected in MBAL and will also apply the same match
parameters as defined in the MBAL file. If tables are being used in MBAL then GAP will
calculate the PVT properties based on these tables.
Model Type This defines the reservoir and well geometry in the model. The
Bounded Radial Reservoir & Bounded Fractured Reservoir models
assume that the reservoir is a cylinder with a vertical well at the center.
Water vapour option predicts the WGR of the well based on condesed
water vapour.
Coal Bed Methane (Gas producer only) Tight gas systems with methane adsorbed on
the coal can be modelled using the same method in MBAL. The
method used is described in “Bumb, McKee, Gas-Well Testing in the
Presence of Desorption for Coalbed Methane and Devonian Shale,
SPE 15227”.
NOTE:
The Darcy (S) and Non-Darcy Skins (D) are the skins relating to the gas transient inflow
equation:
Pseudo Time The time can be considered as "Normal Time", "Pseudo Time (Pwf)",
"Pseudo Time (Pbar)" or "Pseudo Time (Petex)". The dimensionless
time td is:
Pseudo time is a normalised function of time that takes into account the
change in viscosity and compressibility over time (due to changes in
pressure). In the Pseudo Time (Petex) method, the pressure at which
viscosity and compressibility is evaluated is a combination of Pwf and
Pbar.
Use Sub Steps The, ‘use sub-step’ option improves accuracy by employing the same
methodology but taking smaller timesteps – thus minimising the
difference in pressure between steps.
Use Previous Step The option to, ‘use previous step’ is faster as the PVT of the next
timestep will be evaluated at the current pressure.
PVT Modifier The PVT modifier defines the contribution of the Pwf and Pbar
pressures to evaluate fluid properties for the Pseudo Time (Petex)
method.
The PVT modifier reduces the pseudo time based on Pwf if the modifier
=1 or pseudo time based on Pbar if the modifier = 0
Shutin Time The average reservoir pressure is estimated by simulating a theoretical
shut-in period.
Cleat A pressure dependent correction can be made using the cleat
Compressibility compressibility. The cleat compressibility (c) affects the calculation as
shown below;
Permeability & If the "Pseudo Time (Petex)" option is selected, the user also has the
Porosity Multiplier option of using various tuning factors, including multipliers for the
porosity and permeability to match the PDtD curve to historical data.
More information about this model and its theory can be found in the MBAL and RESOLVE User
Guides.
The 'Use Phase Correction' option includes a multi-phase correction when the reservoir
pressure drops below the bubble point/dew point. The traditional single-phase PdTd formulation
can be used to match the production history above the saturation pressure accurately. However
in some cases where the gas/oil production is high (below bubble point/dew point) then the
traditional approach cannot get a good match. The multi-phase correction uses the entered
relative permeabilities to correct the dimensionless pressure and PVT for matching the field
data.
A RESOLVE Tight Reservoir Object can be imported into a tight GAP well for calculation of
BHP. This option overcomes the industry limitation of using single phase PdTd and allows the
use of multiphase PdTd curves that are available through the RESOLVE Tight Reservoir Object.
To illustrate the use of the RESOLVE tight reservoir object import, a condensate system with as
dew point of 4500 psig will be considered in RESOLVE:
Reviewing the calculated single phase PdTd curve in RESOLVE, it can be seen that it provides
a poor match, when the FBHP goes below the dew point.
In this case, we want to apply the Multiphase correction using the Tight Reservoir Object in
RESOLVE and import this into GAP to capture the tight wells. This will take the following steps:
In RESOLVE, the multiphase correction can be enabled by clicking Advanced and checking
the ‘correct for multiple phases’ box. Updating the plot, it is possible to see that accounting for
multiple phases results in a closer match, as shown below.
Once the match is satisfactory, the tight reservoir data can be exported by right clicking on the
icon in RESOLVE and selecting Export to File. This will export the tight reservoir data in a file
with .RDO extension.
In GAP, the RDO can be imported into a tight condensate well by checking the Tight Con tick
box and then ticking the Use Resolve Tight Reservoir - Inflow.The user can then browse for tight
reservoir rdo file, as shown below.
Manually Importing a PdTd curve from the RESOLVE Tight Reservoir object:
It is assumed that the user has created and matched a PdTd curve in the Tight Reservoir object
of RESOLVE. For more details on how to perform PdTd matching in RESOLVE please refer to
section 2.9.4.5 of the RESOLVE user manual, and to section 3.8.3 for a detailed step-by-step
example.
The following describes how to import the PdTd data from RESOLVE to GAP, ensuring
consistency between the calculated response in RESOLVE and GAP.
The Model Type should be selected as Table Lookup. Under the Edit button, the PdTd curve
should be copied from RESOLVE. This can be found under the Plot PDTD button in the Analysis
tab of the Analysis screen.
The PdTd curve should then be copy/pasted into GAP. Please note that the point (0,0) should not
be included.
PLEASE NOTE: Care should be taken to note the first point in the PdTd curves as this
essentially acts to tell us the minimum time-step for which these curves are valid. If, for example,
the first point represents a time of 1 hour, then any results obtained for a time-step less than 1
hour will be non-physical and may lead to convergence issues.
The reservoir properties that should be entered in GAP can be found in the Edit PDTD tab of the
Analysis screen.
Please note that in the case of a horizontal well, the Length used by RESOLVE to a-
dimensionalise the physical response from REVEAL is the well Completion Length: hence this is
the value that should be entered as the Layer Thickness in GAP.
The PVT properties of the fluid should be input as per the input in RESOLVE. Please note that
the PVT correlations used should be consistent between GAP and RESOLVE.
Model section:
In the Model Tab, the Pseudo Time should be selected as "Pseudo Time (Petex)", and all the
matching parameters (Permeability Multiplier, Porosity Multiplier, PVT Modifier etc...) should be
copied across from the Analysis tab of the Analysis screen in RESOLVE. Please note that the
Cleat Compressibility is found in the Edit PDTD tab.
VLP In this field, a valid vertical lift performance (VLP) file is required. The
File Name data file is a binary file. The file can be loaded/generated in the following
ways:
The label alongside the VLP file names will read either OK or Invalid.
An invalid flag means that an invalid file has been selected (e.g. a
gas VLP for an oil well) or that the path name is incorrect.
Import Imports VLP files of various formats into GAP (see above.)
Export A VLP table can be exported as a *.tpd file for use in other wells or
applications.
Turn off if This option closes the well as soon as the well becomes unstable (when
unstable the VLP and IPR intersect on the left-hand section of the VLP)
Force Left Selecting this option will force the solver to select the well rates
Hand Side (calculated by VLP / IPR intersection) on the left hand side of the
Intersection minimum stable rate as indicated by the VLP. The two plots below
(Solver) illstrate the concept.
Allow Left Checking this option will allow the optimiser to use the unstable part of
Hand Side the lift curve in the search for the optimum solution. This can be the case
Intersection in wells which are coning gas for instance, where a higher Well Head
(Optimiser) Pressure will result to higher liquid rates (as the cone is eliminated)
Safe This is a new feature in GAP 5.0 and is an improvement in the case of
VLP/IPR complex lift curves (primarily for gas coning wells). As the GOR for these
intersection lift curves is a function of the liquid rate (and given by the coning model),
this intersection method provides a much “safer” way of getting an
intersection than the default method. It is, however, much slower than the
default method and should only be used when absolutely necessary
Inspect This option allows the user to view the tables of VLP curves and also to
plot them curves which can be used to quality check the sets of VLPs.
Generate This option accesses the VLP generation dialogue (see below 616 )
VLP Information In this section information concerning the VLP curves used are
displayed:
Type of well (indication of the VLP format)
Calculated Variables (sensitivity variables included in the VLPs
Surface and Vertical Correlations used to generate the VLPs
(including the matching parameters)
This is a lookup table of the VLP results. The left and right hand columns give the VLP curves for
the variable parameters highlighted (in reverse video) in the central columns.
The data presented can be edited. It may be exported into a performance data file by pressing
the 'Export' button which produces a file browser that can be used to navigate the appropriate
file destination.
The variables that are a part of the VLP file depend on the type of well. For
example this is a naturally flowing oil well VLP table.
Maximum Rates are controlled based on this maximum temperature at the wellhead
Temperature
Minimum Well Well is shut in or choked back if the flowing bottom hole pressure falls below
Flowing this value
Bottom-hole
Pressure
Maximum Draw GAP will ensure that the drawdown (difference between reservoir and
Down bottom hole pressure) does not exceed the entered pressure.
In a snapshot calculation, the reservoir pressure entered in the IPR section
will be used to calculate the constraint. In a prediction run, the reservoir
pressure will continually be recalculated for each time step.
In the case of a multi-layer well, the reservoir pressure reference is taken
from the extrapolation of the total IPR to zero rate
Well This is a multiplier that is used on the well production during the optimisation
Optimisation process.
Weighting
Maximum (Not for gas wells)
Liquid Well production cannot exceed this maximum. Naturally flowing wells will be
Production / choked back using 'dP Control' if necessary to meet the maximum rate
Injection constraint. Artificially lifted wells will be controlled using both 'dP control' and
artificial lift specific controls to meet the maximum rate constraint
Minimum (Not for gas wells)
Liquid GAP will try to produce this minimum rate irrespective of oil rate optimisation
Production / considerations.
Injection Rate
Maximum Gas (Gas Wells)
Production / Sets upper production limit for the well considered
Injection
Minimum Gas (Gas Wells)
Production / GAP will try to produce this minimum gas rate irrespective of optimisation
Injection considerations
Binding This option can be used to set whether a particular constraint is binding or
(Yes / No) not (see binding/not binding topic 174 )
Potential Includes or excludes the constraint in the potential calculations
(Yes / No)
GAP has the capacity to optimise the production from gas lifted wells by altering the
amount of gas lift gas injected into the well. If the gas lifted control has been
selected (refer to the Gas lift control 324 section) the constraints screen will display
new constraints relevant to gas lifted wells.
The following constraints are available for gas lifted wells control:
Maximum casing GAP locateensures that the difference between the calculated Casing
pressure differential Head Pressure between this and the associated Gaslifted well does
not exceed the entered amount. Two gaslifted wells can be associated
using the linking tool, see image below.
This option can be used to control DualSting Gaslifted wells (gas lift
gas is injected through a common conduit).
VLPs must be generated using the "Fixed Depth of Injection" option in PRO
for both wells.
Maximum gas GAP will not inject more gas lift gas than the entered amount
injection rate
Minimum gas GAP leaves the well shut in unless it deserves at least this volume of
injection rate gas to optimise production
NO-CLOSE Forces GAP to allocate this volume of gas irrespective of whether the
minimum gas well should be allocated gas to optimise production or not. Used to
injection rate model particular field operating practices e.g. to ensure flow stability
GAP has the capacity to optimise the production from diluent injection wells by
altering the amount of diluent injected in the well. If the diluent control has been
selected the constraints screen will display new constraints relevant to diluent
injected wells.
GAP has the capacity to optimise the production from artificially lifted wells that use
pumps to provide the supporting energy. The constraints screen will change
according to the type of artificially lifted mechanism in question (i.e. HSP, ESP etc)
As for natural oil producers these constraints are available through the Constraints | General
screen.
An additional feature in GAP is the ability to incorporate the performance limits of the pumps
which would be provided by the manufacturer (i.e. the upthrust/downthrust limits of an ESP
pump). These can be entered in the form of a table.
The following tables can be entered, according to the type of artificial lift system selected:
To enter these constraints tables, click the "Pump" subsection tab from the 'Constraints' menu,
as illustrated below for an ESP Well.
To enter abandonment constraints, click the 'Abandonment' tab of the constraints screen. On the
resulting screen, the user may enter abandonment constraints for the entire well or for individual
layers (in the multi-layer model).
Abandonment constraints are used as criteria to shut the well in during a prediction run. For
example, if one sets a maximum GOR abandonment constraint then the well will be shut in during
a prediction run if the produced GOR exceeds this value.
Maximum GOR
Maximum WC
Maximum WGR
2.7.3.2.4.3 Symbols
When setting 'Constraints', the program will plot in the network picture two arrows pointing
towards the element.
If the objective is to shut down a well if it cannot produce a minimum rate, then this can
be achieved by setting up an 'Abandonment Constraint' of minimum rate in the'
Abandonment' section. The abandonment constraints are designed to permanently
shut-in the well (i.e. mask the well) for the rest of the prediction when an abandonment
constraint has been reached (and cannot be re-opened using the well ‘Schedule’). For
example, if a maximum water cut abandonment constraint is entered, then the well will
be shut-in during a prediction run if the produced water cut exceeds this value. When
rate abandonment constraints are applied (i.e. Qoil_min/Qgas_min/Qliquid_min) and the well
has been made controllable, the well will be shut-in once the rate falls below the
abandonment value, provided that there is also no dP across the wellhead choke
determined by the RBNS/non-linear optimiser.
If the objective is to shut-in the well once it drops below a certain rate, and have the possibility to
reopen the well to flow again in the future (e.g. if the potential well rate increases, for instance,
due to compression facilities coming online), then this is best achieved using Visual Workflows
in RESOLVE.
2.7.3.2.5 Controls
The Controls section allows the user to specify choke settings and artificial lift controls (in the
case of an artificially lifted well).
2.7.3.2.5.1 Symbols
When activating a control (dP Control or Artificial Lift quantity control) the program will display the
following symbols in the network.
dP Control A thin solid red circle is set around the well icon.
If the circle is dashed the control is a 'Fixed Value'. If there is no circle then
there is no control on the well.
Artificial Lift A thin red square (rounded at the edges) is set around the well icon.
Control If the square is dashed, the control is set to 'Fixed Value'
If the square is solid, the control is set to 'Calculated'
2.7.3.2.5.2 dP Control
The "Control" section is where the well head choke controls are applied and in the case of
artificially lifted wells where the artificial lift controls are applied.
dP Control options
None There is no choke at the wellhead. Equivalent of having the well fully open
Fixed Value Allows the user to enter a fixed dP at the wellhead to model the effect of a
choke. The fixed pressure option applies the quantity specified in the field
as the wellhead choke dP.
Calculated GAP optimiser is used to calculate the pressure loss in the wellhead
choke to maximise production from the whole network while at the same
time honouring constraints.
Choke Calculation
Calculate choke If this option is ticked, the choke size will be calculated during network
size from dP solves and predictions and reported in the results. Please note that the
choke sizes will not be calculated until the solve network/prediction is
performed after enabling the option.
Choke Settings This button allows the choke model to be changed from the default choke
model. For some models, additional inputs will be required which can be
entered into this screen. Further information on the choke models can be
found in the PROSPER manual.
The choke defined in this section is at the end of VLP curves. If the curves include
pressure losses up to the wellhead, the choke is at the wellhead level. If the curves
include pressure losses in the downhole equipment and a flow-line up to a
manifold, the choke is then considered to be at the end of flow line.
In the 'Calculated' option , the results screen has a choke calculator, which allows the user to
estimate the choke setting that corresponds to the dP calculated using the Perkin' s choke
model (SPE 20633).
A range for the minimum and maximum gas lift gas injection rate can also
be specified
Fixed Gas The value of gas lift gas injection rate that GAP will use in calculations for
Lift Gas fixed gas lift gas rate.
Injection Rate
Fluid Properties The fluid properties of the injected gas lift gas are specified here. If a
compositional PVT modeling option is enabled then the composition of
the injected gas can be entered.
ESP Control
Diluent Control
Diluent Control
SRP Control
HSP Control
PCP Control
The only difference is that the Casing Liquid Level must also be defined which is used to
calculate the casing pressure. Note that the application of the CBM wells is demonstrated in the
examples . 1226
The 'Control' screen allows the user to change/define the gas lift source properties that are
associated with the well.
The source names are set up in the 'Injection Fluids' dialogue which can be accessed from the
'Options' menu. This menu can also be invoked by pressing the 'Edit List' button from the
"Control" screen.
Select the required gas lift source from the list of available injection fluids. The properties of the
source will be displayed for convenience in the 'Fluid Properties' area beside this option.
The composition of the source can be displayed by selecting the "Composition" button at the
base of the screen (when compositional tracking is enabled). This can only be edited through the
'Injection Fluids' screen. The colour of the button indicates the validity of the source composition.
Configure
By selecting the Configure option, the user can specify wells within the GAP model which are to
be controlled by the well currently open provided they share a common type of control (e.g.
Pressure Drop). This is equivalent to setting the Evaluated Control of the controlled wells to the
well currently open as outlined in Equipment Control Groups 648 .
First, the control mode should be chosen (Pressure Drop, Frequency etc.) and select continue.
Next, the wells to be grouped under the control of the currently selected well should be chosen.
Select Continue to apply the changes.
Ignore
When this option is enabled, the well is not considered to be a part of a control group and any
group controls will be ignored.
This screen allows to set choke values for the current well and the control for the artifitial lift
system of the well. It is the first tab of the well input screen.
For all the well types the dP Control is enabled (see below ), however depending on the type of
well selected the following options might appear:
Gas lifted
wells dP control None, or Fixed or Calculated wellhead choke dP
Gas Injection Fixed gas rate or calculated gas rate from minmum
Control and maximun values entered by the user
Gas lift fluid properties (the user cab enter and/or edit the injection fluid
properties)
ESP lifted
wells dP control None, or Fixed or Calculated wellhead choke dP
Pump Control Fixed Frequency (Hz) or calculated from minimum and
maximun values entered by the user
PCP lifted
wells dP control None, or Fixed or Calculated wellhead choke dP
Pump Control Fixed Pump speed (rpm) or calculated from minimum
and maximun values entered by the user
HSP lifted
wells dP control None, or Fixed or Calculated wellhead choke dP
Pump Control Fixed Pump speed (rpm) or calculated from minimum
and maximun values entered by the user
Power fluid properties (the user cab enter and/or edit the power fluid
properties)
Jet Pump
lifted wells Dp control None, or Fixed or Calculated wellhead choke dP
Pump Control Fixed power fluid rate or calculated rate from
minimum and maximun values entered by the user
Power fluid properties (the user cab enter and/or edit the power fluid
properties)
For the case of gas lifted, Jet pump and HSP wells, the properties of the fluid (gas/water /other)
can be edited and will be displayed under the fluid properties (see Injection fluid Source Data 104 )
The source names are set up in the fluid dialogue, which can be accessed from the 'Edit List'
button of this screen.
Select the required fluid source in the 'Enter Choice' drop down list box. The properties of the
source will be displayed for convenience in the 'Source Statistics' area below this.
Action Buttons
Composition This can be used to view the composition for the source that has been
chosen.
This option should be used with care, and only after considering the
possible effects of constraints elsewhere in the system.
Wells which have dP Control allowed will have a circle plotted around
them on the schematic diagram
2.7.3.2.6 PC Data
When the well mode is set to 'PC Interpolation' the 'PC Data' tab becomes available. This tab
contains all the information on the PC (ref. Summary screen for definition of PC 261 ), which can
be entered by hand or calculated on the basis of the well VLP/IPR.
The quality of the performance curves used can be verified by accessing the menu Results | Plot
Performance Curves, as shown in the following section 764 . This feature helps to validate if the
VLPs and IPR have been correctly generated.
2.7.3.2.6.1 PC Generation
This screen is used to generate a set of well performance curves using the VLP and IPR data
entered in the Well IPR Input 271 and Well VLP Input 310 screens. It is called from the Well PC Data
337 screen from the 'PC Generation' button.
Input Fields
The reservoir pressure, PVT quantities etc. are the same as those
entered in the well 'IPR Input' screen.
Command Buttons
The gas coning model is based on Urbanczyk, C.H. and Wattenbarger, R.A.: "Optimization of
Well Rates under Gas Coning Conditions," SPE Advanced Technology Series, Vol. 2, No. 2.
Although the model is based on physics (coning will be less if anisotropy is smaller), the model is
essentially empirical and should always be matched.
When enabled, the gas coning model replaces the calculation of GOR which is normally from the
relative permeabilities and saturations.
See the MBAL manual for more information on the theory behind the gas coning models.
Layer Selection This list box contains a list of all valid layers, along with the name of the
tank to which they are attached, and whether or not gas coning is set up
in the tank model. Select from the list the layer which requires the coning
model.
Mode Select this check box to enable coning for the layer. Coning will then be
applied in the prediction, provided that the coning data is validated
successfully. Two options are available:
Perforation Depths These are the same variables that can be accessed from the "IPR |
More..." tab. Enter the top and bottom perforation depths for the well
relative to surface.
Gas-Oil Contact The gas-oil contact depth tracked in the MBAL model during a
prediction run overwrites this field. It may be used following a snapshot
reload, or whenever a performance curve is regenerated outside of a
prediction to adjust the gas-oil contact depth from the tank model.
Matching Data/Test These are used to evaluate the coning coefficients F2, F3, and the
Data exponent. Enter up to 10 match points (liquid rate against producing
GOR) and test values for gas-oil contact, water cut, and layer pressure.
When the "Match" button is selected, the values for the coefficients will
be entered automatically into the dialogue fields.
Results The coning coefficients F2, F3, and the exponent may be entered by
hand (without performing a match). They must be present for the data to
be validated prior to performing a prediction run.
Note When the "Validate" button is selected, validation information for the
current layer will be displayed. The dialogue tab will be coloured
according to the validity of the entire data set. Any invalid or missing
fields in any layers will be picked up. Only those layers that have coning
enabled will be included in the validation.
2.7.3.2.8 Downtime
This screen is where the well downtime is entered for a prediction run.
The cumulative production from the reservoir is calculated from the instantaneous rate multiplied
by the well efficiency factor (100% - down time).
Use the buttons <<<Add and Remove>>> to create connections or disconnect a well from a
tank.
Multi-Layer Case
In this case, it is simply required to make connections using the two list boxes. The breakthrough
constraints and perforation depths are entered in the Well IPR screen.
Connected tanks are assigned to single layers of the model automatically. The tank name,
which has been assigned to a specific layer, is displayed in the Well IPR Input screen.
By default, the entered schedule refers to a forecast prediction. The transient simulation
schedule is activated by selecting the 'View/Edit Transient Simulation Schedule' option and is
independent of the prediction schedule. When setting up a transient simulation schedule, event
are defined based on a time since the transient simulation start time.
It is possible to schedule any variable to be changed using the variable OPENSERVER access
string.
In order to obtain an OpenServer string the user can use CTRL+ Right Click over any variable
and the OpenServer string along with the current value will be displayed.
For example, the OpenServer variable for the well productivity index is displayed below.
For the above choke diameter change, the results can be observed from the simulation results
section of the inline choke element - as shown below.
By selecting this option, GAP will automatically import the well deviation and downhole
equipment data specified in the PROSPER file into a equivalent well description in GAP (this is
similar to a pipeline description). If the system options prediction method has been set to
'Pressure and temperature - Gradient' then a local temperature gradient for the well will also be
imported.
Once the transient well has been setup, transient simulation results for the transient can be
viewed in the same manner as a transient pipeline element in GAP.
For more complex downhole equipment descriptions (e.g. multiple injection points, branches,
restrictions), the well segments can be replicated using a transient pipeline element.
GAP will automatically import the equivalent well deviation survey and downhole equipment
description from PROSPER.
For oil producer (gas lifted) well models, GAP will automatically import the deepest gas lift valve
depth specified. For oil producer (ESP lifted) well models, GAP will use the ESP data specified
in the PROSPER file. These specified pieced of equipment will be defined under the 'Transient
Fitting' segment type.
If the 'Allow Heat Transfer Coefficient Calculations' options have been enabled under the system
options, then users will also be able to defined detailed completion descriptions for heat transfer
coefficient calculations just like for a pipeline element.
The well environment screen is the same format as the pipeline environment screen and shares
the same functionality, further information can be found here 401 .
In order to replicate the geothermal gradient of the PROSPER file, the prediction method
'Pressure and temperature - Gradient' should be setup from the system options screen. This will
require a global temperature gradient to be defined in the flow assurance section.
If the PROSPER file has been setup with the rough approximation temperature model, GAP will
then automatically import the PROSPER geothermal gradient as a local temperature gradient. If
the 'Pressure and temperature - Gradient' option is not enabled then GAP will use the entered
average surrounding temperature. Further information on the 'Pressure and temperature -
Gradient' option can be found here 212 .
Please note that thermal data from enthalpy balance or temperature data (segment specific
overall heat transfer coefficient) from improved approximation will not be imported.
2.7.3.2.11.3 Transient Simulation
The simulation section will define the initialisation behaviour of the transient equipment. This is
the initial conditions (pressure, temperature, velocity) of the transient equipment at start of the
transient simulation calculation i.e. timestep zero of the transient simulation.
There are two methods available for initialisation: (1) Steady-State or (2) Static.
Steady-state:
This will initialise the transient equipment based on the results of a steady-state calculation - this
is determined by performing a solve network calculation.
If the solve network calculation cannot determine a steady-state mass and pressure balance in
the network, then this would suggest that an initial steady-state condition does not exist for the
current operating conditions. In this scenario, since transient calculations are time dependent
any subsequent transient calculations may not give valid results.
Static:
This will initialise the transient equipment based on a static fluid column i.e. zero velocity. If
simulating a well unloading process, the upstream pressure can be set to the static reservoir
pressure and the calculated downstream boundary pressure will represent the well shut-in
pressure.
Liquid Level The liquid level (TVD) will define the interface of the upstream and
downstream fluid.
Upstream/ This will define the upstream fluid from the upstream node and the
Downstream Fluid downstream fluid from the downstream node defined in the
description section.
Upstream/ The pressure of the calculated boundary will be determined based
Downstream Pressure on a static fluid column and the upstream/downstream pressure
entered.
Edit Fluids This will open the fluid library. New fluids can be created which will
become selectable upstream/downstream fluids.
Calculate This will calculate the pressure of the calculated boundary based on
the entered conditions. The static pressure profile will represent
shut-in, non-flowing conditions.
Plot This will visualise the static gradient based on initial conditions
entered.
VLP The dP along the wellbore is determined on the basis of VLP curves
PROSPER The dP along the wellbore is calculated using PROSPER online
These two options define the method by which the pressure drops in the Outflow part of the well
will be calculated, either using VLP tables or calculated “on the fly” using the PROSPER online
options. In the latter case, the well equipment and temperature options are defined inside GAP
and used whenever a pressure drop calculation needs to be performed as opposed to simply
looking up the pre-calculated pressure drops from the VLP table.
The IPR part of the well needs to be considered separately using an inflow icon, which is
described in the Inflow section 576 .
Only limited information is required in the outflow section related exclusively to the well outflow
performance(or VLPs). In the main GAP screen, the outflow only well is identified with the
following icon:
A VLP file can be imported if it already exists or can be generated using the "Generate" feature
from the GAP main screen (Please refer to VLP generation 616 section for details on the VLP
Generation).
The functions of this screen have already been explained in the previous section of this chapter.
The purpose of the Outflow Only – PROSPER model is to enable the user to specify the well
equipment in GAP, take advantage of the advanced features within PROSPER (thermal and flow
assurance) or import from an existing PROSPER file. The pressure drops in the well bore can
then be calculated whenever needed by GAP rather than using a look up table.
The advanced thermal and flow assurance options of PROSPER become available
in GAP for the pressure drop calculations.
The pressure drops are calculated with the PVT of the fluid that goes into the
wellbore, which may be changing over time. This is particularly useful in
multilayer systems in which the rate contribution from each layer changes
significantly over time (depending on the rate of depletion of each). When lift
curves are used, one can only assume the contribution of each layer and use
one set of PVT as the rate of depletion cannot be decided until a prediction is
carried out.
The well equipment can be setup in two ways, either imported directly from an existing PROSPER
file or entered directly in GAP.
This can be done by selecting the "Import" button, as shown previously. The program will then
prompt the user with a file browser where an existing PROSPER file can be imported.
Selecting "Open" will automatically transfer the equipment data from the PROSPER file into the
equivalent screens in GAP.
The correlations used in PROSPER along with the corresponding match parameters will also be
transferred, as seen from the screen above. One can then go through the screens (starting from
the "Options" in order to validate that the data transferred is OK).
Selecting "Options" will prompt the following screen from within PROSPER:
In this screen the 'Options' selected in the PROSPER file can be viewed.
The PVT used in PROSPER is transferred along with the PVT Matching parameters for the
different correlations.
The pressure drop calculations will be done based on the fluid entering the
well at every timestep. This PVT section is only used to match the
correlations that will subsequently be used to provide the PVT parameters
for the pressure drop calculations. The GOR and gravities entered here will
therefore be ignored during the calculations, only the matched (or original)
correlations will be used.
Here the user can specify the equipment which the pressure drop calculations will be based on.
This section is exactly the same as in PROSPER, with screens to enter the deviation survey,
surface equipment, the well equipment and geothermal gradient. Further screens will be made
available if the' Improved Approximation' or' Enthalpy balance' methods are selected.
The next section is related to erosional velocities and solids transport. Selecting the “Solids”
button will prompt the following screen:
Density of sand Used to calculate the maximum grain diameter that can be transported
based on the velocities in the well.
Sand production Will be used to determine the erosional velocities in the pipe using the
rate and S factor Conoco model (Improvement to API14 E)
C factor Will be used to compute erosional velocities based on the API 14E
recommendation. A value of 400 is the default as opposed to 100
recommended by the API as this was found by various researches to be
overly pessimistic. The user can still modify this value accordingly.
Turner Constant Used for liquid loading calculations. Turner proposed this constant to be
20.4 but after extensive testing using our mechanistic flow correlations,
we have found that 2.04 gives much more realistic results
These constants can be left to their default values or changed depending on the users'
engineering judgement.
The last section in the PROSPER on line data has to do with matching of the pressure drop
correlations:
In the case where test data is available, this can be entered and all the quality check and
matching features of PROSPER can be utilised to quality check the data and match a correlation
to reproduce measured field data. More information is available on this topic in the PROSPER
User Guide.
Having finished this section, the well summary screen can now be revisited to ensure that all the
relevant information has been entered.
Selecting the "Edit" button as opposed to "Import" will allow the user to enter the well equipment
data directly into GAP without the need to specify a PROSPER file.
This "Edit" button will prompt the 'Equipment screen' and all of the related sections described
above which can be populated with data.
In order to complete an 'Outflow only' well, one or more corresponding inflows need to be
specified. One example of a two layered system is shown below:
An example of how to set up a model with inflow and outflow elements can be found in the
Examples Guide 976 .
2.7.3.3 Well Results Screen
This screen contains all the results from network solves and prediction runs for the selected well.
To switch between different well results, use the list on the right hand side of the summary
screen.
Network Solver The results screen is divided into three sections. The first is the network
Results Screen solver results associated with the previously solved network calculation.
T
Simulation Results The second is the 'Simulation' results which is only valid if a transient
Screen run has been carried out:
Prediction The third is the 'Prediction' results which is only valid if a prediction run
Results Screen has been carried out:
While Normal will show a result for each time-step, the Customised option allows a filter to be
applied to show a different frequency of results than was actually calculated. Please note that if
the frequency requested is greater than the one used in the calculations (or dates are requested
which are different to the actual time-step dates) then the results displayed will be interpolated
from the real results.
2.7.3.3.2 VLP/IPR PlayBack
This option allows the user to 'play back' the VLP/IPR intersection of the well during a prediction.
It can be activated by selecting the 'View VLP/IPR' button on the results panel - as shown below.
Please note that a prediction must be run in IPM 11 prior to using the 'play back' functionality.
The new 'VLP & IPR Prediction Data' window will contain all the VLP/IPR solutions of the well
from the prediction. 'Charge start date' will change the start date of the VLP/IPR playback.
'Plot' will open up the VLP/IPR playback plot.
In the plot window, the play/pause button will start the playback animation. The stop/reset
button will reset the animation to the initial start date.
Selection of this option will prompt the 'Gradient calculation' screen from PROSPER and display
The results can either be viewed as the total, which is the combined effect of all of the layers, or
the results can be viewed on a layer by layer basis. To visualise the layer results select the
"Layers" button from the "Prediction" tab.
Crossflow is calculated based on the IPRs of each layer. A crossflowing layer will be
displayed with negative rates in the layer results.
If results need to be exported to Excel, the "Clipboard" and "Tab Delimited" formats should be
selected. Selecting “Run Report” will then allow the program to place the results on the clipboard
which can then be pasted into Excel.
In GAP, separators are nodes where the pressure is fixed regardless of the rate going through
them. It does not necessarily have to represent an actual separator in the field. It can represent
any fixed pressure point in the system.
In a single GAP model there can be multiple separators defined, each with their own fixed
pressure value and their own independent constraints.
For systems with more than one separator, make sure that each separator has a
different name to enable easy identification in reports.
The pressure of the separator(s) is not specified in the separator element itself. It is
set under the 'Solve Network' or 'Prediction Forecast' screens. It is imperative that a
pressure is entered as it represents the boundary condition and cannot be solved
without it.
The following help section is valid for both production separators and injection manifolds. The
input screens do differ between the types of manifolds however the differences are explained in
the duration of the document.
Double clicking on the separator icon will provide access to the separator summary screen.
There are three sections, which are listed below:
Summary Screen This allows the selection of different separator types, and also gives the
status of various aspects of the separator input data.
Input Screen Includes tabbed screens for the following input fields:
Constraints
Separation ( Only for production separators)
Injection source ( Only for gas, water and steam injection
manifolds)
Schedule (Only if prediction selected in main option)
Results Screen Contains the following fields:
Network Solver Results
Simulation Results
Prediction Results
The separated fluids can be picked up and sent through separate networks
to other separators. This operation can be done using sources connected
to the separator icon, as shown below. The source can be defined as
separator oil, gas or water to pick up the corresponding phases. This
means that up to three sources (one for oil, gas and water) can be
connected to a single separator.
Input Fields
Please refer to the section above 261 for description of these options.
Separation Type With this option the user defines whether the separator is
Production Separator
Water Injection Manifold
Gas Injection manifold
Steam Injection Manifold
Oil Injection Manifold
LNG Process Plant
Data Summary This field contains the summary of the data that is needed in the input
Area screens. This also indicates if the current data is valid or not. In the case
of an injection manifold there is an input field to define the source of the
injected fluid.
To modify the fluid properties select the Edit List button shown above.
The Calculator utility can be used to understand the steam quality based on the prevailing
steam generation plant discharge pressure, where the enthalpy can be changed to understand
the required steam saturation temperature when combined with the injection manifold pressure
to obtain the required steam quality.
The steam Injection manifold is selected from the 'Separation Type' drop down menu.
A steam source needs to be created in the 'Injection Fluid' tab, using the "Edit List" button.
In this dialogue there is the option to create a fluid stream of steam. The quality of the steam
needs to be entered to define the thermodynamic state of the fluid.
The steam calculator can be used to calculate the steam properties at different conditions of
temperature, pressure and enthalpy. The steam calculator can been accessed either from the
Steam Calculator
The option "Calculate Range" is used to calculate the steam properties over a range of different
pressure and temperature values. The option "Calculate Single" is used to calculate the steam
properties for a given pressure and enthalpy .
Calculate The following screen is used to enter the temperature and pressure ranges to
Range calculate the steam properties.
Calculate Entering the pressure and enthalpy into the steam calculator will calculate the
Single steam properties at these conditions.
2.7.4.2.3 Constraints
Constraint parameters are optional. They may be used to enter specific production, injection or
physical constraints at the separator. Selecting the constraints tab of the input data section will
display the following screen:
Constraints should not be entered until the entire GAP model has been validated against
measured production data (provided this is available).
When constraints are active for any node in the system, the constraint symbol (two inward
pointing red arrows) is shown above the icon (see figure).
This is same for any other piece of equipment with constraints in the system.
Separate constraints are available for the 'Total Gas' through the separator (i.e. sum of produced
and gas lift gas) or produced gas only. System constraints which refer to the total combined
production of all the separators in the system, are entered under Constraints | System
Constraints in the main menu. Please refer to the Constraints 170 tables section for details.
reporting the mass rate of LNG, Fuel & Flare and Condensate produced at the LNG plant.
Populate from This option will transfer all of the component names (i.e. C1, C2 etc.) from
solver results the solver results. The user can then enter the LNG fractions for each
component.
Populate from PRP This option will transfer all of the component names (i.e. C1, C2 etc.) from
file a .PRP file. The user can then enter the LNG fractions for each
component.
2.7.4.2.5 Schedule (ONLY for prediction)
Scheduling is used during the prediction to change the constraints or to include or exclude
equipment in the system at a specific date during the forecast. The application of schedules is
the same for every element in the system. Please refer to the section above 342 for a description
of the feature.
2.7.4.3 Separator Results Screen
The separator results for network solver, simulation and prediction all follow the same reporting
format as other equipment items. Further details on the results screen can be found in the
Additional Results:
Production separators will report the number of active producer wells in the network.
2.7.5 Joints
The joint is a point in the network where two or more pieces of equipment are connected. Each
joint is a calculation point within the GAP the network and the solver will try to achieve pressure
and mass balance at every node and joint in the system.
This following section describes the possible input options for joints.
Like any other equipment entry the joint data entry screen has three sections (as explained in
the Equipment data 252 section).
The summary screen for all of the equipment nodes are similar and as such its contents do not
need to explained here. Please refer to the Separator Summary 372 screen section for further
details.
Lumping Rule (Present only when Compositional PVT is enabled) It defines which lumping
rule is adopted for the fluid flowing through the joint
The tabs conform to a general colour-coding scheme which is consistent throughout GAP.
Green indicates that the data associated with the screen is valid
Red indicates that the data is not valid.
When the tab is greyed out, the tab is not accessible.
Joint constraint parameters are optional. They may be used to enter the specific production
constraints of a joint and the pipeline it feeds into. Joint constraints are entered on the following
dialogue box:
Enter the maximum levels of production that GAP can use while optimising production. These
are usually determined by the physical or mechanical constraints of the manifold or associated
pipes.
When left blank, the program assumes there are no constraints for this item.
2.7.5.2.2 Schedule
Scheduling is used during the prediction to change the constraints or to include or exclude
equipment in the system at a specific date during the forecast. The application of schedules is
the same for every element in the system. Please refer to the section above 342 for a description
of the feature.
Additional Results:
The solve network results for a joint element will report the in-situ rates of oil, water and gas at
the joint pressure/temperature using the upstream fluid PVT configuration (e.g. system defaults,
PROSPER PVT matching).
The in-situ rates will be reported at joint elements in the network which are downstream of a
pipeline with pipe data automatically - as shown below:
The in-situ rates are populated by going to Results | Propagate In-situ Rates - as shown
below:
This will open a new window with the pressure gradient of the all the flowlines.
It is also possible to plot the gradient between two selected nodes in the network. This is
illustrated below:
Use the select button and click on two joints in the network. Selected joints will be highlighted
with a blue circle - as shown below.
From the main menu navigate to Edit | Selected Items | Show gradient between two
selected nodes
This will open a plot window with the pressure gradient between the two selected nodes
The created fluid will be automatically saved to the injection fluids library with the fluid label
'ResXX' - as shown below.
2.7.6 Pipelines
Pipeline connections are represented by blue pipe segments drawn across the centre of the line
connecting two joints.
Connections between joints and elements have no input screens. For example, a connection
between a joint and an injection manifold (refer to Case 2 in figure below). For GAP calculations
there are no pressure drops across these types of links.
The figure below attempts to reinforce the above statements. Case 1 illustrates a link between
two joints which creates a pipeline element. Provided there is a pipeline description then GAP
will calculate a pressure drop across this type of link. Case 2 shows the link between a joint and
an injection manifold. In this case there is no associated pressure drop in the calculations.
The pipeline data entry/results screen has three sections (as explained in the Equipment
Summary section 252 ).
Summary This screen provides a summary of the method used to calculate pressure
Screen drops, the input data and the flow correlation in for the pipeline. See the
following section for further details
Input Screen Depending on the calculation method used, the required input data will
change. Please refer to the sections below on the data required for each
method
Results Contains the following fields:
The pipe summary screen is displayed by default when double-clicking on a pipe icon in the
system window.
Input data
Pipe Type
Pressure drops in the pipe can be calculated using three options.
GAP Internal Multiphase flow correlations are used for the pressure drop calculation.
Correlations This is the recommended modelling approach.
Lift Curves Sets of VLP curves can be imported (for example from PROSPER or from
GAP Internal Correlations themselves)
PROSPER on line PROSPER is called from GAP and is used for the pressure drop
calculations.
Correlation The selected multiphase flow correlation will be used for pressure loss
calculations
Gravity Gravity correction value associated with correlation matching
Coefficient
Friction Gravity correction value associated with correlation matching
Coefficient
Rate Multiplier A rate multiplier of 0.5 would imply that the pipe element was twinned,
eliminating the need to defined an additional pipeline element
Flow Type Pipe flow path can be set to either tubing or annular flow
Calculate Heat When selected the detailed pipe walls for thermal modeling become
Transfer available, as well as the option to tell GAP if a pipeline or well is being
Coefficient defined
Options on the summary screen will change depending on the method used. The following
sections will describe each of these in detail.
2.7.6.2 Pipeline Input Data (GAP Internal Correlations)
GAP Internal Correlations require a description of the surrounding environment and pipeline
geometry in order to calculate the pressure drop along a section of a pipe. If the calculation
method has been set to Pressure and Temperature - Gradient in the main Options screen 95
then either global or local temperature must be set for the pipe Environment data for fluid
temperature calculations to proceed. All other data entry is optional.
Please note that GAP Internal Correlations calculation method is the recommended
approach for modelling pipelines in G A P.
This method calculates the pressure drops “on the fly” using the internal PVT and pressure drop
correlations of GAP.
Import This option allows the user to import a .out Pipeline only PROSPER file
or .psm file created in Pipesim
Correlation Select from the drop-down list the correlation to use in the calculation of
the pressure drops. In the presence of match data, then the correlation
selection will depend on the correlation that gives the closest match.
Correlation These fields display the gravity and friction coefficients that are used in
Coefficients the calculation of pressure drops. These coefficients are calculated when
the user performs a 'Match' calculation. For the ideal case of a
correlation that matches the measured data exactly then both parameters
should be 1 (the coefficients are multipliers).
Oil Viscosity The oil viscosity correlation can be selected for each pipeline
Correlation independently of the default oil viscosity correlation specified in the
'System Settings' (Edit | System Settings). The following correlations are
available:
Beal et al
Beggs et al
Bergman-Sutton
Egbogah et al (heavy Oil)
Petrosky et al
De Ghetto et al (heavy oil)
Oil Pb, Rs, Bo The Bubble Point, Solution Gas Ratio, and Oil FVF correlations can be
correlation selected for each pipeline independently of the correlations entered by
default under the 'System Settings' (Edit | System Settings). The
following correlations are available:
Al-Marhoun
Glaso
Lasater
Petrosky et al
Standing
Vasquez-Beggs
Gas Viscosity The gas viscosity correlation can be selected for each pipeline
Correlation independently of the default gas viscosity correlation specified in the
'System Settings' (Edit | System Settings) The following correlations are
available:
Carr et al
Lee et al
Emulsion It is possible to account for the effects of emulsion on fluid viscosity by
ticking the 'Emulsion' box. Once selected, a list can be accessed and
edited, that takes into account any emulsion viscosity data.
Lumping (active only when compositional model has lumping allowed) This option
Calculation allows the user to specify which composition to use for the main
Mode calculation. if <System Default> is selected, the program will use the
Lumped or the De-Lumped composition as specified in the menu
Options | Method
Slug Method This will define the model used for calculating slug characteristics when
performing a flow assurance/gradient calculation for the pipeline.
Transient This will enable transient flow calculations for the pipeline element and
will change the pipeline colours as shown below:
Description This will define the main orientation of the pipeline element in the
(Pipeline or Well) completion description tool when calculate heat transfer coefficient is
enabled i.e. Pipeline - Horizontal and Well - Vertical
Data Summary This shows the status of the various aspects of item data which are
Area described in the following sections.
The following dialogue displays the Environment screen which is related to the fluid temperature
calculations.
Heat Capacity Average heat capacities for Oil, Gas and Water.
Use Local Gradient This option is selectable if 'Pressure and temperature - Gradient' has
been enabled from system options 95 . This allows entry of a local
surrounding temperature gradient that is independent of the global
surrounding temperature gradient.
The burial depth is the distance between the soil surface and the
bottom of the pipe (including insulation, if present). The pipe is
partially buried if the burial depth < O.D. of the insulated pipe.
Ensure that the flowline pipe geometry is consistent with the pipe burial d
If necessary, insert another node and change the burial depth for examp
riser.
The soil conductivity around buried surface pipes is taken from the 'Th
Properties' database for the shallowest rock type entered in the Lith
screen.
Use Pipeline Burial This option is selectable if 'Allow Heat Transfer Coefficient
Calculations' has been enabled from system options 95 and the
pipeline description has been set to 'Pipeline' in the summary screen
398 .
The burial depth is the distance between the soil surface and the
bottom of the pipe (including insulation, if present). The pipe is
partially buried if the burial depth < O.D. of the insulated pipe.
Ensure that the flowline pipe geometry is consistent with the pipe burial d
If necessary, insert another node and change the burial depth for examp
riser.
The soil conductivity around buried surface pipes is taken from the 'Th
Properties' database for the shallowest rock type entered in the Lith
screen.
In this entry screen, begin at the top and work downwards to enter the data, as shown in the
following example.
Segment Type Enter the type of pipe or choke in this section. The
available options are:
Line Pipe
Choke
Coated
Flexible
Fitting
There is also the option to define the pipe topography based on the
elevation change as apposed to the TVD depth. This is achieved through
the option "Segment elevation change".
In the this case the elevation depth is always referenced from the
downstream node within the pipeline segment. This means it is not
possible to check if the dimensions of neighbouring pipeline segments are
consistent and therefore this option is not recommend.
Diameter Enter the specified diameter of the pipe. The outside diameter may be
required for annular flow type or heat transfer coefficient calculations.
Roughness Enter pipe surface roughness. The default value of 0.0006 inches is a
value that has shown to work well over a wide range of different pipes and
tubings. The value is based on experience and may not be applicable for
every case however if necessary it can be modified by the user.
Fittings In the case where fittings are selected as part of the pipe equipment the
program will prompt a secondary screen.
Where:
HL = Velocity Head
K = Resistance coefficient
v = velocity
g = constant
If a fitting cannot be found in the database then the user can specify a
custom K value.
Pipe Material This describes the main pipe material (i.e. the innermost layer) for line,
coated and flexible segment types. Additional layers on the main pipe
segment can be described from the 'Heat Transfer' button.
The elevation of the surface pipelines connected to each well must be entered with
respect to a common reference in GAP. For consistency and ease in troubleshooting, we
recommend that the user should enter all the depths in both PROSPER and GAP using the
same reference point.
Chokes are included in the pipeline data input section only to model a fixed restriction in
the pipe. If the choke setting can be changed and is a control mechanism used in the field
then it should be modelled as an inline choke element so that it can be incorporated into
the optimisation problem.
Enter This option will define if the pipeline elevation change is entered in terms of
elevation as TVD change or individual segment elevation change.
Transient This option will define the maximum step length used for transient calculations.
Pipe Step
Specify Step This option will allow the user to specify individual step lengths for each
Length by segment in the pipe description.
Segment
Flow Type Either tubing flow or annular flow can be modelled. If the annular flow option is
selected, it is required to enter the outer tubing information (roughness and ID)
as well as the casing inside diameter (roughness and ID).
Calculate Enabling this option will activate the 'Heat Transfer' button which can be used to
Heat Transfer add additional material layers to the pipeline element e.g. annulus, insulation.
Coefficient See Pipe Environment 401
Rate MultiplierMultiplies the pipeline fluid velocity by this value. The option can be used to
model pipelines flowing in parallel. For example, two identical parallel pipes
can be modelled as a single pipe (of the same diameter) with a rate multiplier
of 0.5.
Maximum This is the iteration length used in the calculation of pressure drops over a pipe
Length Step length. This should not need to be altered unless the pipe under consideration
is particularly long or has complex geometry.
Transient When the transient option is enabled the step length will define the frequency
Result Data of the transient results reported in 'Show Transient Results...'
Sampling
Correlation/ Select an appropriate pipeline correlation from those available. The correlation
Coefficient that is selected will be used in subsequent build operations, and if the
correlation has been matched to existing data the calculated coefficients will
also be incorporated (see below). The user may edit the coefficients by hand if
required.
Swap Nodes This button can be used to swap the inlet (upstream) and outlet (downstream)
joints of a pipe element. Note that the labels of the upstream and downstream
nodes are displayed. This display is very useful when handling complex
networks.
The white arrows in the pipeline icon denote the upstream and downstream
direction of the pipeline. The node at which the arrows are pointing towards is
the downstream node and the node they are pointing away from is the
upstream.
In the example below, 'Sep Joint' is the downstream joint and this corresponds
to the TVD in the first row. The upstream joint 'Manifold_B' refers to the bottom
row (5) of the description.
Heat Transfer This option will open the completion description tool. Further information can be
found here.
Match Click on this button to perform a pipeline matching to the available multiphase
correlations. The button will be coloured green if there is no match data present
(blue otherwise).
COPY, Select the row number of the desired pipe element(s) and click on particular
PASTE, CUT, button to perform the appropriate task.
INSERT,
DELETE
ALL This option can be used to select all the rows in the pipe element
INVERT This option can be used to select all the points excluding the currently selected
row.
When GAP detects steam in the system (either coming from a source or an injection
manifold), the U-value needs to be specified at the "Segment Type" level for all the
pipelines in the system as the "Improved approximation" temperature model is used by
default.
A pipeline is created every time 2 joints are linked. The elevation of the surface pipelines
connected to each well must be entered with respect to a common reference in GAP. For
consistency and ease of troubleshooting we recommend that the user should enter all of the
depths in both PROSPER and GAP using the same reference point.
Please note that the above configuration can be merged into one single pipe element.
This will speed up the calculation since the are fewer elements interconnected in the
system and in some cases avoid confusion with the linking nodes reference. However,
the following network description is still valid and more applicable for demonstration
purposes.
The upstream and downstream ends of the pipeline are defined by how the link is created. The
first joint that is selected when the link is created corresponds to the upstream node. The
direction of the white arrows is also an indication of the upstream and downstream definitions.
For example, the node at which the arrows are pointing towards is the downstream node and the
node they are pointing away from is the upstream.
The upstream and downstream definition is not related to the actual flow direction (indicated by a
black arrow inside the pipe element), as this is governed by the pressures in the system.
When describing the pipelines the user should always create the pipelines so that the upstream
and downstream arrows follow the direction of flow. In a production system the arrows should
point from the reservoir towards the separator. The reverse would apply in an injection system.
When describing the pipeline, the first row in the description screen corresponds to the
downstream joint. In this example the joint J2 ends at 13 ft (downstream) and the pipe upstream
start at 0 feet
When describing consecutive pipelines, one should make sure that the connecting nodes have
consistent TVDs. The downstream end of one pipe element should be consistent with the
upstream end of the connecting pipe element. In this example the linking node is J2 and notice
that the downstream TVD of Pipe 1 is consistent with the upstream TVD of Pipe 2.
To change the definition of the nodes click on the ‘Swap Nodes’ button.
This tool will only be available if 'Allow Heat Transfer Coefficient Calculations' have been
enabled from system options and 'Calculate Heat Transfer Coefficient' has been selected in the
pipeline environment/description input screens.
The tool automatically imports the description (Line Pipe, Coated, Flexible) from the pipeline
description input screen. These segment lengths and dimensions are not editable in the tool.
Choke and fitting segment types will be ignored.
The completion description inputs allow additional layers of material to be added to the main
segment imported from the pipeline description input screen. These material layers created are
all displayed visually on the interface and on the top right panel.
Add/Remove This can be used to add/remove additional material layers which are
considered for the overall heat transfer coefficient calculation.
Drop Down Menu (ID, This can be used to sort the list of material layers displayed in the top
Label, Material/Fluid)
right panel.
Label This is the description used to identify the material layer in the top right
panel.
Material This defines the material thermal properties (Conductivity, Heat
Capacity, Emissivity) used to calculate the heat transfer coefficient of
the material.
Annulus Models
Conduction Only
o This will capture heat transfer due to conduction and radiation to the surroundings.
Convection
o This will capture heat transfer due to conduction, convection in the annulus and radiation to
the surroundings.
Advanced Convection (GAP Transient Simulation Only)
o This will capture heat transfer due to conduction, both free and forced convection and
radiation to the surroundings.
Further information on the annulus temperature models can be found in the PROSPER User
Guide Appendix.
Fluid 1/Fluid 2 From the defined liquid level, Fluid 1 is used to defined the
downstream fluid and Fluid 2 is used to upstream fluid. The
selectable fluids are defined in the fluid library.
Liquid Level The static liquid level in the annulus that defined the partition between
Fluid 1 & Fluid 2.
CHP Casing head pressure. This is the initial casing head pressure that is
used to determine the mass of the fluid 1 and fluid 2 in the annulus
based on the specified liquid level. During a transient simulation, the
annulus pressure change required to balance the annulus
temperature change will be calculated.
Choke Size Casing head surface choke size for gas venting in the annulus. If a
choke size of 0 is entered then it is assumed that it is assumed that
all the mass in the annulus is conserved. If a choke size is entered,
then the calculated CHP, specified choke size and downstream
pressure will be used to determine the gas vent rate.
Downstream Casing head surface choke downstream pressure. This is a fixed
Pressure pressure boundary condition downstream of the gas vent valve.
By matching the pipeline pressure losses to real data, an accurate integrated model can be built
all the way from the reservoir, to the wells and through the gathering system up to the production
separator.
The engineer should treat the pipeline matching with care, especially when dealing with
multiphase mixtures flowing in long undulating pipelines where the field measurements
are taken at relatively large distances from each other. This because the pressure
measurements may not correspond to the measured rates due to the combined effect
of compressibility and the time taken for the fluid to flow between the meters. In such
cases, pipelines can easily be matched to erroneous data.
Pipeline pressure drop matching is not compulsory for carrying out production rate or gas lift
allocation calculations. If field data is available then it is possible to match the pipeline pressure
data with the pipeline models in GAP but the user must use this option with care.
A non-linear regression technique is used to adjust the selected pipe correlation parameters to
match the measured pressures. To begin the matching process, click on the Match button in the
pipe description screen. The following screen will be presented.
To enter the pipeline match data, carry out the following steps:
Ensure that the rate type selected is the same as the test data. Choose either liquid rates
or oil rates.
Enter the test points in the grid columns (up to 10 points may be entered). Match rows
can be removed or included in the regression by selecting the row and then clicking
enable or disable as required.
After the data is entered, click on 'Match' to proceed with the calculation.
Click 'Match' from the pipe match data entry screen which will prompt the following
dialogue.
Select the required correlations to match from the provided list. For horizontal flowlines,
use pipeline correlations (i.e. PE5, OLGAS etc.) and for vertical flowlines (e.g. platform
risers) select a vertical flow correlation (PE 2).
Click 'Match' to perform the regression (up to 300 iterations are possible). The results of
the matching can then be viewed by clicking the 'Statistics' command button, as shown
below.
In this screen, the 'Reset' button resets the fitting parameters for the given correlation to their
defaults. Similarly, 'Reset All' resets coefficients for all of the correlations.
The match parameters represent the corrections to the friction and the gravity that were required
to achieve a match. Parameter 1 is the gravity correction and Parameter 2 corrects the friction.
The calculated parameters for the selected correlation are used in any subsequent pressure
drop calculations.
The gravity loss is zero for horizontal pipelines therefore the gravity term cannot
be matched. In such cases, Parameter 1 is left set to 1.0. Refer to the PROSPER
manual for more details on the matching procedure.
Repeat the matching procedure for each pipe until all pipes have been matched to real data.
Provided that this step has been carefully carried out, the overall model should not require further
adjustment in order to match the measured production and pressure data.
As yet, no single correlation performs better than others for all flow conditions.
Fancher Fancher Brown is a no-slip hold-up correlation that is provided for use as
Brown a quality control. It gives the lowest possible value of pressure drop as it
neglects gas/liquid slip and should always predict a pressure which is less
than than the measured value. Even if it gives a good match to measured
downhole pressures, Fancher Brown should not be used for quantitative
work. Measured data falling to the left of Fancher Brown on the correlation
comparison plot indicates a problem with fluid density (i.e PVT) or field
pressure data
Hagedorn performs well in oil wells for slug flow at moderate to high production rates
Brown (well loading is poorly predicted). Hagedorn Brown should not be used for
condensates and whenever mist flow is the main flow regime. It under
predicts pressure drops at low rates and should not be used for predicting
minimum stable rates
Duns and Ros usually performs well in mist flow cases and should be used in high GOR
oil and condensate wells. It tends to over-predict VLP in oil wells. Despite
this, the minimum stable rate indicated by the minimum of the VLP curve
is often a good estimate
Duns and is the original published method, without the enhancements applied in the
Ros Original primary Duns and Ros correlation. The primary Duns and Ros correlation
in PROSPER has been enhanced and optimised for use with
condensates
Petroleum correlation combines the best features of existing correlations. It uses the
Experts Gould et al flow map and the Hagedorn Brown correlation in slug flow, and
Duns and Ros for mist flow. In the transition regime, a combination of slug
and mist results are used
Petroleum includes the features of the PE correlation plus original work on predicting
Experts 2 low-rate VLPs and well stability
Petroleum includes the features of the PE2 correlation plus original work for viscous,
Experts 3 volatile and foamy oils
Petroleum is an advanced mechanistic model suitable for any angled wells (including
Experts 4 downhill flow) suitable for any fluid (including Retrograde Condensate).
Especially good for pipeline pressure drop calculations and instability
calculations (detecting the conditions at which instability will occur)
Petroleum is an advancement on the PE4 mechanistic correlation. PE4 showed
Experts 5 some instabilities (just like other mechanistic models) that limited its use
accross the board. PE5 reduces the instabilities through a calculation that
does not use flow regime maps as a starting point.
PE5 is capable of modelling any fluid type over any well or pipe trajectory.
This correlation accounts for fluid density changes for incline and decline
trajectories.The stability of the well can also be verified with the use of
PE5 when calculating the gradient traverse, allowing for liquid loading,
slug frequency, etc. to be modelled
Beggs and is primarily a pipeline correlation. It generally over-predicts pressure
Brill drops in vertical and deviated wells
Note that the GRE (with decaying slug model) correlation is unidirectional. This means that in an
allocation calculation the pressure drop calculation method (as specified on the Method screen)
reverts to forward only, with the resulting increase in the calculation time.
Command Buttons
All Selects (or unselects) all the correlations of the list box
Match Use this button to perform the Match calculation
Main Use this button to leave this screen saving the data and return to the main
screen
Ok Use this button to leave this screen saving the data
Statistics Use this button to access the Parameters screen
Help Use this button to access this screen
2.7.6.2.5 Constraints
In this section the user can apply constraints to the pipeline such as maximum mixture velocity, C
factor and line pressure. Please note that constraints on rates can be applied at either of the
nodes that define the pipeline element.
There are two methods available for initialisation: (1) Steady-State or (2) Static.
Steady-state:
This will initialise the transient equipment based on the results of a steady-state calculation - this
is determined by performing a solve network calculation.
If the solve network calculation cannot determine a steady-state mass and pressure balance in
the network, then this would suggest that an initial steady-state condition does not exist for the
current operating conditions. In this scenario, since transient calculations are time dependent
any subsequent transient calculations may not give valid results.
Static:
This will initialise the transient equipment based on a static fluid column i.e. zero velocity. If
simulating a well unloading process, the upstream pressure can be set to the static reservoir
pressure and the calculated downstream boundary pressure will represent the well shut-in
pressure.
Liquid Level The liquid level (TVD) will define the interface of the upstream and
downstream fluid.
Upstream/ This will define the upstream fluid from the upstream node and the
Downstream Fluid downstream fluid from the downstream node defined in the
description section.
Upstream/ The pressure of the calculated boundary will be determined based
Downstream Pressure on a static fluid column and the upstream/downstream pressure
entered.
Edit Fluids This will open the fluid library. New fluids can be created which will
become selectable upstream/downstream fluids.
Calculate This will calculate the pressure of the calculated boundary based on
the entered conditions. The static pressure profile will represent
shut-in, non-flowing conditions.
Plot This will visualise the static gradient based on initial conditions
entered.
The emulsion correction will override the standard viscosity calculation based on the viscosity of
the water and the oil in the pipe. It is based on the Woelflin correlation which can be matched to
measured data.
Selecting the “Emulsion” checkbox will lead to the activation of the "Edit List" button. This
feature allows the user to create multiple emulsion corrections that can be applied to different
flowlines in the system. Selecting the "Edit List" button, will prompt a form which allows the
different models to be defined.
The implemented default values of P1 = 1, P2 = 2.5, P3 = 14.1 are based on the equation
presented by Smith and Arnold.
In the laboratory, stable emulsions can be prepared from many crude oil/water systems. Field
experience shows that the effect of emulsions is usually less than predicted by laboratory tests.
Emulsion PVT should be used with caution and only when it is certain that emulsions are present
and it is necessary to evaluate their effect on calculated pressures.
Emulsion viscosity will replace the mixture viscosity for selected elements of the production
system. Experimental or empirical data can be entered and curve-fitted using a non-linear
regression. The emulsion model is used to determine oil viscosity multipliers as a function of the
water cut which are used to modify the mixture viscosity in pressure drop and pump calculations.
When selected, the oil viscosity will be factored according to the emulsion model which will then
be used in the calculation of the mixture viscosity.
The "Oil Viscosity multiplier" is modelled as a function of water cut in 3 stages, as shown below.
Stage 1
Sharp increase at low water cut (WC), which is determined using the equation below.
Stage 2
Plateau with a constant oil viscosity multiplier for intermediate water cuts, which is determined
using the equation below.
The parameters Left and Right Water Cut for Maximum Viscosity (WC1 and WC2) define the
plateau region.
Stage 3
‘Tail’ that declines from the end of the plateau to the viscosity of water (at 100% water cut). This
is a proprietary model which is a function of the water viscosity, oil viscosity, WC1, WC2, P1, P2,
P3 and P4 parameters. As stage 3 is a function of oil/water viscosity, the shape of the curve is
thus dependent on the fluid PVT as well as the pressure/temperature which the fluid PVT is
evaluated at. Therefore a reference fluid PVT as well as reference pressure/temperature are
required to create the emulsion plot.
The reference oil and water viscosity used to determine the oil viscosity multiplier in stage 3 of
the emulsion plot (which is used to obtain the matching parameters) are calculated at 60 °F and
14.696 psia. The PVT used to determine the reference oil/water viscosity is based on an oil
description from the 'Injection fluids' library, using the black oil correlations selected in the
‘systems settings’.
If no oil fluid is present then default values are used:
o Oil gravity = 35 API
o GOR = 500 scf/STB
o Gas gravity = 0.7 sp. gravity
o Water salinity = 0 ppm
o No impurities
If there is more than one oil fluid type in the 'Injection fluids' list, then the user will be given
the choice of which to use (when ‘Plot’ is clicked)
If a composition is present it will use the black oil properties of that fluid
When the regression has stopped, click 'Plot' to display the matched mixture viscosity.
The above regression will only match the first part of the curve (highlighted in blue) using
parameters 2 and 3 to fit the data. For the viscosity correction applying to water cuts above the
right plateau limit (highlighted in red), an exponential decline is implemented that needs to be
matched manually using parameter 4.
Once the viscosity model has been matched to the emulsion data it can then be applied to one,
some or all the pipelines in the system.
References:
1. Woelflin, W., "The Viscosity of Crude-Oil Emulsions", American Petroleum Institute, Drilling
and Production Practice, New York, 1942
2. Smith H.V., Arnold, K. E. "Crude Oil Emulsions" Chapter 19, Petroleum Engineering
Handbook, H. B. Bradley, SPE, Richardson, Texas, 1987
When the lift curve option is selected, the user needs to choose a model for generating the lift
curves.
The lift curve options should be handled with care and are generally not recommended
for modelling the pipeline pressure drops. The fundamental reason for this is because
of the PVT. The lift curves have to be generated for a constant PVT which for most
pipelines is not a valid assumption as the type of fluid flowing through the lines can
change very heavily as the relative proportions of the commingled fluids coming from
different wells changes over time. The recommended approach is to use the GAP
Internal Correlations as these will handle any change in the fluid properties and there
will be no interpolation errors which are inherent in the pipeline lift curves.
2.7.6.3.1 External
This option allows the user to enter a lift curve file that has been externally generated (in
PROSPER for example). The file can then be imported by selecting "Lift Curves" from the data
summary.
The user can then browse for the relevant file from the following screen.
The "Import" button will prompt a menu for selecting a variety of file formats.
The file can have the following extensions (as shown above):
*.tpd
*.mbv
*.ecl
*.vfp
*.snr
The *.tpd and *.mbv files can be generated by PROSPER. The difference between the two is that
the *.mbv file does not contain any temperature information and should ideally be used only with
a prediction in the MBAL software (as there is no surface network to carry temperature
information through). The .ecl and .vfp formats are recognised by the Eclipse simulator. The .snr
format is recognised by the Sensor simulator.
Selecting one of these appropriate files will be imported into GAP and automatically converted
into a *.vlp file. This is a binary file that GAP will use in the calculations. If this file already exists,
then it can be imported by using the "Browse" option instead of the "Import" button.
Upon selection of the lift curves tab (highlighted in red in the figure above) the user is prompted
with the following screen.
The range of variables for which the VLP curves will be created need to be entered under the
"Data" section.
Selecting the fluid type will automatically display the correct variables that need to be defined (for
instance, in the case of "mainly liquid" the variables are liquid rate, upstream pressure, GOR,
water cut and upstream temperature). The user can either enter the ranges manually or use the
"Populate" Buttons on the bottom of this screen.
It is important to note that as pipelines can flow in either direction, the range of
rates selected for the VLP calculation should include both negative and positive
rates, as the flow direction throughout a long forecast is not always known until the
calculation has been performed. An illustration of entering negative rates is shown
in the figure above.
Selecting "OK" will lead the user back to the generation screen where selecting "Generate" will
commence calculations.
Progress can be monitored in the progress bar at the bottom of the form.
Pipe VLPs can also been generated in a batch mode, assuming that several pipes have been
previously set to "Lift Curves". Please refer to the section "Batch Generation of Pipe VLPs 616 "
for more information.
2.7.6.3.3 PROSPER on line
The purpose of this option is to allow the user to generate the lift curves using PROSPER online.
Selecting the PROSPER on line method will prompt the following screen:
The main advantage of this method is that the user can generate lift curves using
the advanced temperature models available through 'PROSPER on Line'
The 'Edit Pipe' button allows the user to create the pipeline model using the 'PROSPER on Line'
features.
Please refer to the next section, called "PROSPER on line Pressure Drops 438 " for
detailed information on how to model a pipe with PROSPER on Line.
In terms of the generation of lift curves, the method is exactly the same as described in the
previous section called "GAP Internal Correlations 398 ".
When using PROSPER Online, the PVT is initially specified within the data input as this can be
used to obtain a matched PVT to test data. When performing a solve network or prediction, the
PVT determined at the node upstream of the pipeline is passed to the PROSPER Online
pipeline in order to perform the pressure drop calculations - therefore the PVT data originally
specified in the pipeline data is not used.
2.7.6.3.4 PROSPER file
The selection of this underlying method will allow the user to generate lift curves using an
existing PROSPER file (with the pipeline only option). When this option is selected, the following
screen will appear.
The "Browse" button can then be used to associate the corresponding PROSPER file.
In terms of the generation of lift curves, the method is exactly the same as described in the
previous section called "GAP Internal Correlations 398 ".
2.7.6.4 Pipeline Input Data (PROSPER on line)
This option is found in the well summary screen.
Using this option will enable the user to calculate the pressure drops in a pipeline on the fly,
using the advanced temperature options which were up to now only available in PROSPER.
Traditionally, the temperature calculations in GAP were done using the rough approximation
method. Now the user can do these using the enthalpy balance or improved approximation
method.
The advantages of using 'PROSPER on Line' over the lift curve option are:
No interpolation between lift curves is required as the exact conditions are passed to
PROSPER during each calculation.
Instead of assuming a fixed PVT, as is the case in the lift curve generation, the
calculations are done based on the commingled PVT coming from the reservoirs which
varies according to the conditions. This is particularly important in multilayer reservoirs
where the contribution of each reservoir can change over time.
The advantage of using the advanced temperature models over the rough approximation method
are:
When the pipelines are being designed, and no match data is available, the rough
approximation method is not sufficient as the heat transfer coefficient cannot be back
calculated. The enthalpy balance method allows accurate calculation of the temperature
for such cases.
The drawback of using the enthalpy balance method is speed, as the method is computationally
intensive.
In the 'Examples Guide' a step by step description of PROSPER 944 online pipeline 944 can be
used for reference.
The activation of the three temperature models (Rough Approximation, Enthalpy Balance and
Improved Approximation) can be done through the 'Options'.
The 'Equipment' section is then customised according to the temperature model selected. It is
therefore important for the user to make sure the appropriate model has been selected.
NOTE:
The black oil PVT correlations can be matched to measured lab data using the 'PVT Matching'
feature. More information about the PVT matching option is provided in the PROSPER manual.
The 'Solids' feature is where key variables 358 are set for several complementary calculations
in PROSPER (maximum grain size diameter, erosional velocity,liquid loading and pigging).
Multiphase Flow correlations can be matched to test data using the 'Correlation Matching'
feature. More information about the multiphase flow correlation matching option can be found
in the PROSPER manual.
The two matching parameters (gravity and friction) that are calculated during the matching
procedure can be accessed by clicking on the 'Correlation Parameters' button.
The 'Correlation Threshold' option allows the user to set the threshold angle of the pipeline so
that the pressure drop calculation can switch between using a vertical or horizontal flow
correlation automatically.
Note that the theory behind the Rough Approximation method is described in detail in the
PROSPER manual.
2.7.6.4.1.2 Enthalpy Balance
The enthalpy balance method will calculate the heat transfer coefficient as a function of heat
losses due to free convection, forced convection, conduction and radiation. This method is the
most accurate temperature calculation method available as it takes into account sea water
velocities, insulation, sea temperatures, burial depth etc. For details on the equations, please
refer to the PROSPER Manual.
To commence data entry for a new application, click 'All' and then 'Edit'. The program will then
display all of the input screens in sequence. To go back and edit one particular equipment item,
click the button on the left of the appropriate item.
Surface Equipment
An example of the surface equipment screen is shown below:
To calculate heat losses, additional data such as outside diameter, material type and insulation
(if used) are required to be input. The surface equipment model can utilise the following
equipment types:
Line pipe
Coated pipeline
Flexible tubes
user selected
Choke
Fittings
To allow for pipe bends and general fittings, the program contains a
database of K-values that capture the pressure drop for the
appropriate type of fitting
Choke Method The choke calculation handles both sub-critical and critical flow and the
program will calculate the temperature change across the choke due to the
Joule-Thomson effect.
Coordinate The surface equipment geometry can be entered either in terms of the TVD
System of the upstream end of the pipe segment or as X, Y (referenced from the
manifold or the Xmas Tree) co-ordinate pairs.
Rock Properties Enter the relevant rock properties which will be used in the heat transfer
calculations
Label Descriptive labels for each element can be entered in the label field if
desired and they will appear on the reports and calculation screens.
Burial Depth The burial depth is the distance between the soil surface and the bottom of
the pipe (including insulation, if present). The pipe is partially buried if the
burial depth < O.D. of the insulated pipe.
Ensure that the flowline pipe geometry is consistent with the pipe burial depth.
If necessary, insert another node and change the burial depth for e.g. the
riser.
The soil conductivity around buried surface pipes is taken from the 'Therma
Properties' database for the shallowest rock type entered in the Lithology
screen.
Insulation Pipe insulation (e.g. concrete, foam or bitumen) can also be modelled. To
define the pipe insulation click the 'Enter' button to display the following
screen:
Select the required insulation type from the drop-down list and then enter
the thickness. Enter the insulation beginning with the innermost layer.
PROSPER uses the thermal properties in its database to calculate the
thermal conductivity of the composite insulation.
Rate Multiplier Multiplies the pipeline fluid velocity by this value. The option can be used to
model pipelines flowing in parallel. For example, two identical parallel
pipes can be modelled as a single pipe (of the same diameter) with a rate
multiplier of 0.5. Alternatively, the option can be used to simulate the
pressure drop due to several wells. As an example, the pressure drop in a
flowline connected to 3 identical wells could be modelled using a pipeline
rate multiplier of 3.
Up to 200 pipe segments can be entered, enabling the user to model very long pipelines.
Temperature Data
'Surface Environment' data is required for the heat transfer calculations from the surface flow
lines and well risers. Data must be entered according to the screens shown below depending
on whether the prediction is being carried out offshore or on land (Specified from Options).
Databases
This optional feature is used to access the thermal properties databases for editing or adding
new materials.
Enter appropriate values for the conductivity of cement and casing. Depending on the selection,
PROSPER expects input for the thermal conductivity, emissivity, specific heat capacity, specific
gravity or density.
Check that the correct units are used before entering the thermal properties.
Edited values remain in memory and become part of the model when the file is saved. To
permanently save edited values or new user-defined entries for use in other projects, click the
'Save' button to write them to the database. The 'Reset' button is used to return all the entries to
their default values.
The equipment entry for the 'Improved Approximation' temperature model is slightly different to
the 'Rough Approximation' option. Click on 'Equipment' to display the following input screen:
To commence data entry for a new application, click 'All' and then 'Edit'. The program will then
display all the input screens in sequence. To go back and edit one particular equipment item,
click the button on the left of the appropriate item.
Surface Equipment
'Surface Equipment' requires the user to enter the temperature of the pipe surroundings and an
overall heat transfer coefficient for each pipe segment.
The heat transfer coefficient can be specified for each pipe segment and should not be confused
with the pipe thermal conductivity. This value accounts for steady state heat transfer by
conduction, forced convection, free convection and radiation through the pipeline, the insulation
(if present) and to the surroundings.
In PROSPER the overall heat transfer coefficient is referenced to the pipe inside diameter.
Additional Results:
The following additional result variables will also be reported for pipeline results:
Pressure drop
Pipeline Status - Bottleneck, Wax/Hydrate Risk
Pressure and temperature gradients can be displayed using the lower left panel from the plot
menu.
To view the detailed results of the pressure drop calculations, select 'Show Flow
Assurance...' (as described in Pipeline Flow Assurance 226 ) or access the pipeline summary
screen by double clicking on a pipeline element and then select "Calculate".
After that, select "Initialise from Solver results" to import the results from the 'Network Solver'
calculation.
Finally, select "Calculate" to view the detailed gradient results through PROSPER online.
Results
After a solve network calculation or running a prediction, the user can view the results from the
"Results" tab in the pipe summary screen.
Scrolling to the right reveals a new button which is active and can perform gradient calculations
along the pipe segment.
2.7.6.5.3 Bottlenecks
GAP can be used to detect if pipelines are "bottle necking" the system.
After a "Solve Network" is run, the bottle necked pipelines are turned to the colour puce.
After a "Prediction" is run, a bottle neck flag is displayed in the pipelines prediction results,
under the "Status" results column.
Note that the option "Highlight Bottle Necked Pipes" in the 'View' menu must be selected for the
this to be active.
In order to determine if pipeline is bottle necked, GAP will use the following logic in a post
calculation (i.e. after the network has been solved):
1. From the results of the 'Solve Network' calculation, GAP extracts the main phase rate and the
upstream/downstream pressures for each pipeline.
2. GAP will then increase the calculated rate by 10%, fix the upstream pressure to the result
determined in the solve network and then calculate the downstream pressure in a post
calculation.
3. If the downstream pressure that is calculated becomes negative then this will trigger the flag.
Please note, the main phase (i.e. liquid or gas) is determined from the GOR cutoff (i.e. if GOR is
below cut off use liquid rate). The water and other phase rate are also increased via the GOR
and WCT.
2.7.6.5.4 Wax or Hydrate Risk
GAP can also be used to determine if there is any risk of Wax or Hydrates being formed in the
system. In order to perform this calculation, one of the compositional PVT options must be
selected (i.e. Fully Compositional, Tracking or Black Oil Lumping/Delumping). This is because
the calculations require the fluid composition.
If GAP does encounter an element where there is a potential for Wax or Hydrates forming then a
flag will be raised and the pipe element will change colour.
The flag above refers to the "Solve Network" results. In the case of a prediction the flag is raised
in the "Status" section of the results.
Like the "Bottle necking" calculation, the "Hydrate/Wax formation" is also a post-calculation
carried out at the end of the solve. GAP effectively calculates the hydrate/wax formation curve
from the composition and determines if the conditions in the pipeline (pressure and temperature)
are such that hydrates or wax are likely to form. This feature and its application is illustrated in
Examples . 1134
2.7.7 Tanks
In GAP, Tanks (Reservoirs) are used to predict the pressure response and the fluid saturations
during predictions (only).
A Tank in GAP refers to a reservoir. It should not be confused with Stock Tank
conditions.
A decline curve
MBAL Material Balance model file.
Please remember to set the prediction to "On" from the Options | Method 95 screen.
Material GAP can use MBAL Material Balance models to determine reservoir
Balance pressures and fractional flows (well GOR ’s and water cuts).
Decline Decline Curves that express reservoir pressure as a function of cumulative
Curves production. The reservoir pressure decline therefore includes the effects of
aquifer pressure support or fluid influx from adjacent reservoir units
External An external simulator (like REVEAL, Eclipse, IMEX, MoReS, CHEARS, etc.)
Simulator can be linked to the wells in GAP.
When linking is done through RESOLVE, the external simulator tank is not
required - a direct link to the well can be made in RESOLVE.
Once a tank has been defined, production wells must be assigned to the tank. This can be done
either:
Wells can connect to more than one tank by entering appropriate allocation factors (for
single-layer wells).
Wells can connect to more than one tank by associating different tanks to different well
inflow layers (for multi-layer wells).
The tank data summary screen has three sections (as explained in the Equipment Summary
section 252 ).
Summary This screen gives the status of various aspects of the input data and
Screen displays the MBAL file that represents the reservoir (for MBAL prediction). It
also allows the user to select which method to use for "Prediction".
Input Includes tabbed screens for the following input fields:
Screen Well Connections (Valid/Invalid)
Constraints (injection system only) (Present/None/Invalid)
Production Data (decline curve prediction only) (Present/None/
Invalid)
Injection Fluid (Injection source)
Schedule (None/Some)
Results Contains the following fields:
Screen Network Solver Results
Simulation Results
Prediction Results
Main features
Model The user can select the prediction method. There are three choices
available:
1. Material Balance
2. Decline Curve
3. External Simulator (ref. previous paragraph 462 )
Type The fluid type will be automatically selected based on the PVT
description in the MBAL file when using the Material Balance approach.
The user can select the fluid type when using Decline Curve. Choices
are:
Oil
Gas
Retrograde Condensate
PVT Model This field displays the PVT modelling option used by the reservoir model.
The options are Black Oil, Fully Compositional and Tracking.
MBAL File (Material Balance Prediction only)
For a material balance tank, this gives the name of the MBAL file that
contains the model for the tank. To select a new file, select the "Browse"
Multiple tanks
If a multi-tank MBAL file is loaded into this screen, the conventional icon that
represents the single tanks will be replaced by a number of icons, each corresponding
to the tanks in the MBAL file.
Transmissibility links between tanks are represented by the lines joining the tanks
together.
This screen is used to set up any maximum rate constraints for the tanks.
Maximum Gas / Enter the maximum amount of gas to be produced from the tank
Water / Oil / Liquid
Rate
2.7.7.2.2 Injection
This section is only used in cases where there is no associated injection system and allows the
user to define the properties of the injection fluids, which are then used for pressure drop
calculations.
Gas Injection Select the injection source from the current list.
Fluid
Edit List Invokes the fluid injection source dialogue (as accessed from the Options
menu 104 item). Use this to update or add to the current source list
Composition If one of the compositional methods is selected, there will also be an
option to an enter the composition.
2.7.7.2.3 Wells
For a tank to be considered in the prediction calculations it must be connected to one or more
wells. This can be achieved from this tab.
In this screen, select wells from the ‘Not Connected’ list and click the "Add" button to connect
them to the tank. Alternatively, disconnect wells by removing them from the ‘Connected’ list.
Alternatively, the same connections can be established using the following methods:
Through the Tanks tab in the Well Summary screen
Dragging a link between a well and a tank on the system window
Input Fields:
Connected This list displays the wells that are connected to the given tank. To
remove a connection, highlight the well to disconnect and click on the
Remove button
Not Connected This list displays the wells that are not connected to the tank. To make
a connection to a well, highlight the well in this list and click on the Add
button
Type This entry defines the main phase produced by the tank (Oil, Gas, Retrograde
Condensate)
For example, it is possible to define a decline curve that starts at the "current" reservoir pressure
and corresponding cumulative oil production (see figure above) or alternatively the user can
enter the full decline curve starting from the initial reservoir pressure.
The reservoir pressure that GAP will use is based on the value of the "Current Oil Prod" in the
input screen. GAP will simply interpolate between the entered values within the table to calculate
the corresponding reservoir pressure.
The reservoir pressure vs. cumulative production data can be entered by hand or pasted from
the Windows clipboard.
Import from This feature allows the user to import the results of a material balance
Prediction model and convert it into a an equivalent decline curve.
Results
This option can be used when one wants to substitute the reservoir
model (for example, numerical simulation) with a quick decline curve to
perform many scenarios that would require long run times if the
simulator was used.
Calculate Interpolates the table to find the tank pressure corresponding to the
value of Current Oil Production
Plot Plots the tank pressure against cumulative production, as entered in the
table.
2.7.7.3.2 Compressibility
This option allows the engineer to enter the rock compressibility as a function of pressure.
Where Vi and Pi are the pore volume and pressure at initial conditions.
This formulation means that the results are not dependant on the time
steps selected.
On Tangent The Cf at pressure P and V is defined using the formula:
Additional Results:
The 'Show MBAL Results' and 'Load MBAL Results' options allow further detailed results to be
reported from a prediction/simulation. 'Show...' will open a copy of the MBAL results window.
'Load...' will open a temporary copy of the MBAL file with prediction results.
Flares and Vents are elements that can be used to account for emissions for reporting
purposes. Flares and Vents act like sinks in the way that each flare or vent can be assigned a
fixed pressure, mass or flow rate.
Note that the two elements are interchangeable, as their difference is only visual.
The summary and input data for flares and vents are the same as the ones required in Sinks 531 .
In the menu Prediction the results of the Flares and Vents are reported under Emissions. To
access the Emissions select the menu Prediction | View Prediction Results System Emissions,
or to plot go to Plot Emissions Prediction Results.
2.7.9 Pumps
Pumps can be handled in GAP with performance data provided by the pump manufacturer, or
based on a model.
Performance Curves This is a table that relates head and power consumed to operating rate.
The lookup table can also have speed and gas/liquid fraction as
sensitivity variables. If desired, affinity laws can be used to scale the
calculations for actual vs. design speed. The pump pressure
calculations are based on an averaged rate through the pump i.e. the
volume changes that occur from inlet to outlet as a consequence of the
pressure change are taken into account. This averaged rate is then
used as the input to the performance table to obtain a head, which is
converted into a pressure using the average density of the fluid. Note
that the calculations are repeated sequentially for the number of stages
specified.
Jet Pump Jet pump model that can be used to predict jet pump performance. The
Jet pump can be selected from a list that mirrors the database of
pumps of PROSPER
OneSubsea / Sulzer OneSubsea & Sulzer pump models that can be used to account for the
Pump pump performance. The pump can be selected from a list that mirrors
the database of pumps of PROSPER
When defining a pump, it should always be placed between two joints, one at its suction
and the other at its discharge end. This is done, by dragging connections between
pumps and joints with the Link icon selected.
NOTE: The pump connections (represented by the white arrows) should be consistent
with the actual flow direction:
Summary This screen gives the status of various aspects of the input data for the
Screen pump. See the following section for details
Input Includes tabbed screens for the following input fields:
Screen Data (Valid/Invalid)
Control (OK)
Schedule (Prediction Only)
Results Contains the following fields:
Screen Network Solver Results
Simulation Results
Prediction Results
Main Features
The rate type list box can be used to select the desired input rate type. Pressing 'Calculate' will
perform the pump calculation for each line of data entered.
The "Initialise from solver results" button can be used to load the data from the
results of the last 'Solve Network' calculation. This allows the user to check the
pump performance under the same conditions as the main 'Solve Network'
calculation.
Input Fields
Table Enter test rates and inlet conditions. The rate can be specified as a liquid rate,
oil rate or gas rate, the type being chosen from the Rate Type combo box.
Action Buttons
Calculate Calculates the output head, pressure etc. for each test rate entered
Disable To disable a line, select the check box and press this button. Pressing the
button repeatedly toggles the enabled/disabled state
OK Removes the dialogue, saving the data entered
Cancel Removes the dialogue
Help Displays this screen
The alternative is to use a mathematical model that predicts the relationship between rate and
head (i.e. the Jet pump or OneSubsea pump options). These mathematical models are
developed based on physical principles and assumptions about the type of pump which are
then validated against experimental data. They therefore should only be applied to the type of
pumps that they were designed for.
solver.
No. of Stages This is the number of stages in the pump. The performance curve of
each stage is assumed to be the same. Pre, post and inter stage
separation can be set up via the "Stage Data" screen
Use Affinity Laws (Only use this option if speed is not an operating variable in the
performance curves)
The "Use Affinity Laws" option must be selected in order for the pump
to be controllable. The pump model uses affinity laws to scale the
calculations from design speed to actual speed. The pump speed
values are entered by selecting the "Control" tab in the pump element
input dialogue
Actual Speed Current speed of the operating pump
Design Speed Design speed of operation of pump, to which the performance data
refers to.
Stage Data Allows the specification of pre, post and inter stage separation and
cooling
Edit PC Input/editing of performance data for the pump. When entering the
performance curve data for a new pump, the following screen will
appear after pressing "Edit PC".
On this screen, choose the variables for the performance tables. These
are:
Operating rate
Frequency
Gas Fraction
Rotational Speed
One needs at least operating rate as a variable. Fill the data in the
following table
Delete PC Deletes the performance data entered for the pump. Once the
performance data is deleted, the pump input sections are treated as
new.
Separation and This can be used to separate and remove water, oil or gas from the
Cooling Data network before or after the pump element.
Note that either of the control options can be used however they should not be used
together. The most suitable option depends on the engineer's objectives and the
information available to him/her.
The "Use Affinity Laws" option should be used when there is only one head curve available for a
given design speed. The pump model uses the well known affinity laws to scale the calculations
from design speed to actual speed during the optimisation.
The maximum/minimum operating speed limits are then set in the "Control" tab.
Calculated GAP will modify the pump speed (between the speed limits) to optimise
production and obey all constraints.
The head and power consumed are displayed in columns on the left and the sensitivity variables,
i.e. rate, liquid/gas fraction and speed appear on the right hand sides of the dialogue. To display
a particular head - rate curve select the appropriate values for the other variables : selected
values are displayed in reverse video as shown.
Data can be copied around the table by using the standard GAP copy and paste mechanism 87 .
Action Buttons:
UNITS OF RATES:
It can be observed that the units for Rate is specified as RMMcf/d (in Oil Field Units.)
The 'R' indicates the volume is at insitu conditions of Pressure and Temperature and not at
standard conditions.
2.7.9.3 Jet Pump Options
When the pump is defined as Jet Pump, a database with available jet pumps will become active
as shown below:
The user can either select a pump of choice, or edit the database to add more jet pumps if the
pump is not available.
The theory behind the jet pump model that is used is described in detail in the PROSPER manual.
It is based on the following reference:
Pump Power Fluid Rate The value of fixed power fluid rate that GAP will use in calculation
for fixed power fluid rate.
Calculated GAP will modify the pump power fluid rate (between the rate limits) to optimise
production and obey all constraints.
Pump Power Fluid power fluid rate used in the fixed rate calculations (not
Rate optimised calculations)
Optimised This will be selected by the optimiser of GAP when
Power Fluid Rate performing the calculations
Maximum/ Operating range of the pump power fluid rate
minimum power
fluid rate
Injection Specifies the magnitude of the injection pressure for the power fluid. It refers to
Pressure the pressure in the jet pump nozzle just before the throat.
Power Fluid The temperature of the power fluid has to be specified in order to calculate the
Temperature overall temperature of the commingled fluid.
Power Fluid The fluid properties of the power fluid can be modified using the "Edit List"
button
The user can either select a pump of choice, or edit the database to add more pumps if the
pump is not available:
H-Series Pumps
The pump power can be modified to optimise production and honour constraints:
Calculated GAP will modify the pump power (between the speed limits) to optimise
production and obey all constraints.
HX-Series Pumps
The pump speed can be modified to optimise production and honour constraints:
Actual Speed Fixed speed used in the calculations. Please note that this va
cannot be greater than the maximum speed defined in
database.
Calculated GAP will modify the pump speed (between the speed limits) to optimise
production and obey all constraints.
When optimising, GAP will ensure that the pump does not exceed a maximum power
constraint by controlling the pump speed.
However it is possible that whilst honouring this constraint, the pressure differential
between the pump suction and discharge will exceed the maximum allowable.
The optimisation of pump speed and simultaneous control of pump dP can be
implemented via a workflow in RESOLVE or a script in GAP.
2.7.9.5 Constraints
This tab allows the user to specify pump constraints. The options will change according to the
type of pump selected:
Surface Jet Pumps (SJPs) can be included in the surface network in GAP. The pump
performance is calculated based on a model supplied by Caltec. This model calculates the
discharge pressure based on the inlet pressures and mass flowrates.
The SJP data entry screen has three sections (as explained in the Equipment Summary Section
252 ).
Note; the connections to the SJP (represented by white arrows) should be consistent with
the flow direction in reality.
Label Maximum of 18 characters allowed. This defaults to the name supplied in the
label dialogue box when the SJP icon was initially added to the system. If
blank, enter a short name or abbreviation to identify the icon on the screen.
Name Maximum of 32 characters allowed. Use this field to enter a full or descriptive
name, if any, for the SJP. This name will appear in the reports generated by
the allocation calculations.
Mask This option allows a SJP to be added or omitted from the network database
and consequently the calculations.
Comments Enter any string of comments to provide more detailed information about the
SJP
Data Summary This shows the status of the various aspects of item data. These will be
Area described in the following sections
SJP Parameters The physical dimensions of the pump should be entered here
SJP Design This section can be used to calculate any unknown parameter based on
the known parameters
SJP Parameters
The SJP parameters are used as inputs to the ELF choke model to calculate the pressure loss
in the nozzle. As the motive fluid and suction fluid meet at the outlet of the nozzle; the pressures
of both fluids must balance at this point.
SJP Design
The SJP model in GAP is a combination of the ELF choke model and a model supplied by
Caltec. The ELF model is used to calculate the pressure loss in the nozzle while the Caltec
model is used to calculate the discharge pressure based on the inlet rates and pressures.
The SJP Design section uses the above models to calculate unknown parameters based on
known parameters. For example, the ELF choke model can be used to calculate the required
nozzle properties based on design criteria. The Caltec model can be used to calculate the
discharge pressure based on inlet conditions. The calculated nozzle parameters can be
transferred to the actual model using the "copy design to model" option.
Note On Orientation
Changing the orientation of the SJP will not affect the path of the fluid, hence the results in GAP
will not be affected. Changing the orientation will only affect how the SJP is displayed in GAP.
2.7.11 Compressors
Compressors can be handled in GAP with performance data provided by the compressor
manufacturer, or based on a model.
When defining a compressor, it should always be placed between two joints, one at its
suction and the other at its discharge end. This is done, by dragging connections
between the compressor and joints with the 'Link' icon selected.
Main options
Type Select the type of Compressor here. The options available are:
Performance Curves (Full model)
Fixed dP Compressor
Fixed Power Compressor
A fixed power compressor by definition will give infinite head for low r
and may provide with inconsistent results.
Because of this, this type of compressor should be used only for scop
and a curve of efficiency vs rate should be entered to avoid infinite hea
Reciprocating
MultiPhase Compressor/Pump
Data Summary This shows the status of the various aspects of item data. These will be
Area described in the following sections
Number of This option allows the user to specify the number of compressors in
Compressors in parallel which GAP will take into consideration in the network
parallel calculation. It prevents the user from having to create a separate
compressor element in the main network.
The rate type list box can be used to select the desired input rate type. Pressing "Calculate" will
perform the compressor calculation for each line of data entered.
The "Initialise from solver results" button can be used to load the data from the
results of the last 'Solve Network' calculation. This allows the user to check the
pump performance under the same conditions as the main 'Solve Network'
calculation.
NOTE: If the compressor is set to 'Controllable', then the solution speed from a
solve network must also be updated in the main compressor input screen prior to
using the performance calculator.
This screen can be extremely useful in matching the performance of the model to that of a real
compressor. A typical set of performance curves for a centrifugal compressor consists of: Inlet
Rate Vs Head, Inlet Rate Vs Power and Inlet Rate Vs Dicharge Pressure. So, having entered the
data, the user may enter various test points to check if for a given rate, inlet pressure and speed,
that the correct outlet pressure is displayed. If the pressure is not correct, then the polytropic
efficiency of the machine can be changed to match the real performance.
When using the compressor performance calculator to review the optimised compressor
results for multistage reciprocating compressors, the optimised compressor speed MUST
be entered in the compressor input screen prior to using the performance calculator utility.
2.7.11.2 Input Data for Compressor (Full Model)
This option is for modelling existing compressors with known performance curve data which
would be provided by the manufacturer.
Compressors have similar performance data tables to pumps; the difference being that the rate
refers to the gas at the inlet conditions. The performance curves provide a relationship between
the inlet rate (calculated at inlet conditions) as a function of the head and power. The user then
has the option to express the head provided in the table as either the polytropic head or
isentropic head, depending on the check box setting in the input screen.
The pressure calculations are performed by equating the idealised head expression for
isentropic or polytropic compression of the gas (see Gas Conditioning and Processing, by J.
Campbell). The fundamental equation used to correlate head and inlet/outlet conditions in a
compressor is given by:
The user can then account for energy losses by introducing an efficiency:
The user has the option to enter different performance curves for each
stage. This can be used to simulate multiple compressors running on
the same shaft.
The "Use Affinity Laws" option must be selected in order for the
compressor to be controllable. The compressor model uses affinity
laws to scale the calculations from design speed to actual speed. The
compressor speed values are entered by selecting the "Control" tab in
the pump element input dialogue
Use Overall The user can enter the power consumed by the compressor in the
Efficiency performance curves (as a function of the inlet rate) and the program
will automatically calculate the efficiency.
Alternatively, the user has the option to "Use Overall Efficiency" and
enter the efficiency of the compressor in the performance curves. In
this case the program will automatically calculate the power required
by the compressor.
When this option is checked, GAP will assume the head in the
performance curve data refers to the polytropic head, otherwise the
head is treated as the isentropic head.
Polytropic Efficiency The internal calculations in GAP require the ‘Polytropic Head’.
When the performance curves refer to the isentropic head, GAP will
use the ‘Polytropic Efficiency’ to convert the isentropic head into a
polytropic head.
At the bottom of the screen, the way the head can be chosen. The
options are:
Delete PC Deletes the performance data entered for the compressor. Once the
performance data is deleted, the compressor input sections are
treated as new.
Operating rate The gas rate flowing through the compressor, expressed at inlet
conditions.
Head Measure of the energy given to the fluid. This will be expressed as per
the head definition in the sensitivity variable selection screen (previous
screen).
Power Power provided to the compressor.
Polytropic Multiplier is used to modify the polytropic efficiency with varying flow
Efficiency rate.
Multiplier
The Head is the energy provided to the fluid from the compressor and as such it is
used to directly determine the compressor dP.
The Power refers to the external power that is required by the compressor to provide
the head to the fluid. It is used for reporting (calculating the efficiency) and for
constraining the system however it is not used to determine the compressor dP.
With knowledge of the Head, it is possible to determine the power given to the fluid. The
ratio of this power to the corresponding external Power at a particular rate is defined as
the compressor efficiency.
If the "Use Overall Efficiency" option is enabled, then the efficiency can be entered in the
performance curve in place of the power consumed by the compressor. The overall efficiency is
defined as the ratio between the power given to the fluid (calculated from the Head) and the
external power required by the compressor. With knowledge of the Head and overall efficiency
is possible to calculate the power required by the compressor.
Surge/Choke
Two additional variables enable the user to specify the operating limits of the compressor (i.e.
stonewall and surge).
In GAP it is possible to define the 'Surge Rate' (Minimum Rate) and 'Choke Rate' (Maximum
Rate) for the compressor.
During the compressor calculations, if the compressor rate falls below the surge limit, then GAP
will recycle the quantity of gas that is required. This means that if the surge (minimum) limit is
reached, the Head reported by GAP will correspond to the surge rates even though the actual
throughput of gas (from the upstream elements) is less than the surge limit.
If the quantity of gas produced upstream of the compressor is greater than the choke limit, then
GAP will increase the speed of the compressor so that the operating rate falls within the
operating range of the compressor (this is only if the compressor speed is controllable).
In case 1), if the 2nd stage is surging it will recycle rate to the start of the 1st stage. Thus the
pump inlet rate will be affected by the recycling.
In case 2), if the 2nd stage is surging it will recycle rate to the start of the 2nd stage only. As a
result the inlet pump rate for the first stage will be unchanged.
Additionally, it is very important that the derivatives of the performance curves are smooth and
continuous. Even if the derivatives are smooth over the range of the expected operating
conditions, convergence issues can still occur if there are poor quality derivatives at the extreme
conditions beyond the operating envelope. This is due to the fact that as the network is being
solved it is possible for the solver to fall into a region with poor quality derivatives and
consequently the ability of the system to converge is greatly affected as there is no way for the
solver to resolve which direction to go in order to find the correct solution.
An example of poorly defined compressor curves is provided below where the problematic
areas have been highlighted in red:
Such performance curves should always be avoided as the real response of the compressor
would not have discontinuities and more importantly it can cause problems with the solver.
This method needs to treated with care as the pressure difference across the
compressor is independent of the rate which is not representative of reality.
Consequently, using this method when running predictions can result in unrealistically
low (negative) inlet pressures being calculated as the field declines. This compressor
module should therefore only ever be used for scoping, when the compressor has not
been selected, and even then it should be handled with caution.
Number of Stages This is the number of stages in the compressor. Each stage is
identical.
Pre, post and inter stage separation and inter-cooling for compressors
can be set up via the 'Separation and Cooling Data' screen
Polytropic The polytropic efficiency is used for converting the isentropic
Efficiency coefficient k (which is the ratio of the heat capacities) to the polytropic
coefficients (n).
This method should be used for scoping during the design phase when the compressor
has not yet been selected. It should however be treated with caution as by definition a
fixed power will tend to infinite head as the rate declines. This can result in unrealistic
negative inlet pressures being calculated. To avoid this it is recommended to enter a
curve of efficiency vs rate.
No. of Stages This is the number of stages in the compressor. The stages are
identical.
Pre, post and inter stage separation and inter-cooling for compressors
can be set up via the 'Stage Data' screen
Poly Efficiency The polytropic efficiency is used for converting the isentropic
coefficient k (which is the ratio of the heat capacities) to the polytropic
coefficients (n).
To enter the efficiency as a function of the rate, select the 'Efficiency' tab as shown in the figure
below:
Please note that reciprocating compressors are designed to operate at a constant speed to
maximise typical high-speed lean-burn clean-burn driver efficiencies. As always, production
operations will provide further guidance with respect to compressor speed.
With a fixed displacement volume based on the cylinder dimensions (i.e. operate at a fixed
rate), care should be taken with long term forecasts with integrated systems where a range of
operating rates may occur. It may be necessary to re-cylinder the reciprocating compressor
using schedules in GAP. Note that over-sized compressor stages will be reported in the solver
and prediction message log.
Four types of reciprocating compressors can be modelled, as illustrated by the figures below:
Double Acting
Tandem
Input Data
Number of Stages This will automatically populate the number of rows for separation/
Polytropic Efficiency This may be known (or approximated) from a prior test and will impact
the discharge temperature calculations.
Reciprocating compressors separate any liquid prior to compression and usually require inter-
cooling of the gas between stages.
Stage Data
The number of stages is required, and for each stage the inputs are:
Multiphase compressors have similar performance data tables to pumps; the difference being
that the rate refers to the gas at inlet conditions. The performance curves provide a relationship
between the inlet rate (calculated at inlet conditions) and the liquid fraction as a function of the
head and power. The user then has the option to express the head provided in the table as
either the polytropic head or isentropic head, depending on the check box setting in the input
screen.
The pressure and temperature calculations are performed using an internal model that converts
the head based on the PVT and the fractions of the phases.
The user can then account for energy losses by introducing an efficiency.
All of the inputs are the same as in the Compressor element and the user should refer to this
section 505 for a detailed description of the available options.
The main difference in the multiphase compressor model is that an additional variable (liquid
fraction) has to be defined for the performance curves. This variable is entered in the "Sensitivity
Variable Selection" form as shown in the figure above.
Calculated GAP will modify the compressor speed (between the speed limits) to optimise
production and obey all constraints.
To activate the explicit compressor recycling, the user can right-click on the compressor icon in
the system window and select "Explicit Compressor Recirculation";
The compressor icon will then change to show that the recycle is being modeled explicitly;
The top control valve indicates the internal recycle of the compressor whilst the second control
valve indicates an external recirculation loop. To complete the external recirculation loop, this
control valve can then be connected to another piece of equipment such as the high pressure
port of a surface jet pump;
Hovering the mouse over the compressor will display the solver results of the compressor
Hovering the mouse over the top control valve will display the internal recirculation results
Hovering the mouse over the recirculation valve will display the outlet conditions of this
valve
Once a compressor element has been placed on the GAP canvas (which does not already
contain data), the user can navigate to Generate | Generate Compressor Curves from Data...
In the new window, the user can select the compressor element of interest and change the
compressor type via the compressor options panel. The required compressor type should be
'Performance Curves'.
Selecting 'Variables 528 ' will allow the user to define the sensitivity variables for the compressor
curve. Selecting the 'Create 529 ' button after setting up the variables will allow the user to enter the
input data.
2.7.11.10.1 Variables
In this window, the user can define the compressor sensitivity variables.
2.7.11.10.2 Create
The user will first need to define the sensitivity variables parameters, previously defined in the
sensitivity variables screen.
Once defined, the user can enter the input data for each sensitivity variable and the desired
reference rate. Once the data can been entered, selecting the 'Create Curve and Plot' button will
generate the compressor performance curve data. Selecting the 'Apply To Equipment' button will
transfer this information to the selected compressor equipment.
When entering a source/sink element in the network, the following dialogue is displayed, giving
the user the option to include either a 'Source' or a 'Sink':
Sources/ Sinks are connected to the main surface network via a joint
The three section buttons of the source have the following entries:
Summary This screen gives the status of various aspects of the input data for the
Screen source. The type of source is also selected in this section
Input Includes tabbed screens for the following input fields:
Screen Fluid (Valid/Invalid)
Fixed Rate(Valid/Invalid)
Schedule (Prediction Only)
Results Contains the following fields:
Screen Network Solver Results
Simulation Results
Prediction Results
For "Source" elements, to achieve a fixed rate GAP will apply the necessary pressure at this
element that balances the system. Conversely, to fix the pressure GAP will inject the necessary
For "Sink" elements, care should be taken that the user defined fixed rate removal does not
exceed the upstream potential.
As the element is artificial it is not recommended to use sources to model wells. The
true rate and pressure response of a well is driven by the physical interaction of oil,
water and gas flowing through a completion under the forces of gravity and friction. All
of these effects are captured in the well elements (through the VLP/IPR intersection)
which is the approach that should be used in network modelling.
Main Options
Type (Source Here the type of source is selected. The options depend on whether or
Element) not the source is connected to a separator.
Type (Sink Here the type of sink element is selected. Vents and flares are exactly the
Element) same as the sink element and can be used for emission reporting.
Model options:
Fixed Rate
Fixed Mass Rate
Fixed Pressure
Depends on Indicates the separator directly connected to the source element
Pressure If "Yes" the source will have the same pressure as the connected
constrained separator, otherwise (recommended in most cases) the source will apply
the required pressure to transfer the fluid to a downstream network.
Data Summary This shows the status of the various aspects of item data
Area
The separated oil stream, contains the remainder of the fluid inlet stream after
the user defined gas % and water % are separated in the separator.
Fixed When the source is only linked to a joint, it injects fluid into the system on the
rate / mass/ basis of fixed mass, fixed rate or fixed pressure.
pressure
sources In this way inline injection or even contribution of fluid from a nearby field, for
example, can be captured.
Separator Sources that are connected to separators can handle a separated stream
oil/gas/ ( gas, oil, water or a mixture thereof).
/water When a source is linked directly to a separator (fixed pressure or inline
line separator) the source can be used to isolate one of the phases (oil, gas or
water) and send it to a different part of the network downstream.
In order to transfer one of the fluid phases to a different part of the network, the
source will apply the necessary pressure that balances the system. Therefore
the difference between the pressure at the separator (inlet) and the pressure
calculated at the source (outlet) corresponds to the pump/compressor duty
required to transmit the fluids.
This is particularly useful in the design phase to determine the duty of pumps
and compressors which is necessary for sizing the equipment.
To define which phase the source will transfer, access the source summary
screen and select the 'Type' as shown below:
Fluid (Source This will defined the type of injection fluid from the injection fluid library.
only)
Fixed Rate/ This will defined the fixed quantity and fluid temperature.
Pressure/Mass
Schedule This will define the schedule of the source/sink element.
Scheduling is used during the prediction to change the constraints or to include or exclude
equipment in the system at a specific date during the forecast. The application of schedules is
the same for every element in the system. Please refer to the section above 342 for a description
of the feature.
2.7.12.2.1 Source Fluid
Source Fluid Data
The user can define the type of fluid (water, steam, oil and gas) and modify the properties by
selecting "Edit List". The PVT properties of the source are displayed in the area at the bottom of
the screen.
It is also possible to create a new fluid from network solver results at a joint - more information 393
Edit List This button allows to edit the gas/water/steam injection source list
Fluid This can be used to view the details of the properties of the injection fluid.
Properties In case one of the compositional options is enabled, the 'Injection Fluids'
section will have a ‘composition’ button as well. Clicking this will display
the composition associated with the injected fluid that will be used in the
calculations
Depending the type of source (fixed rate, fixed mass or fixed pressure) the user specifies the
fluid temperature and either the rates or the pressure.
Depending on the Sink type (fixed rate, fixed mass or fixed pressure) the user needs to specify
the rates or pressures.
If one of the rate options has been chosen then the user will also have to select the rate type.
The options are:
Water
Gas
Oil
Liquid
2.7.12.2.3 Schedule
Source/Sink Schedule (Only for Predictions)
Scheduling is used during the prediction to change the constraints or to include or exclude
equipment in the system at a specific date during the forecast. The application of schedules is
the same for every element in the system. Please refer to the section above 342 for a description
of the feature.
This is a generic piece of equipment that can be placed anywhere in the surface network
between two joints.
When an inline element icon is placed in the main window, the user will view the following
dialogue, allowing the selection of various types of inline elements:
The three sections for data input in the Inline Gate valve have the following entries:
Summary This screen gives the status of various aspects of the input data for the
Screen Inline Gate Valve. The type of Inline Gate Valve is also selected in this
section
Input (Only for Prediction Case)
Screen This section contains an entry screen for the Schedule
Results Contains the following fields:
Screen Network Solver Results
Simulation Results
Prediction Results
Main options
The three sections for data input in the Inline check valve have the following entries:
Summary This screen gives the status of various aspects of the input data for the
Screen Inline check Valve. The type of Inline check is also selected in this
section
Input (Only for Prediction Cases)
Screen This section contains an entry screen for the 'Schedule'
Results Contains the following fields:
Screen Network Solver Results
Simulation Results
Prediction Results
The user can also fix the pressure of the inline separation element if required.
The three sections of the inline separation element have the following entries:
Summary This screen gives the status of various aspects of the input data for the
Screen inline separation. The type of inline separation is also selected in this
section.
Input Includes tabbed screens for the following input fields:
Screen Separation (OK/Invalid)
Schedule (Prediction Only)
Results Contains the following fields:
Screen Network Solver Results
Simulation Results
Prediction Results
Type Here we select the format in which inline separation variables are
defined.
The following options are available:
% Separation
Fixed Rate Removal
Data Summary This shows the status of the various aspects of item data
Area
The user defines the fraction (expressed either as a percentage or fraction) of the phases that
will be separated.
The separated oil stream, contains the remainder of the fluid inlet stream after the
user defined gas % and water % are separated in the separator.
If 'Fixed Rate Removals' had been chosen instead of '% Separation' then the
separation parameters are rates rather than % values.
The choke model implemented in GAP is based on the Perkins choke model.
The three sections of the inline choke element have the following entries:
Summary This screen gives the status of various aspects of the input data for the
Screen inline choke
Input Includes tabbed screens for the following input fields:
Screen dP Control (OK)
Schedule (Prediction Only)
Results Contains the following fields:
Screen Network Solver Results
Simulation Results
Prediction Results
Data Summary This shows the status of the various aspects of item data
Area
The are four options for handling the pressure drop across the choke.
There is a choke calculator that allows the user to estimate the choke size at the well head
necessary to reproduce the calculated pressure drop based on the conditions in the network.
For example, if a well has been choked as a result of an optimisation, then from the well results
select 'Size' to access the choke calculator utility.
This prompts the following screen, automatically transferring the conditions from the results of the
Solve Network/Prediction. Pressing 'Calculate' performs the choke calculation.
The plot button displays the performance curve of the choke along with the operating point.
There are various choke models available in GAP. For more information on these models
please see the PROSPER user manual.
The discharge coefficient relates the actual flow to the ideal frictionless flow.
Input Fields:
None
This toggles the dP control for the item on or off.
Calculated:
The optimiser will calculate the choke size required to meet any constrainst of the system, within
the boundaries enetered.
The discharge coefficient relates the actual flow to the ideal frictionless flow.
By default the discharge coefficient is 1, which means that the Perkins model is
used as such. If choke measurements are available, it is possible to tune this
parameter so that the choke model reproduces them. This feature makes the
choke model in GAP general and customizable.
Command Buttons:
Plot/Calculate:
No action for this screen
The three sections of the inline injection element have the following entries:
Summary This screen gives the status of various aspects of the input data for the
Screen inline choke
Input Includes tabbed screens for the following input fields:
Screen Fluid (OK / Invalid)
Injection Rate (OK / Invalid)
Schedule (Prediction Only)
Results Contains the following fields:
Screen Network Solver Results
Simulation Results
Prediction Results
Data Summary This shows the status of the various aspects of item data
Area
The user can define the type of fluid injected and modify the properties by selecting 'Edit List'.
The PVT properties of the injection source are displayed in the ‘statistics’ area at the bottom of
the screen.
Edit List This button allows to edit the gas / water / steam injection source list
Fluid This can be used to view the details of the properties of the injection fluid.
Properties In case one of the compositional options is enabled, the 'Injection Fluids'
section will have a ‘composition’ button as well. Clicking this will display
the composition associated with the injected fluid that will be used in the
calculations
By design, the inline injector may only be optimised when injecting the fluid types
gas and steam (i.e. not for fluids where the main phase is liquid). If a oil, water or
kill fluid is set as the controllable injection fluid, the optimiser log will report that
there are no optimisation variables available.
Summary This screen gives the status of various aspects of the input data for the
Screen Inline General element
Input Includes tabbed screens for the following input fields:
Screen Script (OK)
Variables (None/Some)
Schedule (Prediction Only)
Results Contains the following fields:
Screen Network Solver Results
Simulation Results
Prediction Results
The syntax used is a custom language that is similar to 'C' programming language,
and the variables considered can be accessed using strings similar to the one used in
OPENSERVER.
It is important to note than when using an inline element, only the current model (i.e. Production or
Injection) can be accessed. The inline script cannot access the injection model when the inline
element is located in the production model.
Each line must be terminated by a semi colon. Local variables 558 (such as DeltaPressure) do
not need to be declared.
One can access various variables defined in GAP that correspond to the inlet and outlet
conditions of the inline programmable object, as well as other variables used by the solver. In
the above example, PRESOUT is the outlet pressure and PRESIN is the inlet pressure.
It is not possible to change inlet pressure, rate, etc., only the inline
programmable outlet conditions are writable or changeable. Inlet values are
Read Only.
NOTE: All calculated fluid density values are returned in SI Units i.e., g/cc.
Local TemporaryThese variables are defined by the user within the script to for instance
These variables are not re-initialised when the run ends or is cancelled,
therefore it is recommended to use these variables only for fixed values.
These variables should only be used to define a state (i.e. open or closed) or a
parameter (i.e. frequency, power, efficiency, delta P) that will be used by the
associated script to model the behaviour of this inline element.
These permanent variables must not be used to store temporary values during
a solver or prediction run.
This will severely slow down the solver and may cause repeatability issues. At
the end of the solver, these variables are left with the value stored in them on
the last iteration of the solver or when the Cancel button was clicked.
The user defines the name of each variable. Name of existing or predefined
script variables are not allowed. Therefore, any name starting with VAR should
be adequate.
QOIL oil rate (STB/day) - black oil model only, otherwise use QMOLE
QPWF power fluid rate (STB/day)
QPWFU power fluid rate used (STB/day)
QWAT water rate (STB/day)
REVENUE revenue/cost of fluids flowing through (<0 for cost)
SGG gas specific gravity (sp. grav)
SGGFREE gaslift gas specific gravity (sp. grav)
SOG oil specific gravity (sp. grav)
TEMP temperature (degrees F)
WENT water enthalpy (BTU/lb)
This variable is only calculated when steam is present. If steam is not
present, the value associated to this variable will be nil
WSAL water salinity (ppm)
For example to access the inlet stream pressure, the IN[PRES] variable name should be used.
Shortcuts have been created for the frequently used inlet and outlet stream. Add the ‘IN’ or ‘OUT’
suffix to the above indexes to directly access the corresponding stream variable. For example
PRESIN is a shortcut for IN[PRES].
When calling the calculation script, GAP initialises the fluid properties of the all streams and the
PVT calculator variables (see below) to the inlet stream fluid properties. The rates of the
separation streams are set to zero and the outlet stream rates are set to the inlet stream rates.
So by default, OUT[…] is equal to IN[…].
When in fully compositional mode, the five streams have an associated composition. These
compositions can be accessed through the five COMP type structures named:
See also Control Variables 562 , Temporary Variables 563 , Results Variables 563 , Tax Regime
Variables 563 , Flow & Comp Structure Variables 564 , PVT Calculator- Black Oil 567 , PVT
Calculator - Compositional Variables 569
In order to access the values of these variables, the following syntax can be used:
MOD.EQUIP.FLOW.VAR
FLOW is a READ ONLY structure and it is not necessary to use a DoGet command along with a
FLOW structure. The keywords used for these variables are tags that are added at the end of
the variable string, after the tag .FLOW.
Example: MOD.JOINT[{Abc}].FLOW.PRES
to access the pressure
at the node'ABC'
compositions can be accessed through the five COMP type structures named:
The COMPx variables refer to the total hydrocarbon fluid composition, including gaslift or
injected gas.
They need to be preceded by the keyword COMPx, where x can be IN, OUT, SEPGAS, SEPOIL,
SEPWAT.
Examples
How to read the mole percent of COMPOUT.MOLEPCT[i]
component of index 'i' at the outlet
of the element
How to read the critical temperature COMPIN.PCRIT[2]
of the third component of the
composition at the inlet of the
element
How to determine the mole % of CO2 X = COMPIN. COMPINDEX(CO2);
in the composition at the inlet of the MPCT = COMPIN. MOLEPCT [X];
element
Input variables
PVTPRES Pressure
PVTTEMP Temperature
Calculated variables
PVTRS Calculated RS
PVTPB Bubble Point
PVTRHOOIL Oil density
PVTGRVOIL Oil gravity
PVTOILFVF Oil FVF
PVTFMUOIL Oil viscosity
PVTCT Total compressibility
PVTRHOGAS Gas density
PVTGASFVF Gas FVF
PVTFMUGAS Gas viscosity
PVTFACTOZ Z factor
PVTPCRITP Critical pressure
PVTPCRITT Critical temperature
PVTRHOWSC Water density at SC
PVTRSOWAT Solubility of gas in water
PVTWATFVF Water FVF
PVTCOMWAT Water compressibility
PVTRHOWAT Water density
PVTFMUWAT Water viscosity
PVTCONWAT Conductivity of water
PVTCPROIL Specific heat capacity of oil
PVTCPRWAT Specific heat capacity of water
Example
An example of PVTPRES = PRESOUT;
using the PVT PVTTEMP = TEMPOUT;
calculator. CALCPVTGAS();
The gas Z factor is Z1 = PVTFACTOZ;
calculated at the inline PVTPRES = PRESOUT + 20.0;
element outlet T and P and CALCPVTGAS();
pressure 20 psi higher Z2 = PVTFACTOZ;
dZ = (Z2 - Z1)/20.0;
2.7.13.6.11 PVT Calculator - Compositional
A PVT calculator is available within the script, which allows calculation of PVT properties for
compositional models.
In addition to the COMP structure 565 variables and the PVT black oil 567 calculator there is also:
The following functions can be used to run a flash calculation. Added to this PVT flash calculator
there are blending calculations which can be performed in the script:
To avoid potential calculation errors, please ensure that the script is included within the "if"
statement shown below.
Examples
How to flash the inlet
composition at P and T and PVTPRES = PRESIN;
send the vapour on the gas PVTTEMP = TEMPIN;
line and the liquid PVTCOMP = COMPIN;
hydrocarbon on the oil line
CALCPVT();
COMPSEPOIL = PVTCOMPLIQ;
COMPSEPGAS = PVTCOMPVAP;
alpha= (COMPIN.MOLEPCT[0] -
PVTCOMPLIQ.MOLEPCT[0]) /
(PVTCOMPVAP.MOLEPCT[0] -
PVTCOMPLIQ.MOLEPCT[0]);
CALCPVT();
alpha= (COMPIN.MOLEPCT[0] -
PVTCOMPLIQ.MOLEPCT[0]) /
(PVTCOMPVAP.MOLEPCT[0] -
PVTCOMPLIQ.MOLEPCT[0]);
PVTBLENDSTART();
PVTBLENDADD(PVTCOMPLIQ, (1-alpha));
PVTBLENDADD(PVTCOMPVAP, (alpha/2));
PVTBLENDCALC();
beta=(1-alpha)+(alpha/2);
COMPOUT=PVTCOMP;
COMPSEPGAS=PVTCOMPVAP;
OUT[QMOLE]=IN[QMOLE]*beta;
SEPGAS[QMOLE]=IN[QMOLE]*(1-beta);
It is important to note that in compositional mode, inline elements cannot use hydrocarbon
rates anymore. QOIL, QGAS, and QGFREE are not available in compositional mode
2.7.13.6.12 Logging Messages
It is possible to log messages during the inline element script progress, through the following
function:
For example :
LogMsg(“Oil rate: ”, IN[QOIL], “ Gas rate:”, IN[QGAS]);
Important note: Outputting a log message is a slow process. As scripts are being called
thousands of times in a solver calculation, these statements will greatly slow down the
calculation. Make sure that these statements are used for debugging purposes only. Please
comment them when the script has been debugged. Also make sure not to display log
messages during derivatives calculation (i.e. DERIV #0) unless required.
// If not divisible by 400 BUT divisible by 100 then it is NOT a leap year
// If not divisible by 100 but divisible by 4 then it is a leap year.
LeapYear = 0;
if ( Year % 400 == 0 )
LeapYear = 1;
else if ( Year % 100 == 0 )
LeapYear = 0;
else if ( Year % 4 == 0 )
LeapYear = 1;
Year = Year - 1900;
NumDays = Year*365;
// Add extra days for leap years
NumDays = NumDays + floor((Year+3)/4);
// Don't count the days for the current month
Month = Month - 1;
// Add up days for the months in the current year
while ( Month > 0 )
{
if ( Month == 2 )
{
if ( LeapYear == 1 )
NumDays = NumDays + 29;
else
NumDays = NumDays + 28;
}
else if ( Month == 4 || Month == 6 || Month == 9 || Month == 11 )
{
NumDays = NumDays + 30;
}
else
{
NumDays = NumDays + 31;
}
Month = Month - 1;
}
This element allows the user to decompose the wellbore into sections to model complicated
down hole geometry such as downhole control valves in multilayer systems.
The inflow data entry is split into three sections as described below.
Summary This screen gives the status of the input inflow data and allows the type
Screen of well (producer or injector) and the location of an appropriate
PROSPER file to be defined
Input This screen allows the input data to be entered. The options in this
Screen section are the same as the IPR description discussed in IPR
section 271
Results Contains the following fields:
Screen Network Solver Results
Simulation Results
Prediction Results
Browse The browse button is used to select the location of a PROSPER file that
contains the IPR description. The file defined here can be used to import
the IPR information into GAP as outlined in the section about IPR
Generation 603
2.7.14.2 Input
Refer to IPR section 271 for further details.
2.7.15 Grouping
The grouping option allows a collection of equipment in the network to be assembled together.
This can be used for reporting purposes, scheduling or to impose constraints to a group of
elements in the network. There are two group equipment types (i) Group Equipment and (ii)
Group Control.
The user will be prompted to select the equipment type when adding a group item.
Screen
Input Allows values to be entered to constrain and schedule the group
Screen
Results Contains the following fields:
Screen Network Solver Results
Simulation Results
Prediction Results
In order to create a group of nodes firstly add a group to the current system screen. To associate
a node with a group there are two options:
1. Press the control key and press the left mouse button whilst hovering the cursor over the
node, and move the mouse cursor until it is over the group. Now release the left mouse
button.
2. Connect the well to the group using the 'Add Link/Pipe' tool
2.7.15.1.1 Constraints
When constraints are entered into the constraints input screen, the values entered represent an
overall constraint that the sum the values for the nodes in the group cannot exceed.
For example, if the maximum gas production rate for "Group1" is set to 5MMscf/day, then the
overall quantity of gas produced from wells “W1”, “W2” and “W3” will be constrained to ensure
that this quantity is not exceeded.
A total compressor maximum power constraint for single network systems can
be imposed on any downstream node (or separator) from the last compressor
described in the given system.
2.7.15.1.2 Schedule
Scheduling is used during the prediction to change the constraints or to include or exclude
equipment in the system at a specific date during the forecast. The application of schedules is
the same for every element in the system. Please refer to the section above 342 for a description
of the feature.
2.7.15.1.3 Grouping
The screen that is displayed when the grouping tab is clicked is shown below:
Belongs Each group can belong to other groups. This field highlights the
to group groups this group belongs to
Does not This field highlights the groups this group does not belong to
belong to group
Group members Elements of the network that belong to the group
The 'Add' and 'Remove' buttons allow pieces of equipment to be added to or removed from the
current group.
Control Group Type Compressor Train – This allows multiple compressor trains with
different performance curves on the same shaft to be modelled. This
means that all compressor share the same compressor speed.
In order to create a group of nodes firstly add a group to the current system screen. To associate
a compressor with a control group the 'Add Link/Pipe' tool should be used.
2.7.15.2.1 Members
Input | Members Options
This screen can be used to view and setup control group type and the selection of group
members from the equipment available in the network.
Control Group Type The control group equipment type selected in summary screen options
Member Selection Available members for the control group equipment type
Group Members The selected group members for the control group
2.7.15.2.2 Control
The control group will define the speed control for all connected compressors.
Calculated GAP will modify the compressor speed (between the speed limits) to optimise
production and obey all constraints.
2.7.15.2.3 Schedule
Scheduling is used during the prediction to change the constraints or to include or exclude
equipment in the system at a specific date during the forecast. The application of schedules is
the same for every element in the system. Please refer to the section above 342 for a description
of the feature.
2.7.16 Flowsheets
Flowsheets can be created to facilitate the visualisation of very large GAP models that may
contain thousands of wells. The 'Flowsheet' can be used to embed parts of the main network into
a smaller sub screen. One application of the feature is described in detail in the Examples .
1200
Considering the GAP model below, a worksheet can be created to group all the wells flowing
from the manifold "WH1".
The objective for this small example will be to copy these elements (Res1, Well1, Well1_ESP,
and Well1_GL) into a separate flowsheet.
Step 1: Copy the Copy the items from using the "Select" pointer from the main tool bar
items
.
Once the 'Select' pointer has been clicked on, elements can be
marked for copying using a left-mouse click.
Once the desired model elements have been selected, simply right-
click in the main GAP screen and select "Extract to GAP Partial FIle
(*.gpp") from the pop-up menu.
This will save a .gpp file to a relevant directory.
To insert the previously copied sub network into the flowsheet, enter
the flowsheet and right-click and select "Insert GAP partial file" from
the menu.
Step 2: Create the Create a flowsheet element in the main production system, using the
Flowsheet "Flowsheet" icon from the main menu bar.
Step 3: Paste the In the new flowsheet, right clicking and select the option "Insert GAP
elements in the Partial File".
flowsheet Point it to the .gpp file that was created in step 1.
This will paste all the five elements inside the flowsheet.
Clicking on Window|Tile Vertically will display both the main network
and the flowsheet side by side.
Step 4: Create the The next step will be to create the flowsheet port.
'Flowsheet Port'
The flowsheet port is the hydraulic link between the flowsheet elements
and the main network. In the above example this link will be the joint
"WH1".
To create the flowsheet port, double click on the WH1 element inside the
flowsheet and in the summary section there is an option called
"Flowsheet Port". Select the 'Radio' button.
Alternatively, it is also possible to just right click on the WH1 and select
the option from the menu.
This will publish the WH1 element inside the main network as shown in
the figure below.
Step 5: Create the The worksheet port created on the main worksheet can now be linked to
link between the the rest of the network.
Flowsheet Port and
the other elements Since the objective is to link up the WH1 to the manifold, a link will be
in the main network. created between the flowsheet port and the joint called "Manifold". This
will of course be an empty link (no pipeline) between the two nodes.
Step 6: Copy the Since the pipeline definition is already present in the link between WH1
contents of the (old) and manifold, this needs to be copied across to the newly created
pipeline across to link between the WH1 (new) and the Manifold.
the newly created The easiest way to do this is to press down the CTRL button on the
pipe. keyboard, left click on the existing pipe and drag and drop onto the
newly created link.
The screen after the drag and drop will look like this.
Step 7: Delete the The duplicated items in the main production system can be deleted
duplicated Network
elements.
The initial model and this model above are exactly equivalent however
the main production system is visually simpler as it has fewer
associated elements.
It might be possible that an item remains duplicated (such as a common joint), and therefore the
icon will turn "invalid", as GAP detects two elements with the same label in the system.
It is now possible to export Inline General elements as ‘User Defined Elements’ which can be
distributed within an organisation to model specific equipment.
To add a User Defined Element to the model, one must first be created as described below.
Creating a User Defined Element
To author a user defined inline element, create an inline element writing the script and defining
variables as normal.
To create a user defined element, a bitmap image and name must be assigned which will be
used to define the element in the GAP Interface. The user-defined inline element can then be
exported by clicking Save As User defined Inline Element File..., which will create a file with
the *.gapinl extension.
Please note that it will not be possible to save the user defined element if the script is saved as
an external file. As such, the Store in external file tick box should be unchecked, as shown
below.
Inputs
It is important to note that once a user-defined element has been created, GAP must be
restarted before the new user defined element can be added to the GAP network. When adding
a user defined element, the user will be able to select from the available user defined elements
in the directory, as shown below.
Inputs
1. Counter current
2. Parallel Current Hot-min
NTU Method
For coolers the Number of Transfer Units (NTU) method can be used to calculate the rate of heat
transfer.
The NTU method works by finding the maximum possible heat transfer that can be hypothetically
achieved in a counter-flow heat exchanger of infinite length ( ). This proceeds by calculating
the heat capacity rates (i.e. mass flow rate multiplied by specific heat) for both the hot and cold
fluids, to find the smaller heat capacity rate ( . Qmax is then given by Cmin multiplied by the
temperature difference between the inlet temperature of the hot stream and the inlet temperature
of the cold stream:
q max Cmin (Th ,i Tc ,i )
In reality, heat exchangers are unable to transfer the theoretical maximum and we therefore
define a Heat Exchanger Effectiveness (E) which is the ratio between the actual heat transfer
and the maximum possible heat transfer rate :
q
E
q max
Heat Exchanger Heat Exchanger Effectiveness (E) is the ratio between the actual heat
Effectiveness transfer rate and the maximum heat transfer rate:
Calculate Effectiveness
If the Calculate Effectiveness tick box is selected, then GAP will calculate the heat exchanger
effectiveness based on the entered overall heat transfer coefficient and heat transfer area.
If the objective is to shut down a well if it cannot produce a minimum rate, then this can
be achieved by setting up an 'Abandonment Constraint' of minimum rate in the'
Abandonment' section. The abandonment constraints are designed to permanently
shut-in the well (i.e. mask the well) for the rest of the prediction when an abandonment
constraint has been reached (and cannot be re-opened using the well ‘Schedule’). For
example, if a maximum water cut abandonment constraint is entered, then the well will
be shut-in during a prediction run if the produced water cut exceeds this value. When
rate abandonment constraints are applied (i.e. Qoil_min/Qgas_min/Qliquid_min) and the well
has been made controllable, the well will be shut-in once the rate falls below the
abandonment value, provided that there is also no dP across the wellhead choke
determined by the RBNS/non-linear optimiser.
If the objective is to shut-in the well once it drops below a certain rate, and have the possibility to
reopen the well to flow again in the future (e.g. if the potential well rate increases, for instance,
due to compression facilities coming online), then this is best achieved using Visual Workflows
in RESOLVE.
NOTE: To be able to generate IPRs or VLPs in batch mode, GAP needs to know the path of the
PROSPER file associated to each specific GAP well model. Therefore a PROSPER file needs to
be associated to each well in GAP.
A well model needs to be able to predict the rate and bottom hole pressure based on some
prescribed conditions (well head pressure, GOR and WC). This is done on the basis of a VLP
and IPR relationship as shown below:
The intersection between the VLP and the IPR corresponds to the flowing rate and bottom hole
pressure under the defined conditions. Therefore it is the combination of these two relationships
that constitute the full well model (it is not possible to predict the well performance without the
relationship between them).
This type of well model requires VLPs and IPRs to be generated for a range of different
conditions which the well will encounter throughout the field life.
2.8.1.1 IPR
Inflow performance relationships are transferred from PROSPER.
GAP has the PI and Vogel relationship (for Oil wells) built into it that captures the IPR response
of the well. This option determines an equivalent PI that can match the curve from PROSPER and
this will be used to perform the well calculations. GAP does this by extracting three test points
from PROSPER which can be viewed in the IPR Match section of the Well Summary screen.
Two of test points extracted are above the bubble point and are used to determine the PI. The
third test point (which is below the bubble point) is used to determine the AOF based on the
Vogel method.
This simple approach allows GAP to capture the reservoir performance efficiently and accurately
without the need to implement any of the complex IPR models that are available in PROSPER.
The assumption here is that IPR has already been characterised in PROSPER using field data
and one of many models that are available so that when GAP extracts the test points they are
representative of actual well. This one of the reasons why the PROSPER files need to be
matched before building the network model.
In the case of gas or retrograde condensate wells the user has the option to choose from
different IPR methods (which can take into account the pseudo pressure) however in principle
the transfer from PROSPER is still the same as for oil wells. GAP will determine the coefficients
The "Per phase" IPR model calculates the individual phases directly from the following
equations:
Unlike the other models where we calculate the IPR based on the major phase (either liquid or
gas) and then determine the other phases from the pseudo relative permeability curves.
The data entered in the IPR section can be verified by accessing the well IPR Input 271 section.
2.8.1.2 VLP
Lift Curves are generated by the PROSPER well file. The procedure will be outlined in the
following sections 616 .
For example, if the well head pressure was to decline to 100psig towards the end of the field life
and the VLPs of that well had only been generated to a minimum well head pressure of 300psig
then GAP is forced to extrapolate to find a solution. The extrapolation technique in GAP is linear
however the true response of the well, as consequence of changing the well head pressure
pressure by 200psig, will not be linear and consequently this will result in errors. If the
extrapolation is large enough the results can become non-physical and this can cause problems
for the solver.
Conversely, if there are not enough variables defined there can be large interpolation errors that
are created. For example, if the VLPs have been generated for only two manifold pressures (i.e.
100psig and 7000psig) that are significantly different in magnitude, then large interpolation
errors will be implicit in the calculations that are carried out for the intermediate manifold
pressures. It is therefore not only important that the ranges used in the VLP variables capture
the full range of expected conditions but there should also be enough variables defined so that
the numerical resolution minimises any interpolation error.
In order to assist the user we provide recommended ranges 621 that should ALWAYS be
applied as they attempt to eliminate extrapolation errors and minimise interpolation
errors.
Another potentially problematic issue for the solver is poor quality VLPs. Quality in this sense
refers to the derivatives of the VLP curves which should always be smooth and continuous
according to the physics in the wellbore. Discontinuous VLPs are not representative of reality
and are associated with poor derivatives. If the VLPs appear poor then it could either be the
multiphase flow correlation which has been selected or it may be the PROSPER file that needs to
be reviewed to understand what may be causing the effect.
The quality of the derivatives affect the solver because they drive the direction it takes in
order to converge to a solution. Derivatives that are not realistic and consistent with the
physics can drive G A P away from the natural response of the system and create
convergence problems. For this reason it is always recommended to inspect the VLP
curves in the G A P well model, which can be done by clicking on "Inspect" in the well
VLP section (ref. VLP Inspection 314 section).
It is first necessary to tell GAP the location of the PROSPER files that describe each well. The
method of doing this is summarised below:
1. Open the well summary screen by double clicking on the well icon. A well summary
screen is shown in below:
2. Click on the summary button in the bottom left hand corner of this window.
3. Click on the "Browse" button to open a file selection dialogue box. From this dialogue box
select the appropriate PROSPER file for the well.
Repeat this process for each of the wells that require IPR generation. Note that this is an
operation that is performed just once, when the model is built.
Now that the appropriate PROSPER files have been specified for each well click
Generate Generate Well IPR’s with PROSPER from the main menu.
There will be a prompt which allows the user to specify whether all of the wells should have their
IPRs generated or only a selected number of wells.
Once this has been clarified the following window will appear.
The button "Generate" is eventually used to transfer, in a batch mode, the IPRs from the
PROSPER files to the GAP well models.
The result is that the IPR is imported into the well IPR section.
In the case of multilayer wells (wells where multiple IPR have been added in the IPR layer
section), clicking the "Generate" button will display the "Enter Layer Indices" screen shown
below.
The "Enter Layers Indices" screen is used to select the information that will be assigned to each
layer in GAP from PROSPER. In the case of PROSPER files built with the multi-layer IPR model it
should be noted that the total IPR is transferred to GAP. It is also possible to transfer the
individual layer IPRs and this is explained in the following section.
Click | OK to start PROSPER. Each well’s input (.OUT) file will be opened in sequence and the
IPR data will be automatically read into GAP.
GAP uses the IPR model defined in the well IPR section regardless of the type of IPR model
used in PROSPER. This means that oil IPRs are always modelled with a PI and Vogel correction,
while gas or condensate IPRs are always modelled with either Forcheimer, Forcheimer (with
pseudo pressure) or C and n. GAP takes the reservoir pressure and PVT information from
PROSPER along with three IPR data points. These points become the 'Match' points in the GAP
model, which are used in a regression to determine the IPR coefficients. Please note that when
using the 'Forcheimer Pseudo Pressure' IPR type, the PVT in the tank model is used to
determine the pseudo pressure (if the well is connected to a tank).
a) Generating multiple IPRs in GAP when having different PROSPER files for each layer.
b) Importing multiple IPRs in GAP when having one single PROSPER file with a multilayer IPR
model.
Case a
In this case it is assumed that each IPR layer in GAP corresponds to one PROSPER file (***.out)
containing a single layer IPR model (Jones, Forcheimer, etc.). The objective is to import each
IPR into GAP. The following figure illustrates the objective.
This can be achieved by first associating each layer to the corresponding PROSPER model and
then generating the IPRs in batch mode allowing all of the transfer to be done in one click. The
process is as follows:
Associate each layer in GAP to the appropriate PROSPER model. This can be achieved
by accessing the IPR Layer section and selecting "Browse" to locate the file. This is
shown below:
Case b
In this case it is assumed that there is one single PROSPER file (***.out) with a multilayer IPR
model, and we need to import each layer IPR from PROSPER into GAP. The following figure
illustrates the objective.
Open the PROSPER model (by clicking "Run PROSPER", highlighted in the figure above).
Access the IPR section in PROSPER (System | Inflow Performance Relation )
Click on 'Input Data', and deselect all the layers but the first one. This can be done by selecting
the blank option in the IPR type pop-down menu (the other layers data will be kept stored and
will be recall every time the IPR type is restored).
Click "Calculate" to calculate the IPR, then "Done" to exit the IPR screen.
Save the PROSPER file, and return to GAP by clicking "GAP" from the main PROSPER menu.
Once in GAP, select Generate | Generate well IPRs with PROSPER from the main GAP menu.
Click "All" and select the well for which to generate the IPR.
Click on "Generate". GAP will ask which tank model (in brackets) to associate the IPRs with.
Select the tank model using the drop down menu illustrated below and click "Ok".
The IPR will be only be generated for this specific layer (Layer 1).
In order to generate the IPR for the Layer 2, open the PROSPER file again.
In the PROSPER IPR section, deselect Layer 1 and select the Layer 2 as shown below.
The previous steps are then repeated (PROSPER file is saved, IPR generated in GAP for the
second layer, etc...).
Repeat this procedure for the remaining layers.
The IPRs of each layer can finally be inspected using the drop down menu in the GAP well
model, as shown below.
The following description assumes that the PROSPER models have been built for each well and
are already associated to the well models in GAP. To generate VLPs:
3. Select whether the VLPs are intended for use in GAP or a simulator
To generate VLP tables for GAP, check the "For GAP model" box. PROSPER will be used to
calculate and save a *.VLP file (GAP Binary VLP lift curves) which automatically be transferred
into GAP.
The “For GAP model” option must be used when modeling pipeline Pressure
and Temperature in GAP. No other VLP format allows for transferring the
temperature values from the well models to the surface network.
If the “For Simulator” option is selected then it is necessary to select a lift curve format
compatible with the simulator. There are a variety of formats available which are displayed in the
figure below.
With the Parallelise VLP calculation option is ticked, the calculation of the VLPs can be
parallelised across multiple processors. Please note, parallelisation follows the settings defined
within PROSPER via File | Preferences | Limits.
The 'PVT Method' drop down box enables the user to select which PVT dataset is to be used to
generate the VLPs. The user can either follow the PVT in the PROSPER model, use a black oil
PVT model or a full compositional PVT model if available.
The next step is to define the range of sensitivity variables used for generating the VLPs. To do
this select "Data" which will prompt the following screen
The populate buttons can be used to automatically generate a range of variables based on a
spacing.
Enter rates (up to 50) and a range of values for the manifold pressure, GOR and water cut. Note
that the sensitivity variables will change depending on the type of well and the fluid being
produced.
The values used for generating the VLP curves are dependent upon the conditions of the field.
The objective is to generate the VLP curves with a range of values that encompass all of the
expected conditions that will be experienced during the field life. The reason for using a high
range of values is so that GAP will always interpolate between the VLPs to find a solution.
Extrapolation, as previously described 601 , can give incorrect results or cause problems for the
solver.
A recommended range of sensitivity variables for different wells can be found here 621 .
Once the sensitivity variables have been entered for each well select the "OK" button to return to
the selection screen. GAP is now set up to calculate the well VLP curves in a batch.
Before generating the VLP curves, make sure that the correlation used in the PROSPER
corresponds to the correlation that is matched to the well test data (if any).
Before generating the VLP curves, make sure that the correlation used in the
PROSPER corresponds to the correlation that is matched to the well test data (if
any).
When the "Generate" button is pressed GAP will automatically direct PROSPER to calculate a
VLP for every single combination of the sensitivity variables entered in the "Data" section. The
completed VLP tables will be automatically saved as a .vlp file and transferred to the VLP
The progress of the calculations can be monitored with the progress bar (shown below).
With the calculation parallelised, PROSPER first configures the different threads before
calculating the VLPs for the specified sensitivities.
Once the generation is successfully completed, a screen will be prompted to notify the user.
8. Before using the generated VLPs for network calculations, these must first be quality checked
by the user to ensure they are valid. This is done by selecting "Inspect" in the well VLP section
and plotting the VLP curves for different variables and checking the quality of the derivatives (i.e.
are the curves smooth).
The following values can be used as suggested intervals to enter the data for the VLP curves.
Although these values will not correspond to the ideal ranges for every type of system they are
still a good starting point and the engineer is recommended to use them for guidance.
The VLP Data section for Artificially Lifted Wells requires inputting a fifth variable. The following
table shows the variables and values for different types of Artificially Lifted Wells.
Gas Lift Gas Rate Enter the range of values that could
(not be injected in the well
recommended)
ESP wells Frequency of Depending on the Variable
Operation Frequency Drive Option, enter the
range of values for the frequency of
motor operation. These generally
range from 40 to 70 Hz.
PCP Well Motor RPM The Motor RPM corresponds to the
Pump Speed.
Jet Pump Power Fluid Rate Dependent on the system in
Well question. Should cover the pump
control (min/max) power fluid rates.
HSP Well Pump Rotational The pump rotation speeds should
Speed correspond to the selected pump
unit.
CBM Well Liquid Level The maximum depth of the liquid
level cannot exceed the depth of the
pump
Due to memory limitations of 32 bit applications, care must be taken to ensure that the
number of VLPs generated is less than 32,000. This is particularly important when
generating VLPs for gas lifted wells that include the casing pressure variable. This does
not apply when using 64 bit applications.
The VLP calculation data can easily be copied from one well to another using the
copy and paste functions. When copying data from one well to another, it should
be ensured that the data cover the operating range of the new well.
2.8.3.3 Batch Generation of VLPs with Mass flow rates
The classic definition of a VLP curve is that it provides a physical relationship between the
surface rate (expressed at standard conditions) and the bottomhole pressure (considering the
pressure losses from wellhead to the top of the perforations) as a function of the operating
conditions (for example manifold pressure, WC and GOR).
In this definition the flow rates are defined as volumetric rates at standard conditions (STD). It is
important that this is understood as there are implications in this definition. This is because the
volumes measured at standard conditions are dependent on the way in which the fluid is
processed in order to reach standard conditions. Although the mass of fluid flowing will be the
same, the volumetric rates of the of the oil and gas at standard conditions can have different
rates (if the number of separator stages is different for example).
Defining the rates in terms of mass has the benefit of making the rates (hence the VLPs)
When one of the compositional PVT models (see above 182 ) is selected, it is possible to
generate the lift curves with mass flow rates. To achieve that:
In GAP, in the well summary screen (accessible by double-clicking on the well) the rate
model should be set to "Use mass".
Generate the VLPs directly in PROSPER as showed in the section above 628 . In PROSPER
the 'Rate Type' selected in the VLP calculation section should be selected as 'Hydrocarbon
Mass Flow Rate' :
And in the "Cases" the GOR should be replaced by a range of 'Molecular Weight', whilst all of
the other variables should be the same as the volumetric rate VLPs.
There are a few points that need to be considered before working on the basis of mass. In the
field we generally work on the basis of rates. So if rate constraints are to be introduced into the
system then a process must also be considered as the rates are dependent on the process that
fluid is passed through. In this case, the reference conditions in GAP need to be taken into
account so that we can translate these rate constraints into the model. Additionally, the regular
tasks of evaluating well performance and re-tuning the well models in PROSPER becomes more
difficult as the well test data will always be expressed in terms of rates and the equivalent mass
form would have to be repeatedly determined. Therefore from the perspective of managing the
model, using mass can actually demand more work for the engineer in the long term. It is
therefore recommended to carefully evaluate what the objectives are for the model before
considering if this approach should be used.
2.8.3.4 Generating Well VLP on a well-by-well basis
The generation of VLPs can also be carried out for an individual well by following the different
procedures below. These methods may be preferable if a model is small or if additional wells
are being added to an existing GAP model.
If the user only wants to generate the VLP file for " Well_A" then select this well only when the
following option is given when accessing the Generate | Generate VLPs with PROSPER.
Once "Well_A" has been selected it will be the only well that appears in the VLP generation
screen and the procedure is exactly the same as in the section described previously.
Alternatively, the VLP file can be generated in PROSPER and then exported to be used in GAP.
The procedure is as follows for generating the VLP file in PROSPER:
1. Load PROSPER from Windows or from the well data entry screen and open (or create) the
appropriate PROSPER well file.
2. The VLP curves can be generated by selecting Calculation | VLP Tubing Curves from the
menu bar.
3. Enter the top node pressure and water cut values into the input table and a range of liquid
rates that encompass the full range of operating conditions into the table at the bottom
screen. Now press the 'Cases' button at the top of the screen. This will display the
sensitivities screen shown below.
4. For a naturally flowing well the first node pressure, GOR and water cut must be varied. For
a gas lifted well the GLR injected must also be varied. An error message will be
displayed and the created file will not be useable in GAP if variables other than the above
are varied.
6. The 'Export Lift Curve' button allows the user to export the curves in a variety of different
formats. For use in GAP select 'Petroleum Experts - GAP/MBAL'.
7. To import the file into GAP open the appropriate well VLP screen, click on the Import
button and then locate the file that has just been exported from PROSPER using the
Browser. GAP will automatically convert it to a .vlp file, and the name will be displayed in
the VLP file field of the dialogue.
The procedure for generating pipe VLPs is similar to well VLPs. Select Generate | Generate
If no pipes have been selected, then the following screen will appear.
Clicking on "All" will select all the pipes in the system that have the "Use lift curves" option
selected.
Clicking on "Data" will display the "Generate Data" screen shown below.
This is used in the same way as described in the user Guide for "Well VLP generation" in that
the user must ensure that the sensitivity variables encompass the full spectrum of operating
conditions that are expected throughout the field life.
The lift curve options should be handled with care and are not recommended for
modelling the pipeline pressure drops. The fundamental reason for this is because of
the PVT. The lift curves have to be generated for a constant PVT which for most
pipelines is not a valid assumption as the type of fluid flowing through the lines can
change very heavily as the relative proportions of the commingled fluids coming from
different wells changes over time. The recommended approach is to use the GAP
Internal Correlations as these will handle any change in the fluid properties and there
will be no interpolation errors which are inherent in the pipeline lift curves.
It is important to note that as pipelines can flow in either direction, therefore the
range of rates selected for the VLP calculation should include both negative and
positive rates, as in general the flow direction is not known until the calculation has
been performed.
Populate the list of sensitivity variables for all of the selected pipelines.
Clicking on the "Ok" will return the user to the ‘Generate’ dialogue. From this screen, press the
"Generate" button to begin the batch generation of the pipe VLPs. Once this is successfully
completed the software will prompt the user with a message.
As with the well VLPs, once the pipeline VLPs have been generated the user must inspect the
quality of the lift curves to ensure that they are valid for the network calculations. This is done be
selecting "Inspect" in the "Lift Curves" section of the pipe element and plotting the lift curves for
different variables and checking the quality of the derivatives.
The 'Performance Curves' (PCs) are generated for unique values of Reservoir Pressure, WC (or
WGR for gas wells) and GOR (or CGR for dry gas wells). During a prediction, the PCs are
regenerated before each timestep using the WC, GOR and Reservoir Pressure coming from the
tank models.
In order to batch generate the PCs, the well models need to have previously been changed to
"PC interpolation". To do this select all the wells using Edit | Select All | Wells
And then Edit | Selected Wells and Inflows | Set Well Model | PC Interpolation.
Once the GAP well models are modified to "PC Interpolation", the batch generation option can
be followed.:
If no wells have previously been selected then this screen will be displayed:
This can be used in the same way as discussed for well selection during "Batch Transfer of
IPRs".
When the wells are selected from the list below, click "Continue":
On the table below, the well are listed accordingly to their types (Naturally flowing, Gas lifted,
ESP...):
As mentioned before, the WC, GOR and Reservoir Pressures are unique. They are by default
coming from the well IPR sections. However, the user has the option to "Transfer" the variables
from the "Wells Model Validation" screen.
The 20 different Manifold pressures can either be entered by hand or automatically generated
(recommended) by GAP using the "Automatic WHP" option. The "Generate" button will
calculate the Performance Curves.
For Gas Lift wells, the Performance Curves are generated for two variables:
1. Manifold Pressure (as the other wells)
2. GLR injected
As for the other wells, the range of Manifold Pressure has to be entered. The range of GLR
injected is then automatically selected by GAP.
Although the VLP/IPR intersection method is the preferred option as it is the more
accurate, the PC's curves can help to speed up the run times in very large systems.
Performance curves can also be used to highlight any issues in the quality of the VLP
curves.
This section introduces the user to the 'Model Validation' menu option in GAP, which allows
efficient quality checking of the well models in GAP against measured field data, with added
functionality of being able to trouble shoot individual wells.
This chapter describes the validation of well models in GAP using the "Model Validation" menu
options. The well performance model considered can be either:
Performance Curves or
VLP/IPR intersection
The following assumes that the PROSPER well model has been matched to measured production
data.
The following steps outline how to ensure that the accuracy of the PROSPER model has been
preserved within GAP. The accuracy of the well models must be checked before attempting an
optimisation.
'Model Validation' is based on measured reservoir pressure, water cut, GOR (for oil and
retrograde condensate producers wells) and manifold pressures recorded in a test.
GAP uses either the performance curves or the VLP and IPR curves entered in the well input
screens and calculates well production rates for the specified test conditions.
The calculated well rates are displayed against the measured rates and an overall liquid error is
indicated. Changes can then be made to the model in order to respect the measured data.
The objective of the model validation is to verify that the model reproduces the measured data
from the field to within an acceptable tolerance and to verify that the PROSPER models are
consistent with the well models in GAP. Once the engineer is confident that the model is a
reasonable representation of reality then it can be used for short or long term optimisation and
forecasts.
To carry out a "Model Validation" calculation, enter the following screen by selecting Model
Validation | Well Models Validation from the main menu.
On entering the dialogue, select the well type to work with and whether the oil or liquid rates
should be used when entering rates. (this will depend on the measured data available).
The values of Reservoir Pressure, Water Cut and GOR present in the well’s IPR screen can be
transferred to this screen (for gas producers the CGR and WGR will be transferred). This is
done by using the "Transfer" button located at the bottom of the screen.
Select the "Transfer" from IPR/VLP option. The option "Transfer to IPR/VLP" option enables the
user to transfer the data from the validation screen in the IPR section of the wells considered.
The Transfer menu allows the engineer to transfer the well test data used
in the VLP/IPR matching in PROSPER. This is done by selecting "Transfer
latest Well Tests from associated PROSPER files" as shown below:
The wells to select can be chosen from the well list that is displayed once the user selects
continue.
If required, the transferred data (Reservoir Pressure, GOR, WC) can be changed manually to
match the field measured data. For the wells described with performance curves, the reservoir
pressure column will be disabled.
The "Import" button can be used to import a dataset from a text file. The "Paste" button can be
used transfer data from the clipboard.
Once part of the dataset has been transferred using the "Transfer" button, it will be possible to
enter the Manifold Pressure and Liquid Rate (or Gas Rate) that was measured during the well
tests.
Click the "Calculate" button and GAP will use the intersection of the VLP and IPR curves as
defined in the well model to determine the rates predicted by the model at the test conditions.
Rates are marked with a contrasting colour if the lift curves were extrapolated to find a
solution.
In the case of a multi-layer IPR model, GAP will use the layer pressures used
in the well IPR entry screen and will disable the reservoir pressure column.
Once the calculation has been done, the user can compare the measured rates against the
calculated rates of the well models. If there are significant differences then the models can be
updated accordingly.
If a well has a large deviation between the measured and calculated rates, then the model can
be analysed using the "Edit" button to access the well input screen for troubleshooting purposes.
The intersection of the VLP and IPR can be visualised by selectings "Plot".
Once the reason for any discrepancy between measured and calculated well performance is
identified, any required adjustment can be done (e.g. PI adjustment, VLP re-generation with a
more appropriate range of variables).
As a final step, the values of reservoir pressure, water cut and GOR can be transferred back to
the well’s IPR screen by using the 'Transfer' button as illustrated previously, using the option “To
VLP/IPR screen”. This step is required if GAP is to update the existing values in the wells with
the current measured values.
While troubleshooting always check that the IPR, PVT, reservoir pressure etc. are
identical to that of test. Also check that the set of VLP curves used in GAP have
been generated with a reasonable range of variables (i.e. there are no
extrapolation errors.
When performing model validation on outflow only multilayer wells, GAP will
disable all items in the network and add a separator at the wellhead with
the specified measured manifold pressure. A solve network calculation is
then performed to determine the smart well production rate based on the
setup of the well model (VLP data, well control data & IPR layer data).
If the user wishes to perform model validation with specific layers ignored
in the multilayer well, then these layers should be masked (not disabled)
in the GAP network.
All wells with valid IPR and VLP data (or Performance Curve data).
All pipelines and other surface equipment defined and calibrated.
The optimiser in GAP is designed to optimise on the objective functions, which could be the oil
produced, revenue earned or gas produced depending on the options selected as defined in the
next section. The optimisation which is carried out is subject to the constraints entered at various
levels in the network.
The results of the optimisation will provide the engineer with the following control settings:
For Gas Lifted Wells (Gas Allocated to the Well / dP at well head)
For Diluent Injection Wells (Diluent Injection Rate / dP at well head)
For CBM Wells with ESP or PCP (Frequency or Speed of operation and dP
at well head)
For SRP Wells (Pump speed / dP at well head)
For ESP Wells (Frequency of operation / dP at well head)
For PCP Wells (Speed of operation / dP at well head)
For HSP / Jet Pump Wells (Power Fluid Injection Rate / dP at well head)
For Inline Controllable Chokes (dP)
For Pumps with Control (Speed of rotation)
For Compressors with Control (Speed of Rotation)
For Optimised Inline Injection (Gas injection Rate)
When performing optimised runs, the wells in the system should be set
controllable (this tells the optimiser that the wells can be choked back to
control the system).
The equipment control screen can be accessed using the icon on the menu bar. The
equipment control screen appears as follows:
The equipment control screen will display all of the system equipment that can be controlled by
the optimiser, along with their control variable values.
The top part of the screen enables the user to filter the equipment list by equipment type, sub
type, control type, optimised only or Non optimised only elements (the figure above is filtered on
"Optimised only'). Once a specific layout has been defined, the "Save Layout" button enables
the user to save the current configuration to memory so that it can be recalled at a later date.
The bottom part of the screen displays the list of system elements as follow:
This screen allows the user to define the control groups based upon the control type. To setup a
control group, a given piece of equipment (the Item) can be chosen to be controlled by another
piece of equipment (the Evaluated Control) provided the control type is the same.
Sub Type Specify the Equipment sub type. For example, distinguishing between well
types (Oil Producer etc.).
Control Specify the method of applying control e.g. Pressure Drop, Gas Injection
Type Rate etc.
Evaluated Control This field defines the equipment used to control the Item. By default, the
Item will have an Evaluated Control of itself and is not part of a Group
Control.
Multiplier Used to scale a control value for a controlled element based upon the
value which is found for the element that is controlling the group.
Reset Current Resets the Evaluated Controls to the default (removing Control Groups).
Items
Update Current Applies any changes made within the Control Group Table.
Items
Enable Group Allows the user to enable or disable Group Controls in the current model.
Control
N.B. To apply changes made in this window, Update Current Items must
selected before moving on.
Production This option optimises the production rate of the primary fluid (in an oil system
this is the oil for example) and penalises on the water production. GAP will
calculate the maximum rate of the primary fluid that can be achieved while
honouring any constraints in the system.
Revenue This option optimises on the revenue generated by sales of oil and gas
produced after taking into account specified costs. If this option is selected,
then prices need to be defined for each fluid in the system (see below).
Up to 32 different Tax Regimes can be set in one system and the currency can
be defined by selecting "Currency Setup". Different Tax Regimes can be
associated to different wells in the system.
For example, a condensate system with large flowlines can have significant
pressure drops with increasing oil rate. This can impede gas production to the
extent that we may not satisfy our gas contracts. The "Gas Rate with
Preference to Oil Content" will ensure that we meet our gas contract and will
then try to maximise the oil rates in the system by finding the optimum fluid
fractions that minimise the production losses in the flowlines which may not be
captured by the option "Gas + Oil rate only" which has no weighting factor
assigned to a particular phase.
No optimisation
Rule Based
Optimise with all constraints
Optimise potentail constraints only
To solve the network select Solve Network | Run Network Solver... from the main GAP menu.
If there are any gas lifted wells in the system then the total amount of gas lift gas that is available
needs to be specified. The pressure at the separator, which corresponds to the boundary
condition, must also be entered.
Up to ten different pressure boundary conditions can be entered and solved. Note that in a gas
lifted system the option changes and only one pressure can be specified however the user has
the option to enter ten different variables for the amount of available gas lift.
Once the total available gas lift has been defined (if there are gas lifted wells in the system) and
the separator pressure has been specified, selecting "Next" will bring the user to the following
screen.
The user can then specify the calculation mode and then solve the system by selecting
"Calculate".
The highlighted sections of the network solver window inform the user of how the calculation
progressed.
This tells the user what the maximum pressure drop or mass balance difference is at any of the
nodes in the system. If any of these exceed the tolerance set in the model then GAP will highlight
the nodes in the system (provided this option has been switched on).
This is the error associated with the solver. It is an indication of whether the model has
converged properly. Large errors mean the solver has not converged and the engineer needs to
review the input into the model.
The last guess reports the objective function. For example, in this case as we are dealing with
an oil system (and the oil rate is therefore the objective function) and the value reported is the
optimised oil rate.
The user has the option to implement script during the 'Solve Network'. If some overlying logic is
to be applied during the solve then this can be captured using the "Run Prediction Script" option.
2.10.5.1 No Optimisation
This option invokes the solver only and GAP will calculate the pressures and rates throughout the
network to give the natural response of the system. Note that the natural response in this sense
refers to when the wells are fully open. The solution is according to the following criteria:
For artificially lifted wells, the solver reads and applies the corresponding artificial lift
parameters for each well from the Equipment Control screen under the section "Actual".
For any Equipment with dP Control (Wells and online Chokes) specified as "Calculated"
in their respective control screen, GAP will apply the dP specified in the Equipment
Control screen under the section "Actual".
For any Equipment with dP Control (Wells and online Chokes) specified as a "Fixed
value", GAP will apply the value entered in the "Control" screen.
2.10.5.2 Rule Based Network Solver
In previous versions of the tools, the user had two options when solving the network;
1. No optimisation – faster but does not consider the optimum solution or any constraints in
the system.
The Rule Based Network Solver (RBNS) released in IPM 9 combines advantages of both above
methods. The RBNS;
Please note that the Rule Based Network Solver is NOT an optimiser and as such may calculate
lower recoveries than solving the network with optimisation.
2.10.5.2.1 Purpose
The purpose of the RBNS is to control a production system, ensuring that constraints are
satisfied. It does so by following a set of simple rules which govern how the system is
controlled.
In contrast; the GAP optimiser has two purposes; to both ensure that any constraints are
satisfied whilst simultaneously optimising an objective function (e.g. oil rate).
The rule based network solver is therefore NOT an optimiser but is a method of
performing predictions whilst honouring constraints.
The RBNS uses the same controls as the optimiser (well chokes, ESP frequency, in-line chokes
etc.) to control the system. The rules used follow a clear logic, similar to what an engineer would
do if tasked with manually adjusting the controls to meet constraints.
1. The relationships between each control and the constraints (which controls
affect which constraints).
For each constraint; GAP will generate a list of available controls related to this constraint known
as the control set. This list is based on the upstream/downstream hydraulic conductivity between
control and constraint. If the fluid can travel through a path directly upstream or downstream
between the constraint and control then this control will be added to the list of available controls.
Paths which require the fluid to travel both upstream and downstream between constraint and
control are not considered.
ALL controls are assumed to be related to any system constraints.
The control depth of any control is defined as the maximum number of controls upstream of that
piece of equipment on any one path. This is not the same as the total number of controls
upstream. Consider the following example; the control depth of the pump is 1 – not 2. The control
depth of the wellhead chokes is zero;
2.10.5.2.3 Rules
When solving the network, the RBNS follows a set of rules which are used to determine which
controls to adjust and in what order. As explained in the previous section, each constraint has a
list of related controls (control set) which will affect the constrained property.
The controls are altered in a logical fashion which would be applied in reality to the field. For
example, in a gas lifted well, the lift gas rate is reduced before choking back the well. The
controls are adjusted based on the following criteria;
Control depth
Control availability
To understand how the logic is applied, consider the case where the current system state is
capable of delivering a larger rate than the constraint in the separator – i.e. the rate must be
reduced.
The powered versus unpowered rule will ensure that any powered controls are reduced first.
Powered controls are any type of control which costs money and adds energy to the system, for
example; pumps, compressors or gas lift. Unpowered controls remove useful energy from the
system, for example; chokes.
The control depth will then select the furthest upstream controls to be selected first. For example
a wellhead choke would be reduced before an in-line choke further downstream.
Control availability will select the controls which are not already at their minimum value and thus
cannot be adjusted any further.
The available controls at the selected control depth are known as the active control set. The
controls in the active control set will be adjusted uniformly. For example, if the active control set
consists of five wells with wellhead chokes; all wells will be choked uniformly, irrespective of
watercut.
The logic for both reducing and increasing the rate is shown below as an example;
1. Fixed Step
2. Calculated Step
For each of the step types, all controls for a given constraint are adjusted by the same value. The
only difference is how this value is calculated.
The fixed step is the most simple and adjusts the active control set by a fixed amount.
The calculated step evaluates the current conditions and constraints and attempts to calculate
how much to adjust the controls to meet the constraint. As an example, consider the below
scenario; there are two wells each producing 15,000 STB/day of liquid. The constraint at the
separator is 20,000 STB/day and thus these wells (the active control set) must be choked back.
The wells need to be controlled in such a way that they only produce two thirds of their current
amount (10,000 STB/day each) thus the rate reduction value is calculated as 0.33. The pressure
loss required through each wellhead choke is then calculated based on this value.
Due to back pressure effects this calculation will be inexact; however it is a valid approximation
which will converge with a series of iterations.
The bisection step type requires a known, valid control strategy (a valid control strategy is one in
which none of the constraints are violated). If any constraints are violated in the current control
strategy then the related controls require adjustment. The amount of adjustment required for the
active control set is calculated as a fixed fraction between the current control value and the
control value in the valid control strategy.
1. Downward
2. Incremental
3. Refined
The downward search is the simplest search mode. It begins with all of the controls fully open
and takes fixed steps downwards (reducing the rate) until a valid control strategy is found. The
downward search mode is a fast and robust method of finding an initial valid control strategy.
Calculated steps are not used for this method as they can suffer from robustness issues (where
the calculated reduction undershoots each time leading to smaller and smaller reductions being
calculated and stalling the solver). Due to the speed and robustness of this method it is used to
calculate the initial control strategy for use in the incremental search.
The incremental search option requires a valid control strategy as a starting point. Starting at the
valid control strategy this search mode first takes a calculated step upwards (increasing the
rate). If this calculates a valid production strategy then this becomes the new best control
strategy and will be the starting point of the next step. If the calculated step does not calculate a
new valid strategy then bisection steps are taken backwards to the starting point. If a bisection
step calculates a new valid strategy then this becomes the new best control strategy and the
process will continue. If the bisection steps do not calculate a new valid strategy then the
incremental search is said to have stalled. The valid strategy at the start of the search is then
accepted. This search mode provides a method of calculating the highest possible rate which
follows the rules of the solver whilst honouring all constraints. This is not the same as the
optimum production which can only be calculated using the optimiser in GAP.
The refined search is used ONLY if the incremental search has stalled. The refined search
performs calculated steps upwards until all of the constraints are violated (or all controls are fully
open). At this point a downward search is performed using small fixed steps until a valid control
strategy is found. An incremental search is then performed using smaller bisection steps. The
refined search has been designed for use in systems where the incremental search has had
difficulty solving.
Percent CO2
Percent H2S
Percent N2
Oil Gravity
Minimum Pressure
There are two methods of handling gas lift controls in the RBNS;
1. Uniform Allocation
Uniform allocation considers gas lift controls like any other and as the name suggests allocates
the lift gas uniformly to each well.
Equal return allocation will allocate the gas lift in such a way that the marginal gain in oil rate per
unit of gas lift is equal for all the wells. It does this by generating a gas lift performance curve for
each well (Qoil vs. Qgas). The derivative of this curve is taken to give the marginal gain in oil
production per unit of gas lift (dQoil/dQgas). The amount of gas to be injected in each well is then
found by setting the derivative term equal for each well and finding the corresponding lift gas
rate.
Please note; GAP will use the uniform allocation method if any of the gas lifted wells uses one of
the outflow only models.
NOTE: RBNS requires both a MINIMUM and MAXIMUM artificial lift control value to be
specified in the well CONTROL section.
For example, for a gas lifted well, the Minimum Gas Injection Rate = 0, and the Maximum Gas
Injection Rate = [maximum value]. For an ESP lifted well with variable speed drive, the
Minimum Frequency = [lowest frequency VLP value], and the Maximum Frequency = [highest
frequency VLP value], etc.
At a particular timestep the rate reduction value of the well has a value of 0.8.
In order to obey the constraints; the rate produced by the system has to be reduced.
The RBNS determines that the rate reduction value for the wells should be changed to 0.6
(i.e. a difference of 0.2).
The weighting of this well will adjust how the control is applied. In this case the rate reduction
value calculated would be 0.8 – (0.2/2) = 0.7.
Alternatively; if the rate reduction value was to be increased from 0.8 to 0.9 for all wells then
the weighting in this case would cause the value to be 0.8 + (0.1*2) = 1 (fully open).
Weightings are used to reduce the downward adjustments and increase the upwards
adjustments at the well or inflow.
Adjusting the control weightings will lead to some wells/inflows being preferentially produced.
Weightings substantially different from unity (i.e. 0.1 or 10) can cause the RBNS to fail. Setting all
control weightings away from unity can also cause the performance to slow considerably thus the
weightings should be used with care.
All specified binding constraints are honoured (provided they are feasible).
For artificially lifted systems, the optimiser allocates the artificial lift parameters (e.g. the
gas lift gas amongst gas lifted wells) in such a fashion that overall production is optimised.
For any equipment with dP Control (wells and inline chokes) specified as "Calculated" in
their respective "Control" screens, GAP will determine the necessary pressure drop to
apply in order to obtain the optimum solution.
For any equipment with dP Control (Wells and inline Chokes) specified as a "fixed value",
GAP will use this fixed value during the entire optimisation. This allows the user to remove
control from certain elements in the system and still carry out an optimisation calculation.
If this mode is selected, an option to also calculate the potential becomes available. If this option
is checked, GAP will determine the potential of the system and report it in the results. When the
potential calculation is performed, GAP solves the system considering only the constraints which
have the potential option set to ‘YES’. If the potential option is set to ‘NO’, then the system is
solved as though no constraint value has been entered. As such, the potential calculation in GAP
is essentially solving the model with some or all the constraints removed from the system, and
therefore it is possible for the potential to be less than the optimum rates.
Note
The constraints that have the "Potential" option turned to "Yes" will still be considered and
honored during the potential calculation.
By default some of the constraints are set to "Yes" which are considered "physical" constraints
that are typically encountered in the field. The potential constraints are the constraints with the
potential option set to "Yes" (see figure above) and the GAP optimiser will honour these during
the calculations. The constraints that are set to "no" will be ignored during the calculation.
The user has the flexibility to include any of the constraints in the potential calculation. This is
done by modifying potential option to "Yes" as shown below.
In particular, when running predictions, it is recommended to use RBNS rather than the full
optimiser (Optimise with All Constraints). This is because it is often meaningless to perform a full
mathematical optimisation over long forecasts and will significantly increase computation time.
Selecting the “Settings” button gives access to the underlying solver and optimiser settings in
GAP.
G A P offers various configurations which can be modified to handle any system of any
level of complexity. However, over 90% of systems can be accurately and efficiently
modelled using the "Default" configuration which has been tested extensively with
numerous different models with a high level of diversity. On this basis we discourage
the manipulation of solver/optimiser settings unless the user is an experienced user and
comfortable with formulating optimisation problems.
Default
Fastest but may be less accurate in small systems
Large System (to speed up)
Quick and Rough
Tight tolerance (slower)
To change a Base Configuration, click on the drop down list box, selected the base
configuration that you wish to change to. Then, click on the ‘Apply’ button, followed by the ‘Reset’
button.
Beyond this, the experienced user may customise the various settings.
Solver - Max iterations This is the maximum number of iterations the solver is allowed to
perform in order to converge. If convergence has not been
achieved within this number of iterations, then the solver will
simply stop. However, in most systems the solver will require
much less iterations than 50 (the default number) so if
convergence has not been achieved, this may indicate a problem
in the model setup which prevents the solver from finding a
solution
Solver - Jacobian This parameter exaggerates the slopes (derivatives) hence a
Term Multiplier faster solution can be achieved if this value is increased.
However, there is the possibility that by increasing this value, the
solver may overshoot and cause problems with the convergence
Solver - pressure The GAP network Solver works with derivatives which are
perturbance created with a certain change in pressure. This delta in pressure
defines the magnitude of perturbation (in psi)
Solver - Total Rate This is the total rate used to calculate the derivatives (as with the
Perturbance pressure perturbance described above). A value of 1 (Mstb/day
or MMscf/day depending on the system being oil or gas) is the
default one and should be fine for most cases. If the model
contains chokes and long pipelines with small ID for instance, it is
recommended to reduce the total rate disturbance to 0.1 or 0.01
as appropriate
calculation by GAP.
Optimiser - max This is the maximum number of iterations the optimizer is allowed
iterations to perform in order to converge. The default is 100
Optimiser - well This is the fraction of the normalized system potential used for the
initial rate fraction first guess. If there are small chokes and long pipelines in the
system, a smaller value (0.1) could be used, in order to ensure
that the calculations do not start with critical conditions at these
elements.
Another case where the well initial rate fraction may require
reduction to 0.1, is when there are constraints which are very
small compared to the potential of the wells. So the optimiser will
reach the constraints by increasing the rate of the wells, instead
of the conventional rate reduction than might pose problems in
such a case (optimiser not 'seeing' the constraints). The default
is 1
Optimiser - gas For gas lifted systems, this defines the gas lift gas injection rate
injection perturbance used to perturb the system. The default is 0.1 and should work for
most cases
Optimiser - frequency For ESP lifted system, this defines the magnitude of frequency
perturbance used by the optimizer in perturbing the system. The default is 3
and should work for most cases
Optimiser - rpm If there are surface pumps and/or compressors in a network and
perturbance pumps lifted system, this defines the magnitude of revolutions per
minute used by the optimizer in perturbing the system. The default
is 100 and should work for most cases
Optimiser - lift and choke Artificially lifted wells may be prevented to be choked and at the
wells simultaneously same time optimized on gas or frequency
Optimiser - report Controls the tolerance at which a constraint violation flag is
constraint violated triggered
by more than (percent)
Optimiser - Sensitivity Will change the driving term of the inflow of wells and hence the
on Inflow rest of the system after normalization and pre-conditioning
Optimiser - Maximum Self explanatory
number of retry when
well unstable
Prediction - save This setting allows the user to save or not to save the
intermediate step intermediate results during a prediction run. The following
results snapshots at conventions apply:
each prediction step 0: Intermediate steps results are not saved. No *.gmh file is
(slower!) generated.
1: All intermediate steps results are saved.
The default option is 0. For troubleshooting purposes, one might
want to save the intermediate step results at the expense of the
calculation time. During a prediction run, a so-called *..gapsnp
(GAP prediction snapshot file) file is created and can be reload
afterwards with |Prediction Prediction Snapshot Reload
Prediction - reset This setting allows to reset or not to reset the solver variables for
solver variables each new step during a prediction run. The following conventions
at each prediction apply:
step (slower!) 0: The solver uses the results of the last step as first guess for the
current step.
1: The solver will start any new step without using the results of the
previous step.
The default setting is 1 and should be fine for most cases
Prediction - reset This setting allows to reset or not to reset the optimizer variables
optimiser variables for each new step during a prediction run. The following
at each prediction conventions apply:
step (0:never, 0: The optimizer uses the results of the last step as first pass for
1:always, 2:smart) the current step.
1: The optimizer will start every new step without using the
optimization results of the previous step.
2: The optimizer will reset the variables whenever there are
changes is the system, such as wells coming on.
The default setting is 1 and should be fine for most cases.
However, in cases where major changes in system configuration
occur from one time step to another, it might be more appropriate
to reset the solver variables to account for changes in the model
response
Prediction - control This option will limit the movement of optimiser variables between
movement of optimiser timesteps. The default value is 1.
variables This setting is only valid in forecasting mode.
To view the results of the solution, click "Main" to return to the main menu. Click 'Results' from the
main menu and choose from one of the available options to display or plot the results of the
calculations.
A convenient way to inspect production results is to plot a histogram of production for each well.
To do this click Results Summary All Wells Plot to display histograms similar to the plots
shown below.
Refer to the chapter on Reporting 756 for more details. Clicking on an icon and
selecting the 'Results' data section allows the user to view the calculated results
for individual elements.
2.10.8 Parallelisation
The solver calculations can be parallelised (selecting the option shown below) to speed up Solve
Networks/Predictions. This option is useful for large models that have long run times.
In order to solve a GAP network it is necessary to create a Jacobian of the system, this
represents the derivatives of every item in the network with respect to every other item, in both
rate and pressure.
The parallelisation is used to generate the Jacobian matrix required for the network calculation.
Given the amount of time taken in the total calculation to generate the Jacobian, any saving in
time that can be made will have direct benefits to the overall calculation.
Using the parallelisation option in GAP we have seen reductions in calculation times of 2x to 4x.
Of course, this is model and model set-up specific, and an increase in calculation time when
parallelising may actually be observed (for example due to the overhead required to parallelise
the calculations).
In almost all cases we have found that computational power and software brute-force can only
achieve small gains in calculation speed when compared with a rigorous problem formulation
based approach.
2.11 Transient
GAP maintains the ability to perform network calculations or run predictions based on steady-
state calculations which use multiphase flow correlations/models to determine the pressure
change in the pipeline network, as it has always done. These multiphase flow correlations/
models capture the total pressure drop based on the summation of three components; gravity,
friction and acceleration pressure drops. Further information on steady-state multiphase flow can
be found in Appendix B of the PROSPER User Guide.
As of IPM 11, GAP has the capability to model transient flow throughout a network using an
implicit formulation, which balances mass, momentum and energy. In a steady-state network
calculation GAP will make the assumption that the flow into a pipe element is equal to the flow
out. In GAP Transient, in addition to the pressure and mass balances across nodes, the
transient behaviour in a pipe must also consider mass accumulation and inertia change through
time i.e. in a transient system, the volume into a pipe may not equal the volume out.
The general transient model in GAP Transient allows engineers to take advantage of the GAP
network modelling capabilities, and easily switch between transient and steady-state networks in
order to investigate the transient behaviour induced by changes to a system and its impact on
the integrated model. The chosen multiphase flow correlation/model is used to initialise the
transient simulation (e.g. steady-state hold-up calculation) before the implicit formulation of the
transient equations are solved. Creating consistency between the transient and steady-state
calculations allows model/system validation to be more rigorous. The capability to model
transient behaviour will allow for greater depth in flow assurance and optimisation studies as well
as the ability to capture production/pressure surges and instabilities. Investigation into mitigation
strategies for these undesirable transient behaviours is also possible within the context of an
integrated model.
At present transient simulations consider two phases, with on-going research and development
into three phase modelling. In the case of segregation of fluid in a pipe the separation of the
phases is not fully resolved at this time and is the subject of on-going research. PVT propagation
in a two phase model have the current limitation that counter-current flow has also been disabled
at present.
2.11.1 Transient Simulation Options
GAP Transient simulation options allows the user to run transient simulations of the network
(either no optimisation or RBNS) over user-defined time steps.
In order to carry out transient simulations a GAP Transient license will be required. The transient
simulation options must be enabled in the 'Options' screen. To do this, select Options | Method
from the main drop down menu.
The GAP network can be setup to be completely transient or a combination of steady-state and
transient - this allows flexible detailed analysis of large and small systems.
A pipeline element can be toggled to perform transient calculations by checking the transient
option - as shown below:
This will make the pipeline element colours change as shown below:
A well model can be toggled to perform transient calculations by checking the transient well
option - as shown below:
Once transient equipment have been defined in the GAP network, transient simulation
Allow Dynamic This will allow GAP Transient to dynamically change the transient
Timestepping simulation timestep length based on the relative change in the system. If
the system is highly transient then the user timestep will be reduced to a
fraction of the min. step size. If the system has hit steady-state then the
user timestep will increase based on the step growth factor (e.g. 1.5) to
the max. step size.
Redo Non- If a transient simulation timestep does not converge for mass, pressure
Converged Time and momentum balance then subsequent timesteps may give non-
Steps consistent results. This option will force GAP Transient to reproduce
any non-converged timesteps again.
Click Transient | Defined Simulation Schedule and the following screen will appear.
The summary screen is divided into three sections. On the right, the user can select which
equipment type in the system should be shown in the lower portion of the screen. The upper list
will display the current set of schedules for the selected equipment.
For transient simulations, any scheduled event (e.g. speed change, choke size change,
downstream pressure change) that cause a sudden change can make the system highly
transient and cause surge flow. In reality, changes are gradually made over a short time of period
to mitigate transience in the system.
The 'Change OpenServer variable linearly' event type can be used for transient simulations. This
option will change a OpenServer variable linearly between two event times. For example, a
choke diameter change from 0.5 to 2 inches will occur from the 2 minute to the 17 minute event
time - as shown below.
For the above choke diameter change, the results can be observed from the simulation results
section of the inline choke element - as shown below.
Start/ This defined the start and end date of the transient simulation. The date/time format
End can be changed by right-clicking on the input field.
Date
Step This defines the transient simulation step size. If the step size is too small then GAP
Size will automatically apply the minimum step size required to capture the fluid
movement through a transient pipeline segment i.e. if the step size is too small the
fluid entering the transient pipeline segment will not have sufficient time (due to its
velocity) to exit the transient pipeline segment.
Sample Transient results can be recorded for all transient steps or sampled to record data
Results every n step size or minimum time intervals.
Whilst the calculation is running, the 'Plot Tanks' and 'Plot Nodes' buttons can be selected to
visualise the current run results. Once the run has completed, the buttons can no longer be used
and results must be visualised via Transient | Plot Nodes Simulation Results...
nts
Limiting The "Limiting" window shows the constraints that are limiting the overall system to
highlight the elements of the network that are constraining the system.
Script If a prediction script is defined, this log screen will report any message sent by the
script itself.
Message This log will report messages highlighting for example well or pipeline lift curves
s extrapolation.
The 'Add' button should be used to create a new stream, which can then be renamed. Existing
streams can be replaced and removed by first selecting the run description.
Node simulation results are saved in the same manner as prediction results. These saved
simulations can all be viewed under the 'Simulation' tab of the results screen of a equipment or
by going to Transient | Plot Nodes Simulation Results.
2.11.1.5 Purge All Simulation Results
This option will purge all saved transient simulation results.
This feature provides the results of the individual notes that make up the system. The plotting
functionality is the same as 'Plot Nodes Prediction Results'. Further information can be found
here 751 .
2.11.2 Transient Results
Once a transient simulation calculation has been run, transient simulation results will be available
in two ways (1) Node simulation results and (2) Detailed Transient Results.
Node simulation results follow the same result visualisation format as node prediction results.
These results can be accessed under the 'Simulation' tab of the results screen of a equipment or
by going to Transient | Plot Nodes Simulation Results.
Detailed transient results for transient equipment (pipe and transient wells) can be found by right-
clicking on a transient equipment and selecting 'Show Transient Results...' as shown below.
The detailed transient simulation results window is similar to flow assurance results. The window
is split into six main sections as shown and explained further below:
Detailed Transient From here; the user can setup 2D and 3D plots, filter results in the
Results Options transient table results (5), setup preferences and export data.
(1)
Timestep Control Timestep control will define the results displayed in the Transient Table
(2) Results (5) and Transient Plot Results(6). The timestep control panel
can be used to cycle through or play the transient simulation. The 'Go
To' field can be used to jump to transient results on a specific timestep.
Variable Control This section defines the plot type and variables displayed in Transient
(3) Plot Results (6).
Plot Type Plot - Variable vs. Time: this will display the selected
variables vs. time at a specific depth control (2)
Plot - Variable vs. Depth: this will display the selected
variable vs. depth at a specific timestep control (4)
Variable 1/ The variables to be displayed in Transient Plot
Variable 2 Results (6). The selectable variables will honour the
variable filter setup.
Global Min/ If active, the minimum and maximum value of the
Max Scale variable during the transient simulation will be used
as the scale for the Transient Plot Result.
Plot Multiple If active, this will plot multiple transient results based
on the plot type method selected.
Show Results If active, this will display the Transient Table Results
Grid (5) section.
Depth Control (4) When the plot type has been set to 'Plot - Variable vs. Time', the depth
control section allows control of the specific depth at which to display
the selected variables.
Transient Table This is a table result of the transient simulation. The variables displayed
Results (5) will honour the variable filter setup. If the plot type has been set to 'Plot -
Variable vs. Time', then the user manually can select specific depths.
Transient Plot Transient plot results will be displayed based on the configuration of
Results (6) timestep (2), variable (3) and depth control (4). Plot options like Cross-
Hair, Peak to Peak and Period are also available by right-clicking on
the plot window.
This will open a new window from which the user can select the cases and a variable to plot. The
selectable cases will be dependent on the plot type setup in the variable control section of the
main detailed transient simulations results window.
Once the desired cases and variable has been selected, select 'Plot' to open the 2D Transient
Plot window, as shown below. The 'Variables' button under the main drop down menu allows the
user to return to the previous screen. Plot options like Cross-Hair, Peak to Peak and Period are
also available by right-clicking on the plot window.
2.11.2.2 3D Views
3D Views allows users to visualise transient results in 3D plots or 3D equipment view.
3D Plot allows 3D visualisation of a selected variable against time and length - the user can
create 2D plots from 3D plots. 3D view allows users to view the pipeline/wellbore in 3D and
Length This defined the start and end length segment of the pipeline/wellbore
for the 3D view.
2.11.2.2.1 3D Plot
The user can rotate the 3D plot by moving the mouse in the desired direction while left-click and
holding the mouse button. Right-click and holding the mouse button on the 3D plot allows the
user to pan the length and selected variable axis.
Axes This will return the user to the 3D views setup screen.
Toggle This will switch the 3D plot to a 3D view. This can also be obtained by
double left-clicking on the 3D plot.
Plot Type The 3D plot can be changed into a contour plot.
Colour Scheme This will define the colour scheme used for the 3D and contour plot.
2D Transient Plot
When hovering the mouse over the 3D plot, the current variable, length and time selected will be
displayed on the top-left corner.
2D transient plots can be created from the 3D plot by holding T or L on the keyboard and left-
clicking the desired conditions. 2D transient plots with multiple results can be created by
continually holding the keyboard letter and
left-clicking on multiple conditions.
Holding T will select transient conditions based on time(s) and create a 2D transient plot for the
selected variables vs. length.
Holding L will select transient conditions based on length(s) and create a 2D transient plot for the
selected variable vs. time.
2.11.2.2.2 3D Pipe View
The user can rotate the 3D view by moving the mouse in the desired direction while left-click and
holding the mouse button. Zooming in and out of the 3D view can be achieved by using the
mouse scroll wheel or by right-click and holding the mouse button on the 3D view while moving
the mouse forward and backwards.
Hovering the moose over the 3D pipe/wellbore will display the current variable value and length
location. The current timestep is displayed in the buttom left corner of the 3D view window.
Axes This will return the user to the 3D views setup screen.
Toggle This will switch the 3D plot to a 3D view.
Playback Options From left to right, each button will perform the following action:
Pipe Graphical From left to right, each button will perform the following action:
Options
1. Reset the 3D view to default
2. Increase pipe aspect ratio
3. Decrease pipe aspect ratio
Drop Down From left to right, each button will perform the following action:
Options
1. Quick selection of a specific timestep
2. Quick selection of 3D view colour scheme
3. Quick selection of variable min/max scale
Filtering data helps to simplify the review of results and allows tables and plots to load faster.
Once the desired data has been filtered, selecting the 'Filter' button will return the user to the
detailed transient simulation results window. The filter will allow to all subsequent transient result
viewing options.
Variable Filter The list of variables displayed in the grid results and selectable under
variable control in the main detailed transient results window.
The key variables option will automatically select the default variables
setup in transient simulation preferences.
Length Filter The length segments displayed in the grid results and transient plots.
This can be filtered in terms of length or length segment intervals.
Timstep Filter This defined the timesteps segments available under timestep control
and displayed in transient plots. This can be filtered in terms of time or
timestep intervals.
Once a filter has been applied, a filter warning will be displayed in the detailed transient results
option section, as shown below.
This is a user preference setup on the default filtering options for detailed transient results.
These default settings will be applied to all transient equipment detailed transient results in the
GAP model.
Apply Default This will define if the current filtering setup is always applied as the
Filters default filter.
The variable, depth and time filter configuration will need to be setup.
The 'Filter Variables', 'Filter Depth' and 'Filter Time' check boxes need
to be selected to apply the default filter.
Define Key These are the key variables that will be applied to the variable filter and
Variables also 'Key variables' option in the filter setup screen.
Maximum Multiple This will define the maximum number of multiple plots displayed in the
Plots main window when 'Plot Multiple' option is selected for transient plots.
Default Options This will define the default visualisation options in the main detailed
transient results screen.
Full Export: This will follow the filter setup and export all filtered variables, lengths and timesteps.
Single Variable Export: This will export a selected variable for length and time.
The export option will allows users to report to printer, file, clipboard or screen.
2.12 Prediction
The GAP prediction option allows the user to run forecasts, with optimisation, over user-defined
time steps taking into account the depletion in the reservoir(s). Tank pressure decline curves or
MBAL material balance models provide the mathematical model of how the reservoir pressure
will decline as a function of the produced fluids.
Each well connected to a tank shares the same reservoir pressure, however the parameter "IPR
dP Shift" can also be used to shift the reservoir pressure from the tank datum to each wells
intake node depth if necessary.
Reservoir targets can be set for each tank and abandonment limits for each well. GAP will
calculate how much water or gas injection is required to maintain the tank pressure and well,
tank, separator, and joint constraints can be scheduled to change with time.
In order to carry out predictions the prediction option must be enabled in the 'Options' screen. To
do this select Options | Method from the main menu.
From the drop down menu ensure that the prediction is set to “On”.
1. At the start of the timestep, to the reservoir pressure and saturations are passed from MBAL
to GAP.
2. The WC and GOR are then calculated from the fractional flow model entered at the well level
in GAP which defines the IPR curve.
3. GAP will then solve the network using the VLPs at the well, by interpolating on the manifold
pressure, so that pressure and rate are balanced throughout the system. This is illustrated in
the figure below.
The blue VLPs refer to the VLPs in the lift tables generated for different manifold pressures,
WC and GOR. GAP will interpolate between all of the VLPs with the same WC and GOR
(calculated from the saturations provided by MBAL) to find the manifold pressures and rates
that balance the system.
4. The calculated rates at each well, QL, w ell are then used to determine the average rate
removed from the reservoir (based on the downtime if it has been entered) which is held
constant over the defined timestep. This allows for the cumulative rates to be calculated which
will then be removed from the tank.
5. The removal of these fluid volumes will change the reservoir pressure and saturations which
will then be passed for the next timestep, t.
6. The whole process is then repeated until the end of the prediction.
To make a production forecast using material balance for the reservoir models, GAP requires
MBAL tank models that contain a minimum of the following data:
PVT data,
Oil (or gas) in place,
Residual saturations,
Aquifer model,
Pore Volume Vs Depth (if using breakthrough constraints),
Relative Permeability curves (as Corey exponents).
To run a forecast using decline curves the steps that are carried out differ in how the reservoir
pressure and the fractional flow (WC and GOR) is calculated. The user defines a relationship
between reservoir pressure and cumulative production withdrawn from the reservoir at the Tank
level.
At the beginning of the timestep the reservoir pressure is passed from MBAL to the well (there is
no concept of fluid saturations as in material balance).
At the well level there is a direct relationship between WC, GOR and the reservoir cumulative
production which is entered as a table. This information defines the IPR curve.
With the IPR defined, GAP will solve the network using the method described in Step 3 (above)
to determine the rates and pressures throughout the system.
The average rates are then calculated based on the downtime and these rates are applied
across the timestep to determine the cumulative reservoir production. This cumulative
production is then used to determine the new reservoir pressure (by interpolating between the
values defined in the table at the Tank level) and the whole process is repeated until the end of
the prediction.
2. Build well inflow and outflow models and match to field data where
applicable.
3. Build and match reservoir models using MBAL. Matched PVT can be
shared with PROSPER *.pvt files.
5. Batch calculate well VLP and IPR using PROSPER from within GAP.
6. Check GAP model using the 'Model Validation' and 'Solve Network'.
The following sections describe the data entry for the setting up of a Material Balance forecast in
GAP.
In order to use an MBAL model for predictions select the ‘Material Balance’ option from the drop
down menu. This will display a 'Browse' button which allows an MBAL file to be associated to the
tank. Once a file has been associated the tank element becomes active.
This screen is used to set the start and stop dates for prediction along with the time step size.
Start Enter the start date of the prediction. Note that the start date needs to be within the
Date historical ranges of all the tanks connected in the network model.
End Enter the final date of the prediction.
Date
Step Enter the prediction step size. Note that the rate produced is considered to be
Size constant across a time step.
Restart The “Restart” Facility can only be accessed if a run has been performed already
and the results are stored to memory. A restart can be beneficial in the sense that
it is possible to implement a change at some point during the forecast (for example
drilling a new well) without the need of running the entire prediction form the
beginning.
DCQ The "DCQ Prediction" option enables GAP to calculate the maximum daily gas
predictio contract quantity that the system can deliver for the entered DCQ period. This
n option is particularly useful to understand DCQ quantities that can be delivered by
the field over a given contract period.
GAP fixes a DCQ constraint over the first DCQ period, and as soon as the
program sees that it cannot honour the maximum gas rate constraint during the
DCQ period, GAP reduces the DCQ constraint and runs the prediction over the
same time period up to the date it failed honoring the DCQ. The prediction will only
pass to the second DCQ period when GAP has ensured that the first DCQ
constraint can be honoured over the first period.
The program takes into account the seasonal swing factors entered in the "Swing
Factor" table and will calculate the controls that would need to be applied in the
field (wellhead chokes, compressor speed, etc.,) to honour the DCQ values during
the prediction period.
If no DCQ periods have been set to Predict | Yes, then the DCQ Prediction
dialogue will continue to appear until all (or one) of the entered DCQ "Predict"
periods has been set to YES. If the DCQ menu has been completed via
Prediction | Edit DCQ Schedule then the entered DCQ values will not be
accessible via the DCQ Prediction | Edit button shown above.
Wells Clicking on the 'Wells' button will display the screen shown below. This screen
allows well breakthrough and abandonment constraints to be defined.
Use this screen to enter constraints that are active for the entire prediction run.
Constraints can also be scheduled and modified through the 'Equipment
Schedule'.
Reservoir constraints can also be entered on this screen if desired. GAP will first calculate the
production system and then determine the injection rates required to satisfy the reservoir
constraints. If no injection network has been associated to the production system then GAP will
assume that sufficient equipment (compressors, pumps, injection wells and flowlines to distribute
the fluid) is available to injection the required volumes of gas and water. If a injection network has
been associated to the production system then GAP will use the injection network to determine
the injection capacity and constrain the system to honour any reservoir constraints determined.
Target Pressure GAP will determine the gas or water injection required to
achieve the pressure target by the end of the prediction period
Gas Injection GAP will make up the required reservoir injection using the
Fraction specified fraction gas. If set to zero (or left blank), 100% water
injection is assumed
Voidage Repl. Pressure will be maintained by voidage replacement with
(Water) water
Voidage Repl. Pressure will be maintained by voidage replacement with gas
(Gas)
Water Recycling Produced water is re-injected
Gas Recycling Produced gas is re-injected
Gas Recycling The produced gas minus the entered amount is re-injected into
(Prd – amnt) the tank. This constraint can be scheduled to model re-
injection of gas that exceeds the agreed sales contract.
Fixed Rate (Water) Injection of a specified rate of water
Fixed Rate (Gas) Injection of a specified rate of gas
The voidage replacement option does not work if the MBAL models contain
multiple tanks which are connected with transmissibilities. This is because
the production will affect the volumes transferred from one reservoir to the
other. The problem becomes non linear since the injection will change the
balance of volumes previously calculated based on production alone.
Click "Next" from this screen, and in the dialogues that follow enter the separator pressure and
available gas lift gas (if applicable). The "Calculation" screen (shown below), which has the
same layout and options as for the 'Solve Network' is used to start the forecast.
When the user presses "Calculate" GAP will load the tank models and check that the IPR/VLP
data is available for each well. The MBAL simulations are run to the start date and the tank
pressure and saturations are passed from MBAL to the well models. GAP will then solve the
network to calculate the allocation of produced rates throughout the system. When constraints
are active, the optimiser will find the optimum control settings that maximise the objective
function and honour the constraints for the that timestep.
Plot Tanks The user can plot the tank results dynamically as the prediction
is being carried out.
Plot Nodes The user can plot the node results dynamically as the
prediction is being carried out.
If the objective is to shut down a well if it cannot produce a minimum rate, then this can
be achieved by setting up an 'Abandonment Constraint' of minimum rate in the'
Abandonment' section. The abandonment constraints are designed to permanently
shut-in the well (i.e. mask the well) for the rest of the prediction when an abandonment
constraint has been reached (and cannot be re-opened using the well ‘Schedule’). For
example, if a maximum water cut abandonment constraint is entered, then the well will
be shut-in during a prediction run if the produced water cut exceeds this value. When
rate abandonment constraints are applied (i.e. Qoil_min/Qgas_min/Qliquid_min) and the well
has been made controllable, the well will be shut-in once the rate falls below the
abandonment value, provided that there is also no dP across the wellhead choke
determined by the RBNS/non-linear optimiser.
If the objective is to shut-in the well once it drops below a certain rate, and have the possibility to
reopen the well to flow again in the future (e.g. if the potential well rate increases, for instance,
due to compression facilities coming online), then this is best achieved using Visual Workflows
in RESOLVE.
2.12.1.5 Linking Production / Injection Forecasting
There are two ways to carry out a production prediction with both production and injection:
Having two different models, one model for production, and one model for injection, and
link these models together (recommended)
Having the production wells and injection wells described in the same model
The injection network should be modelled as a separate GAP file with the system type set to
water/gas injection.
In the GAP file of the production system, the injection system can then be associated to the
production system under system options.
To view both the system on the same screen select Window | Tile Vertically.
With a associated water injection system, from the prediction setup window 713 , GAP allows
reservoir constraints to be specified.
When two models are set in separate GAP files and linked (a shown above), this allows GAP to
solve the production system first to determine the required reservoir constraints to achieve the
specified reservoir targets in the prediction setup window.
GAP will then run the linked injection models to determine the required injection pressures.
If the potential of the injection system is higher than the volume to be injected (reservoir
constraint), then the injection system will be constrained (welhead choke dP control, pump speed
control by RBNS or Optimiser) so that the reservoir target is not exceeded. However, if the
injection system is unable to inject the target volumes, GAP will re-run the production forecast
step using the maximum available injection rate. In this way, realistic optimised production
forecasts can be computed that take into account both production potential and injection
capacity.
The decision on which method to choose will depend on whether or not pressure support options
are set (for example 90% voidage replacement is specified).
The Water Injection System 959 (in the Worked Example section) demonstrates to the user how a
water injection system is created, and how it can be linked to the production system to meet
reservoir targets.
To have the production wells and injection wells described in the same model, we simply add the
production wells and injection wells in the same network drawing and link them accordingly. A
simple system with one production well and one injection well linked to the same reservoir is
shown below as an example:
When the two models are linked in the same GAP file, they are solved together. In this
configuration GAP cannot constrain the injection system to honour reservoir management
targets. This will also increase the complexity of the network for the GAP solver and increase
computational time.
The "Add" button should be used to create a new stream, which can then be renamed.
When the variables are plotted (either for the tanks or nodes) then the results streams will
automatically appear on the top left hand corner of the plot window. In order to plot the results of
two predictions simply select the element (System Totals) from one of the prediction streams
and then double click on the variable which in this case is the Cumulative Oil Production. Repeat
this for the other stream.
Alternatively, the user can select a variable (for example Cumulative Oil production) and then
select the icon. The user can then select all the predictions streams to plot the
variable.
In order to use this option it must be activated in the Optimiser Settings by setting the option
"Prediction - Save intermediate step results snapshots at each prediction step (slower!)" to 1.
Once the prediction has been carried out, the snapshots will be saved to memory and can be
called by selecting Prediction | Reload Prediction Snapshot.
Select the date and then OK to load the status of the system on that date.
Well performance curves (VLP/IPR intersection) and GAP results can then be checked for each
part of the system at that specific date in time.
By default, GAP does not save the snapshots for a prediction run as this adds to
the runtime. It will be down to the user to specify the option through the GAP
prediction settings if these snapshots have to be saved.
In the 'Prediction' menu other reloading options are available, which change the snapshot
currently in view.
Please refer to the section "Prediction Script Options 788 " for more information on this topic.
Import/Export The script can be stored in an ASCII file (extension .gapscr) and
Prediction Script imported and exported in/from GAP
Disable This option discards the prediction script from the Prediction
Prediction Script
From this screen, it is possible to modify system constraints and to change the prediction step
size. In the date column, specify the date that the event will occur. In the event type column
choose to either change a constraint, the prediction step size or any OpenServer variable.
In the constraint type column select the constraint that is to be changed and in the 'New' value
column enter the value.
2.12.2.6.1 Notes on Constraints
When setting up the model, it is recommended to start with the minimum necessary
number of constraints. This is because from a mathematical perspective, increasing
the number of constraints drastically complicates the optimisation problem.
Keeping constraints to a minimum allows the user to validate and ensure that the
model is performing as it is supposed to. After the validation, the number of constraints
can be increased if necessary. However the user should always try to keep the number
of constraints to a minimum by only including constraints that reflect true restrictions
or contractual obligations in the field. This is to prevent unnecessary complexity and
moreover to prevent unfeasible problems from being created.
If the objective is to shut down a well if it cannot produce a minimum rate, then this can
be achieved by setting up an 'Abandonment Constraint' of minimum rate in the'
If the objective is to shut-in the well once it drops below a certain rate, and have the possibility to
reopen the well to flow again in the future (e.g. if the potential well rate increases, for instance,
due to compression facilities coming online), then this is best achieved using Visual Workflows
in RESOLVE.
2.12.2.7 Edit Separator and Joint Schedules
This option allows the user to schedule specific events at the joint and separator level. For
example, the separator pressure can be scheduled to change or a constraint can be applied at
one of the joints.
separator schedule is used to change separator or joint backpressure at any point during the
prediction run, or to change a particular constraint on the separator or joint operation. The
separator schedule operates in the same manner as the well Schedule described above.
Separator pressure changes can be used to model, for example, installation of gas compression
equipment.
To enter constraints, first select the separator or joint required from the list of system items in the
lower part of the dialogue. Then, in the upper list, enter the following data:
The date that the event will be executed. If this date does not fall on the scheduled time
step in the prediction run, GAP will perform an additional step to account for the
change.
Select the event type (change constraint, change manifold pressure) from the drop
down list in the next field.
If a constraint has been scheduled to change, select the type of constraint from next
field (i.e. maximum liquid rate)
In the final field, enter the new value to which it will be updated.
This screen allows scheduling for the joints and separators to be defined in a
batch mode, but each equipment could be scheduled in the equipment input data
screen as well. If this has been done, the screen will display these schedules.
Date Date at which the event occurs. If this scheduled date lies between timesteps
then this date will be added to the number of prediction steps. This ensures
that the effect of an event is modelled when it happens, rather than delaying it
until the next regular timestep. Another effect of this will be to increase the time
taken to run the forecast, since any events that lie between timesteps add
another step to the overall calculation.
Event Choose the event from the ones that appear on the drop down list. The list of
Type available events depends on the type of equipment.
Wells
Change constraint
Start Well
Stop Well (X-flow is still allowed between layers if the well is multilayer)
Stop Well-No Xflow
Change Downtime
Change OPENSERVER variable
Execute OpenServer Command
Change VLP file NEW!!!
Pipelines / Joint
Change constraint
Mask
Unmask
Change OPENSERVER variable
Execute OpenServer Command
Inline Choke
Change diameter
Mask
Unmask
Bypass
Unbypass
Change OPENSERVER variable
Execute OpenServer Command
Inline Injection
Change Injection Rate
Mask
Unmask
Bypass
Unbypass
Change OPENSERVER variable
Execute OpenServer Command
Sink / Source
Change Fixed Rate
Mask
Unmask
Change OPENSERVER variable
Execute OpenServer Command
Constraint If Change constraint was chosen above, this field contains a drop down list of
Type constraints. Select the desired constraint to change.
New value This field specifies the new value of pressure or constraint that is to be
scheduled.
Action Buttons
The screen is divided into 2 sections. The lower part lists the equipment in the system. The
upper list will display the current set of schedules for the selected equipment.
Note that the dialogue supports the standard GAP cut and paste facility, to aid the movement of
data between the dialogue fields.
This screen allows scheduling of all the equipment to be defined in a batch mode,
but each equipment could be scheduled in the equipment-input data screen as
well. If this has been done, the screen will display these schedules.
Date Date that event occurs. If this scheduled date lies between timesteps then this
date will be added to the number of prediction steps. This ensures that the
effect of an event is modelled when it happens, rather than delaying it until the
next regular timestep. Another effect of this will be to increase the time taken to
run the forecast, since any events that lie between timesteps add another step
to the overall calculation.
Event Choose the event from the ones that appear on the drop down list. The list of
Type available events depends on the type of equipment.
Wells
Change constraint
Start Well
Stop Well (X-flow is still allowed between layers if the well is multilayer)
Stop Well-No Xflow
Change Downtime
Change OPENSERVER variable
Execute OpenServer Command
Change VLP file
Pipelines / Joint
Change constraint
Mask
Unmask
Change OPENSERVER variable
Execute OpenServer Command
Inline Choke
Change diameter
Mask
Unmask
Bypass
Unbypass
Change OPENSERVER variable
Execute OpenServer Command
Inline Injection
Change Injection Rate
Mask
Unmask
Bypass
Unbypass
Change OPENSERVER variable
Execute OpenServer Command
Sink / Source
Change Fixed Rate
Mask
Unmask
Change OPENSERVER variable
Execute OpenServer Command
Constraint If Change constraint was chosen above, this field contains a drop down list of
Type constraints. Select the desired constraint to change.
New value This field specifies the new value of pressure or constraint that is to be
scheduled.
l
Action Buttons
These parameters can all be scheduled in the same way as has been described previously.
Date Date at which the event occurs. If this scheduled date lies between timesteps
then this date will be added to the number of prediction steps. This ensures
that the effect of an event is modeled when it happens, rather than delaying it
until the next regular timestep. Another effect of this will be to increase the time
taken to run the forecast, since any events that lie between timesteps add
another step to the overall calculation.
Event Choose the event type from one of:
Type
Voidage Replacement (Water)
Voidage Replacement (Gas)
Pressure Target (The User will also be required to input a gas injection
fraction)
Water Recycling
Gas Recycling
Gas Recycling (Produced gas - fixed amount)
Fixed Rate (Water)
Fixed Rate (Gas)
These events allow the scheduling of any desired injection policy for the tank. If
no associated injection model exists, the desired injection will be calculated
and it will be assumed that the injection system provide the necessary fluid. If
an associated model exists, the desired injection will be used as a target in the
injection system which can then controlled through the application of
appropriate constraints. This is demonstrated in Example 4 959 .
Constraint If Change constraint was chosen above, this field contains a drop down list of
Type constraints. Select the desired constraint to change from this
New value This field specifies the new value of pressure or constraint that is to be
scheduled.
Action Buttons
This dialogue also supports the standard GAP copy and paste mechanism 87 .
2.12.2.10 Edit Gas lift Schedule
This screen is used to change the amount of available gas lift gas at a particular point in the
prediction run. When selected, the following dialogue is provided.
Fields available:
Date Date at which the event occurs. If this scheduled date lies between timesteps
then this date will be added to the number of prediction steps. This ensures
that the effect of an event is modeled when it happens, rather than delaying it
until the next regular timestep. Another effect of this will be to increase the time
taken to run the forecast, since any events that lie between timesteps add
another step to the overall calculation.
Event Select the 'Event' type. The user has the option to:
Type
Change gas lift available
Change constraint
Change prediction step
Change OpenServer Variable
Execute OpenServer Command
New value This field specifies the new value of gas lift available or constraint that is to be
scheduled.
Now, any schedule that has been entered at the element level (wells, pipelines, joints etc.) can
belong to one of the 'Event Groups' defined above. Simply use the drop down menu in the
'Schedule' section and define which Group the schedule belongs to.
When the 'Event Group' is "enabled" from the "Edit Schedule Event Group" window, all of the
schedules associated to this Event Group will be active. However if the group is "disabled" then
all of the schedules associated to this 'Event Group' will be disabled.
2.12.2.12 Edit DCQ Schedule
To meet seasonal and contractual demands, for example when producing a gas field, it is
possible to schedule contract volumes and seasonal swing factors when performing a
prediction. To do this, select Prediction | Edit DCQ schedule and the following screen will
appear.
This screen defines the DCQ schedule, the DCQ value (if the user desires to specify this value
manually rather than let GAP predict the DCQ quantity) and the Swing Factors. A DCQ
schedule can be applied to either Joints, Separators, Groups or the whole production system.
To define the DCQ schedule select the "Populate" option and define; the DCQ period, if there
are Swing Factors and whether or not GAP should predict the DCQ value through the forecast.
The "Event Group" option in this screen allows the user to place the DCQ schedule within
an event group 744 .
If this event group has been enabled then the DCQ schedule will be used.
If the event group has been disabled then the DCQ schedule will not be used
For example, the set up below describes a DCQ schedule with a period of 1 year with seasonal
swing factors that GAP will predict throughout the forecast.
As GAP is going to predict the DCQ values for every period there is no need to specify any rates
however the user has the option to fix the DCQ over a certain period. To do this, the user simply
sets the option "Predict" to 'No' and enters the rate. See Prediction Execution and Results 713 for
more information.
The swing factors are used to account for seasonal demands on the gas contract (i.e. a higher
demand during the winter months). The instantaneous gas production is the product of the DCQ
and the seasonal swing factor. For example if the calculated DCQ rate was 233 MMscf/D and
the swing factor was 1.5 then the instantaneous gas rate produced would be 350MMscf/d. In its
treatment of DCQs and swing factors, GAP sets a maximum gas constraint at the selected
system level that is equal to the DCQ value multiplied by the swing factor (if present).
To run a prediction using the DCQ (daily contracted quantity) schedule option it must be checked
in the 'Prediction' screen as shown below.
To view the results select Prediction | View DCQ Prediction Results. This displays the
calculated gas contract for each DCQ period that the system can provide.
Plotting the instantaneous rates for the entire production system shows the rate profile which
corresponds to the above DCQ schedule (assuming no swing factors).
If swing factors were included (based on the values used figure above) the following profile would
be observed.
The contract type (gas rate, gross heating value, water rate or oil rate) can be selected by
the user.
2.12.2.13 Apply Schedule to
This option is used to visualise the status of the system at a certain date during the prediction
period.
Once a date is entered, the GAP network is displayed as it will be at this specific date, taking
into account the "masked/unmasked" items and the constraints.
This feature provides the results of the individual nodes that make up the system. The first
screen (left) is used to select the type of nodes (for examples wells) to report and the second
screen (on the rate) allows the user to choose a specific piece of equipment that falls under that
category (i.e. Well 1A).
Click "Plot" to access a graph which provides the user with the option to plot variables for the
selected equipment.
When the variables are plotted the results streams will automatically appear on the top left hand
corner of the plot window. In order to plot the results of two predictions simply select the element
(System Totals) from one of the prediction streams and then double click on the variable which in
this case is the Cumulative Oil Production. Repeat this for the other stream.
Alternatively, the user can select a variable (for example Cumulative Oil production) and then
select the icon. The user can then select all the predictions streams to plot the
variable.
This option allows to view the results of all the Emissions, which are given by the sum of all
Flares and Vents in GAP. The screens work in the same way as in the case of Plot Nodes
Prediction Results 751 .
Selection of "Results" from the main application menu gives the user access to the results on
the screen. Selection of "Reports" provides the user with options to set up hard copy reports
and options for writing to files that can be included in external applications such as spreadsheets
or word processors.
Click "Results" from the main menu and the user will be prompted to select the level of detail
required for display. Choose from the five following options:
For the 'Detailed' and 'Summary' reports the user can also select which elements to report the
results for. The available elements are:
All Items
All Wells
All Inflows
All Joints
All Pipes
All Separators and Injection Manifolds
All Emissions
Selected Items.
Selecting one of these options gives the user access to all of variables associated with all or a
single piece of equipment.
Use the scroll bar at the bottom of the screen to scroll to the right and display details such as
choke pressure losses, oil and gas gravity, etc. The command buttons 'First', 'Prev', 'Next' and
'Last' on the top ribbon allows to move about the results database and to display data from the
selected system elements. The 'Prediction' button enables to load and visualise the prediction
results of the element.
The difference between the 'Summary' Results and the 'Detailed' Results is that a single
variable is reported for every (or single if the option is selected) element in the system.
Results are displayed for each selected element in the system (up to 10 gas injection rates or
separator pressures). Use the scroll bar at the right hand side of the screen to pan through
results. Select the variable to display by clicking the direction arrows in the "Report item" field.
The lower half of the screen displays the selected variable for each component. The summation
of the variables or the totals is displayed in the top half of the window.
Clicking "Plot" from the 'Summary Results' window will display a histogram of the selected
variable against the equipment items. This feature is useful for quickly identifying strong
producers or problematic wells.
This will lead to a screen which displays the total system results from the network solve. By
default, the program will display the solver results.
The user can access the forecast results by clicking the “Prediction” button. A typical display of
the prediction results is shown below.
The results are displayed as in the previous sections. The figure below displays the results of
last 'Solve Network'.
Zoom To zoom in on a particular region of a plot, simply click and draw a box
around the area of interest using the cursor. When the bottom is released
the scales and view will be adjusted to fit the screen.
This option restores the plot to its original view (after any "zooming").
This option provides the user with the different plot settings. When
selected the following window will appear.
From this option the user can perform a variety of tasks including:
Modifying the titles
Modifying the margin
Changing the ranges on the Axes
Modifying the legends
Changing the fonts/colours
Selecting the print options
All of the options are fairly self explanatory and easily implemented.
This option allows the user to remove all the plotted variables (series) or
selected variables.
This option allows the user to remove multiple selected variables from the
plot. When this option is selected the following window appears which
allows the user to choose which variables should be removed from the
plot.
This option allows the user to save plots which can then be later recalled.
This options allows the user to print a hard copy of the current plot.
This option adjusts the symbol sizes and and the plot widths.
The in-situ rates will be reported at joint elements in the network which are downstream of a
pipeline with pipe data automatically - as shown below:
The in-situ rates are populated by going to Results | Propagate In-situ Rates - as shown
below:
2.13.2 Reports
Use the 'Reports' option from the main menu to prepare reports from a current analysis, or from
a previously saved .GAP file.
When the 'Reports' button is selected, a series of screens leads through the process of
selecting the data required for the report. To include a section in a report, click on the check box
to the left of the item and, depending on the selection, further input screens will be presented.
This process ensures that only relevant sections are reported.
For example, if the prediction results need to be extracted to Excel, then the "Prediction
results" option needs to be checked as shown below.
Selecting the “Run Report” button will allow GAP to write the results to the clipboard, which can
then be pasted into Excel.
The Fixed Format option saves a file in a printer ready format that can be
imported into a word processing program such as Microsoft Word.
Use the Tab Delimited format to save a file suitable for importing directly
into a spreadsheet such as EXCEL
Clipboard Clicking 'Run Report' after selecting this option copies the report onto the
Windows clipboard. From the clipboard, one can paste the report directly
into another Windows application. e.g. a word processing program, by
pressing the keyboards <shift> and <insert> together or Ctrl + V on
Windows PCs.
For pasting into Excel, the tab delimited format has to be selected:
Screen Clicking 'Run Report' after selecting this option allows to view the report
on the screen. Scroll through the report to view all the data. When finished
viewing, click on the red cross at the top right of the window to return to the
main menu.
Action Buttons
The report setup window is invoked from the main Reports dialogue (see Reports menu item 770
Input Fields
Margins Use these to specify where the report will appear on the page.
Orientation Specifies a landscape or portrait report.
Copies Specifies the number of copies.
Font Specifies the font type and size. Only evenly-spaced fonts will be
presented in order to assure that report tables are aligned correctly.
Plot border This option will draw a rectangle around the perimeter delineated by
the Margins settings.
Report date stamp This will put the current date and time on the report header.
Report file name This will put the name of the GAP file on the report header.
stamp
Report version This will put the current GAP version number on the report header.
stamp
Action Buttons
Ok Saves the selections entered and returns to the main Report window
Cancel Ignores the selections entered and returns to the main Report window
2.14.1 Introduction
This chapter describes the recommended procedure to be followed in ensuring that an IPM
model has been fully "history matched" and is therefore a reliable platform upon which
management decisions can be made.
An IPM model consists of several elements which are interacting hence the response of one
element depends on one or more of the others. For example, the response of a well model
depends on both the reservoir and surface network performance. If a reservoir has been history
matched but no quality check has been done on the surface network, then the response of the
whole model will not represent reality and the results will be unreliable.
By its very nature, an IPM model can be made up of hundreds of nodes, making it complex and
difficult to manage if no procedures or methodologies are in place to allow effective
troubleshooting and matching. The aim of this chapter is to describe such a procedure and
guide the user in the process of history matching.
1. A model can be created and run for the duration of history, checking the results at the end
to ensure that rates are consistent with measured cumulatives and rates.
2. Each element of the system can be created and matched independently. By definition,
when the individual models are put together into a full field system, this will automatically
be history matched.
This list can extend to every single element that makes up the system. In addition to this, all the
events that took place in the history would need to be accounted for in the scheduling. For
example,
Again the list can be extensive and days can be spent scheduling events and gathering the
information.
This procedure for history matching is not the most efficient way a model can be
matched. It will take a lot of time to complete and the engineer will find it very difficult to
isolate where the changes should be made due to all of the physical interactions going
on in the system. It becomes very easy to make changes to the model when the
fundamental reason for the discrepancy may actually lay somewhere else entirely.
This procedure is the recommended way to perform history matching in a full IPM model:
2. Match the well models (independent of reservoir and surface facilities) to more than
one test in time. In order for a well model to be predictive, it needs to be able to
reproduce more than one independent test point. If changes have to be made to the
model to match to each test (different pressure drop correlation for example) then by
definition it is not predictive and the model cannot be considered reliable.
4. Run the full model (solve) at different points in time during the history. Since each
element of the system has been matched independently, then the results should by
default match the total production from the field. If the total results for the particular
date do not correspond to what was produced from the field, then the elements that
were not matched (lack of tests for pipelines for example) should be looked at to
determine the inconsistency.
The matching procedure can start from the reservoir model. This can be history matched as
explained in the MBAL manual.
Fractional flow curves should also be matched to capture the interaction of the phases.
As soon as this is done, each well can be matched independently of the reservoir model in
PROSPER.
Tests can be matched in PROSPER based on the methodology described in the PROSPER
manual.
Note that there are step by step examples that describe history matching reservoirs and
matching well models in the MBAL and PROSPER manuals respectively.
Once each model is built and the network is completed, then the pseudo rel perms should be
transferred from the MBAL file to the corresponding wells in GAP. This can be done from the well
IPR screen using “From 272 MBAL 272 ".
The surface pipelines can also be matched if the test data has been validated and shown to
representative.
In order to initialise the whole model for one specific date during the history, so that the user can
try to reproduce the rates for that date, select Edit | Initialise IPRs from Tank Simulations
from the main menu.
This feature will perform a simulation in MBAL, up to the entered date, and transfer the results
(Reservoir Pressure, water saturations and PVT) into the IPR sections of the connected wells in
GAP.
All of the wells in the model can be selected and then a date can be entered in the following
screen.
Selecting "Calculate" and "Continue" will update the well models, thus initialising them to the
date in question.
The Model Validation 640 feature can then be used to check well production against tests. If no
tests are available on a well by well basis for the date selected then the whole system can be
solved instead and results checked against the production data.
As the reservoir and well models have been validated, any problems can be isolated to the
elements of the system that have not been matched. The attention of the engineer can then be
focused on those particular elements making the troubleshooting far more efficient and direct.
2.15.1 Introduction
The 'Prediction Script' is a feature which enormously enhances the capabilities of the software.
The scope and flexibility of this option allows the engineer to introduce control mechanisms, act
on scenarios or conditions changing during the prediction, modify parameters on the fly etc. The
range of applications is extremely diverse and this is demonstrated in Example 1b 838 , Example
5 976 and Example 8 . 1071
The 'Prediction Script' can be accessed from the menu Prediction | Edit Prediction Script or
from the button in the main toolbar. This will prompt the following screen.
The scripts can be written in "VB Script", which is a format very similar to VBA, to control the
prediction/solve network.
It is difficult to do the number of possible functions justice however these are some basic actions
that can be carried out through scripting:
a. Wells can be prioritised and switched on as soon as the potential of the field cannot
satisfy contracts volumes.
b. Log messages of prediction events (for instance water cuts reaching a given value)
c. Automatic detection of unwanted fluid volumes in the system and triggering of
disposal systems.
2.15.2 Functions
The scripting facility revolves around the following commands:
These commands can be set in the same way as the OpenServer commands in six subroutines
that are provided in the script.
Helpful Tips
The function CDBL() converts the variable to a double ensuring that it is not a string. For
example, in the above script if it was not included the "If" statement would not work properly as
the Rate variable would be treated as a string.
Similarly the function CStr() converts the number to a string. This is useful for concatenating
strings and numbers. For example,
GAP.MOD[{PROD}].WELL[{Well_A}].PREDRES[3].LIQRATE
2.15.3 Example
Let us consider an example.
In the above screen, the script is executed at the end of each timestep in the prediction of GAP,
as shown by the red marker.
The first line checks if the well is masked or not. The MASKFLAG variable returns 0 if the well is
activated and a value 1 if the well is masked. The value returned by this variable is stored in
'Flag'.
If the well is activated (Flag = 0) the water cut of the well considered is taken from the solver
results and reported in the script log of the prediction.
The following lines state that if the water cut in Well A is greater than 15% the well will be shut in
(Masked) and this will be displayed in the log messages once the action has been carried out.
Running the prediction confirms that the action is carried out when we check the messages in
the 'Script' tab.
In order to obtain an OpenServer statement the user can use CTRL+Right Click over any
variable and the OpenServer string along with the current value will be displayed. For example,
the OpenServer variable for the surrounding temperature of the pipeline is displayed below.
The OpenServer commands are also documented in detail in the OpenServer manual.
When a model will be run using the 'Restart' facility, only the events entered in the schedule
will be considered and not events imposed by the script.
The user can access the unit options from the main menu by selecting Unit | Edit Units. The
user can modify the unit system of the input and output variables globally by selecting from the
available options at the top of the column.
This will change the default units for all variables in GAP. The following options are available:
Oilfield
Norwegian S.I.
Canadian S.I.
German S.I.
French S.I.
Latin S.I.
To change the units of individual variables and create a mixed set of units follow the steps below:
First, locate the variable(s) that are going to have their units modified using the scroll bar. Select
the preferred measurement unit for that variable. Note that the user has the option to have a
different unit for the input and output of that variable.
The validation limits define the acceptable magnitudes that the program will use for the
calculations. Any variable that falls outside the defined limits will create a validation error and the
program will not allow the variable to be populated.
To view the conversion between the currently selected unit and the base (default) unit for the
variable in question, click on the "Details" button on the far right hand side of the window.
Once all of the changes have been made, press the "Save" button and give the custom unit
configuration a name.
This screen allows the user to change the units of variables within a specific dialogue. For
example, the user could change the units reported for the oil rate in the 'Prediction results' as
shown below.
Select the new unit for the variable that is required. The values in the entry field will then be
updated accordingly. The variable database will also be updated with the new unit selection.
3
Examples Guide 799
3 Examples Guide
This section contains step-by-step examples that will illustrate how to setup integrated models
and introduce users to the various capabilities of GAP for different engineering applications.
Solver results
Viewing details of the pressure drop
Detailed Results for
calculation in GAP using the Example 3 944
Pipelines
PROSPER on line feature
Setting up network model for water
Pressure Support with injection system, linking it to the main
production model and running Example 4 959
Water Injection
prediction with the two coupled
models
Setting up a network model for a
multi-layered well completion with
inflow controllable valves, optimising
Smart Well Completions Example 5 976
both of the layers to maximise oil
production, introducing scheduling
and prediction script.
ESP field
predictions with optimisation to
Delumping) modelling.
Setting up a tight gas field, creating/
Tight Gas Field importing partial GAP files and Example 10 1200
compressor modelling.
Setting up a coal bed methane field,
Coal Bed Methane dewatering, routing and running Example 11 1226
predictions.
Surface Jet Pumps Setting up a model containing a SJP.
Copying and pasting data between Example 12 1250
The files need to be extracted from the archived files so that they can be used in the following
examples. The simple process of extracting the files is described below.
From the GAP main screen, click on File | Archive | Extract, the following screen will appear:
Select the *.gar file to be extracted and click on | Open (details of the archive files that are
relevant to each example are given in the exercises.) The ‘Extract archive’ screen will be
displayed. Fill in the Extract Directory box at the bottom of the screen to specify where the files
will be extracted to. Note the location that has been entered so that the files can be retrieved
later.
When the Job Progress bar has turned fully blue click on | OK. The files have now been
extracted.
Related topics:
Archive Creation 88
Archive Extraction 92
3.2.1 Objectives
Definition of the Problem
A new gas field has been discovered on land in a harsh environment that is subject to large
temperature swings. The gas reservoir will be depleted by 4 wells that are tied back to two
manifolds where the produced fluids will travel approximately 40 km via a main pipeline to the
gas station.
The gas station can process a maximum 250 MMscf/day of gas and requires the gas to be
delivered at 1000psig. The objective is to determine for how long the field can keep producing
at the target rate over a ten year period commencing 01/01/2008.
Learning Topics
Executive Summary
The initial files for this example and the final model can be found in the GAP
archive file format in the following directory.
~\samples\GAP\Example 1a - Gas Field
The samples files folder can also be accessed from the windows start menu,
as shown below. This file contains worked examples for all the IPM tools.
The file names corresponding to each well are shown in the table below.
Well Name Well Type PROSPER File IPR Type
From the GAP entry screen, select File | New to reinitialise GAP.
To begin setting up the system options, select Options | Method and make the following
selections:
The "Calculate Well Choke Delta T" takes into account the Joule-Thomson
effect that can become significant when a gas is subjected to a large
pressure drop.
The "Calculate Condensed Water Vapour" option will take into account the
water that has been vaporised from the formation brine which can potentially
condense in the pipelines due to changing pressures and temperatures.
In order to define the units system click on Units | Edit Units. The following screen will appear:
A units system can be selected by pointing the cursor in the cell below Input. This allows the
overall unit system to be selected. Clicking on the white cells below allows individual units to be
changed.
Input : Oilfield
Output : Oilfield
For further details, access the Units section 793 of the user Guide.
If necessary, later we will modify the units system when entering input data.
The purpose of this section is to demonstrate how to construct graphically the complete network.
In this example we will define the reservoirs first. However the order of how the icons are
introduced has no effect on the results.
The Reservoir
To draw a reservoir select the tank icon and click anywhere on the canvas screen. This will
create an icon which will should be labeled “Gas Reservoir”.
NOTE: Icon size and font can be changed by going to View 125 from
the main drop down menu or right-clicking on the GAP canvas
The Wells
We will start with the first well “Well1”. Select the Well icon and add a well. Name this
“Well1”. After that, create the remaining wells in the configuration shown below:
1. To move an icon to a new location on the screen, hover the mouse arrow over the icon to
be moved and press the left mouse button and the Shift key. Keep the left mouse button
pressed and move the node to the new location. Releasing the left mouse button will then
position the icon in the new location. This can also be achieved by selecting from the
main toolbar
2. Icons can be deleted by selecting the scissors icon from the toolbar menu and
clicking on the node to be removed.
The Joints
Click on the joint icon from the main toolbar and add the 7 joints by clicking in the main GAP
display area as shown below.
Select the separator icon from the main toolbar and click the left-hand mouse button in the
main GAP display area towards the top right. This will activate the window shown below.
Create links between the following components in the direction of the flow:
The basic model layout has now been specified. Additional components can easily be added or
deleted when the model is refined later. The GAP screen display should look something like the
screen shot below:
The MBAL files location need to be defined from within GAP. In order to do this, double click on
reservoir icon to open up the tank "Summary" screen.
From this screen create a link to the MBAL file by clicking on "Browse" and selecting the MBAL
file. The MBAL file Gas Reservoir.mbi is provided in the "Initial Files" folder.
Click on |Open to establish the link between tank icon in GAP and the MBAL file.
To confirm the changes that have been made to the tank click on | OK at the bottom left of the
summary screen. The tank icon should now no longer be highlighted by a red circle.
At this stage the GAP file should be saved. To do this click on | File | Save As and using the
browsing feature save the file as Gas Field.gap
In this example we will define both the VLPs and the IPRs at the well level. To do this we will use
the "VLP/IPR intersection" model for all of the wells. In Example 6 we will demonstrate a
different method to handle the wells when we introduce smart well modeling.
To enter the well data double click on the well icon to access the well summary screen. Then in
the summary screen enter the following information:
Label: Well1
Mask: Include in System (default)
Well Type: Gas Producer
Model: VLP/IPR intersection
PROSPER file: Well1.OUT
Access the IPR section from the summary screen by either selecting the IPR 'Invalid' button or
navigating from Input | IPR | Ipr Layer from the Input section button.
In the Ipr Layer tab, set the IPR Type to C & n for all well IPR models:
Complete all of the wells according to the data provided in Table 3 807 .
From the main GAP menu select Generate | Generate Well IPRs from PROSPER.
In the next window, select 'All' pick all wells or press the 'Select' button to select the desired wells
and return to Generate | Generate Well IPRs from PROSPER.
Select 'Generate' to import the IPR calculated in PROSPER to the GAP model. The 'PVT Method'
will define which PVT Data in the PROSPER file is imported to GAP. The 'Import Match
Parameters' option will import PROSPER PVT match parameters into GAP.
By double-clicking on any of the wells and selecting the IPR tab, one can verify the IPR input data
as shown in the following screen shot:
The scale of any plot can be changed by clicking on | Scales on the menu bar. This allows the
min and max X and Y axis values to be redefined, and the number of grid blocks (divisions) that
the axis can be divided into.
Before leaving the IPR section, access the More tab screen and select the set of Rel
Perms for fractional flow prediction to be From Tank Model. This is important to
determine the WGR produced by the well, based on the history matching performed in
MBAL.
Repeat this for all the wells. The IPR section of each well will then become green,
indicating that all of the fields necessary to define the IPR section have been updated.
The option will then be given to either select specific wells or to generate the VLPs for all the
wells in the network. To illustrate this feature select | All followed by 'Data' in the new window to
enter the ranges for the sensitivity variables.
Please refer to the VLP generation 616 for guidelines on the ranges to use.
In this case, as the well models have already been saved, we will use the ranges already present
in the models:
NOTE: the CGR value is unique, as the fluid has been defined as a dry gas, which assumes the
fluid to have a fixed amount of condensate vaporised in the gas.
After that, select | OK | Generate. At the end of the calculation the program will have generated a
.vlp file for each well that contains all of the VLP curves and this file is transferred to the VLP
section of the well summary screen.
In order to check the generated lift curve access the well summary screen by double clicking on
the well and then enter the VLP section. This will lead to the VLP description screen:
In this screen we can verify that the .vlp file has been created which contains the generated VLP
curves. Select | Inspect and then Plot to verify the quality of the curves.
The VLP curves should always be smooth and continuous. Discontinuous VLPs are not
representative of reality and lead to poor quality derivatives which can create problems for the
GAP solver.
If the VLPs appear poor then it could either be the multiphase flow correlation which has been
selected or it may be the PROSPER file that needs to be reviewed to understand what may be
causing the effect.
According to the network sketch 808 , the wells "Well1" and "Well2" are tied back to "Manifold_A"
via devoted lines. The two lines are therefore represented by a link between each wellhead and
the manifold.
In order to describe the procedure for defining pipelines access the pipe summary screen by
double-clicking on the link that joins WH1 and Manifold_A. The summary screen is shown below.
Make the following changes:
Label Line 1
Pipeline model: GAP Internal Correlations
Correlation: Petroleum Experts 5
Gravity Coefficient: 1
Friction Coefficient: 1
Environment
Select the 'Environment' tab to access the screen which allows the pipeline environment to be
defined and then enter the following values.
Pipe Description
To define the pipeline dimensions select the | Description tab. Enter the following data (note that
the data are given from upstream to downstream).
The upstream and downstream TVDs are the same therefore the pipeline is horizontal.
To change the length unit from ft to km point the cursor in the cell
containing the unit “ft” This will activate a pull-down menu list from
which km can be selected. The same principle applies for the TVD.
Once the data has been entered it is useful to click on | Validate in order to check whether the
description entered is valid or not. This is not compulsory but can be useful for verifying your
input. Click | OK to return to the main GAP screen.
Copy/Paste flowlines
If two pipe descriptions are the same, the information can be copied from a
described pipe to an un-described pipe as follows:
1. Hold down the Control key and pressure the left mouse button on the
described pipe.
2. Move the cursor until it is over the un-described pipe and release the
control key. The information will now be transferred.
Repeat this procedure for all of the pipelines using the default roughness of 0.0006
Two red arrows will appear in the main screen on the Separator icon as shown below.
The wells can be made "controllable" (which means that the wellhead choke can be changed by
the optimiser) by:
Accessing the Controls 322 section in the well summary screen and setting the "dP Control" to
The figure below shows the "Controls" section in the well input area:
Ensure that all of the wells in the system are made controllable.
The GAP model has now been built. Save the file as Gas field.gap.
Select | Next and then set the prediction mode to 'Optimise with All Constraints' and then |
Calculate:
The Plot Nodes/Tanks feature enables the user to visualise the results
dynamically as GAP is carrying out the prediction.
The 'Calculate Potential' option allows the user to calculate the field
Potential. If no Potential Constraints have been set up (ref. related
chapter 175 ) the program will calculate the maximum the field can
produce.
Notes on Constraints 321
3.2.4.1 Results
To check the results of prediction there are various options available:
Double-Clicking on each element of the network and accessing the "Results" from the
"Summary" screen and then selecting the "Prediction" tab.
Accessing the "Results" menu from the main GAP screen.
Accessing the "Prediction" menu from the main GAP screen and then selecting the "Plot
Nodes (or Plot Tanks) Prediction Results" option.
In the plot select "Gas Rate" from the "Variables" menu. Also, use the plot options (highlighted by
the red square) to modify the scales or the positioning of the legend.
From the plot it is possible to confirm that the plateau will be maintained for approximately one
year and a half.
This can also be verified by inspecting the tabulated results of the prediction. To do this go back
to the main GAP screen and double-click on the Separator icon to access the summary screen.
From the summary screen select "Results" and then the prediction tab and then read off "Gas
Rate" until it drops below 250MMscf/d and take note of the date.
The flow rates reported by the program at any point in the network correspond to
the volumetric rate expressed at Standard Conditions (by default this is 60 degF
and 0 psig however these conditions can be modified in the main program
Options) and not the in-situ rates.
For example, if the reported oil rate at the well head node is 500 STB/day that
means the oil has been flashed to STD. The actual or in situ rate at the wellhead
can be calculated from the oil formation volume factor and the rate at Standard
Conditions.
3.3.1 Objectives
Definition of the Problem
A new gas field is located in an environment with very extreme seasonal variations in
temperature and there is a concern this may lead to issues of hydrate formation in the flowlines.
The PVT engineers have provided hydrate curves for the gas that consider different inhibitor
concentrations. The objective is to estimate how much inhibitor will be required during the
different seasons and how this will affect the total gas production. The hydrate inhibitor in this
case will be methanol.
Learning Topics
The objective of this exercise is to build on the previous example and include additional physics
by
Setting up a simple script that will capture the seasonal variations in temperature.
Model the amount of methanol injection required to prevent hydrate formation via
Inline Programmable or General elements
Saving the prediction results
Comparing the results of different runs
Executive Summary
1. Write a script that is executed during the prediction to regulate the surrounding
temperature
2. Write an inline programmable element to capture the inhibitor injection
3. Run a prediction with and without the methanol (inhibitor) included
The initial files for this example and the final model can be found in the GAP
archive file format in the following directory.
~\samples\GAP\Example 1b - Gas Field (advanced)
Extract 801 the archive file from the Initial Files folder.
The samples files folder can also be accessed from the windows start menu,
as shown below. This file contains worked examples for all the IPM tools.
These temperatures will be used as the surrounding pipeline temperatures in the model.
The PVT engineers have also provided the hydrate curves for the case when no methanol is
added to the gas and for the case when there is 20% wt. of methanol added. The hydrate curves
dictate whether or not hydrates will form on the basis of the pressure and temperature. If the
pressure and temperature of the gas falls to the left of the hydrate curve then we can assume that
hydrates will form in the system.
These curves have been fitted with quadratic expressions in EXCEL so that they can be used to
calculate the volume of methanol in the inline elements.
Note: Hydrate curves like the ones above can be built in PVTP using a variety of different models
and inhibitors. For more information on this consult the examples provided in the PVTP manual.
The network is based on the model that was built in Example 1a however there are additional
Inline General Elements that have been included at the pipeline manifolds. In order to insert
one of these elements into the model select the icon from the main GAP menu.
The red circle around the programmable element means that they have not been defined (i.e.
there is no script associated with any of the elements) and therefore are invalid.
It is assumed that the user has completed the previous example and is already familiar with the
model set-up.
3.3.3.1 Understanding the logic
The objective of the inline programmable elements is to calculate the amount of methanol that
needs to added to the system based on the hydrate curves that have been provided by the PVT
engineers.
The hydrate curves define three distinct regions where the conditions in the field can fall.
Region 3 is to the right of the hydrate curve (blue) when no inhibitor is added. If the conditions in
the field fall within this region then there is no need to add any methanol.
Region 2 is between the hydrate curve with 20% wt. methanol (red) and the hydrate curve with no
inhibitor (blue). If the conditions in the field fall into this region then we can interpolate between
the curves to calculate what weight percentage of methanol is necessary to prevent hydrate
formation.
Region 1 is to the left of the 20% wt. methanol curve. In order to calculate how much weight
percentage of methanol is required we can extrapolate linearly from the 20% wt. methanol curve.
Once we know what the weight percentage of methanol is (i.e. the ratio of the mass of methanol
to the mass of hydrocarbon) then we can calculate the rate using the properties of methanol.
By default the script screen contains information regarding the available variables, the functions
that can be carried out and a sample script at the bottom.
Any line starting with “//” will be ignored when running the script however to ensure there are no
issues, clear the screen before entering the script that has been provided below.
The syntax for the script is similar to the C programming language. For more information on the
inlet and outlet variables and other functions of the programmable element, please refer to the
user manual.
The first step to creating the Methanol Injection Element is to define the variables for the script.
To do this, select the 'Variable' tab and then click on the 'Setup Variables' option as shown
below.
Note: the script names will be used in the main script to represent the defined variables.
Once the variable information has been entered, uncheck the 'Setup Variables' option and enter
a Maximum Weight Fraction of 0.2 (which is the maximum provided by the PVT engineers) and
a Density of 49 lb/cu.ft.
Once the variables have been defined the next step is to write the script which will entered in the
'Script File' section.
Ensure that the script file is completed blank like the figure shown above.
The first step in the script is to extract the temperature and pressure the node labeled
Manifold_A. This can be achieved using the flow variables shown below.
P=MOD.JOINT[{Manifold_A}].FLOW.PRES;
T=MOD.JOINT[{Manifold_A}].FLOW.TEMP;
The next step is to include the expressions for the hydrate curves provided by the PVT
engineers. These expressions are included with the hydrate curves 839 .
P_methanol=0.1607*T*T+7.6429*T+158.57;
P_no_inhibitor=0.1094*T*T+0.6696*T+44.643;
With these variables we can now write the logic that calculates the required volume of Methanol
to be injected. The first case we need to consider is when the pressure at the manifold exceeds
P_methanol (Region 2 or Region 3). To do this use the following "IF" statement:
if (P>P_no_inhibitor)
Calculate the weight percentage of methanol by interpolating between the hydrate curves
WT=WT_MAX*(P-P_no_inhibitor)/(P_methanol-P_no_inhibitor);
Extract the hydrocarbon mass rate from the following flow variable
MASS_gas=MOD.JOINT[{Manifold_A}].FLOW.HCMASSRATE;
Calculate the volumetric rate of methanol (expressed at SC) from the mass rate and the
density
MASS_methanol=WT*MASS_gas;
Q_methanol=MASS_methanol/RHO_METHANOL;
Calculate the volumetric rate of Methanol required and add it to the water stream
QWATOUT=QWATIN+Q_methanol;
Display the calculated variables so they can be viewed in the calculation results
OTHERRES[0]=Q_methanol;
OTHERRES[1]=WT;
An additional "IF" statement needs to be entered within the above "IF" statement to handle the
conditions in Region 3 where the pressure exceeds P_methanol (the 20% wt. methanol hydrate
curve)
if (P>P_methanol)
{
Calculate the weight percentage of methanol by extrapolating from the 20% wt. Methanol
Hydrate curve
WT=WT_MAX+WT_max*(P-P_methanol)/(P_methanol-P_no_inhibitor);
MASS_gas=MOD.JOINT[{Manifold_A}].FLOW.HCMASSRATE;
MASS_methanol=WT*MASS_gas;
Q_methanol=MASS_methanol/RHO_methanol;
QWATOUT=QWATIN+Q_methanol;
OTHERRES[0]=Q_methanol;
OTHERRES[1]=WT;
}
If the conditions fall into Region 1 then there is no need to add methanol.
else
{
Q_methanol=0;
OTHERRES[0]=Q_methanol;
}
The complete script is provided in a file which is part of the GAP archive located in the Initial
Files folder. To load the file select the option "Store in external file" and locate the file
MEG_A.gasc
Select the "Schedule" option from the main screen. From the schedule section it is possible to
change any variable (on a given date) by accessing its OpenServer string.
The surrounding pipe temperature can be therefore be modified using the following OpenServer
string which can be accessed by hovering the cursor over the variable and pressing CTRL +
Right Click.
This approach is very cumbersome as the temperature needs to be modified every two months
(See Table 1 839 ) over a 10 year period which would require approximately 50 schedules for
each pipe segment.
To enter script select Prediction | Edit Prediction Script from the main GAP menu or alternatively
select the icon from the main tool bar.
We will use this to set the temperature every month according to Table 1 839 .
The prediction will be run using 2 month time steps and the temperature needs to change every
two months therefore to to modify the surrounding temperature we can use the following simple
script which will be executed at the beginning of each prediction time step (using
PredStepProlog).
For more information about Prediction Script 788 refer to the main manual.
The script can be imported as a file which in provided in the archive located in the Initial Files
folder. To import the script select Prediction | Import Prediction Script... and then locate the file
Gas Field (Advanced).gapscr.
Note that the OpenServer strings use a wildcard ($) instead of the pipe name as this applies the
changes to every pipe in the system. In order to obtain an OpenServer statement hover the
cursor over the variable of interest and press CTRL+Right Click. For example, the OpenServer
variable for the surrounding temperature of the pipeline is displayed below.
The OpenServer commands are also documented in detail in the OpenServer manual.
The GAP model has now been built. Save the file as Gas field Advanced.gap.
1. A prediction run that includes the methanol injected into the system for varying
surrounding temperatures.
2. A prediction run that calculates the volume of methanol required (but does not inject it)
for varying surrounding temperatures.
Note that the second prediction is not correct as the assumptions conflict with what occurs in
reality. However, it is useful to run this case as it provides a basis for comparison and it will
reinforce the importance of using the correct approach.
To run the prediction select Prediction | Run Prediction from the main GAP menu and then enter
the following information:
Select | Next and then set the prediction mode to 'Optimise with All Constraints'. In the 'Settings'
choose the option to save the prediction snapshots as shown below.
Selecting the 'Script' tab it is possible the verify that the script is being executed at the relevant
time step and moreover the log messages indicate that the correct temperature has been
applied.
Save the results of the prediction by selecting Prediction | Save Prediction Results As from the
main GAP menu and entering a description as shown below:
The first step is to verify that the surrounding temperature is changing as expected. To do this
we can analyse the snapshot of a particular date during the prediction. Select Prediction |
Reload Prediction Snapshot and select the snapshot from 01/05/2010.
We can confirm that the temperature is 52 degF in May which is in agreement with Table 1 839 .
The next step is to interpret the results of the prediction. As the calculated Methanol in the Inline
General elements is based upon the pressure and temperature of Manifold A and B we should
analyse these variables first to understand how much methanol we would expect based on the
hydrate curves. To do this select Prediction | Plot Nodes Prediction Results from the main GAP
menu and then select 'Joint' from the 'Equipment Type' along with Manifold A and B as shown
below.
Select both the pressure and the temperature for each manifold.
The pressure at 'Manifold_A' is greater as it is the upstream manifold and flow is towards the
separator. The temperature at the manifolds is initially lower due to the Joule-Thomson cooling
at all of the wells which are being choked. The temperature then increases once the wells are
fully open and then cycles as a result of the seasons.
From the results of the plots we would expect that a greater volume of methanol would be
required at 'Manifold_A' based on the pressure and temperature. To verify the methanol
volumes double-click on the inline elements to activate the system summary screen and select |
Results | Prediction | Plot. The variable that corresponds to the methanol volume is 'User Result
1.'
The reason we require the methanol injection (at Manifold A) early on is due to the additional
cooling we get as a result of the Joule-Thomson effect which is caused by the wells being
choked. No methanol injection is required at Manifold B.
3.3.5.2 Prediction 2 - Methanol Excluded from the System
To exclude the methanol injection it is required to modify the script in the Inline General
elements. To do this, double-click on 'MEG_A' to activate the summary screen and select the
Script.
//QWATOUT=QWATIN+Q_methanol
This line will now be ignored and there will be no methanol added to the stream however the
volume required will still be calculated based on the temperature and pressure of 'Manifold_A.'
Re-run the prediction with the same settings as the previous run and save the results.
Plot the pressure drop in the main flowline (40 km) by double-clicking on the pipeline, entering
Input | Prediction and selecting Plot.
It is clear that the pipeline pressure drop is effected by the quantity of methanol volume injected
and consequently we would expect different methanol volumes to be calculated.
In conclusion, the results of the predictions show that the inline elements enable us to dynamically
calculate the required methanol volumes and inject it into the system taking into account the
temperature and pressure variations that will occur as a result of this injected fluid. If the
methanol calculation was to be done externally, in a spreadsheet for example based on the
results of a model that does not include the methanol injection dynamically, then the predictions
would be erroneous as the pressure and temperature throughout the system would not take into
account the methanol flowing through the pipelines.
In order to improve the accuracy of the model, the temperature in the pipelines could be
modelled using the more advanced improved approximation method which uses the full energy
equation. However, as the model is using the black oil PVT method the thermal properties are
not as accurate as when using compositional modelling. For detailed flow assurance studies it
is recommended to use fully compositional modelling which is the method used in Example 9b
. This example also demonstrates many of the advanced flow assurance capabilities that are
1189
embedded in GAP.
To create an User Defined element, it is important that the script file is not stored as an external
file. This can be done by ensuring the Store in external file box is not enabled, as shown
below.
Next we can go to the summary screen and define the name, description and bitmap image for
the User Defined element, as shown below.
In this case, a bitmap image had been created beforehand, however, the choice of bitmap
image is entirely up to the user.
The User Defined element can then be created by clicking Save as User-defined Inline
Element File... which will create a file with the *.gapinl extension. It is good practice to save this
in a directory along with all other User Defined elements. In the GAP flowsheet, it is now possible
to see that the Inline Programmable element has the been assigned the bitmap image.
To add this newly created User Defined element to the worksheet, GAP must first be saved, shut
down and re-opened. On opening, GAP will search for any file with the *.gapinl extension in the
run directory. It is also possible to assign a directory for GAP to search for any *gapinl files by
clicking File | Directories...
The user defined element can now be added to the GAP flowsheet by clicking on the user
defined element icon in the GAP toolbar, clicking the location on the flowsheet and selecting the
User Defined element of interest as shown below.
3.4.1 Objectives
Definition of the Problem
An offshore field which is located in the Logie Mill block consists of two reservoirs called
Reservoirs A and Reservoir B. Reservoir A has been in production since 01/01/2003 and
Reservoir B was brought online five years later in 01/01/2008. There are currently three wells
producing from each reservoir which all meet at a common manifold (either Manifold A or B)
which are approximately 600ft below sea level. Manifold A and B are connected by a 7.5km
flowline and the commingled fluids are then transported through a larger 12km pipeline across
undulating terrain where the fluid is processed. The separator pressure is maintained at
200psig and the current liquid capacity is restricted to 20,000STB/D.
The objective of the analysis to gain a better understanding of the field using an integrated model
of the whole system. In particular, it is required to know:
Question 1. How much we would get from the field on 01/12/2010 if the wells were fully
open? Go to answer 905
Question 2. How much we should choke back each of the wells in order to satisfy the
maximum liquid constraint at the process level and at the same time produce the maximum
amount of oil? Go to answer 910
Question 3. What would be the total amount of oil recovered if we continue with the proposed
development plan, which is to produce from the field for another 10 years? Go to answer 914
Question 4. If we can highlight any significant events during the prediction which may affect
our development strategy (for example wells becoming unstable, reservoir pressure falling
below the bubble point etc.) Go to answer 918
Question 5. If we can test different development scenarios based on the analysis of previous
runs Go to answer 928
Learning Topics
Executive Summary
The steps followed will be:
1. Build the GAP network
- Draw the GAP network
- Define a reservoir in GAP
- Define wells in GAP
- Generate Well IPRs in GAP using PROSPER
- Generate Well VLPs in GAP using PROSPER
- Define the pipeline and eventual surface equipment
- Perform a pipeline matching and carry out a model validation
2. Use the 'Initialise IPRs from Tank Simulations' feature to update the model to the
22/12/2010
3. Run 'Solve Network' without optimisation to calculate the production with wells fully
open
4. Set the constraint of maximum liquid rate of 20000 STB/day at the separator and run
'Solve Network' with optimisation to assess if and which wells need to be choked
back
5. Run a prediction from 22/12/2010 for 10 years (2 months time step) with optimisation
to verify for how long we can keep the production plateau
6. Analyse the results of the run.
7. Test a new development strategy and compare the results of the prediction with the
original run.
The initial files for this example and the final model can be found in the GAP
archive file format in the following directory.
~\samples\GAP\Example 2a - Oil Field
The samples files folder can also be accessed from the windows start menu,
as shown below. This file contains worked examples for all the IPM tools.
The file names corresponding to each well are shown in the table below.
Well Name PROSPER File VLP File
The sketch illustrated below will be used as the reference for this example.
A units system can be selected by pointing the cursor in the cell below Input. This allows the
overall unit system to be selected. Clicking on the white cells below allows individual units to be
changed.
Input : Oilfield
Output : Oilfield
For further details, access the Units section 793 of the user Guide.
The Reservoir
To draw a reservoir select the tank icon and click anywhere on the screen. This will create an
icon which will should be labeled “Reservoir A”.
Placing another icon anywhere on the screen will create the second reservoir, that can be named
"Reservoir B".
The Wells
We will start with the first well “Well1A”. Select the Well icon and add a well. Name this
“Well1A”. After that, create the remaining wells in the configuration shown below:
1. To move an icon to a new location on the screen, hover the mouse arrow over the icon to
be moved and press the left mouse button and the Shift key. Keep the left mouse button
pressed and move the node to the new location. Releasing the left mouse button will then
position the icon in the new location. This can also be achieved by selecting from the
main toolbar
2. Icons can be deleted by selecting the scissors icon from the toolbar menu and
clicking on the node to be removed.
The Joints
A joint (or node) is used to represent any manifold or intersection
where pipes meet. Every pipe must have each of its ends connected
to a joint.
THIS MEANS THAT TO CREATE A PIPELINE TWO JOINTS NEED TO
BE INTRODUCED
Click on the Joint icon from the main toolbar and add the 9 joints by clicking in the main
GAP display area as shown below.
Select the Separator icon from the main toolbar and click the left-hand mouse button in the
main GAP display area towards the top right. This will activate the window shown below.
Create links between the following components in the direction of the flow:
1. Connect the Tank “Reservoir A” to the wells “Well1A”,“Well2A” and “Well3A” and do the
same for "Reservoir B".
2. Connect the wells to the correspondent well heads.
3. Connect the well heads to the corresponding manifold.
4. Connect the manifold to the sep joint.
5. Connect the Sep Joint to Separator.
The basic model layout has now been specified. Additional components can easily be added or
deleted when the model is refined later. The GAP screen display should look something like the
screen shot below:
The MBAL files location need to be defined from within GAP. In order to do this, firstly double
click on each reservoir to open up the tank Summary screen . From this screen create a link to
the MBAL file by clicking on |Browse and selecting the MBAL file. The MBAL file ResA.mbi can
be found in the directory where the archived file was extracted to at the start of the exercise.
Click on | Open to establish the link between tank icon in GAP and the MBAL file.
To confirm the changes that have been made to the tank, click on | OK at the bottom left of the
summary screen. The tank icon should now no longer be highlighted by a red circle.
At this stage the GAP file should be saved. To do this click on File | Save As from the main GAP
menu and using the browsing feature save the file as Oil Field.gap
3.4.3.3 Define the Wells
As with the tank models, we have already built the PROSPER models for all of the wells. The
PROSPER file associated with "Well1A" has been constructed and documented in detail in the
PROSPER manual. Please refer to the PROSPER tutorials for more information on well modeling.
In this example we will define both the VLPs and the IPRs at the well level. To do this we will use
the "VLP/IPR intersection" model for all of the wells. In Example 6 we will demonstrate a
different method to handle the wells when we introduce smart well modeling. For this exercise,
VLPs have been generated and saved so that they can be imported into GAP.
To enter the well data double click on the well icon to access the Well Summary screen. Then in
the summary screen enter the following information:
Label: Well1A
Mask: Include in System (default)
Well Type: Oil Producer (No Lift)
Model: VLP/IPR intersection
PROSPER file: Well1A.OUT
Complete all the wells according to the data provided in Table 3 875 .
From the main GAP menu select Generate | Generate Well IPRs from PROSPER.
By double-clicking on any of the wells and selecting the IPR tab, one can verify the IPR input data
as shown in the following screen shot:
The scale of any plot can be changed by clicking on | Scales on the menu bar. This allows the
min and max X and Y axis values to be redefined, and the number of grid blocks (divisions) that
the axis can be divided into.
Before leaving the IPR section, access the More tab screen and select the set of Rel
Perms for fractional flow prediction to be From Tank Model. This is important to
determine the Water Cut and GOR produced by the well, which should be based on rel
perms that were generated during the history matching which is performed in MBAL.
Repeat this for all the wells. The IPR section of each well will then become green,
indicating that all of the fields necessary to define the IPR section have been updated.
Select browse and then load the Well1A.vlp file. The VLP section should then become green
which completes the input for the well description. Repeat this process and load the file for each
corresponding well.
In this example the .vlp files are provided however to generate the VLPs select Generate|
Generate Well VLPs with PROSPER from the main menu. The option will then be given to
either select specific wells or to generate the VLPs for all the wells in the network. To illustrate
this feature select All followed by Data to enter the ranges for the sensitivity variables.
Please refer to the VLP generation 616 for guidelines on the ranges to use.
In this case, as the well models have already been saved, we will use the ranges already present
in the models:
NOTE: In the GOR ranges the value of 800 scf/STB for the wells connected to Reservoir A and
500 scf/ STB for wells connected to Reservoir B have been entered. These values are equal to
the Solution GOR of the two fluids from each reservoir. As the reservoirs are operating both
above the bubble point, the producing GOR will be equal to the Solution GOR, therefore it is
useful to enter directly those values in the VLPs to avoid any interpolation.
After that, select Ok and Generate. At the end of the calculation the program will have generated
a .vlp file for each well that contains all of the VLP curves and this file is transferred to the VLP
section of the Well Summary screen.
In order to check the generated lift curve access the Well Summary screen by double clicking on
the well and then enter the VLP section. This will lead to the VLP description screen:
In this screen we can verify that the .vlp file has been created which contains the generated VLP
curves. Select Inspect and then Plot to verify the quality of the curves.
The VLP curves should always be smooth and continuous. Discontinuous VLPs are not
representative of reality and lead to poor quality derivatives which can create problems for the
GAP solver.
If the VLPs appear poor then it could either be the multiphase flow correlation which has been
selected or it may be the PROSPER file that needs to be reviewed to understand what may be
causing the effect.
In this case we have the most recent well tests available for each well in the field.
Well Name Reservoir Pressure Manifold Pressure Liquid rate Water Cut GOR
These tests can be entered directly in the 'Model Validation' screen (Model Validation | Wells
Model Validation from main menu) and running 'Calculate':
It is possible to verify from the results that all the wells match the test data except Well3B which is
out by approximately 30%. What could be the cause of the discrepancy?
If we review the well test data we observe that the producing GOR is reported to be 300 scf/STB.
However the reservoir pressure has not fallen below the bubble point therefore the producing
GOR should not be lower than the solution GOR. Therefore we can conclude that the well test
data is not consistent. If we modify the producing GOR to 500scf/STB, which is the solution
GOR of the fluid in Reservoir B, and repeat the model validation we can confirm that the well is
representative of reality.
According to the network sketch 873 , the wells Well1A, Well2A and Well3A are tied back to
Manifold_A via devoted lines. The three lines are therefore represented by a link between each
wellhead and the manifold.
In order to describe the procedure for defining pipelines access the pipe summary screen by
double-clicking on the link that joins WH1_A and Manifold_A. The summary screen is shown
below. Make the following changes:
Environment
Select the 'Environment' tab to access the screen which the pipeline environment to be defined
and then enter the following values.
Pipe Description
To define the pipeline dimensions select the Description tab.
Enter the following data (note: the data are given from upstream to downstream):
Once the data has been entered it is useful to click on 'Validate' in order to check whether the
description entered is valid or not. This is not compulsory but can be useful for verifying your
input. Click 'OK' to return to the main GAP screen.
Similarly, double click on the pipe linking Manifold_B to Sep Joint and enter the following pipe
description:
The figure on the right hand side allows the user to define which node
is upstream and which is downstream in the system:
To change the units of a variable click on the cell that displays the unit
and a drop down list will become available providing all the different
unit options.
The 'Plot' feature at the bottom of the screen allows the user to view the pipeline profile and verify
graphically that the data has been entered correctly.
The measurements that have been provided by the field engineers have been summarised
below.
Upstream Upstream Liquid Downstrea Water Cut Gas Oil Oil Gravity Gas Gravity Water
Pressure Temperature Rate m ratio Salinity
Pressure
psig degF STB/D psig % scf/STB API sp. gravity ppm
480 97 17250 340 47 800 37 0.76 23000
To carry out the pipeline matching double click on the pipeline that links Manifold_A to
Manifold_B to activate the pipe summary screen.
Match the Petroleum Experts 5 correlation by selecting 'Match' and then selecting the correlation
from the list of available multiphase flow correlations in GAP.
The GAP model now reproduces the measured field data and can now be used for forecasting
and modelling different development scenarios.
The GAP model has now been built. Save the file as Oilfield.gap.
Please refer to the Edit menu 159 and History Matching 777 topics in the user Guide for further
details.
To use this feature access the menu Edit / Initialise IPRs from Tank Simulations and then
select all of the wells and then press 'Continue'.
At the bottom of the 'Initialise Well IPRs from tanks' window enter the desired date which in this
case is 01/12/2010, and then press 'Calculate' and 'Continue'.
Accessing the well IPR section of any well, it is possible to verify that the IPRs have been
updated with the reservoir pressure, WC and GOR according to the history matching in MBAL:
The status of the model is now updated to the 01/12/2010, which corresponds to the end
of production history of Reservoir B.
From the main GAP menu select the Solve Network / Run Network Solver.
Enter a separator pressure of 200 psig
If Controls are set in the model and the model is run with 'No
Optimisation' then the program will use a Fixed value for the
Controls. A fixed value of 0psig also means the wells are fully open.
The value used for the Controls can be found under Edit / Edit
Equipment Controls and under the column name "Actual"
To check the results of a 'Solve Network' calculation there are various method available:
Fly-over. Placing the pointer on each element in the network drawing.
Double clicking on each element and accessing the Results section within the summary
screen.
Using the menu Results. Various formats are available. It is left up to the user to explore the
Results menu.
Using the Fly-over, it is possible to verify that the production at the Separator is around 23360
STB/day of liquid:
Answer to Question 1: If the wells were fully open they would produce approximately
23000 STB/day of liquid and 21000 STB/day of oil.
Two red arrows will appear in the main screen on the separator icon as shown below.
The wells can be made "controllable" (which means that the wellhead choke can be changed by
the optimiser) by:
Accessing the Controls 322 section in the well summary screen and setting the dP Control to
Calculated, or
Right clicking on the well icon in the main GAP screen and selecting "Controllable" (for other
controls, like gas lift injection rate or pump frequency, the "Control"s section also needs to be
accessed)
The figure below shows the controls section in the well input area:
Ensure that all of the wells in the system are made controllable.
From the main menu select Solve Network | Run Network Solver.
Enter a separator pressure of 200psig
The 'Limiting' tab in the log allows the user to verify if an element is
limiting the production of the field. If this is the case then the field has
the potential to produce more.
Going to the main panel, one can check the results as described in the previous section 909 .
When an element is constrained and the constraint is being honoured then the icon is highlighted
in green. If the green icon is not visible, please navigate to View | Highlight limiting constraints. If
however the constraint is violated then GAP will highlight the icon in pink as shown below:
Violated constraints can occur for different reasons. The most common reason is that the
constraints that have been entered are not feasible and should therefore be reviewed by the
engineer.
To determine how the wells have been controlled by GAP double-click on the well to access the
summary screen and then select 'Results'.
Select the 'Network Solver' results and view the dP choke variable which corresponds to the
pressure drop across the well head choke.
Comparing the results of the other wells it can be seen that the wells producing from Reservoir A
are choked back more heavily. This is because these wells have a higher associated water cut
which means that for the same liquid rate there will be less oil produced from these wells.
Therefore to maximise the oil production GAP is choking back the higher water cut wells from
Reservoir A.
Answer to Question 2: Yes, the wells need to be choked back. To maximize the oil
production it is required to choke back the wells from Reservoir A as they have a higher
water cut.
To run the prediction select Prediction | Run Prediction from the main GAP menu and then enter
the following:
Note that the start of the prediction is set 01/12/2010 which coincides with the
end of the history in Reservoir B. The prediction must be run from this date or
earlier as otherwise the reservoir pressure in Reservoir B cannot be calculated
as it is dependent on the produced fluids which would have to be assumed.
Select Next | Next | Next and then set the prediction Mode to 'Optimise with All Constraints' and
then 'Calculate.'
To check the results of the prediction there are various options available:
Double-Clicking on each element of the network and accessing the results from the summary
screen and then selecting the 'Prediction' tab.
Accessing the results menu from the main GAP screen.
Accessing the prediction menu from the main GAP screen and then selecting the 'Plot Nodes
(or Plot Tanks) Prediction Results' option.
In the plot select the Cumulative Oil rate from the 'Variables' menu. Also, use the plot options
(highlighted by the red square) to modify the scales or the positioning of the legend.
From the plot it can be seen that the total oil produced after ten years of production is
approximately 28 MMSTB. This can also be verified by inspecting the tabulated results of the
prediction. To do this go back to the main GAP screen and double-click on the separator icon to
access the summary screen. From the summary screen select' Results' and then the prediction
tab and then read off the cumulative oil production from the last time step.
Answer to Question 3: The amount of oil produced by the end of the 10 years is
approximately 28 MMSTB.
scenarios directly.
GAP will save the results in the memory and we will be able to retrieve them at any time.
Before any interpretation is carried out the prediction needs to be re-run with the snapshots
saved. This option saves a 'snapshot' of the GAP model as it was for each time-step during the
prediction. This enables the engineer to load a snapshot from any date during the prediction
and troubleshoot the model at that time step. Additionally it is possible to make changes to the
model at that time step within the snapshot (for example disable wells, add pieces of equipment
etc.) which will all be reset once the snapshot is unloaded.
Then activate the option 'Prediction-save intermediate step results snapshots at each prediction
step' by entering a value of 1.
The first thing to analyse is the individual well performance. To do this select Prediction | Plot
Nodes Prediction Results from the main GAP menu and select each well as shown below.
Then plot the individual oil rates of each well. This can be done by selecting each well
individually and then selecting the oil rate from the lower list.
Or alternatively, all the well rates can be plotted at once by carrying out the following steps:
From the plot we can see that Well1A and Well2A will die after just over 6 years.
We can also plot the reservoir pressure as a function of time by selecting Prediction | Plot Tank
Prediction Results.
From this plot we can observe that reservoir pressure of Reservoir A drops below the bubble
point (Pb is 3500psig) after about 1 year of production. Reservoir B sees a steady decline
however the pressure does not fall below the oil saturation pressure.
To analyse the model in more detail we will use the snapshots feature. In this case the date at
which Well1A dies is the focus of the investigation.
We will analyse this event using the snapshots to understand why this happens.
Whenever using the snapshots it is always recommended to analyse the snapshot just before the
event as well as the snapshot of when the event occurs. This enables the engineer to grasp
which conditions have changed as time advances.
To view a snapshot select Prediction | Reload Prediction Snapshot and select the date just
before Well1A dies which in this case is 01/08/2016.
To analyse Well1A in more detail double click on the Well1A icon to view the system summary
screen.
Select Calculate | Initialise from solver results | Calculate | Plot to view the intersection of the VLP
and the IPR at that time step.
From the plot it is very clear that the well is about to die. It is also possible to use the VLP/IPR
calculation to understand how sensitive the well is to changing conditions. For example if the
manifold pressure was increased to 430psig and the calculation is repeated it is possible to
confirm that the well would stop flowing.
The GOR and WC can also be modified to understand how the well would respond to these
parameters.
If this procedure is repeated for the next two consecutive time steps the engineer will observe
that there is very little change in the reservoir pressure, WC and GOR for Well1A. However the
slight changes in well head pressure, which are due to the rates being produced from each well
in the network as the prediction proceeds, coupled with Well1A's sensitivity to the well head
pressure is what leads to the well dying.
Answer to Question 4: The pressure of Reservoir A will drop below the bubble point
and wells 1A and 2A will die late in the field life.
To do this we will use the 'Target Pressure' feature which is activated from the prediction
window. Enter a value of 3650 psig for Reservoir A.
When the Target Pressure is used GAP will inject the necessary water into Reservoir A in order
to maintain the pressure at the value specified by the engineer. This enables the engineer to
screen different development strategies without the need to build an entire water injection
system each time. Once the final development strategy is decided upon then the engineer can
use the results of that run as the basis for designing the final water injection system that is
needed (i.e. using the average water injection).
Select Next | Next | Next and then set the prediction Mode to 'Optimise with All Constraints' and
then | Calculate.
Select Prediction | Plot Nodes Prediction Results from the main GAP menu and plot all of the oil
rates for each well.
The additional pressure support in Reservoir A removes any instabilities observed previously
around 2016/2017 and extends the well life almost until the end of the field life. The impact of this
additional support results in a significant increase in the cumulative oil production from 28 to
32MMSTB.
To view how much water is injected into Reservoir A and to confirm that the pressure is being
maintained select Prediction | Plot Tanks Prediction Results and select Reservoir A from the top
list followed by Avg Water Injection and Reservoir Pressure from the lower list.
The plot verifies that the reservoir pressure is being maintained at the target value of 3650psig.
It is also possible to confirm the volume of water which is necessary as a function of time in order
to maintain this pressure and this can be used as the basis for designing the water injection
network for the field.
To do this select File | Archive | Create from the main GAP toolbar. This will prompt the following
dialogue from which the user can specify where the archive will be saved along with its name.
By default, all of the files associated with the model will be selected as archive files however if
the user wants to only include the models (instead of the results and snapshot files) then this can
be achieved by de-selecting the appropriate files. There is also the option to include "Baggage"
files such EXCEL spreadsheets with completion reports, PVT reports etc.
Once the files have been selected the archive file is created by selecting "Write".
The objective of this exercise is to compare the results obtained using the GAP optimiser and
the Rule Based Network Solver 656 (RBNS).
Learning Topics
The objectives for this example are to learn how to:
Perform predictions using the RBNS
Save the prediction results
Compare the results of different runs
Executive Summary
The steps followed will be:
1. Extract 801 the GAP archive file (.gar)
2. Run a prediction from 01/12/2010 for 10 years (2 months time step) using the RBNS
3. Save the results of the prediction
4. Compare the results of multiple predictions
The samples files folder can also be accessed from the windows start menu, as shown below.
This file contains worked examples for all the IPM tools.
The next step is to perform the prediction using the Rule Based Network Solver (RBNS). The
method to do this is exactly the same as the previous exercise, only this time selecting "Rule
Based" in the mode section of the prediction screen;
Note the case "Base scenario with pressure support" contain the results from the previous
exercise using the optimiser. These are the results we will be comparing with the results of the
RBNS.
The liquid rates will be compared to ensure the constraints have been honoured
The cumulative oil production will be used to compare the recovery achieved using the
two methods
To view the results at the separator double click the separator icon and select the "prediction"
tab in the "results" screen. The results can be plotted by selecting the plot button.
The first step is to compare the liquid rate at the separator over time using the RBNS and
optimiser.
It can be seen that the two cases calculate extremely similar liquid rates and that the RBNS has
obeyed the constraints in the system. The next result to compare is the cumulative oil production;
The RBNS also calculates a similar cumulative oil recovery to the optimiser in GAP.
In summary; the RBNS has calculated very similar results to the optimiser for this simple oil
production network. It has done this whilst taking less time to perform the prediction than the
optimiser.
3.6.1 Objectives
Definition of the Problem
It is required to investigate the length and frequency of the slugs in the pipeline and the riser that
is tied back to Manifold B for the design of an upgrade of the current separation facility. The
upgrade is being considered in 01/10/2013 and it is necessary to determine these parameters
both on the 01/12/2010 and on the proposed date.
Learning Topics
The objectives for this example are to learn how to:
Executive Summary
Starting from the Oilfield.gap 929 model, the steps followed will be:
1. Run a Solve Network calculation to determine the production on 01/12/2010 (the system was
already initialised 905 )
2. Access the detailed results of the pipeline calculation
3. Convert the pipeline to PROSPER online.
4. Access the detailed results on 01/10/2013
The file for this example can be found in the GAP archive file format in the
following directory.
~\samples\GAP\Example 2 - Oil Field - Completed Files
Extract 801 the archive file from the Completed Files folder.
The samples files folder can also be accessed from the windows start menu,
as shown below. This file contains worked examples for all the IPM tools.
The highlighted sections of the network solver window inform the user of how the calculation
progressed.
This tell the user what the maximum pressure drop/mass balance difference is at any of the
nodes in the system. If any of these exceed the tolerance set in the model then GAP will highlight
the nodes in the system (provided this option has been switched on).
This is the error associated with the solver. It is an indication of whether the model has
converged properly. Large errors mean the solver has not converged and the engineer needs to
review the input into the model.
The last guess reports the objective function. For example, in this case as we are dealing with
an oil system (and the oil rate is therefore the objective function) and the value reported is the
optimised oil rate.
Access the pipeline summary screen by double-clicking on the flowline that links Manifold B to
Sep Joint and then select 'Calculate' from the bottom of the window:
Select 'Initialise from solver results'. This will import the results obtained from the 'Solve Network'
calculation.
Select 'Calculate' to visualise the Gradient Traverse menu and then scroll to the right to read the
required results on slug length and frequency.
The Mean Slug Length is around 324 ft, whilst the Mean Slug Frequency spans from 24 to 26 /
hour.
The pipe gradient calculation utility is not available for pipe elements described using
Annular Flow
The objective is to also view the pipeline parameters (slug frequency and mean slug length) at
the date we are considering the separator upgrade (01/10/2013) as this will dictate the
equipment sizing. This can be achieved by converting the pipelines to PROSPER on line.
Use the 'Edit' menu from the main GAP screen to convert the pipeline to PROSPER on line
This can be achieved by selecting the menu Edit / Selected Pipes / Convert to PROSPER on
line:
After that, a confirmation message appears and 'Yes' needs to be selected for the conversion to
take effect.
The pipeline will be converted to PROSPER on line. Accessing the pipe Summary screen, the
'Edit' button will allow to access the input screens for the PROSPER on line feature, which are the
same as PROSPER.
For example, the equipment screens will have the equipment previously entered in the pipe
description:
To view the pipeline parameters on the 01/10/2013 select 'Results' from the system summary
screen and then select 'Prediction'.
Scroll to the right of the screen and select the 'Gradient' tab on the corresponding date.
This provides the detailed pipeline results on the 01/10/2013. The results show that the mean
slug frequency has reduced to between 23-24ft and the mean slug length is approximately 318ft.
The interpretation of the slug results is also provided in the PROSPER on line help however a
brief summary has been provided below.
When steady-state flow occurs in a pipeline, time-averaged mass flow rate at the pipeline inlet
and outlet are constant. If slug flow occurs through this pipeline, gas and liquid rates and
pressures are NOT constant as the liquid slugs and following gas bubbles will vary in velocity and
length.
Two slug calculations methods are applied in PROSPER. These are the Brill and RCS
Mechanistic methods. The Brill method is the most common approach and a more detailed
description of the parameters used to describe the slug characteristics can be found below.
The association of the gas bubble and the liquid slug forms the slug period.
The following assumptions have been taken to develop the hydrodynamic model:
1. Small gas bubbles and liquid in the liquid slug travel at the same velocity.
2. The liquid film does not contain any gas bubbles.
3. Negligible liquid droplets exist in the gas bubble.
The hydrodynamic model is based on mass balance relationships for both the liquid and the gas
phase.
This will state for instance that the mass of liquid flowing out of the pipe section considered
during one specific period of time is equal to the sum of:
- the mass of liquid in the liquid slug, m1.
- the mass of liquid in the liquid film associated with the gas bubble, m2.
- the mass of liquid that is bypassed by the gas bubble following the liquid slug, m3.
mtotal m1 m2 m3
An equivalent mass balance principle will be applied to the gas phase flowing out of the pipe
section considered.
The slug properties are determined from empirical correlations relating the hold-up in different
sections of the slug period as well as the phase velocities. The output variables that can be
found in PROSPER are the following:
These are standard characteristics parameters for slug analysis, and their description can be
found in the following references:
The Taitel-Dukler flow map that is used in PROSPER to assess the extent of the slugging
phenomenon in the system. This flow map is accessible for each calculation row by -+
86532clicking on the row number in the gradilll
A description of these slug calculation methods can be found for instance in the following
publications:vbn m,./
Beggs, H.D. and Brill, J.P. – A study of two phase flow in inclined pipes – Journal of Petroleum
technology, 13 (October 1973). p.607
Brill, J.P. and Beggs, H.D. – Two phase flow in pipes – Tulsa: University of Tulsa (1978)
Beggs, H.D. – Production Optimization using Nodal Analysis – OGCI publications (1991). p.88-
90.
Crowley C.J. and Sam R.G. – Investigation of Two-Phase Flow in Horizontal and Inclined Pipes
at Large Pipe Size and High Gas Density – AGA report TN-399 (Feb. 1986).
Crowley C.J. and Rothe P.H. – State of the Art Report on Multiphase Methods for Gas and Oil
Pipelines, Volume 2, Guide to Computerised Calculations – Creare Inc. Report TN-409 vol.2
(1986).
Hill, T.J. and Wood D.G. – A new approach to the prediction of slug frequency – SPE 20629.
(1990). (i.e. RCS Mechanistical Slug Method).
3.7.1 Objectives
Definition of the Problem
The engineers have come up with some development scenarios that were screened using the
integrated model of the full field containing Reservoir A and B (refer to Example 2 873 ). One
proposal was to provide pressure support in Reservoir A using water injection and take
advantage of the available sea water. From the integrated model the engineers were able to
estimate that the reservoir pressure in Reservoir A will fall below the bubble point after
approximately 1 year of production. The proposal is to maintain the pressure in Reservoir A at
3650psig and to to design an injection network that can provide the necessary water to meet this
target.
The objective of the study is to use GAP to determine how much water will be necessary to meet
the pressure target and then design a water injection system that can handle the calculated water
volumes.
Learning Topics
Executive Summary
The steps followed will be to:
1. Run a Prediction in the GAP production network using the 'Target Pressure' option to
estimate the amount of water required
2. Use the injection network model (initially with only one injector) to determine the
minimum number of water injection wells required to achieve the pressure support
target
3. Associate the production to the water injection model
4. Run the Prediction with the two coupled models
The initial files for this example and the completed model can be found in
the GAP archive file format in the following directory.
~\samples\GAP\Example 4 - Water Injection System
Extract 801 the archive files from the Initial Files folder.
The samples files folder can also be accessed from the windows start menu,
as shown below. This file contains worked examples for all the IPM tools.
Note that the completed archive of the model is called Oil Field with Water Injection
System.gar
Starting from the production model, select Prediction | Run Prediction from the main GAP
screen. Run a prediction:
From the 01/12/2010 to the 01/12/2020.
Using 2 months time steps.
With the 'Target Pressure' for Reservoir A set to 3650 psig using 0% gas (which
means the injected fluid is 100% water)
With the optimisation mode set to 'Optimise with All Constraints'.
When running the prediction, GAP will automatically inject as much water into Reservoir A that is
required to maintain the pressure at 3650 psig.
At the end of the prediction various results can be viewed, in particular the results for Reservoir A
will be the focus as these will form the basis of our design. This can be achieved in various ways,
for example by double clicking on the tank and accessing the 'Result's section or accessing the
menu Prediction | Plot Tanks Prediction Results.
Plot the reservoir pressure and the average water injection together:
The liquid production profile is also useful for understanding the reservoir behaviour.
The reservoir pressure drops to 3650psig very quickly which suggests that water injection would
have to commence almost immediately. Initially quite a large volume of water is required to
maintain the pressure and then it declines from around 02/12/2013 as the liquid production from
the reservoir also begins to decline.
Note that the 'Target Pressure' feature assumes that the necessary water can be injected into the
tank instantly. It does not take into account how much water the reservoir can consume over a
given period time and therefore in reality the 'Target Pressure' may be reached at a later date
depending on the injectivity of the reservoir which is related to the thermal effects, the fluid
mobilities and petrophysical properties. To understand the impact of these effects in greater
detail and find the optimum water injection strategy, would require a numerical simulator like
REVEAL.
To summarise; the amount of water required to maintain the pressure constant during the field
life is between 9000-18000 STB/d.
Sizing the injection system for the highest rate would not make sense, as that volume is
theoretical and is based on achieving the target instantaneously.The larger rates are also only
required for a relatively short period of time anyway. On this basis if the water injection system is
designed to deliver less than the 18000 STB/d, but higher than 9000 STB/d, that means that
most likely the target can be achieved with much less water used.
In this case it will be assumed that the design water injection rate is 15000 STB/d and this
amount will be used to decide how many injection wells will be used in the injection system.
Save the prediction results by accessing the menu Prediction | Save Prediction Results As as
illustrated in the figure below:
The PROSPER file associated with "Well1A_inj" has been constructed and documented in detail
in the PROSPER manual. Please refer to the PROSPER tutorials for more information on
modelling a water injector.
The available pressure at the injection manifold is 1000 psig which is located at the platform.
Upon inspection of the well system summary screen it is possible to verify, from the inflow
performance section, that the well has been set up to account for a pressure of 3650psig which
is the pressure target that has been set in Reservoir A.
This means that running a 'Solve Network' calculation will allow us to determine how much water
one injection well can inject when the target pressure is already achieved.
In a solve network calculation the tanks are not used. The network is
solved using the reservoir pressure and PVT properties that have
been entered in the IPR section of the well system summary
Run a 'Solve Network' calculation with optimisation for an injection manifold pressure of 1000
psig.
Checking the results, it is possible to see that the system can deliver a water rate of around
8300 STB/d:
As the design water rate is 15000 STB/d it is required to have at least 2 injection wells to
achieve the voidage replacement target.
Modify the model by adding a secondary water injector that is tied back to Manifold_A. To do
this simply copy and paste the existing well, Well1Ainj and label the new well as Well2Ainj. Then
create a link from the well head of the new injector to Manifold_A as shown in the figure below.
Assume that the wellhead is located 0.8km from Manifold_A and tied back with a pipeline that is
6 inches in diameter.
Running the 'Solve Network' again it is possible to verify that the system now can deliver around
16598 STB/d which is within our design water injection target.
Note that one well alone can deliver around 8300 STB/d, whilst 2 wells
producing together can achieve 16500 STB/d (approximately 8250 STB/d
each). This is because the increased rate results in a larger pressure drop
along the main shared pipeline which causes the wellhead pressure to
decrease and consequently reduces the volume of injection
When downtime is applied for injection wells, the Instantaneous rates are corrected
accordingly to obtain Average Rates that are reported at the Well and Tank level. The
injection manifold will not take well downtime into account and will still report the average
rates as the sum of the instantaneous rates from the wells.
This is because the solver for an injection system works from the injection manifold to
the tanks unlike the production system which is the other way round where the separator
can properly account for the total average rates from the producing wells.
However, note that the tanks will indeed have the average rates being injected into them
and the cummulative injection volumes will be updated accordingly. In essence, the
injection calculations will be correct. However, the injection manifold results should not
be referred to in terms of the average rates and if required, the well average rates can
be exported to Excel and summed up to obtain the total.
Once 'OK' is clicked, the program will open the water injection system automatically along with
the production system
Arranging the windows by selecting the Windows | Tile Vertically from the main GAP menu will
allow the user to visualise both models together.
The two models are now linked through Reservoir A, as Reservoir A is the same MBAL model
in both models.
Save the model naming the production model as Oil Field with Water Injection.gap.
It is important to understand the impact of including the injection system on the voidage
replacement options in GAP. If no injection system is included, the voidage replacement options
make use of a virtual source of water/gas for injection, which means the target will always be
achieved. This was shown at the start of the example before the water injection system was
linked to the production system.
If an injection system is included in the model, as it is now, the voidage replacement options
become constraints for the injection system, which means that the achievement of the target is
subordinate to the physics of the injection system. This means that if the injection system cannot
physically deliver the amount of water required then the target will not be achieved.
The figure below shows the model while running. In the system area the program will show the
sequence of calculations switching from production to water injection system:
To illustrate how the 'Target Pressure' option is working during the prediction reload a snapshot
of the prediction (e.g. 01/02/2012). This can be done by selecting Prediction | Reload
Prediction Snapshot from the main GAP menu and selecting any of the available snapshots for
each date during the prediction.
Upon inspection of the water injection system it will be observed that there is a constraint being
applied to Reservoir A. Accessing the system summary screen, by double clicking on the tank
icon, allows the engineer to view the calculated liquid constraint for that time step.
The GAP optimiser will then choke back on the water injectors in order to meet this constraint
which will ensure that the pressure target is achieved.
Whenever there is an associated injection system in a GAP model then the results are retrieved
slightly differently. For example:
Any result concerning the production can be accessed by making the production network
model screen active.
Similarly,any result concerning the injection can be accessed by making the injection network
model screen active.
Checking the results for the injection system (click anywhere in the injection system screen to
make this screen active), it is possible to view the results for Reservoir A in terms of reservoir
pressure and average water injections:
The target pressure is reached at the end of 2011 and then goes below the target by about 15
psig in around 02/12/2013. The target is then reached later in 01/04/2015 and is maintained for
the duration of the forecast. These results differ from the original Target Pressure method (see
above 962 , where an infinite source of water was used), as now it is dependent on the physics of
the injection network as in reality. The reason for the target pressure not being reached is
because the required water injection exceeds the capacity of the injection system. In order to
increase the capacity of the injection system it is possible to either increase the tubing
diameters of the water injectors or alternatively drill another well. This exercise is left to the user.
3.8.1 Objectives
Definition of the Problem
During drilling, into Reservoir B, it was confirmed that there was a productive gas layer located
at a shallower depth in the formation. The completion engineers have been proposing using this
shallow gas layer as a means of providing additional lift through multi-layered completions
coupled with "smart well" technology.
It has been verified that it is possible to perforate both the gas and oil layers in Reservoir B and
install downhole controllable chokes (inflow control valves) that can regulate the flow of gas into
the wells.
It is common knowledge that flowing more gas in a well along with oil decreases the pressure
losses due gravity, but increases the pressure losses due friction as result of the increased
velocities. This is the principle of natural gas lift.
The question that is being proposed from management is, what is the optimum flow of gas that
would maximize the amount of oil from the system if the gas layers were scheduled to be brought
online once the water cut of the wells in Reservoir B exceeds 20%?
Learning Topics
The IPM Suite has been developed over the years to be able to handle multi-layer situations in
the best possible way. This enables the engineer to model and optimise very complicated
downhole completions, like "intelligent" (or "smart") completions.
The objectives for this example are to learn in more detail how to:
Build a model for a multilayer well completion.
Optimise the oil production by regulating the amount of gas flowing into the well.
Executive Summary
The steps followed will be to:
1. Build the GAP network
- Setup the system in GAP
- Add an inflow model and a well model
- Convert the well to outflow only
- Link all the elements of the system
- Set the controls for the gas layer
2. Write a script that will allow the gas layers to be brought online when the water cut
exceeds 15%
2. Run a forecast without optimization on the gas
3. Run a forecast with optimization on the gas
The files for this example and the final model can be found in the GAP archive file
format in the following directory.
~\samples\GAP\Example 5 - Smart Well\Oil Field Smart Well.gar
Extract 801 the archive file in the Initial Files folder to an appropriate directory
The samples files folder can also be accessed from the windows start menu, as
shown below.
In this folder there will be a GAP archive called Oil Field Smart Wells.gar. The folder will also
contain separate PROSPER files that are listed in Table 1 below.
The file names corresponding to each well are shown in the table below. These files can be
linked to each respective inflow via the system summary screen so GAP can use the files to
automatically pass the PROSPER IPR and PVT data directly to the inflow IPR section via the
Generate | Generate Well IPR's with PROSPER option.
Layer 1 Layer 2
Fluid Type Gas Oil
IPR Model Petroleum Experts Darcy
Table 2 - Layers parameters
Note that the completed archive of the model is called Oil Field Smart Wells Final.gar
The procedure below goes straight to building the multilayer well models in the GAP model.
The well schematic presented in the previous section 976 can be translated into a simpler form as
shown below:
The equivalent GAP topology is also included to help illustrate what points of the GAP model
correspond to which part of the real system.
To model the well above, one can decompose the problem into several key elements. For
example:
The two reservoir layers of the well can be described using IPR elements (Inflow
elements).
The completion (in this case, tubing) section EC and BC can be described using pipe
elements.
The completion corresponding to the section AB can be described by means of a well
(outflow only) element which will account the pressure drop from the top of the first layer
up to the wellhead.
The GAP file will include all the well heads and the flowlines from Reservoir B, along with a gas
tank labelled 'Gas Layer' which represents the completed gas layer in the field.
To model the smart wells the well will be split so that the outflow is captured by the well and the
oil and gas layers are modeled by separate inflows (Note that in the previous examples both the
inflow and the outflow were modelled in the well).
To build the wells begin by placing a well icon for each well on the white-board screen as shown
below.
To switch the wells to outflow only, double-click on the well to activate the system summary
screen and then modify the well model to 'Outflow Only-VLP'.
To add the inflows, select the inflow option from the main menu and paste it on the white-
board screen. This will display an icon shape element, which represents an IPR. A single inflow
or IPR will be required to represent the gas layer and the oil layer as shown below.
The next step is to add the Joints so that the pipelines, which will be used to model the wellbore,
can then be added into the model.
It is now possible to fill all the data in the different parts of the model.
To keep things simple we assume the well to be completed vertically, so that the TVD=MD, with
a 6.4” ID casing string. This information can be used to enter the information for the pipe section
between the two layers.
3.8.3.2 Define the IPR Elements
For each layer associate the corresponding PROSPER file as per Table 1 978 , for example:
In the IPR section select the layer fluid type and the IPR model:
Repeat this for the rest of the layers and associate them with their corresponding PROSPER files.
Follow the same steps as seen in previous examples 820 to generate the layer IPRs.
At the end, looking at the well IPR section, it is possible to verify that the data have been entered.
To enter the description of the pipeline that models the pressure drop in the gas layer (i.e. the
pipeline that is linked directly to the well) double click on the pipeline and enter the following
description:
Select the Petroleum Experts 2 flow correlation and in the 'Environment' section enter a
temperature of 250 deg F. Similarly to enter the description of the other pipeline, double click on
the pipe element between the oil and gas inflows and enter the following data.
The Figure 979 shows that the well needs to capture the pressure drop from the well head down to
the top of the producing gas layer. Therefore, in order to generate the correct VLP curves a
PROSPER file has to be built that models the completion down to the top of the gas layer. This
has already been done in the ~Outflow.out PROSPER files that have been provided in the 'Initial
Files' folder.
Double click on the well outflow icon to access the well summary screen and associate the
Outflow.OUT PROSPER files to each well.
Next, generate the VLP curves as shown in the previous examples 889 .
The values to use for the sensitivity parameters are provided below:
The first step is to mask the gas layers using the mask feature from the main GAP menu.
The masking tool allows the element to be brought online at some point during the prediction.
When an element is masked it is effectively ignored from the system until scheduled to be
included later.
To enter script select Prediction | Edit Prediction Script from the main GAP menu or alternatively
select the icon from the main tool bar.
The scripting is carried out through OpenServer and the following logic will be used to activate
the gas layers during the prediction.
This script will be executed at the end of every prediction step (PredStepEpilog).
The script can be imported as a file which in provided in the archive located in the Initial Files
folder. To import the script select Prediction | Import Prediction Script... and then locate the file
Oil Field_Smart Wells.gapscr.
Note that in order to obtain an OpenServer statement the user can use CTRL+Right Click over
any variable and the OpenServer string along with the current value will be displayed. For
example, the OpenServer variable for the well water cut is displayed below.
The OpenServer commands are also documented in detail in the OpenServer manual.
The GAP model has now been built. Save the file as Oil field_Smart Wells_Final.gap.
The 'Script' tab should become blue once it starts getting called during the prediction.
Once the calculation is finished, save the prediction results by selecting | Prediction | Save
Prediction Run Results As...
The gas inflows should be centered inside a solid red circle to indicate that they are controllable.
To compare the results of the predictions select Prediction | Plot Nodes Prediction Results and
select 'Well' from the Equipment Type and then 'System totals'.
Comparing the cumulative cil production from each case shows that by controlling the amount of
gas from the layers it is possible to improve the overall oil production by almost 1 MMSTB.
Comparing the gas rate of the gas inflows shows that, when there is no downhole choke (i.e. the
layers are not controlled), the excess gas injected into the system results in additional frictional
The GAP optimiser is able to detect this and by choking back on the amount of gas that is
allowed into the system the oil production is maximised as GAP operates the field at its full
potential.
3.9.1 Objectives
Definition of the Problem
Based on the previous development scenarios put forward for Reservoir A and B the engineers
wish to evaluate the impact of installing artificial lift in the system to see if there is any
appreciable gain in the production. The engineers are proposing introducing artificial lift into the
field at some point during the field life (01/02/2013) and at the same time they are considering
upgrading the capacity of the separator facilities to 30,000 STB/D. The first artificial lift method
to be tested is electrical submersible pumps (ESPs) which will be installed in each of the wells in
Reservoir A and B.
The objective is to investigate the impact on oil production as result of the proposed workovers.
Also, the production engineers would like to understand how the field should be managed so the
total power consumption of all of the ESPs does not exceed 125hp.
Learning Topics
Executive Summary
After building the model for this production network in GAP, a forecast will be run with the ESP's
operating at a fixed frequency. A second run will then be performed allowing GAP to optimise on
the allocation of the ESPs power in order to maximise oil production.
The initial files for this example and the final model can be found in the GAP
archive file format in the following directory.
~\samples\GAP\Example 6 - ESP Field
Extract 801 the archive file in the Initial Files folder to an appropriate directory
The samples files folder can also be accessed from the windows start menu, as
shown below.
Well Name Well type PROSPER well model Lift curve file ESP Operating
Frequency (Hz)
The next step is to place a well adjacent to each naturally producing oil well as we intend to
convert these wells to ESP wells. The reason for creating an additional well in the model is
explained in the scheduling section .
1014
Link each well to its corresponding well head and reservoir as shown in the figure below.
In order to modify the well description, double-click on the well icon to activate the system
summary screen.
Select the type of well and choose the option Oil producer (ESP lifted).
The PROSPER files are included in the archive file. The PROSPER file associated with
"Well1A_ESP" has been constructed and documented in detail in the PROSPER manual.
Please refer to the PROSPER tutorials for more information on well modeling with artificial lifted
wells.
Associate the corresponding PROSPER files with each well as shown in Table 1 1005 .
From the main GAP menu select Generate | Generate Well IPRs from PROSPER.
Then select all of the ESP wells and then select Generate.
By double-clicking on any of the wells and selecting the IPR tab, the IPR input data can be
verified as shown in the following screen shot:
The next step is to define the relative permeability curves for each well. In this case the tank
relative permeability curves will be used and this is done by selecting the 'More' tab and
modifying the Fractional Flow Model to 'From Tank Model'. Ensure that this step has been
carried out for each well.
Access the VLP section in the well input area and Browse for the VLP file that has been pre-
generated for this example (this is the fastest approach as no calculations are necessary
however in practice the VLPs will always need to be generated), or
Generate the VLPs by accessing the menu Generate | Generate Well VLPs with PROSPER. In
this case a range of values need to be entered and as the wells are ESP wells there is an
additionally variable (the Operating Frequency) that must be included.
When VLPs are generated for artificial wells there are a factor of 10 more
calculations to be performed (10,000 VLPs will be generated instead of 1,000) in
comparison to naturally flowing wells. Therefore the time taken to generate
VLPs will be considerably greater.
Please refer to the VLP generation 616 for guidelines on the ranges to use.
As the second method has been widely demonstrated in previous examples 889 , and the VLP
curves have already been generated, we will adopt the first approach.
To import the VLPs, access the VLP section of the Well System Summary screen and 'Browse'
for the corresponding .vlp file according to Table 1 :
1074
If instead of the .vlp file the .tpd file (the file format used when VLPs are exported
manually from PROSPER) has been provided so the Import button can be used to
import the file.
Select 'Inspect' and then 'Plot' to verify the quality of the curves.
The VLP curves should always be smooth and continuous. Discontinuous VLP curves are not
representative of reality and lead to poor quality derivatives which can create problems for the
GAP solver.
If the VLPs appear poor then it could either be the multiphase flow correlation which has been
selected or it may be the PROSPER file that needs to be reviewed to understand what may be
causing the effect.
To do this, the naturally lifted well will be scheduled to go off on the 01/02/2013 whereas the ESP
lifted well, which is turned off as the other well is producing, will be scheduled to come on.
The scheduling will also be used to simulate the effect of the separator capacity increasing to
30,000STB/d. To do this we will modify the maximum liquid constraint at the separator from
20,000STB/d to 30,000 STB/d.
Double-click on one of the ESP wells to activate the system summary screen and then select
'Schedule'.
Enter the date for when the well is to be brought online and in the 'Event Type' select 'Start Well'.
Repeat this for all of the other ESP wells.
The next step is to modify the scheduling of the naturally flowing wells. Using the same workflow,
modify the schedule section so that the well is stopped on the 01/02/2013.
Lastly, the separator constraint should be modified to 30,000 STB/d in the schedule section of
the Separator System Summary screen.
Whenever scheduling has been applied to an element in the GAP system a small clock will
appear at the bottom right hand corner of the icon.
The GAP model has now been built. Save the file as Oil Field ESP.gap.
Select the 'Pump Control' tab and then set the dP Control to 'None' and the 'Control Mode' to a
'Fixed value' of 55Hz. This will ensure that the pumps are operating at a fixed frequency during
the forecast and that the well head choke is fully open.
Repeat this procedure for all of the ESP wells in the network.
In this case the naturally lifted oil wells will still be controllable by GAP however when the ESP
wells come online they will operate at a fixed operating frequency of 55Hz with 0psig dP choke
on the wells.
Once the run has been completed, there are two ways to verify if the scheduling has been set up
correctly.
The first approach is to analyse the snapshots of the prediction on the 01/02/2013 and the
previous snapshot. The snapshot below shows the state of the system on 01/12/2012 (the
snapshot before the 01/02/2013).
The ESP wells remain masked and the naturally flowing wells are all producing. The following
snapshot shows the network on 01/02/2013.
At this point all of the naturally flowing wells have been masked and the ESP wells have been
brought online.
The other way to verify that the scheduling has been carried out correctly is to inspect the results.
If we inspect the well liquid rates and the system totals by selecting Prediction | Plot node
prediction results we can observe the ESP wells coming online on the 01/02/2013.
Additionally, we can see the impact of the separator constraint. The system can produce above
20,000STB/d as soon as the facilities are upgraded on the 01/02/2013.
Plotting the cumulative oil production shows us that the installation of the ESPs in the wells
increases overall production by approximately 6% in comparison to the case without artificial lift.
931
To achieve this we can use the optimiser in GAP to calculate what frequency each pump should
be operating under throughout the entire prediction.
Select the 'Control' tab and then set the dP Control to 'None' and the Control Model to a
'Calculated'. These options will ensure that the well head choke is always fully open and the only
control variable is operating frequency of the pump. Select the 'Constraints' tab from the main
summary screen and then select 'Pump' to enter the operating limits of the pump if they have
been provided by the manufacturer.
This will allow GAP to change the pump frequency between the operating limits of the pump (i.e.
between the upthrust/downthrust limits at each frequency) in order to maximise the production
from the system.
Note that the minimum/maximum inlet rate that the pump can operate at (at a particular
frequency) is dependent upon the physical pump and this information should be available from
the pump manufacturer. In the PROSPER file it is possible to visualise the performance curve of
the pump as these are included in the ESP databases that are provided.
The pump plot for the Centrilift GC10000, which is used in the well1A is shown below.
Repeat this procedure for all of the ESP wells in the system.
The resultant network should look the figure 1006 shown at the start of the section.
In this case the naturally lifted oil wells will be controllable by GAP, and when the ESP wells come
online the GAP optimiser will control the frequency at which they operate at so that the power
constraint is honoured and the oil production is maximised.
The plot below shows the total power consumed by the field along with the liquid production over
the course of the forecast.
The results show that the power constraint is honoured throughout the prediction and that on
01/02/2013, when the separator capacity is increased, we observe a spike in the production
indicating that we benefit from the facilities upgrade on the proposed date as we see more
production. Whether or not we decide to proceed with the installation would have to be justified
economically however the calculated rates from the GAP model will drive the economic analysis.
We can also inspect how the pump frequency evolves with time for any given well. In this case
the amount of available power to drive the ESP's is limited to 125hp and is the constraint on the
system. GAP honours this constraint by regulating the pump frequencies throughout the forecast
so that the maximum power consumed by the ESP's never exceeds 125hp and the oil
production is always maximised.
In summary, we have shown that we can use GAP to determine what speed to run the ESP's at
so that we maximise our oil production with the power (in this case 125hp) that is available.
3.10.1 Objectives
Definition of the Problem
Based on the previous development scenarios put forward for Reservoir A and B the engineers
wish to evaluate the impact of installing artificial lift in the system to see if there is any
appreciable gain in the production. The engineers are proposing introducing artificial lift into the
field at some point during the field life (01/02/2013) and at the same time they are considering
upgrading the capacity of the separator facilities to 30,000 STB/D. The first artificial lift method
to be tested was ESP's (refer to previous example ) however now the engineers want to
1004
The objective is to investigate the impact on oil production as result of the proposed workovers.
Also, the production engineers would like to understand how the field should be managed so the
total amount of gas lift gas available for the whole system does not exceed 10 MMscf/day.
Learning topics
The objectives of this example are to learn how to:
Build a GAP model for a gas lifted system.
Executive Summary
After building the model for this production network in GAP, a forecast will be run with a user-
specified gas lift gas injection rate for all of the gas lifted wells. A second run will then be
performed allowing GAP to optimise on the allocation of the gas lift gas amongst the wells in
order to maximise oil production.
The initial files for this example and the final model can be found in the GAP
archive file format in the following directory.
~\samples\GAP\Example 7 - GL Field
Extract 801 the archive file in the Initial Files folder to an appropriate directory
The samples files folder can also be accessed from the windows start menu:
Well Name Well type PROSPER well model Lift curve file Gas Lift Gas
(MMscf/D)
The next step is to place a well adjacent to each natural producing oil well as we intend to
convert these wells to gas lifted wells. The reason for creating an additional well in the model is
explained in the scheduling section .
1039
Link each well to its corresponding well head and reservoir as shown in the figure below.
In order to modify the well description, double-click on the well icon to activate the system
summary screen.
Select the type of well and choose the option Oil producer (Gas lifted).
The PROSPER files are included in the folder. The PROSPER file associated with "Well1A_GL"
has been constructed and documented in detail in the PROSPER manual. Please refer to the
PROSPER tutorials for more information on well modeling with artificial lifted wells.
Associate the corresponding PROSPER files with each well as shown in Table 1 1029 .
This can be achieved by first selecting all the 'GL' wells for which the IPRs are to be generated
From the main GAP menu select Generate | Generate Well IPRs from PROSPER, as shown
below.
By double-clicking on any of the wells and selecting the IPR tab, the IPR input data can be
verified as shown in the following screenshot:
The next step is to define the relative permeability curves for the well. In this case the tank
relative permeability curves will be used and this is done by selecting the 'More' tab and
modifying the Fractional Flow Model to 'From Tank Model'
Access the VLP section in the well input area and 'Browse' for the VLP file that has been pre-
generated for this example (this is the fastest approach as no calculations are necessary
however in practice the VLPs will always need to be generated), or
Generate the VLPs by accessing the menu Generate | Generate Well VLPs with PROSPER.
In this case a range of values need to be entered and as the wells are gas lifted wells then
there is an additional variable (the Injected Gas Liquid Ratio) that must be included.
When VLPs are generated for artificially lifted wells there are a factor of 10 more
calculations to be performed (10,000 VLPs will be generated instead of 1,000) in
comparison to naturally flowing wells. Therefore the time taken to generate
VLPs will be considerably greater.
Please refer to the VLP generation 616 section for guidelines on the ranges to use for GLR
injected.
As the second method has been widely demonstrated in previous examples 889 , and the VLP
curves have already been generated, we will adopt the first approach.
To import the VLPs, access the VLP section of the well by going to Input | VLP and 'Browse'
for the corresponding '*.vlp' file according to Table 1 , as shown below.
1074
If instead of the '*.vlp' file the '*.tpd' file (the file format used when VLPs are
exported manually from PROSPER) has been provided, then the 'Import' button
can be used to import the file.
Click on the 'Inspect' button and then 'Plot' to verify the quality of the curves.
Repeat the above steps for all of the other gas lifted wells to import the VLPs and quality check
them to ensure they are smooth.
To do this, the naturally lifted well will be scheduled to go off on the 01/02/2013 whereas the gas
lifted well, which is turned off as the other well is producing, will be scheduled to come on.
The scheduling will also be used to simulate the effect of the separator capacity increasing to
30,000 STB/day. To do this we will modify the maximum liquid constraint at the separator from
20,000 STB/day to 30,000 STB/day.
Double-click on one of the gas lifted wells to open the input screen and then navigate to
'Schedule' by going to Input | Schedule - as shown below.
Enter the date for when the well is to be brought online and in the Event Type select 'Start Well'.
Repeat this for all of the other gas lifted wells.
The next step is to modify the scheduling of the naturally flowing wells. Using the same workflow,
modify the schedule section so that the wells are stopped on the 01/02/2013.
Lastly, the separator constraint should be modified to 30,000 STB/day in the schedule section of
the separator element.
Whenever scheduling has been applied to an element in the GAP system, a small clock will
appear at the bottom right hand corner of the icon - as shown below.
The GAP model has now been built. Save the file as Oil field GL.gap.
Set the dP Control to 'None' and the Control Mode (in the Gaslift Control section) to a 'Fixed
value' of 1 MMscf/day which is provided in Table 1 . This will ensure that this well will be
1029
injected with a constant rate of 1 MMscf/day and that the well head choke is fully open.
Repeat this procedure for all of the gas lifted wells in the network and enter the rates
corresponding to the values provided in Table 1 .1029
There is a second option for entering the gas injection rate for each well that can also be used.
To do this select Edit | Edit Equipment Controls from the main GAP menu. The advantage of
this menu is that it enables the user to visualise the gas allocation for each well in the same
screen.
Note that the wells' 'Control' section can be accessed from this screen by clicking on the 'Edit'
buttons.
Important note: The values for the controls under 'Actual' are the ones that
figure under "Fixed Value" in the wells' 'Control' section. These values will
be used whenever the GAP model is run under No Optimisation
In this case the naturally lifted oil wells will still be controllable by GAP however when the gas
lifted wells come online they will operate at a fixed gas injection rate with 0 psig dP choke on the
wells (i.e. the wells will be fully open).
Once the calculation is finished, save the prediction results by selecting Prediction | Save
Prediction Results As...
There are two ways to verify if the scheduling has been set up correctly.
The first approach is to analyse the snapshots of the prediction on the 01/02/2013 and the
previous snapshot. The snapshot below shows the state of the system on 01/12/2012 (the
snapshot before the 01/02/2013).
The gas lifted wells remain masked and the naturally flowing wells are all producing. The
following snapshot shows the network on 01/02/2013.
At this point all of the naturally flowing wells have been masked and the gas lifted wells have
been brought online.
The other way to verify the scheduling has been carried out correctly is to inspect the results. If
we inspect the well liquid rates and the system totals by selecting Prediction | Plot Nodes
Prediction Results we can observe the gas lifted wells coming online on the 01/02/2013.
Additionally, we can see the impact of the separator constraint. The system can produce above
20,000 STB/day as soon as the facilities are upgraded on the 01/02/2013.
We can verify the gas injection rates for each well which remain constant throughout the
prediction.
Lastly, plotting the cumulative oil production shows us that the installation of the gas lift in the
wells increases overall production by approximately 11% in comparison to the case without
artificial lift. 931
Select the 'Control' tab and then ensure that the dP Control is set to 'None' and the Control Model
is set to 'Calculated'. These options will ensure that the well head choke is always fully open and
the only control variable is the gas injection rate. Set the maximum gas injection rate to
10MMscf/d, as this corresponds to the maximum gas that is available, and then set the minimum
gas injection rate to 0MMscf/d. This means that if necessary, GAP can allocate all of the gas lift
gas that is available to one well.
Repeat this procedure for all of the other gas lifted wells.
3.10.5.2 Set Maximum Gas Lift Available
To set the maximum gas lift gas that is available, select Prediction | Run Prediction from the
main GAP menu and then run through the forms until the following screen appears.
Enter a value of 10MMscf/day. This will ensure that total gas lift gas that is allocated amongst
the wells will not exceed 10MMscf/d.
In this case the naturally lifted oil wells will be controllable by GAP and when the gas lifted wells
come online the GAP optimiser will control the allocation of gas lift gas to each well.
The following plot shows the gas lift injection rates for the wells over the course of the prediction.
By comparing the cumulative oil production from the previous prediction we can see that for the
same amount of available gas lift gas, GAP was able to produce more oil by changing the
allocation of gas amongst the wells.
Useful Tip
Note that the calculated gas allocation amongst the wells appears erratic throughout the
prediction. This is because some of the wells respond very similarly to the amount of gas lift gas
injected. For example, if 1 MMscf/day is injected into either of the wells from Reservoir B we will
observe a similar increase in oil production even though they are different wells. This means we
have multiple ways of controlling the system to achieve our optimum and therefore there is no
unique answer for the optimiser. In such cases we can modify the optimiser settings so that the
optimiser uses the controls of the previous time step as a starting point.
This option can be activated by changing the value for 'Prediction - reset optimiser variables
at each prediction step' to 2.
Repeating the prediction with this option will yield smoother gas lift gas allocation profiles for all
the wells.
And if we compare the cumulative oil production with the new optimiser settings we observe no
difference in the totals.
3.11.1 Objectives
Definition of the Problem
In an onshore field comprised of two wells, one naturally flowing the other gas lifted, with
additional gas lift gas having become available (maximum of 2mmscf/day), due to other wells in
the system having been abandoned, the gaslift allocation is to be optimised to ensure the
production is maximised.
The gaslift system was designed for a WCT of 30% and Total GOR of 300scf/stb, a reservoir
pressure of 3000psig, a well head pressure of 230 psig and a casing head pressure 1150 psig,
with a total of 4 gas lift valves being required and an orifice of 14 64thin. Over time, the WCT has
increased to 40% and from a recent study using Quicklook, the orifice was found to be acting
like it was only 11 64thin. Currently around 0.615MMscf/day of gaslift gas is injected into Well 2
and the separator pressure is 200psig.
The engineer has been tasked with building a GAP model of the system in question and using
this to optimise the gaslift allocation.
Learning topics
The objectives of this example are to learn how to:
Perform network optimisation
Quality check the recommendations in PROSPER
Optimise the network performance, accounting for possible multipointing behaviour.
Executive Summary
After building the model, an initial allocation will be performed to asses how much of the
available gas lift gas could be used. The optimised allocation will then be quality checked within
PROSPER to verify that the gas can be injected, and if required, the gas lift allocation will then
be reviewed.
The initial files for this example and the final model can be found in the GAP
archive file format in the following directory.
~\samples\GAP\Example 7b - MultiPoint Gas Lift Optimisation
Extract 801 the archive file in the Initial Files folder to an appropriate directory
The samples files folder can also be accessed from the windows start menu:
Within Well 2, set the Gaslift Control Mode to "Fixed Value" and specify a Gaslift Injection Rate
of 0.615MMscf/day (via Input | Control)
Return to the main screen and navigate to Solve Network | Run Network Solver...
Specify the Gas available to be 2MMscf/day then press Next
Upon returning to the main screen, the cursor tool can be used to find the total field liquid
production by hovering above the separator element, see below. With 0.615MMscf/day of gaslift
gas being injected, the total liquid rate can be seen to be around 8000stb/day.
Within Well 2, set the Gaslift Control Mode to "Calculated" (via Input | Control)
Return to the main screen and navigate to Solve Network | Run Network Solver...| Next | Next
Select "Optimise with full constraints" and then press Calculate
Upon returning to the main screen, the cursor tool can be used to find the total field liquid
production by hovering above the separator element, see below. After the optimisation, it can be
seen that all of the available lift gas (i.e. 2MMscf/day) should be injected into Well2, yielding a
total liquid rate at the separator of around 8841 stb/day - an increase of almost 600 stb/day
compared to the Base Case.
From the well solver results, it can be seen that the Casing Head Pressure required to inject the
2MMscf/day is around 2970psig and the well head pressure is around 213psig.
As this is significantly higher than the design casing head pressure of 1150 psig, there are
concerns that the higher casing pressure may result in some of the gas lift valves reopening gas
being injected at multiple points along the wellbore - Multi-Pointing. Before implementation in the
field, the optimisation recommendations are to be further analysed to verify that stable injection
through the orifice can be achieved.
3.11.5 Optimisation Quality Check
To analyse whether injection occurs via the orifice or whether the valves along the wellbore start
opening as the casing head pressure is increased, the full dynamics (i.e. throttling behaviour)
must be captured. Within PROSPER this can be modelled using the Multipoint gaslift method
and the the Petex valve model.
For further information on matching the valve dynamics using the Petex valve model please refer
to Tutorial 23b in the PROSPER User Guide.
Navigate to the Well2 Summary screen and press Run PROSPER to open the
corresponding PROSPER file.
In PROSPER, navigate to the Gaslift Input Data via System | Gaslift Data
Set the Gas Lift Method to "Multipoint" - the valve data has already been entered.
Adjust the Casing Pressure to 2970psig
Press Done to return to the main screen, then navigate to the System calculation via
Calculation | System (IPR +VLP)
Update the Top Node Pressure to 213 psig and the WCT to 40%
Press calculate to determine the well performance and status of the individual valves at the
specified conditions
From the calculation results, it can be seen that at a Casing Pressure of 2970 psig, all valves
along the wellbore will be open, injecting a total of 9.2 MMscf/day, greatly exceeding the
available gaslift gas. In this respect, to ensure the calculated gaslift rate can be injected in reality
and corresponds to the optimum, the gas dynamics must also be considered when performing
optimisation in GAP.
Next, press Done to return to the main PROSPER screen and press GAP to save the changes
and return to GAP.
When calculating the well performance with the MultiPoint option enabled, the gaslift rate is
calculated on the basis of the casing head pressure. Before continuing with the optimisation, it is
therefore a good idea to validate that the interpolation of the VLPs gives consistent results to
PROSPER.
Navigate to the Input | Control tab and set the Casing Pressure Control to "Fixed Value" and
specify the previously determined casing head pressure of 2980psig.
Calculating the network performance (via Solve Network | Run Network Solver...), the calculated
Gas Lift Rate can be seen to be consistent with the value of 9.2 MMscf/day calculated in
PROSPER.
With the above in place, the optimisation can now be performed by changing the Casing
Pressure Control to "Calculated".
Now that the well has been configured to also account for the valve dynamics, when calculating
the system performance, the optimisation can be recalculated.
Navigate to Solve Network | Run Network Solver and calculate the network performance using
the "Optimise with all constraints" Solver Mode, see below.
The cursor can be used view the results from the main canvas.
From the results it can be seen that whilst like before the full 2MMscf/day are being injected, the
gains in Oil Rate are significantly less (just 50 stb/day as opposed to 600stb/day). The difference
in gains between the two optimisation cases is that the first approach of assuming a fixed depth
of injection is not valid for the well in question as raising the casing pressure to inject more gas
results in valves further up the wellbore opening and beginning to inject. Hence, although more
gas is being injected, the reduction in fluid density and in turn the reduction in bottom hole
pressure is less, meaning smaller gains in production can be expected.
This concludes Example 7b and the file can now be saved by going to File | Save As.
After completion of Example 7b, the user should be able to perform the following analysis:
In order to proceed with the construction of the gas lift network, the contract states that there must
be 10 MMscf/day which has to be provided by the operator that will be piped back to shore
along the sea bed. The objective of the study is to understand how long this rate can be
maintained for.
For reasons of casing integrity, the maximum pressure at the Casing Head is restricted to 4000
psig.
Learning Topics
The objectives of this example are to learn how to:
Generate lift curves for gas lift oil producer wells with casing head pressure as
sensitivity variable
Build a GAP model for the gas lift injection network
Executive Summary
To achieve the objectives, a gas lift injection network model will be built and then coupled to the
production model. GAP allows the user to optimise the production system and then to verify if the
gas lift injection network is able to provide the necessary pressure to inject the gas at the casing
head side.
The initial files for this example and the final model can be found in the GAP
archive file format in the following directories.
~\samples\GAP\Example 8 - GL Field with Gas Network
Extract 801 the archive file in the Initial Files folder to an appropriate directory
The samples files folder can also be accessed from the windows start menu, as
shown below. This file contains worked examples for all the IPM tools.
Well Name Well type PROSPER well model Lift curve file
In order to model the Gas Lift Network, the PROSPER models must use the 'Valve Depths
Specified' method in the gas lift options.
s
Manifold_A to WH1_A 1 6 600 600 3 Beggs and Brill
The performance curves of the compressors are provided in an Excel worksheet called
'Compressor Curves'. The file contains the polytropic head and power curves as a function of
the inlet rate. Note that the units are in SI and will have to be converted when entering the
performance curves into GAP.
Note that the completed archive of the model is called Oil Field with GL Network.gar
3.12.3 Modify the Production Network
Extract the archive Oil Field GL.gar.
In the previous examples, the gas lifted wells were defined by VLP curves that take into account
the GLR injected (see previous example ). The basic assumption being that there is sufficient
1036
pressure available at the casing side for the injection of the gas lift gas.
The casing pressure required to inject the gas can be determined separately by running a
sensitivity analysis with the PROSPER model. However this is limited as this can only be done for
a fixed set of conditions and it is not possible for the engineer to determine if the casing
pressure can be provided by the gas lift injection system.
In order to optimise the allocation of gas lift gas shared by the wells, and take into consideration
whether the gas lift injection system can provide the gas at the necessary casing pressure,
requires a full integrated model of the production system dynamically linked to the gas lift
injection system in GAP. This link between the networks is achieved by introducing the casing
pressure.
To set the gas lifted wells to use the casing pressure, double-click on one of the wells to activate
the System Summary screen and tick the option 'Use Casing Pressure'.
The PROSPER well models have to be defined with 'Valve Depths Specified'.
Repeat this for all of the gas lifted wells in the system.
Note that the lift curves have already been generated (see Table 1 1074 ), therefore the steps
described below are just as an illustration of how they were generated.
Provided the wells have been set to 'Use Casing Pressure', then GAP will automatically
provide the engineer with the option to enter the casing pressure as a fifth sensitivity variable
when the user accesses the menu Generate | Generate Well VLPs with PROSPER.
The PROSPER well models have to be defined with 'Valve Depths Specified' in
order for the casing pressure to be included.
With conventional VLP curves the pressure vs. rate profiles are always smooth and continuous
as this is consistent with the physics of the wellbore. The recommended ranges we provide in
the manual will almost always ensure this. However, in the case of gas lifted VLPs which have
the valve depths specified, then depending on the conditions, the gas injection point can change
abruptly resulting in a sharp change in the pressure profile.
From a modelling perspective, this can result in large interpolation errors or non-physical
solutions if the engineer is not careful with the ranges of the rates used when generating the
VLPs. For example, consider the VLP curve below of a gas lifted well for a given set of
conditions.
At approximately 630 STB/day and 10250 STB/day, the injection point changes and step
changes in the pressure profile are observed. If the VLPs were generated for the same
conditions but for a different range of rates then these events will not be captured with sufficient
resolution and there will be large interpolation errors if the intersection with the IPR falls within
these regions.
It is therefore important for the engineer to ensure that this does not occur in the model, and there
may be some iterations required in identifying suitable ranges for the rates to ensure that the
VLPs are representative of the well.
The number of VLPs that can be generated is limited to 32,000 and the engineer must
take care in ensuring that this is not exceeded when generating VLPs for gas lifted wells
including the casing pressure.
To inspect the VLPs that have been generated for the gas lifted wells, double-click on the wells
to activate the System Summary screen and select 'VLP' and then click on the 'Inspect' button
as shown below.
In this example, the VLPs have been generated using one GOR value (the solution GOR), as we
know from the evolution of the previous examples that the reservoir pressure does not drop
below the bubble point pressure and therefore the producing GOR will remain constant
throughout the prediction.
Repeat this process for all of the other gas lifted wells.
The production model has now been built. Save the file as Oil Field_GL.gap.
3.12.4 Build the Gas Lift Injection Model
This section can be used as a general step-by-step procedure to build a Gas Lift Injection
system in GAP.
The sketch illustrated below will be used as the reference.
A unit system can be selected by pointing the cursor in the cell below Input. This allows the
overall units system to be selected. Clicking on the white cells below allows individual units to be
changed.
Input : Oilfield
Output : Oilfield
For further details, access the Units section 793 of the user Guide.
The network will be drawn from upstream to downstream defining the gas injection manifold first.
Note that the order in which the GAP network is constructed has no effect on the results.
Select the 'Gas Injection Manifold' and an element will appear on the main screen.
The Joints
Twelve joints will be created:
One joint to represent the inlet of the first compressor ("P_s")
One joint to represent the outlet of the first compressor and inlet of the second compressor
("P_int")
One joint to represent the outlet of the second compressor ("P_d")
One joint to represent each of the manifolds ("Manifold_A" and "Manifold_B")
One joint to represent the delivered gas for the contract (“Shore”)
One joint to represent each of the wellheads (i.e. "WH1_A")
Click on the Joint icon from the main toolbar and add the 11 joints by clicking in the main
GAP display area as shown below. Label the joint elements accordingly, following the sketch
provided for reference. The following screen shot shows the current layout of the system.
The Compressor
To add the two compressors, select the compressor icon from the main toolbar and place
them between joints "P_s" and "P_int" for 'Compressor_1', "P_int" and "P_d" for
'Compressor_2'.
It is imperative that each sink element is labelled with the same name as its
corresponding well. This is important because GAP will use the labels to recognise
the linking points between the production and gas lift injection systems.
Once the Source/Sink button is selected, place an icon on the screen and select 'Sink'.
Repeat this procedure for all of the other wells in the system.
1. To move an element of the network to a new location on the screen, hover the mouse
arrow over the element to be moved and press the left mouse button and the Shift key.
Keep the left mouse button pressed and move the element to the new location. Releasing
the left mouse button will then position the element in the new location. This can also be
achieved by selecting from the main toolbar
2. Elements can be deleted by selecting the scissors icon from the toolbar menu and
clicking on the element to be removed.
Create links between the following components in the direction of the flow:
1. Connect the “Gas Inj. Manifold” to joint “P_s” to the “Compressor” and then to joint “P_d”.
2. Connect the joint "P_d" to the manifolds and then to the joints representing all of the well
heads.
3. Connect the wellhead joints to the corresponding sinks.
The basic model layout has now been specified. Additional components can easily be added or
deleted when the model is refined later. In fact, the 'Control Group' equipment will be added
later in the section where the compressors' curves will be defined.
The GAP screen display should look something like the screenshot below:
Repeat this for all of the sinks that represent a well in the system.
Note that this is just to initialise the system. Later on, when running calculations the
program will determine the optimum value for the injection rate.
Select the sink that represents the Delivery Station and enter a gas rate of 10 MMscf/d as this is
the contractual obligation that has been agreed.
According to the network sketch , the wells Well1A, Well2A and Well3A are tied back to
1081
Manifold_A via devoted lines. The three lines are therefore represented by a link between each
wellhead and the manifold.
In order to describe the procedure for defining pipelines, access the pipe summary screen by
double-clicking on the link that joins WH1_A and Manifold_A. The summary screen is shown
below. Make the following changes:
Gravity Coefficient: 1
Friction Coefficient: 1
The 'Petroleum Experts 5' is a mechanistic model that was designed to model pipelines
with complex geometries flowing with multiphase mixtures. It is therefore more
computationally intensive as it is capable of handling far more complexity. In this
system we do not require such a rigorous model as the flow is single phase (gas) and
the pipelines are not particularly undulating therefore we can save computational time
by using the simpler 'Beggs and Brill' correlation.
Environment
Go to Input | Environment tab to access the screen which allows to define the pipeline
environment and then enter the following values.
Pipe Description
To define the pipeline dimensions select the Input | Description tab.
Enter the following data (note: the data are given from upstream to downstream):
km Inches ft ft Inches -
Once the data has been entered it is useful to click on 'Validate' in order to check whether the
description entered is valid or not. This is not compulsory but can be useful for verifying your
input. Click 'OK' to return to the main GAP screen.
Similarly, double click on the pipe linking Manifold_B to P_d and enter the following pipe
description:
The figure on the right hand side allows the user to define which node
is upstream and which is downstream in the system:
The 'Plot' feature at the bottom of the screen allows the user to view the pipeline profile and
verify graphically that the data has been entered correctly.
Double-click on the pipe linking joint "P_d" to "Shore" and enter the following data:
To change the units of a variable click on the cell that displays the unit
and a drop down list will become available providing all the different
unit options.
Repeat the above procedure to define all of the remaining well flowlines.
This completes the pipeline description for the gas lift injection network.
Injection manifold
Double-click on the injection manifold and navigate to Input | Fluid to enter an injection fluid
temperature of 60 deg F.
Lastly, define the injected gas properties by clicking on the 'Edit List' button. In this case, the
default PVT properties will be used.
Note that the units are in SI and will have to be converted when entering the
performance curves into GAP.
The measured data, provided by the manufacturer, was fitted with curves to achieve smooth
derivatives beyond the surge and choke limits of the compressor. This is very important
because the GAP solver uses the derivatives of each element in the system in order to solve the
network so that convergence is achieved at each node. This is the same principle behind having
good quality VLPs which has been discussed in the previous examples.
Even if the derivatives are smooth over the range of the expected operating conditions,
convergence issues can still occur if there are poor quality derivatives at the extreme conditions.
This is due to the fact that as the network is being solved, it is possible for the solver to fall into a
region with poor quality derivatives and consequently the ability of the system to converge is
greatly affected as there is no way for the solver to resolve which direction to go in order to find
the correct solution.
An example of poorly defined compressor curves is provided below where the problematic
areas have been highlighted in red.
Such performance curves should always be avoided as the real response of the compressor
would not have discontinuities and more importantly it can cause problems with the solver.
To enter the performance curves in GAP, double-click on the compressor icon to activate the
system summary screen and select 'Data'. Enter three compressor stages and then select 'Edit
PC' to transfer the performance curves from EXCEL.
To change the units of a variable click on the cell that displays the unit
and a drop down list will become available providing all the different
unit options.
Note that in this example the same performance curves have been defined for each stage
however there is the option to enter a unique set of performance curves for each stage. This
option becomes available when the 'Use Multi Stage PCs' is checked.
To specify the Surge/Choke limits as a function of the rotation speed then select the 'Surge/
Choke' tab from the bottom of the form as shown below.
Provided the compressor is controllable, then GAP will regulate the rotational speed of the
compressor in order to honour these operating limits.
When modelling a single compressor within the network, it is possible and required to define
how the compressor speed is going to be controlled by selecting the Input | Control tab. For
example, if 'Compressor_1' was not mounted on the same shaft with 'Compressor_2', we would
set the Speed Control of 'Compressor_1' to 'Calculated' and enter the minimum/maximum
speed limits of 8000 rpm and 20000 rpm respectively - as shown below. A value for 'Actual
Speed' (20000 rpm for example) should be entered. With Speed Control set to 'Calculated',
this value is needed just for initialisation of the solver.
However, as in this case both compressors are mounted on the same shaft and will therefore
operate at the same speed, it is not necessary to define the 'Control' for each compressor. This
will be done in the 'Control Group' equipment as further explained towards the end of this
section.
Repeat the above procedure for 'Compressor_2' which has only one stage and the same
performance curve as 'Compressor_1'.
To add the 'Control Group' equipment that will allow the two compressors (mounted on the
same shaft) to operate at the same speed during the optimisation, click on the 'Group' icon
. Then click on the canvas (near the two compressors) and select 'Control Group' in the window
that appears - as shown below.
Enter the equipment label name as 'ControlGroup'. To make the compressors members of the
'Control Group' equipment, use the 'link/pipe' element to connect the compressors to the
'Control Group' equipment. Left click on the compressor first and then with the left mouse
button maintained pressed, move to the 'Control Group' and release the mouse button. A dash
line with an arrow in the middle will appear to indicate that the connection has been made - as
shown below.
To define how both compressors' speed is going to be controlled double click on the 'Control
Group' element and navigate to the Input | Control tab. Set the Speed Control to 'Calculated'
and enter the minimum/maximum speed limits of 8000 rpm and 20000 rpm respectively - as
shown below. A value for 'Actual Speed' (20000 rpm for example) should be entered. With
Speed Control set to 'Calculated', this value is needed just for initialisation of the solver.
GAP will now be able to regulate the speed of both compressors between these limits in order to
maximise the oil production. Thanks to the 'Group Control' equipment, both compressors will
always operate at the same speed reflecting the fact that they are mounted on the same shaft.
The GAP model has now been built. Save the file as GL Network.gap.
Once 'OK' is clicked, the program will open the gas lift injection system automatically along
with the production system
Arranging the windows by selecting the Windows | Tile Vertically from the main GAP menu
will allow the user to visualise both models together.
The program knows now that each well corresponds to a sink element. This is because the
same names have been used for those elements.
Note that in the gas lift injection network the icons for the injection manifold and
sinks (wellheads) have turned upside down. This indicates that those elements are
linked to their corresponding wells in the production network.
Save the model (through File | Save As) naming the production model as Oil Production with
GL Network.gap.
The whole model will be saved as Oil Production with GL Network.gap. This is the name of
the production network. The injection network will be saved as GL Network.gap. Note that as
the production network is the master model, the whole model can be opened from the master
file.
In GAP the gas lift gas is modeled as a separate phase which allows us to determine how much
gas is being injected. Therefore, the actual gas production at the separator will be the sum of
the gas produced (Qgas) and the gas injected (Qginj).
If the gas production (Qgas) falls below the agreed 10MMscf/d then there is a separate logic
required to simulate the three cases specified in the objectives . This can be done dynamically
1071
through the prediction script which enables us to optimise our system to its full potential whilst
honouring the three different field management strategies.
To enter the script, select Prediction | Edit Prediction Script from the main GAP menu or
alternatively select the icon from the main tool bar.
The scripting is carried out through OpenServer and will be carried out at the end of each solve
(PredStepSolverEpilog). The script for Case 1 is shown below.
To summarise, the script updates the sink in the gas lift injection network so that it is consistent
with the produced gas calculated from the production system. There is then the additional logic
required to simulate Case 2 and 3 which will be described in the next section.
The script can be imported as a file which is provided in the archive located in the Initial Files
folder. To import the script select Prediction | Import Prediction Script... and then locate the
file called 'Case 1.gapscr'.
In order to obtain an OpenServer statement the user can use CTRL+Right Click over any
variable and the OpenServer string along with the current value will be displayed. For example,
the OpenServer variable for the available gas lift gas is displayed below.
The OpenServer commands are also documented in detail in the OpenServer manual.
Note that although the model will meet the objectives set out at the start, its formulation
is rather complicated due the necessary scripting. It is also inefficient as additional
solves are required in order to consistently capture all of the rates in the different
systems. Moreover, if this model was to be passed onto another engineer then, unless
they are familiar with the script, they will have difficulty interpreting the model. It is
therefore recommended to handle such problems, which are based on field management
rules, with RESOLVE, as this tool provides a far simpler platform for implementing logic in
the model. For example, this problem could be solved in RESOLVE with fewer solves
and without the need for any scripting making the model more efficient and easier for
other engineers to understand.
GAP will first solve the production network based on the maximum casing pressure (4000psig)
specified at the wells and allocate the gas lift gas so that oil production is maximized. The
calculated gas injection rates for each well are then transferred to the corresponding sinks in the
gas lift network which is solved to determine the casing pressure at each sink. If the gas lift
injection network can provide the casing pressure then GAP will progress to the next time step. If
the casing pressure cannot be met then the calculated casing pressure from the injection system
is passed to the production system and the production network is re-solved until the injection
system can provide the calculated injected rates.
3.12.6.1 Case 1
Once the calculation is finished, save the prediction results by going to Prediction | Save
Prediction Results As.
The first case was to run a forecast with gas lift on all of the wells, with the total available gas lift
rate assumed to be 10 MMscf/day.
The first step is to ensure that the prediction script is working correctly. This can be done by
inspecting the snapshots. The snapshot below shows the state of the system on 01/09/2014.
At this point in time the gas potential of the production system is greater than 10 MMscf/day and
we can verify that the volume of gas produced gas is being delivered to shore.
To determine when the gas contract can no longer be met select Prediction | Plot Node
Prediction Results... and plot the gas production from the separator.
From the plot its clear that around 01/12/2016 the gas production falls below 10 MMscf/day and
it is not possible to honour the contract.
3.12.6.2 Case 2
The second case was to run a forecast with gas lift on all of the wells, with the total available gas
lift rate assumed to be 10 MMscf/day until the total produced gas drops below 10 MMscf/day. At
which point all of the allocated gas lift gas will be shared amongst the higher GOR wells (wells
from reservoir A) in order to understand if more gas can be produced and maintain the contract
for a longer period.
In order to set-up this scenario, the script needs to be modified. The logic that will be executed
once the gas rate drops below 10 MMscf/day is that wells connected to Reservoir B will be
switched to Fixed Control and the Gas Injection Rate will be set to 0 MMscf/day. The below
figure is for illustration only and the gaslift control mode should not be manually changed. This will
be done automatically via the prediction script.
The script can be imported as a file which is provided in the archive located in the Initial Files
folder. To import the script, select Prediction | Import Prediction Script... and then locate the
file called 'Case 2.gapscr'.
Re-run a prediction with the same set up as the previous case which is listed below:
To determine the impact on the gas contract select Prediction | Plot Node Prediction
Results... and plot the gas production from the separator for Case 1 and 2.
The results show that on the 01/12/2016, which is when the logic is triggered, the gas production
drops sharply. This is because the wells from Reservoir B require gas lift in order to produce -
as shown below.
It can be noted that "Well3B_GL" produces around 270 STB/day from 01/06/2017 to
01/03/2019. This production is achieved with a very marginal VLP/IPR intersection that can be
identified by reloading the prediction snapshot - as shown below. It is expected that the wells in
reservoir B have different responses as the depths of the gas lift valves are not the same in
these wells.
3.12.6.3 Case 3
The third case was to run a forecast with gas lift on all of the wells, with the total available gas lift
rate assumed to be10MMscf/d until the total produced gas drops below 10 MMscf/day. At which
point all of the allocated gas lift gas will be increased to 15 MMscf/day in order to understand if
more gas can be produced and maintain the contract for a longer period.
In order to set-up this scenario, the script needs to be modified. The logic that will be executed
once the gas rate drops below 10 MMscf/day is the Gas Lift Available will be increased to 15
MMscf/day.
The script can be imported as a file which is provided in the archive located in the Initial Files
folder. To import the script select Prediction | Import Prediction Script... and then locate the
file called 'Case 3.gapscr'.
Re-run a prediction with the same set up as the previous cases which is listed below:
From the 01/12/2010 to the 01/12/2020.
Using 3 months time steps.
With the 'Target Pressure' for Reservoir A set to 3650 psig using 0% gas (which means the
injected fluid is 100% water).
With the separator and gas inj. manifold pressures set to 200 psig.
With the optimisation mode set to 'Optimise with All Constraints'.
To determine the impact on the gas contract, select Prediction | Plot Node Prediction
Results... and plot the gas production from the separator for Case 1 and 3.
The above plot indicates that there is effectively no gain in increasing the gas lift gas available to
the system. This confirms that, for the cases analysed, the contract can be honoured until
01/12/2016.
In summary we have demonstrated the capability of designing a gas lift injection network that can
supply the necessary gas lift gas to the wells. Additionally, we have incorporated two physical
compressors mounted on the same shaft as well as some advanced logic that captures different
management strategies that are aimed at honouring a contract. Although the logic used meets
the objectives, it is fairly detailed, takes time to formulate and can be difficult to understand if the
engineer is unfamiliar with script. On that basis it is always recommended to model such cases
in RESOLVE as it is far simpler and more efficient to implement.
3.13.1 Objectives
Definition of the Problem
A new retrograde gas condensate field has been discovered with four appraisal wells. A simple
surface configuration has been defined for gathering all the fluid to a common manifold. The
produced fluid is to be delivered 5 km away from the main manifold to an LNG plant for
processing.
Learning Topics
The objectives of this example are to learn how to:
Set up a GAP model for a retrograde condensate field using the fully compositional
method
Export and import compositional models in GAP
How to run a prediction using GAP, PROSPER and MBAL
How to evaluate changes in the fluid composition.
Executive Summary
The steps to follow will be to:
1. Build the GAP network
- Draw the GAP network
- Define a reservoir in GAP
- Define the MBAL model as compositional and Import the composition in MBAL
from PVTP
- Define wells in GAP
- Generate well IPRs in GAP using PROSPER
- Import well VLPs in GAP
- Import the composition in GAP from PVTP
- Define the pipeline and eventual surface equipment
2. Run Solve Network (no optimisation) to determine the actual production for the
current network status
3. Run the prediction and checking the results
The initial files to build this example along with the completed model can be
found in the directory:
~\samples\GAP\Example 9a - LNG (Fully Compositional)
The samples files folder can also be accessed from the windows start menu,
as shown below.
Click here 1189 to set the model to Black Oil compositional lumping/delumping
3.13.2 Data Available
Description of the Wells
In this example, the Forcheimer Pseudo Pressure Method will be used to model the inflow
performance (IPRs). The file names containing the pre-generated lift curves corresponding to
each well are shown in the table below.
The PVT equation of state data are in the PVTP model PVT model.pvi.
If the user does not have PVTP, the user can still use the .prp file which has been
previously exported to complete the example.
The initial files and final model for this example can be found in the following
directory:
~\samples\GAP\Example 9a - LNG (Fully Compositional)\Initial files
selections:
The 'Calculate Well Choke Delta T' takes into account the Joule-Thomson
effect that can become significant when a gas is subjected to a large
pressure drop.
The 'Calculate Condensed Water Vapour' option will take into account
the water that has been vaporised from the formation brine which can
potentially condense in the pipelines due to changing pressures and
temperatures.
Then click 'EOS Model Set up' to access the general set up of the EOS model.
For this example the EOS options that will be used are:
Note that the options above are described in detail in the manual 182 .
The exception of this example is the separator element. When the separator icon is
selected from the main GAP toolbar it will activate the following window.
Ensure that the LNG Process Plant 383 is selected as this will be used to model the process plant
and calculate the respective LNG and condensate rates. When linking the sources it is possible
to define the fluid line using the option highlighted below.
Note that when defining wells and reservoirs, by default they are considered to produce oil. As
we progress through the example we will correct each of the elements so that we are producing
the correct phase.
In this section the existing MBAL model "reservoir_start.mbi" will be modified in order to have
the PVT defined as 'Fully Compositional'.
To do this, we can open the MBAL file through GAP by accessing the tank system summary
screen and selecting 'Run MBAL' in the bottom right corner of the window - as shown below.
Once the MBAL file is open, access 'Options' from the main tool bar and set the
'Compositional Model' to 'Fully Compositional.'
Enter the 'EOS Model Setup' options and enter the same PVT information as was entered in
GAP.
Note that when linking a fully compositional MBAL model to GAP, MBAL will automatically use
The .prp file has been pre-generated from PVTP and can be found in the Sample files folder.
The next step is to then import the PVT file in MBAL. From the main toolbar in MBAL, select
PVT | Fluid Properties which will activate the following window.
Select the 'Gas' tab and then 'Edit Compostion' to import the .prp file as shown below.
The program will automatically load the EOS model that was built in PVTP, including the
separator train that defines the path to stock tank conditions.
Click on OK and ensure that all the other tabs have been validated.
Note: In the case shown above, the gas composition that has been entered
contains the vaporised oil. When the fluid goes below the dew point, the
program will automatically determine the equilibrium oil composition, hence
there is no requirement to enter any oil PVT data.
In the Input | Tank data section, enter an 'Oil Leg (downhole ratio)' equal to zero, as the
reservoir is initially above the dew point.
With no production history, no history matching can be carried out. This therefore completes the
set up of the tank model.
Select File | Save as and save the MBAL file as "reservoir_final.mbi" in a suitable directory.
Then click on GAP to return to GAP tank summary screen.
At this stage the GAP file should be saved. To do this, click on File | Save As from the main
toolbar and save the file as 'GAP Fully Compositional .gap'.
As in the previous examples, we will define both the VLPs and the IPRs at the well level. To do
this, we will use the "VLP/IPR intersection" model for all of the wells.
To enter the well data, double click on the well icon to access the Well Summary screen. Then in
the summary screen, enter the following information:
Label: W1
Mask: Include in System (default)
Well Type: Retrograde Condensate Producer
Model: VLP/IPR intersection
PROSPER file: Well1.OUT
Complete all the wells according to the data provided in Table 1 875 .
Note that the well models have been defined using the black oil condensate PVT model in order
to save time. This is because in PROSPER there is the option to model the PVT of the
condensate as either fully compositional (EOS) or using black oil. In order to use the black oil
method, it must be first validated against the results of the EOS method. Please refer to the
When running the model in prediction mode, the composition entered at the IPR level will be
updated with the one coming from the reservoir model (MBAL or other).
The fluid composition and EOS properties are part of the .PRP file which was exported from
PVTP and saved as "PVT model.prp". There are two methods for importing the .PRP file into the
IPR section of each well:
Either by accessing the 'Composition' button in the well IPR Layer section and importing the file
directly - as shown below:
Alternatively, access the Edit | Import Compositions from the main GAP toolbar and then
Selecting 'Continue' allows the user to recall the .PRP file previously exported from PVTP.
Once the EOS has been imported, each well should be verified by checking the IPR layer and
confirming there is a composition entered.
From the main GAP menu, select Generate | Generate Well IPRs from PROSPER.
By double-clicking on any of the wells and selecting the Input | IPR tab, one can verify the IPR
input data as shown in the following screen shot:
Before leaving the IPR section, access the 'More' tab screen and set the Prediction Fractional
Flow Model to be 'From Tank Model'. This is important to determine the distribution of the
different fluid phases (i.e. the WGR and GOR).
To import the VLP curves in GAP, the files must be already generated. These are saved as
*.tpd files and as part of this example have been included in the 'Initial Files folder'. To load
these files, double click on well 'W1' and then navigate to the Input | VLP tab - as shown below.
Click on the 'Import' button and then load the "Well1.tpd" file. The VLP section should then
become green which completes the input for the well description. Repeat this process and load
the file for each corresponding well.
In this section we specify the overall composition of the fluid along with the fraction of the
components that will make up the produced LNG and Condensate. To import the composition
select 'Populate from PRP file' and import the PVT model file that was pre-generated in PVTP.
GAP will then use the composition that is associated with this .prp file.
Once the composition has been passed, define the fraction of the components that will make up
the LNG, LPG (Fuel & Flare) and Condensate as shown below.
In the 'Improved Approximation' method, the user has the option to define a heat transfer
coefficient for each segment of pipe. If the heat transfer coefficient varies along the pipe length
then this can be captured by adding multiple pipe segments within the pipe description.
Going to the Input | Control tab and setting the dP Control to 'Calculated', or
Right clicking on the well icon in the main GAP screen and selecting "Controllable"
The figure below shows the 'Control' tab section in the well input area:
Ensure that all of the wells in the system are made controllable.
Separator Schedule
Water Schedule
From the main GAP menu, select 'Solve Network' and enter a pressure of 1000 psig for each
separator. Click on 'Next' and set the calculation mode to 'No Optimisation' before selecting
'Calculate'.
Before inspecting the results, the user has the option to increase the amount of information that
is provided in the main fly-over by accessing the main menu and selecting View | Select Info
Displayed and enabling the viewing of compositions.
Pointing the cursor on the separator, it is possible to see that the wells fully open produce overall
around 2771 tonne/day of LNG and 2942 tonne/day of Condensate.
The results also show the composition in each point of the system.
Double click on the desired element (for example, in this case well 'W1')
Access the 'Results' section, scroll all the way to the right hand side and select 'View'
in the Composition column:
This will display the composition results for the fluid flowing through that given element.
Note that the EOS can be exported from by selecting 'Export...PRP'. The
.prp file that is generated can then be used in other tools within the IPM
Suite.
The same results can also be obtained from the main GAP toolbar by selecting Results |
Detailed | All Separators or Injection Manifolds.
To understand if there is a possibility of solids deposition throughout any of the pipelines in the
system, then view the composition of each pipeline as shown above (for example the pipeline
that is defined between the joints 'Manifold' and 'Top') and from the 'View Composition' screen,
select 'Phase Env...' and then click on the 'Calculate Hydrate...Wax' button.
Selecting 'Plot' then enables the user to see the pipeline pressure and temperature profile
relative to the hydrate formation curve.
From the plot we can confirm that hydrate or wax formation is unlikely to be an issue in the this
flowline at these conditions.
Note that it is possible to model the effect of including different inhibitors and gain an
understanding of how hydrates can be prevented in the system.
To run the prediction select Prediction | Run Prediction from the main GAP menu and then
enter the following information:
Select Next | Next and enter pressures of 1000 psig for each separator. Select Next and then
set the prediction mode to 'No Optimisation' and then 'Calculate':
Once the prediction is completed, take note of the CPU time (this will vary from machine to
machine) and save the prediction results. To save the prediction results, select Prediction |
Click on plot, and then view the LNG and condensate rates along with the GOR for the fully
compositional prediction as shown below.
The plot shows that the LNG/condensate rates decline with the time and at the beginning of 2010
there is sharp increase in production due to the sudden reduction of the LNG Plant pressure. It
is interesting to see that the GOR is initially constant as the reservoir pressure is above the dew
point, until it begins to increase midway through 2007 as the reservoir pressure decreases
below the dew point.
The profiles of ethane and propane can also be plotted in the same way.
In the case of the propane, it is interesting to note that the produced C3 decreases due to the
fact that it has condensed in the form of liquid in the reservoir. Consequently, the produced gas
becomes lighter due to the higher relative methane content.
This can be verified by inspecting the composition of the fluid in the reservoir. To access the
reservoir composition, double click on the reservoir element and go to the prediction results
(Results | Prediction). Within this window, select 'Load MBAL Results' which will provide the
full detailed results of the prediction that are associated with the MBAL model.
This step automatically loads the associated MBAL file and the results are stored in Production
Prediction | Run Prediction which is on the main toolbar. Plotting the propane demonstrates
the relative increase of propane in the reservoir as the liquid is dropping out.
The next step is to confirm whether or not there is any risk of hydrates forming in the pipelines as
the fluid is produced to the LNG plant. To do this, inspect the pipeline results by double-clicking
on one of the pipeline elements (for example 'Manifold to Top') and navigate to Results |
Prediction.
The 'Status' column will provide a warning regarding the risk of hydrates and based on the
results of the prediction it is clear that there is a risk of hydrate formation in several of the flow
lines. There is also risk of wax deposition.
In order to compare the pipeline conditions relative to the hydrate formation curves, we can
select a date (01/01/2012) and then 'View' as shown below. From the 'View Composition'
form, select 'Phase Env...' and then 'Calculate Hydrate...Wax' to generate the curves.
The results show that the pipeline conditions, which are represented by the green line, are falling
on the other side of the hydrate formation curve which indicates the likelihood of hydrates
forming.
We can take this study even further and determine which mole percentage of inhibitor would be
required to prevent the hydrates from forming? To do this, select the 'Water Composition' and
enter 10% of methanol into the stream.
The inclusion of 10% methanol removes the risk of hydrates. However, there is still the possibility
of wax formation in the flowlines which needs to be addressed. One solution could be to insulate
the pipelines (modify the heat transfer coefficient) which could also be easily captured in the
GAP model.
It is possible to re-run the prediction with the inhibitor included to asses the impact on hydrate
formation throughout the field life. To do this, select Options | Method from the main GAP
menu.
Note that it also possible to account for the inhibition effects of the produced brine.
Re-running the forecast and it is possible to confirm that the methanol will prevent the formation
of hydrates in the flowline. The wax deposition risks remain though.
To summarise, this example demonstrates the advanced temperature models and PVT
capabilities within GAP which enables the engineer to accurately perform flow assurance studies
on fields producing very complex fluids. The underlying hydrate models are well documented in
the PVTP manual and it is recommended for the user to consult this for a more thorough
background of the theory behind the models.
3.14.1 Objectives
Definition of the Problem
In the case of the system described in the previous example it is still required to know the
1134
composition of the produced fluid at any given point in time. However, instead of using the Fully
Compositional PVT method which is computationally intensive, to reduce the run time (but still
making sure to use a realistic PVT model) it is suggested to use the Black Oil compositional
Lumping/Delumping 200 method which is one of the advanced PVT options available in GAP.
To determine the composition (EOS) at any location in the network at any given point in time.
To ensure that the black oil model is consistent with the EOS composition at any given point in
time.
To reduce the run time in comparison to running the model using the EOS.
In order to illustrate the validity of the approach, a prediction will be carried out under the same
conditions as the previous example . 1134
Learning Topics
The objectives for this example are to learn in more detail how to:
Set the GAP model to work with Black Oil compositional lumping/delumping.
Compare the results obtained using Black Oil compositional Lumping/Delumping and
Fully Compositional.
Executive Summary
The starting point is the model built in the previous example.
1137
The samples files folder can also be accessed from the windows start menu,
as shown below.
In the case of this example no lumping/delumping is being carried out. The full composition is
going to be used to determine the equivalent black oil model, which will then in turn be used for
the network pressure drop calculations.
Note that in the EOS Model Setup options, it is possible to enable the Lumping options (in case
a pair of associated lumped/de-lumped compositions is available, see further ).
1199
In the well IPR section, it is possible to verify that the Fluid Properties (Black Oil properties) have
been determined on the basis of the EOS present in the Composition section.
Note that in this example the MBAL model is still run Fully
compositional.
Once the prediction is completed take note of the CPU time (this will vary from machine to
machine) and save the prediction results. Comparing the CPU time with the previous example
shows a reduction in the calculation time of approximately 70%.
To save the prediction results select Prediction | Save Prediction Results As...
Click on 'Plot', and then view the LNG and Condensate Rates along with the GOR for the Fully
Compositional and BO Compositional Lumping/Delumping predictions as shown below.
The plot shows that the LNG/Condensate rates and the GOR calculated by the BO
Compositional Lumping/Delumping method are practically identical to the results of the fully
compositional run.
From the same plot it is possible to compare the evolution of methane using both methods.
The results indicate that the BO Compositional Lumping/Delumping method captures the
evolution of methane to within a fraction of the fully compositional method.
And Propane
Then import into MBAL and GAP the .prp file containing the lumped and de-lumped
compositions.
For information about creating a lumped composition from a full composition please consult the
PVTP manual.
3.15.1 Objectives
Definition of the Problem
A tight gas field development is made up of two main well clusters which are currently in
operation (see figure below). The two clusters are linked by a flowline so that the gas can be
transported from Sector A to Sector B. There are plans to commence an intensive drilling
schedule which will bring online more well clusters in the near future.
Additionally, a proposal has been put forward suggesting the installation of a compressor at the
same location as the metering station. The compressor details are available and the intention is
to determine the gain in production and understand whether or not the proposed development is
justified.
Learning Topics
The objectives for this example are to learn how to:
Set-up a GAP sector model for a tight gas field.
Create partial GAP files
Importing partial GAP files
Solving the network
Equipment bypassing
Executive Summary
The steps followed will be:
1. Build the GAP network
- Draw the GAP network
- Define tight gas wells in GAP
- Generate well IPRs in GAP using MBAL
- Generate well VLPs in GAP using PROSPER
- Define the pipelines
The files for this example and the final model can be found in the GAP
archive file format in the following directory:
~\samples\GAP\Example 10 - Tight Gas Field\Sector B_Initial.gar
Extract 801 the archive file from the Initial Files folder
The samples files folder can also be accessed from the windows start menu,
as shown below.
The file names corresponding to each well are shown in the table below.
Well Name PROSPER File
Well1A Well1A.OUT
Well2A Well2A.OUT
Well3A Well3A.OUT
Well4A Well4A.OUT
Well5A Well5A.OUT
Well6A Well6A.OUT
Table 3 Wells data
The well production history's are provided in an Excel worksheet called 'Well Production Data'.
Sector B Model
A pre-constructed GAP model of Sector B is provided in the Sector B_Initial.gar file. Extract
the model before starting the exercise.
3.15.3 Build the Sector model
This section can be used as a general step-by-step procedure to build any GAP model. The
following sketch will be used as a reference.
Note that when defining wells and reservoirs, by default they are considered to produce oil. As
we progress through the example, we will correct each of the elements so that we are producing
the correct phase.
The separator element in GAP does not need to represent a physical separator in
the field. It can be used to model a fixed pressure point in the system, which in
this case is the metering point. Although the pressure at the metering point may
float in reality, it is still possible to model the performance of the well cluster
assuming a fixed pressure. To capture the change in pressure at the metering
station requires the equipment downstream of the meter to be modelled.
As in the previous examples, we will define both the VLPs and the IPRs at the well level. To do
this, we will use the "VLP/IPR intersection" model for all of the wells.
To enter the well data, double click on the well icon to access the Well Summary screen. Then,
in the summary screen, enter the following information:
Label: Well1A
Complete all the wells according to the data provided in Table 1 1202 .
Activate the well IPR screen for 'Well1A' by going to Input | IPR | IPR Layer tab and load the
associated MBAL file using the 'Browse' option.
Once the file is linked, select 'From MBAL' and then transfer the IPR data as shown below.
The information will then be transferred directly from MBAL and updated in the IPR screen. The
next step is to update the current date, which is 01/01/2008, as the objective is to determine the
production of the group of wells that make up Sector A.
Note that there is now the functionality to include any PD vs. TD function to describe the well and
reservoir geometry in a tight gas system.
This function can be generated through the applications in REVEAL and RESOLVE that allow for
complex well geometry (horizontal or deviated wells) with multiple fractures to be handled in the
system. These pseudo PD functions can also be generated in an external application and then
imported into the IPM suite for full integrated modelling.
Lastly, copy and paste the production history from the Excel worksheet into the 'Prod Data' tab.
To import the VLP curves in GAP, the files must be already generated. These are saved as
*.tpd files and as part of this example have been included in the 'Initial Files folder'. To load
these files, double click on 'Well1A' and then navigate to Input | VLP tab.
Click on the 'Import' button and then load the 'Well1A.tpd' file. The VLP section should then
become green which completes the input for the well description. Repeat this process and load
the file for each corresponding well.
Once the pipelines are defined the model is complete and ready to run.
From the main GAP menu, select 'Solve Network', enter a pressure 200 psig and the current
time (01/01/2008). Click on 'Next' and set the calculation mode to 'No Optimisation' before
selecting 'Calculate'.
Pointing the cursor on the separator element, it is possible to see that the wells fully open
produce approximately 10.5 MMscf/day
compressor station. To do this requires a partial GAP file to be created which will then be
imported into the main model which has already been constructed.
3.15.5.1 Create Partial GAP file
To create the partial GAP file, we must first select the elements in the model that are going to be
part of the file. This can be done using the icon which can be found on the main toolbar.
Select the icons as illustrated in the figure below.
Do not include the separator element as part of the partial GAP file.
From the main GAP menu, select Edit | Selected Items | Extract to partial GAP File (.gpp)
and save the file as 'Sector A'. After saving the file, close the model.
3.15.5.2 Import Partial GAP file
Open the Sector B.gap file.
The .gpp file is going to be imported into a 'flowsheet 586 '. The 'flowsheet' elements are very
useful for managing potentially large models as it allows smaller parts of the network to be
embedded into separate subscreens. To include a 'flowsheet', select the icon from the
main toolbar and then place it directly above the 'greyed-out' compressor icon - as shown below.
Double-click on the flowsheet and then maximise the new window that is provided. Place the
cursor within the new window, right-click and the choose the option 'Insert GAP Partial file
(.gpp)'. Insert the Sector A.gpp file and then select View | Normalise equipment icon positions
which will re-arrange the layout of the icons so that they can all be viewed within the window.
The next step is to define the node in the system that will be the flowsheet port. This can be done
by accessing the system summary screen or by right-clicking on the joint 'P_in' and selecting
'Flowsheet Port'.
This will now allow the flowsheet to be linked to Sector B which is the full system.
In the main production network the flowsheet, which captures an entire sub-network, is
represented by a simple element. It is also possible to have a flowsheet within another flowsheet
adding additional sub levels to manage larger models.
Note that it has been assumed that the compressor model has already been built. For details of
compressor modelling in GAP, please consult the Examples . 1103
From the main GAP menu, select 'Solve Network', enter a pressure of 250 psig at the
gathering station and enter the current date (01/01/2008). Click on 'Next' and set the calculation
mode to 'No Optimisation' before selecting 'Calculate'.
The gas rate at the gathering station with the compressor is approximately 19.6 MMscf/day.
Repeat the 'Solve Network' calculation and compare the gas rates at the gathering station.
From the results it can be confirmed that the gas production is 19.3 MMscf/day and that there is
a benefit of roughly 0.3 MMscf/day including the proposed compressor on the current date.
Further analysis could be carried out, for example running forecasts, to asses the economic
impact of installing the compressor over a period of time. Additionally, if we analyse the detailed
results of the compressor it is possible to compare the pressure differential across the
compressor (which is related to the physical compressor itself) and the deliverability of the
Sector A wells.
For example, the impact of the compressor is to reduce the pressure at 'P_in' to approximately
190 psig. If the response of the system was something like the relationship below, then there
would be little gain in reducing the 'P_in' with a compressor as the increase in the gas
production does not justify it.
If we revert back to the original Sector A model and solve the network for a range of different
fixed pressures at 'P_in' (e.g. from 100 psig to 190 psig), it is possible to establish if the
production is driven by the type of compressor or the potential of the wells. To do this, open
Sector A.gap and select Solve Network | Run Network Solver from the main menu. Enter
the following manifold pressures which will be applied at 'P_in' and the current date (01/01/2008)
In the previous examples, only one manifold pressure was entered. However, it is
possible to solve the network for a range of different manifold pressures and
conduct a sensitivity study.
In this case, we can see that Sector A is limited by the productivity of the wells and that including
a separator at this location is not particularly beneficial. In summary, this example demonstrates
that GAP provides the engineer with capability to understand the interacting physics in a tight
gas system and assist in development decisions regarding compressor installations.
3.16.1 Objectives
Definition of the Problem
A coal bed methane (CBM) field with two wells producing from the same coal seam is to be
analysed. Initially, both wells will de-water the reservoir via electrical submersible pumps (ESPs)
producing the gas and water via two separate lines. After 4 years (on 01/01/2013), the pumps
will be pulled and replaced with a tubing and a packer and the commingled fluids will be
produced through the same lines for the remainder of the forecast.
The objective is to understand the overall system response due to the proposed workovers.
Learning Topics
The objectives of this example are to learn how to:
Set-up a GAP model for a CBM field.
Executive Summary
The steps followed will be:
1. Build the GAP network
- Draw the GAP network
- Define CBM wells in GAP
- Generate well IPRs in GAP using PROSPER
- Generate well VLPs in GAP using PROSPER
- Define the pipelines
The files for this example and the final model can be found in the GAP
archive file format in the following directory.
~\samples\GAP\Example 11 - CBM Field
Extract 801 the archive file from the Initial Files folder
The samples files folder can also be accessed from the windows start menu,
as shown below.
The file names corresponding to each well are shown in the table below.
Well Name PROSPER File VLP File (with Pump) VLP File (No Pump)
From the GAP entry screen, select File | New to reinitialise GAP.
Note that when defining wells and reservoirs, by default they are considered to produce oil. As
we progress through the example we will correct each of the elements so that we are producing
the correct phase.
To enter the well data double click on the well icon to access the 'Well Summary' screen. Then in
the summary screen enter the following information:
Label: Well1
Mask: Include in System (default)
Well Type: CBM Water Producer (ESP Lifted)
Model: VLP/IPR intersection
PROSPER file: Well 1.OUT
Complete all the wells according to the data provided in Table 3 1227 .
The CBM wells have two connection elements, the tubing (blue) outflow and the annular (red)
outflow elements. The objective is to initially produce the water and gas separately via different
lines while the well is under artificial lift (See Figure ). After six years (01/01/2013) the tubing
1226
will be pulled, the ESPs are removed, and the flow will be redirected so that the water and gas is
produced up the tubing and through the same line.
The change in the pressure drops between the sand face and the well head, as a consequence
of removing the pump, will be captured in a new set of VLPs. In order to capture the re-routing of
the fluid paths beyond the wellhead we will take advantage of the links and the scheduling
features within GAP.
The first step is to create the dimensionless links between tubing/annular outflow elements and
the main flow lines. Use the figure the below as guidance:
The dimensionless links, without an associated label in the figure above, will not be given a
pipeline description and hence there will be no pressure drops calculated across these
elements. However we can use these links in order to modify the fluid path by masking these
lines in different configurations.
Initially, in order to model the fluid being produced through the separate flowlines, the line
between the Gas Joint and the tubing (blue) outflow of Well 1 should be masked. This can be
done using the icon from the main GAP tool bar.
In order to switch the flow so that the water is routed to the same flowline as the gas then we can
use the Scheduling. Double-click on the masked flow line to activate the system summary
screen and select 'Schedule'. Enter the 01/01/2013 into the date section and then select
'Unmask' from the Event Type column.
Similarly, for the flowline that links the tubing (blue) outflow of Well 1 to the Water joint, schedule
the line to be masked on the 01/01/2013.
The model should now look like the figure displayed below.
The two small clocks beside each pipe element indicates that scheduling has been applied.
From the main GAP menu select Generate | Generate Well IPRs from PROSPER.
By double-clicking on any of the wells and selecting the IPR tab, one can verify the IPR input data
as shown in the following screen shot:
Selecting the 'More' tab, it can be confirmed that the fractional flow curves have been transferred
directly from PROSPER. This can be further verified by selecting 'Run PROSPER' from the main
summary screen and inspecting the PROSPER file directly.
Access the VLP section in the well input area and 'Browse' for the VLP file that has been pre-
generated for this example (this is the fastest approach as no calculations are necessary
Generate the VLPs by accessing the menu Generate | Generate Well VLPs with PROSPER. In
this case a range of values need to be entered and as the wells are ESP lifted CBM wells then
the pump frequency, GLR and liquid level must also be included.
When VLPs are generated for artificial wells there are a factor of 10 more
calculations to be performed (10,000 VLPs will be generated instead of 1,000) in
comparison to naturally flowing wells. Therefore the time taken to generate
VLPs will be considerably greater.
For the case of CBM wells the liquid level in the casing must also be entered so that we can
determine the casing pressure. For more details of CBM well modelling it is recommended to
consult the PROSPER manual.
As the second method has been widely demonstrated in previous examples 889 , and the VLP
curves have already been generated, we will adopt the first approach.
To import the VLPs, access the VLP section of the Well system summary screen and 'Browse'
for the corresponding .vlp file according to Table 1 :
1227
Do not use the ~NoPump.vlp files as these will be used in the scheduling
Select 'Inspect' and then 'Plot' to verify the quality of the curves.
When the user is generating VLP's for for an ESP lifted well care must be taken to
ensure that the range of GLR's used are physical and representative of the pump. This
is because an increasing GLR (assuming a separator efficiency less than 100%) will tend
to reduce the inlet pressure of the pump for a given head. Therefore it is possible to
define a set of conditions that will calculate very low pump inlet pressures (and hence
bottom hole pressures) which are not physical. To ensure that this has not been done
simply inspect the VLPs and make sure that the bottom hole pressures are not 0psig (or
unrealistically low). An alternative approach is to check the calculated casing pressures.
If the conditions are non-physical then the calculated casing pressures will also be
unrealistically low (continue to the Interpret Results section to understand how to
1247
Select the 'Control' tab and then set the dP Control to 'None' and the Control Mode to a 'Fixed
value' of 50Hz. Additionally, set the liquid level in the casing to 2000ft.
This will ensure that the ESP is operating at a fixed frequency of 50Hz and that the well head
choke is fully open. Repeat this for Well 2.
ESPs are removed, and the flow will be redirected so that the water and gas is produced up the
tubing and through the same line.
The change in the pressure drops between the sand face and the well head, as a consequence
of removing the pump, have to be captured in a new set of VLPs. To implement this in the GAP
model we will schedule the VLP file of the well to change on 01/01/2013. The new VLP file will
capture the pressure drop in the well without the ESP included which will simulate the proposed
workover.
To implement the scheduling double-click on Well 1 to activate the system summary screen and
select 'Schedule'. Select the event to change the VLP file and then select the file Well
1_NoPump.vlp as illustrated in the figure below.
This VLP file was generated by modifying the separator efficiency of the pump in the PROSPER
file to 0% and setting the operating frequency to 1Hz.
As the VLP has been generated for a frequency of 1 Hertz, the pump frequency can also be
changed in the schedule section via OpenServer.
To do this, the OpenServer string for the pump frequency must be obtained from GAP by holding
the ctrl key and right-clicking, then selecting copy;
This string will be used to change the pump frequency in the schedule section by selecting
"change OpenServer Variable" in the event type. The copied string can be pasted in the correct
section in GAP and the new value of frequency (1HZ) can be entered;
These changes ensure that no head is provided by the pump and simulates the well response if
all the fluids (gas and water) are being produced through the tubing which is consistent with the
workover.
Select Next | Next and enter a separator pressure of 100 and 100psig for Sep1 and Sep2
respectively.
Select | Next and then set the prediction Mode to 'No Optimisation' and then 'Calculate.'
Select both of the separators from the 'Equipment Type' and plot the gas and water rates for
each separator.
The plots show that on 01/01/2013, when the workover takes place, that production from Sep 2
stops as the fluid is re-routed to the gas line.
Using the same steps to inspect the well results, it is also possible to plot the gas rate produced
through the casing along with the liquid level.
In summary, we have demonstrated that ability to simulate a workover in a group of CBM wells
and predict the produced gas volumes as the coal seam is dewatered using ESP's.
3.17.1 Objectives
Definition of the Problem
An on-shore gas field has been producing for some time and as a result some of the reservoirs
have been depleted and are at low pressures. As part of the development of this field, a new
higher pressured reservoir has been discovered. The objective of this exercise is to determine
how best to link production from this reservoir into the surface network in GAP.
Learning Topics
The objectives of this example are to learn how to:
Set-up a basic GAP model for a gas field.
Include a surface jet pump.
Copy information in GAP.
Change the Information displayed on the system window
Executive Summary
The steps followed will be:
1. Build the GAP network
- Draw the GAP network
- Define wells in GAP
- Generate well IPRs in GAP using PROSPER
- Import well VLPs in GAP
- Define the pipeline and eventual surface equipment
2. Solve the network
3. Include the SJP
4. Re-solve the network
The initial files for this example and the final model can be found in the GAP
archive file format in the following directory.
~\samples\GAP\Example 12 - Surface Jet Pumps in GAP
The samples files folder can also be accessed from the windows start menu,
as shown below.
The file names corresponding to each well are shown in the table below.
Well Name PROSPER File
HP Well HP.OUT
Well1 Well1.OUT
Well2 Well2.OUT
Well3 Well3.OUT
The "Calculate Well Choke Delta T" takes into account the Joule-Thomson
effect that can become significant when a gas is subjected to a large
pressure drop.
The "Calculate Condensed Water Vapour" option will take into account the
water that has been vaporised from the formation brine which can potentially
condense in the pipelines due to changing pressures and temperatures.
Note that when defining wells and reservoirs, by default they are considered to produce oil. As
we progress through the example we will correct each of the elements so that we are producing
the correct phase.
To enter the well data double click on the well icon to access the Well Summary screen. Then in
the summary screen enter the following information:
Label: HP
Mask: Include in System (default)
Well Type: Gas Producer
Model: VLP/IPR intersection
PROSPER file: Well HP.OUT
Complete all the wells according to the data provided at the start of the exercise.
From the main GAP menu select Generate | Generate Well IPRs from PROSPER.
By double-clicking on any of the wells and selecting the IPR tab, one can verify the IPR input data
as explained in example 2a 887 . The IPR curve can be visualized by selecting Plot.
3.17.3.1.1.2 Import Well VLPs
To import the VLP curves in GAP the files must be already generated. These are saved as .vlp
files and as part of this example have been supplied in the initial files folder. To load these files
double click on Well1 and then select the VLP tab.
Select browse and then load the Well1.vlp file. The VLP section should then become green
which completes the input for the well description. Repeat this process and load the file for each
corresponding well.
In order to describe the procedure for defining pipelines access the pipe summary screen by
double-clicking on the link that joins the HP wellhead to the manifold. The summary screen is
shown below. Make the following changes:
Label: HP to Man
Correlation Beggs and Brill
Pipe Description
To define the pipeline dimensions select the Pipe Data Button.
Enter the following data (note: the data are given from upstream to downstream):
Once the data has been entered it is useful to click on 'Validate' in order to check whether the
description entered is valid or not. This is not compulsory but can be useful for verifying your
input.
Repeat this procedure for all of the well lines using the data at the start of the exercise 1252 .
From the main GAP menu select 'Solve Network', enter a pressure 200 psig . Click on 'Next' and
set the calculation mode to 'No Optimisation' before selecting 'Calculate'.
Press "main" to return to the system window. The gas rate at each item of equipment is shown;
In this case it can be seen that the gas rate at the separator is approximately 23.6 MMscf/d.
An interesting result is that well 2 is not producing anything. This is due to back pressure effects
associated with linking the high pressure well to the network.
To view the VLP/IPR intersection double click on well 2 and navigate to the summary screen;
Selecting calculate will allow the VLP/IPR intersection to be viewed for a range of conditions.
Select "initialise from solver results" to copy the current operating conditions of the field;
As the pipeline dimensions will be unaffected, the data already entered can be copied and
pasted into the new pipelines required to include the SJP. To do this connect the SJP as shown;
The high pressure well should be connected to the high pressure inlet of the SJP
The low pressure manifold should be connected to the low pressure inlet of the SJP
The discharge outlet of the SJP should be connected to the Sep Joint
The surface jet pump dimensions must be entered in the "SJP Parameters" section.
The information in the SJP design section will not affect results and can be ignored, for further
information on the SJP data screen please refer to the section of the manual 499 describing
surface jet pumps.
It can be seen that the production at the separator has increased and Well 2 is no longer
unstable and has begun flowing once more.
In summary, this example shows how SJPs can be used in GAP to increase recovery by utilising
the energy of a high pressure system to reduce the wellhead pressures in a lower pressure
system.
3.18.1 Objectives
Definition of the Problem
A gas field is being exploited and the produced gas must be compressed for export. The
objective of this exercise is to model this system with and without the explicit compressor
recirculation option selected.In particular the compressor performance over time will be
analysed.
Learning Topics
The objectives of this example are to learn how to:
Set-up a basic GAP model for a gas field.
Set up the explicit recycle option for the compressor.
Executive Summary
The steps followed will be:
1. Build the GAP network
- Draw the GAP network
- Define wells in GAP
- Generate well IPRs in GAP using PROSPER
- Import well VLPs in GAP
- Define the pipeline and eventual surface equipment
- Define the compressor performance in GAP
2. Run a prediction
3. Model the recycle loop of the compressor explicitly
4. Perform another prediction and compare the results
The initial files for this example and the final model can be found in the GAP
archive file format in the following directory.
~\samples\GAP\Example 13 - Explicit Compressor Recycling in GAP
The samples files folder can also be accessed from the windows start menu,
as shown below.
The file names corresponding to each well are shown in the table below.
Well Name PROSPER File
Well1 Well1.OUT
Well2 Well2.OUT
Well3 Well3.OUT
Well4 Well4.OUT
Well5 Well5.OUT
Well6 Well6.OUT
Well7 Well7.OUT
Well8 Well8.OUT
Well9 Well9.OUT
The file names corresponding to each tank are shown in the table below.
Well Name PROSPER File
Res1 Res1.MBI
Res2 Res2.MBI
Res3 Res3.MBI
The compressor performance data can be found in an Excel spreadsheet in the samples folder.
Note that when defining wells and reservoirs, by default they are considered to produce oil. As
we progress through the example we will correct each of the elements so that we are producing
the correct phase.
Complete all the wells according to the data provided at the start of the exercise.
From the main GAP menu select Generate | Generate Well IPRs from PROSPER.
By double-clicking on any of the wells and selecting the IPR tab, one can verify the IPR input data
as explained in example 2a 887 . The IPR curve can also be visualized by selecting Plot.
To determine the Water Cut and GOR produced by the well during the prediction, a set
of rel perm curves are required. These are specified in the "more" tab in the IPR
section. For each well the rel perms used will come from the tank model as
demonstrated for Well 1;
Repeat this for all the wells. The IPR section of each well will then become green,
indicating that all of the fields necessary to define the IPR section have been updated.
Select browse and then load the Well1.vlp file. The VLP section should then become green
which completes the input for the well description. Repeat this process and load the file for each
corresponding well.
In order to describe the procedure for defining pipelines access the pipe summary screen by
double-clicking on the link that joins the HP wellhead to the manifold. The summary screen is
shown below. Make the following changes:
Pipe Description
To define the pipeline dimensions select the Pipe Data Button.
Enter the following data (note: the data are given from upstream to downstream):
Once the data has been entered it is useful to click on 'Validate' in order to check whether the
description entered is valid or not. This is not compulsory but can be useful for verifying your
input.
Repeat this procedure for all of the well lines using the data at the start of the exercise 1277 .
Compressors, like pumps have a maximum and minimum rate which they can process. This
information must be entered before performing the prediction. This can be done in the "Surge/
Choke" tab in this case the compressor will be operating at 20,000 rpm;
The separator pressure will be specified as 1100 psig and the prediction will be performed with
the wells fully open (no optimisation);
The compressor icon will then change to show that the recycle is being modeled explicitly;
In order to connect the SJP into the network in a neat fashion, the orientation 501 of the pump will
be changed by double clicking on the SJP and selecting the "orientation" tab in the input section
The position of the HP inlet and Discharge outlet have been modifed as above. Once this has
been done, the SJP can be connected into the network.
The recycle outlet of the compressor can then be connected to the HP inlet of the SJP
Manifold 3 can be connected to the LP inlet of the SJP
The discharge outlet of the SJP should be connected to the Comp Inlet joint
The information contained in the pipeline "Man 3 to Comp In" should be copied to the new
pipeline "LP Inlet". The original pipeline "Man 3 to Comp In" can then be deleted.
For an example of how to copy the pipeline data please see Example 12 - Surface Jet
Pump Modelling in GAP . 1269
Next the pipeline information for the discharge and HP inlet should be added. These pipelines
are identical and the information is given below;
Pipe Description
To define the pipeline dimensions select the Pipe Data Button.
Enter the following data (note: the data are given from upstream to downstream):
The surface jet pump dimensions must be entered in the "SJP Parameters" section.
The information in the SJP design section will not affect results and can be ignored, for further
information on the SJP data screen please refer to the section of the manual 499 describing
surface jet pumps.
For example; at the separator it can be seen that including the SJP has increased the produced
gas rate at later time and thus the cumulative production has increased;
At the Compressor level, including the SJP has caused the amount of gas recycled to decrease;
The reason for the reduction in the recycle rate with the SJP included is;
Recycling the fluid reduces the pressure at the LP inlet to the SJP
This in turn increases the drawdown at those wells connected to the LP inlet
The produced rate from these wells therefore increases
As the produced gas rate has increased, the amount required to recycle will be less
than if there was no SJP
3.19.1 Objectives
Introduce GAP Transient pipeline and well studies;
Model a ramp up scenario;
Consider how to mitigate against rapid liquid rate surge;
The engineering team wish to investigate the transient behaviour of the well as it transitions from
one steady-state operating condition to another.
During this process, the team wish to understand two main engineering objectives:
Quantify the surge in production in the field when the choke change is made.
Determine the time required for transience in the system to settle down and achieve steady-
state condition – this will help coordinate planning logistics for other field operations.
Topics Covered
The objectives of this example are as follows:
Setup a basic GAP Transient model of a well using a transient pipeline element;
Setup a global temperature gradient;
Show how to run a GAP Transient simulation;
Show how to analyse GAP Transient results to quantify surge volumes.
Please note that the GAP Transient simulation calculations will require a separate GAP
Transient license. All other learning topics can be achieved with standalone GAP license.
Executive Summary
In order to investigate the transient response induced by moving from one steady state to
another, the following steps will be performed:
The initial files for this example and the final model can be found in the GAP
archive file format in the following directory.
~\samples\GAP\Example 14 – GAP Transient: Well Production Ramp-up
The samples files folder can also be accessed from the windows start menu,
as shown below. This file contains worked examples for all the IPM tools.
True Surrounding
Vertical Temperature
Depth (ft.) (oF)
0 60
600 40
9275 210
IPR Data:
The IPR data will be generated from the PROSPER file GAP Transient Ramp-Up Inflow.out.
Environment Data
Calculate Heat Transfer Coefficient Unchecked
Overall Heat Transfer Coefficient 8.6416 BTU/h/ft2/F
Pipe Description
Transient Pipe Step Length 100 ft.
Specify Step Length by Segment Unchecked
Flow Type Tubing Flow
Correlation Petroleum Experts 2
Gravity Coefficient 1
Friction Coefficient 1
Rate Multiplier 1
Maximum Step Length 10000 ft.
Transient Result Data Sampling None
The following sketch will be used as a reference of the final GAP model setup:
The global temperature gradient can be entered by going to Flow Assurance| Global
Temperature Gradient…, as illustrated below.
So the IPR can be generated from the PROSPER file, double click on the Inflow element and
proceed to Input | IPR Layer tab and browse for the PROSPER file in the initial files folder:
The IPR data can be imported by going to Generate | Generate Well IPRs with PROSPER… and
then select to generate for All wells.
In the IPR generation window, select ‘Generate’ to transfer the well IPR data to the inflow
element.
If desired, the highlighted ‘Import Match Parameters’ can be used to transfer the PVT match
parameters from the PROSPER PVT description. Further information on the PVT Match can be
found here 208 .
In the description tab, we will define the well downhole equipment description and select the
multiphase flow correlation to be used. Enter the data as illustrated below:
Please note that when entering pipe segment lengths for transient simulations, it is best practice
to avoid very large sections of pipe followed by small segment lengths to ensure accumulation
effects are numerically captured accurately.
3.19.3.5 Define the Wellhead Choke
The inline choke element will represent the wellhead choke. In order to define the choke
properties, double click on the inline choke element and proceed to the Input | Control tab, where
we will define the dP control and the choke diameter.
The dP Control should be set to ‘Fixed choke diameter’ with an initial choke diameter of 1 inch
and the choke model left as default, as shown below:
To conduct the comparison, first we need to solve the network (No Optimisation) with the current
operating conditions of a 1 inch choke diameter and a Flow Line pressure of 500 psig, which
calculates a steady state liquid rate of around 9850 STB/day.
The field management plan is to open the wellhead choke to 4 inches. Return to the Inline Choke
element and change the inline choke to 4 inches and solve the network again (No Optimisation)
with a Flow Line pressure of 500 psig. We can see that the new steady-state liquid rate is
around 13100 STB/day.
Pipeline equipment by default perform only steady-state calculations. In order to perform GAP
Transient calculations, transient equipment needs to be define. In order to convert the steady
state pipe to a transient equipment element, the ‘Transient’ option can be activated in the Pipe
element Summary interface, as illustrated below:
By converting the pipe to a piece of transient equipment, a new input data tab called ‘Simulation’
will be activated. The Simulation interface allows the user to define the initialisation behaviour of
the transient equipment at time zero of the transient simulation, either Steady-State or Static.
Steady state conditions is applicable when moving from one steady state scenario to another,
whilst static is to be used to capture the start-up process (e.g. unloading of kill fluid).
In this scenario, we have confirmed that the well is producing under steady-state conditions with
a wellhead choke of 1 inch; therefore, select Steady-State as the initialisation condition as
illustrated below:
Click OK to confirm the changes, upon which the pipe will appear multi-coloured (illustrated
below) which indicates the equipment is set up as a transient item.
Next, in the Input | Schedule tab of the Inline Choke, switch on the ‘View/Edit Transient Simulation
Schedule’ option and set the choke diameter to change at 15 minutes. Please note that this will
mean that the choke is open at 15 minutes, not will start to open at 15 minutes.
Click OK to return to the main screen; the equipment is now set up to perform a transient
simulation.
The transient simulation calculation is solved implicitly which means any changes in the transient
system (e.g. scheduled choke change) occurs over the duration of the timestep size period. For
example, the choke in this example will be open at 15 minutes but implicitly it is opening over the
duration of the previous timestep.
Once the data above has been entered, select Next, ensure the separator pressure is 500 psig
and click Next again.
The solver settings of the transient simulation can be changed to help with convergence. Select
Settings and in the new window switch the base configuration to 'Transient - Used for transient
calculations' and click Apply. Click OK to close the window.
Once the calculation has concluded, select Main to return to the main interface, where we are in
a position to save and then analyse the results.
3.19.8 Saving the Transient Simulation Results
Once the transient simulation has been run, a copy of the transient simulation results can be
saved by going to Transient | Save Simulation Results As…
In the resultant interface, select ‘Add’ to save a copy of the transient run with the run description
“Well Ramp-Up”. This will allow for these results to be recalled at any time and compared to
alternative scenarios which are to be considered for the ramp-up procedure.
First we will analyse the node results of BH and WH by going to Transient | Plot Nodes
Simulation Results…, selecting the two nodes and then Plot.
In the next window, select the nodes ‘BH’ and ‘WH’ and click ‘Plot’:
First plot the liquid rate and pressure of the ‘BH’ node (i.e. bottomhole) by selecting BH in the top
left hand section of the window and then double clicking the variables in the bottom left, as
illustrated below:
For the initial 15 minutes pressures and rates are constant due to the system being initialised
from steady-state conditions. The initial rate corresponds to the steady-state liquid rate of
around 9850 STB/day as per the previous GAP solve network calculation.
At 15 minutes, the wellhead choke at surface has been opened up, which causes the bottomhole
pressure to gradually reduce and consequently the bottomhole liquid rate to increase to the
steady-state rate of around 13100 STB/day as per the second GAP solve network calculation
previously performed.
Remove the bottomhole liquid rate from the plot using the red X, as illustrated below:
Analysing the results, it can be seen at 15 minutes the wellhead pressure will suddenly drop by
around 500 psi due to the wellhead choke diameter changing from 1” to 4”.
Due to the transient behaviour within the system, the bottomhole pressure takes around 30
minutes to reach the new steady-state bottomhole pressure, and therefore we see a surge in
rate at the wellhead due to a sudden change in the holdup and fluid velocity. The surge in liquid
rate at the wellhead can be plotted as below and compared to the bottomhole liquid rate, which
increases gradually in line with the gradual pressure change illustrated above:
Based on the above analysis, we can quantify that the peak surge volume will be much greater
than the new state-state rate of around 13000 STB/day, if the choke change is implemented over
one minute, and the system will take around 40-60 minutes to reach a steady-state condition.
In addition to analysing the pressures and rates, a study can be conducted to determine when
would be appropriate to take field measurements of the well. For example, we can plot the
wellhead (WH node) GOR, as below:
From the above plot it can be seen that during the liquid rate surge, the wellhead GOR fluctuates
significantly, and therefore an estimate could be obtained as to when stable flow is achieved and
production monitoring/logging can begin with confidence.
3.19.10 Detailed Transient Results View
Further detailed analysis can be performed on the transient pipe element. This information can
be accessed by right-clicking the pipe and selecting ‘Show Transient Results…’
In the new window, select the saved transient simulation ‘Well Ramp-Up’ and then Continue.
The detailed transient simulation results window that appears is similar to the flow assurance
results window. From here, the user can look at detailed results inside the pipe equipment during
the transient simulation (i.e. pressure, temperature, velocities, holdup etc.) using the timestep/
variable/depth controls.
For example, we can view the holdup change during the wellhead choke change. In order to
analyse the holdup with depth at multiple time steps during the transient simulation in a 2D plot,
the following steps can be taken:
3. Select the variable Holdup for comparison at time steps 0, 14, 15, 20, 30, 50, 60 and 70
minutes; then select Plot.
The resultant Transient Plot allows us to visualise the change in holdup with depth through time.
What is apparent is the change between 14 and 15 minutes, when the choke is being opened, at
the top of the wellbore where the holdup decreases more rapidly than the bottom of the well. This
is indicative of the surge in production observed at the wellhead seen in the node results
previously plotted.
Once the choke is at 4 inches (15 minutes), the holdup steadies through time until around 60
minutes when we see a stable profile with depth again through time; this indicates that the new
steady state conditions have been reached.
Close the detailed transient results window and open the choke summary screen.
In order to obtain the OpenServer string for the choke diameter, go to the Input | Control tab and
Ctrl + Right Click on the Choke Diameter cell, and then select copy:
Once the OpenServer string has been copied, return to the Schedule tab and enter the data to
implement the desired choke opening profile as illustrated below:
Please note that in order to define a linear change in the choke diameter, two event times must
be defined to provide the duration of the linear change.
Select OK to return to the main GAP canvas and run the transient simulation again with the same
settings as previously conducted, then save the transient simulation results as ‘Linear Choke
Opening’.
3.19.12 Linear Choke Opening Results Analysis
As the choke has been opened in a linear fashion over twenty minutes rather than rapidly over
the space of a minute, we can see by plotting the WHP for the node WH that the pressure
reduction is more gradual when the choke is opened slowly, as illustrated below:
As the WHP decreases more gradually, we can also see that the surge in liquid rate is much
less abrupt, as illustrated below:
With regard to the time at which reliable production logging can commence, we can once again
analyse the GOR for the WH node and observe that the time at which steady state is achieved
when the choke is opened to 4 inches is near enough the same in both cases, as illustrated
below:
In order to avoid operational issues downstream of the choke when opened as part of the ramp
up procedure, it can be concluded that a gradual opening of the choke reduces the maximum
surge rate. Further sensitivities could be conducted to determine the optimum time period
across which to open the choke, and these would be best implemented as part of the entire
integrated network.
This concludes Example 14 and the file can now be saved by going to File | Save As.
After completion of Tutorial 14, the user should be able to perform the following analysis in GAP:
Setup a basic GAP Transient model of a well using a transient pipeline element;
Set up a global temperature gradient;
Run a GAP Transient simulation;
Analyse GAP Transient results to quantify surge volumes and investigate how to reduce the
initial surge volume;
Implement the Change OpenServer Variable Linearly Event Type in equipment schedules;
3.20.1 Objectives
Introduce GAP Transient riser and well studies;
Model a unstable riser;
Investigate how to mitigate against an unstable riser;
Current measured production at the production separator indicates severe slugging in the
system. The flow assurance team wish to replicate this behaviour in a transient model to identify
the source of the slugging behaviour followed by an investigation into methods to mitigate the
transient nature of the system.
Given the remote location of the subsea wellhead, the engineering team only have access to two
controls in the system: (1) gaslift at the base of the riser or (2) riser topside choke control.
During this investigation, the team have three main engineering objectives:
Learning Topics
The objectives of this example are to learn how to:
Please note that the GAP Transient simulation calculations will require a separate GAP
Transient license. All other learning topics can be achieved with standalone GAP license.
Executive Summary
The steps followed will be:
The initial files for this example and the final model can be found in the GAP
archive file format in the following directory.
~\samples\GAP\Example 15 – GAP Transient: Unstable Riser
The samples files folder can also be accessed from the windows start menu,
as shown below. This file contains worked examples for all the IPM tools.
True Surrounding
Vertical Temperature
Depth (ft.) (oF)
0 60
2000 40
9400 210
The well IPR data will be generated from the PROSPER file GAP Transient Well1.Out and the
well VLP data will be manually imported from the TPD file GAP Transient Well1.tpd
Flowline Data
Environment Data
Calculate Heat Transfer Coefficient Unchecked
Pipe Description
Transient Pipe Step Length 100 ft.
Specify Step Length by Segment Unchecked
Flow Type Tubing Flow
Correlation Hydro-2P
Gravity Coefficient 1
Friction Coefficient 1
Rate Multiplier 1
Maximum Step Length 10000 ft.
Transient Result Data Sampling None
Riser Data
Environment Data
Calculate Heat Transfer Coefficient Unchecked
Overall Heat Transfer Coefficient 9.5 BTU/h/ft2/F
Oil Heat Capacity 0.53 BTU/lb/F
Gas Heat Capacity 0.51 BTU/lb/F
Water Heat Capacity 1 BTU/lb/F
Pipe Description
Transient Pipe Step Length 100 ft.
Specify Step Length by Segment Unchecked
Flow Type Tubing Flow
Correlation Hydro-2P
Gravity Coefficient 1
Friction Coefficient 1
Rate Multiplier 1
Maximum Step Length 10000 ft.
Transient Result Data Sampling None
The following sketch will be used as a reference of the final GAP model setup:
To begin setting up the system options, select Options | Method and make the following
selections:
Prediction On
Pressure and temperature -
Prediction Method
Gradient
Water Vapour No Calculations
Temperature Model Rough Approximation
Heat Transfer Coefficient Enter Heat Transfer Coefficient
Calculate Well Choke
On
Delta T
Brine Properties
Use Default Correlation
Correlation
Water Viscosity
Use Default Correlation
Correlation
Allow Transient Pipes/
Enable Transient Calculations
Wells
The IPR data can be imported by going to Generate | Generate Well IPRs with PROSPER…
and then select to generate for All wells.
In the IPR generation window, select ‘Generate’ to transfer the well IPR data from PROSPER to
the well model in GAP.
The well VLP data has already been pre-generated and exported in as a *.TPD file. This can be
manually imported to the well model by going to the well Input | VLP tab and selecting the
‘Import’ button. Browse for the GAP Transient Well1.tpd file in the initial files folder.
As we do not know the source of the slugging behaviour of the system, the well model in GAP will
be setup to perform transient calculations. In the well summary screen, select the ‘Transient
Well’ option.
By activating this option, this will automatically import the equipment data of the PROSPER file
into an equivalent transient well description in GAP. This option means that it is not necessary to
replicate a PROSPER well model in GAP using a transient pipeline element e.g. GAP Transient:
Well Production Ramp-Up (Getting Started) example.
A transient well model will expose four new input tabs which relate to transient well calculations
(similar to a pipeline element).
In the description section, the downhole equipment and deviation survey data of the PROSPER
file has been converted to an equivalent GAP description.
In the well Input | Description screen, set the correlation to be Petroleum Experts 2.
In the well Input | Environment screen, GAP will import the overall heat transfer coefficient
value and set the PROSPER geothermal gradient as a local temperature gradient – as shown
below.
In the well Input | Simulation screen, the initialisation behaviour of the transient well at time zero
of the transient simulation will be defined.
In this particular scenario, we will assume that well is able to produce at steady-state initially.
Running the transient simulation for a short period of time will confirm if the system is at steady-
state or if the system will exhibit a transient behaviour.
The remaining setup of the transient pipeline element is summarised in the tables below.
The remaining setup of the transient pipeline element is summarised in the tables below.
The 'dP Control' should be set to ‘Fixed choke diameter’ with an initial 'choke diameter' of 4
inch and the choke model left as default, as shown below:
The source fluid temperature will be set to 80 degF and the maximum gaslift injection rate is 2.5
MMscf/day. This information can be defined fixed rate source Input | Fixed Rate screen – as
shown below.
With the GAP model setup, the network should be similar to the screenshot shown below.
Once the data above has been entered, select Next, ensure the separator pressure is 500 psig
and click Next again.
The solver settings of the transient simulation can be changed to help with convergence. Select
Settings and in the new window switch the base configuration to 'Transient - Used for transient
calculations' and click Apply. Click OK to close the window.
Once the calculation has concluded, select Main to return to the main interface, where we are in
a position to save and then analyse the results.
In the resultant interface, select ‘Add’ to save a copy of the transient run with the run description
“Initial”. This will allow for these results to be recalled at any time and compared to alternative
scenarios.
Multiple nodes can be viewed at the same time by going to Transient | Plot Nodes Simulation
Results… - as shown below.
In the next window, select WH, RISER BASE and RISER TOP and plot the liquid rate.
At time zero, it can be seen that the liquid rate of all the nodes is the same value. This is due to
the steady-state initialisation behaviour of the system. The steady-state initialisation means that
any mass or momentum accumulation behaviour is not captured yet. From this starting point, it
can be seen that the system begins to oscillate in liquid rate for around 30-40 minutes before the
system has found its natural unsteady behaviour.
Transient behaviour in the system is when the rate in does not equal the rate out at a node. In this
scenario, it can be seen that the rate at the RISER BASE does not does equal the rate at the
RISER TOP – this suggests an accumulation effect in occurring in the riser and the source of the
severe slugging behaviour.
3.20.7 Detailed Transient Results View
Further detailed analysis can be performed on the riser by right-clicking the pipe and selecting
‘Show Transient Results…’
The detailed transient simulation results window is similar to the flow assurance results window.
From here, the user can look at detailed results inside the pipe equipment during the transient
simulation i.e. pressure, temperature, velocities etc.
If desired, slug catcher analysis can be performed on the transient simulation results. Right-click
on row two of the results grid and select ‘Slug Catcher Calculator’.
The slug catcher window will import the transient flow characteristic flow volume analysis. Slug
catcher dimensions can be specified to identify if liquid carry over or vapour carry under may
occur.
This holdup variable gives an indication of the quantity of liquid and gas produced at the surface.
It can be seen that once the system as found its natural unsteady-state, liquid production occurs
in around 12-15 minute periods.
In order for the holdup variable to increase at surface, more liquid must be produced through
time in the riser. Change the holdup variable plot type to variable vs. depth and go to 55 minutes
in the transient simulation.
Analysing the holdup profile in the riser over a 12-15minute period from 55 minutes, the following
behaviour can be observed:
The 2D plots below can be created by activating the ‘Plot Multiple’ option and stepping through
the timesteps between 55 to 70 minutes – as shown below.
Diagram 2D Plot
Gas Vent
During the period of slug growth and liquid production, it can be seen that liquid slowly
accumulates and builds up the holdup in the riser.
During fast liquid production, it can be seen that the holdup at the bottom of the riser drops due
to accumulated gas pushing its way up the riser from the upstream FLOWLINE.
During gas vent, the gas pushes its way up the riser and slips past the liquid which effectively
reduces the holdup profile back to its original state.
In addition to reviewing the holdup profile in the riser, the behaviour in the well can also be
inferred from the reported flow regime.
Enter the source summary screen and set the source element to be masked.
In the schedule input screen, switch to the transient simulation schedule and set the source to
become unmasked at 60 minutes.
Run the transient simulation again and save a copy of the transient simulation results by going to
Transient | Save Simulation Results As…
In the new window, select ‘Add’ to save a copy of the transient run with the run description
“GasLift”.
Gaslift injection started at 60 minutes into the transient simulation. At this point in time, we can
see that the magnitude of the surge is reduced with continuous oscillating liquid production.
Again the detailed transient results can be reviewed to study the holdup profile behaviour with
time and slug catcher analysis to study the surge volume through time.
3.20.10 Mitigate Severe Slugging - Riser Choke
In the next analysis, the engineers will investigate if the system can be stabilised by choking back
production. This approach will increase the pressure in the system which reduces the liberation
of gas in the system and increases the holdup profile in the riser.
To begin, enter the gaslift source element summary screen and disable the equipment.
Enter the RISER CHOKE input schedule screen and setup a transient schedule to linearly
change the surface choke diameter from 4” to 1”.
Run the transient simulation again and save a copy of the transient simulation results by going to
Transient | Save Simulation Results As…
In the new window, select ‘Add’ to save a copy of the transient run with the run description
“Choke”.
Multiple nodes can be viewed at the same time by going to Transient | Plot Nodes Simulation
Results…
In the next window, select RB Base and RISER TOP and plot the liquid rate.
After the start of the surface choke change at 60 minutes, it can be seen that it takes around 60
minutes for the system to stabilise. At this point, the riser is operating at steady-state given that
the inlet rate (at riser base) is equal to the outlet rate (at riser top).
Looking at the detailed transient results, we can see a stable steady-state holdup profile in the
well. The only source of slugging in the riser is now due to hydrodynamic slugs near the top of the
riser due to the liberation of gas.
Although this approach is able to provide to stabilise the system, the engineers have had to
sacrifice production. It current transient model could be taken further to investigate if a
combination of choke and gaslift could be used to stabilise the system and also optimise the
production rate.
This concludes Example 15 and the file can now be saved by going to File | Save As.
After completion of Tutorial 15, the user should be able to perform the following analysis in GAP:
Setup a basic GAP Transient model of a well using a transient pipeline element;
Set up a global temperature gradient;
Run a GAP Transient simulation;
Analyse GAP Transient results
3.21.1 Objectives
Introduce GAP Transient riser and well studies;
Model a well starting up from static conditions;
Investigate different start up strategies;
During this investigation, the team have three main engineering objectives:
Learning Topics
The objectives of this example are to learn how to:
Please note that the GAP Transient simulation calculations will require a separate GAP
Transient license. All other learning topics can be achieved with standalone GAP license.
Executive Summary
The steps followed will be:
1. Create a GAP network to represent the well, subsea flowlines and riser
i. Draw the GAP network elements
ii. Define the pipeline data
2. Calculate the expected steady state production
3. Initialise the model from static conditions
4. Perform the transient simulation
5. Analyse GAP Transient results
The initial files for this example and the final model can be found in the GAP
archive file format in the following directory.
~\samples\GAP\Example 16 – GAP Transient: Start Up From Static
The samples files folder can also be accessed from the windows start menu,
as shown below. This file contains worked examples for all the IPM tools.
True Surrounding
Vertical Temperature
Depth (ft.) (oF)
0 60
800 33
9000 210
The well IPR data will be generated from the PROSPER file StartUpFromStatic.Out and the well
VLP data will be manually imported from the TPD file StartUpFromStatic.tpd
Environment Data
Calculate Heat Transfer Coefficient Unchecked
Overall Heat Transfer Coefficient 8 BTU/h/ft2/F
Oil Heat Capacity 0.53 BTU/lb/F
Gas Heat Capacity 0.51 BTU/lb/F
Pipe Description
Transient Pipe Step Length 100 ft.
Specify Step Length by Segment Unchecked
Flow Type Tubing Flow
Correlation Hydro-2P
Gravity Coefficient 1
Friction Coefficient 1
Rate Multiplier 1
Maximum Step Length 10000 ft.
Transient Result Data Sampling None
Environment Data
Calculate Heat Transfer Coefficient Unchecked
Overall Heat Transfer Coefficient 8 BTU/h/ft2/F
Oil Heat Capacity 0.53 BTU/lb/F
Gas Heat Capacity 0.51 BTU/lb/F
Water Heat Capacity 1 BTU/lb/F
Pipe Description
Transient Pipe Step Length 100 ft.
Specify Step Length by Segment Unchecked
Flow Type Tubing Flow
Correlation Hydro-2P
Gravity Coefficient 1
Friction Coefficient 1
Rate Multiplier 1
Maximum Step Length 10000 ft.
Transient Result Data Sampling None
Riser Data
Environment Data
Calculate Heat Transfer Coefficient Unchecked
Overall Heat Transfer Coefficient 8 BTU/h/ft2/F
Oil Heat Capacity 0.53 BTU/lb/F
Gas Heat Capacity 0.51 BTU/lb/F
Water Heat Capacity 1 BTU/lb/F
Pipe Description
Transient Pipe Step Length 100 ft.
Specify Step Length by Segment Unchecked
Flow Type Tubing Flow
Correlation Hydro-2P
Gravity Coefficient 1
Friction Coefficient 1
Rate Multiplier 1
Maximum Step Length 10000 ft.
Transient Result Data Sampling None
The following sketch will be used as a reference of the final GAP model setup:
The IPR data can be imported by going to Generate | Generate Well IPRs with PROSPER…
and then select to generate for All wells.
In the IPR generation window, select ‘Generate’ to transfer the well IPR data from PROSPER to
the well model in GAP.
The well VLP data has already been pre-generated and exported in as a *.TPD file. This can be
manually imported to the well model by going to the well Input | VLP tab and selecting the
‘Import’ button. Browse for the GAP Transient Well1.tpd file in the initial files folder.
Please note, the VLPs will only be used for the steady state calculations.
Riser
Return to the main GAP canvas and use the cursor to inspect the results. The steady state liquid
rate at the separator is around 13870 stb/day.
Transient IPR to capture the initial transience of the inflow until pseudo-steady state is
achieved
Initialisation of the static conditions
Start Up Schedule
Navigate to the IPR section and manually enter the Inflow Performance data as shown below.
Please note, the input data is based on the reservoir properties specified for the Darcy IPR
model in the underlying PROSPER model.
To confirm the steady state and transient IPRs are consistent at pseudo steady state, re-
calculate the network performance for the case where the current time is 10/01/2020 (i.e.
sufficient time to pseudo steady state has passed).
Use the cursor to analyse the results. The liquid production at the separator can be seen to be
13930 stb/day, which is in close agreement with the 13870stb/day found previously when using
the steady state IPR.
The above being said, it is worthwhile noting that this represents the network performance at the
point in time where pseudo steady state has been achieved, and there is now confidence that at
pseudo steady state, the transient and steady state PI entry IPR provide consistent results.
For the study to be performed, as the time scales are much shorter (only 1 hour compared to 10
days), pseudo-steady state within the reservoir will not yet have been established, meaning the
apparent deliverability and in turn the steady state rate at the end of the transient simulation (i.e.
after 1 hour of production) will be higher much higher than the production once pseudo-steady
state has been achieved after 10 days.
The steady state performance of the network after one hour, can be calculated as follows:
From the image below, the production rate after 1 hour is expected to be around 17500 stb/day.
This then automatically interrogates the underlying PROSPER file, importing the downhole
equipment description, local geothermal gradient etc.
For the pipeline this is done via the Summary screen or by right clicking on the pipeline. Please
note, this will need to be repeated for each pipeline.
With the above in mind, the next step is to determine the liquid level that balances the static
reservoir pressure and the measured shut-in pressure at surface. As an initial assumption, the
riser and subsea pipelines are assumed to be filled with gas only.
Set the Initialisation Method to "Static" from the drop down menu.
Set the Calculated Boundary to "Upstream" as the downstream pressure is known
Enter the downstream pressure of 2000psig
Select the fluids upstream and downstream of the liquid level - both "Gas01"
Enter a liquid level, as both fluids are the same, this input is arbitrary, e.g. 700ft
Press Calculate to determine the upstream pressure. This can then be used as the
Downstream Pressure for the next element upstream
Set the Initialisation Method to "Static" from the drop down menu.
Set the Calculated Boundary to "Upstream" as the downstream pressure is known
Enter the downstream pressure of 2070psig (as calculated above). Please note, the value has
been "rounded" on purpose to ensure there is a small dP between the pipelines to provide a
better starting point for the direction of flow.
Select the fluids upstream and downstream of the liquid level - both "Gas01"
Enter a liquid level, as both fluids are the same, this input is arbitrary, e.g. 700ft
Press Calculate to determine the upstream pressure
Set the Initialisation Method to "Static" from the drop down menu.
Set the Calculated Boundary to "Upstream" as the downstream pressure is known
Enter the downstream pressure of 2053psig (as calculated above)
Select the fluids upstream and downstream of the liquid level - both "Gas01"
Enter a liquid level, as both fluids are the same, this input is arbitrary, e.g. 600ft
Press Calculate to determine the upstream pressure
Set the Initialisation Method to "Static" from the drop down menu.
Set the Calculated Boundary to "Upstream" as the downstream pressure is known
Enter the downstream pressure of 2053psig (as calculated above)
Set the Upstream Fluid as "Water01" and the Downstream Fluid to "Gas01"
Whilst the liquid level within the wellbore is unknown, both the Downstream and Upstream
pressure (i.e. the Reservoir Pressure) are now known, meaning the liquid level can be
determined through an iterative procedure of changing the liquid level to balance the two
pressures.
As an initial guess say the liquid level is 2500ft TVD and then press Calculate to calculate the
expected upstream pressure
From the image above, it can be seen that the calculated Upstream pressure (at the bottom of
the well) is only 5000psig, which is significantly lower than the known reservoir pressure of
5200psig. In this respect, the liquid level now needs to be adjusted to obtain an Upstream
Pressure that is close to the known reservoir pressure.
With the above in place, the system is now configured to perform a transient simulation of the
well start up.
Once the data above has been entered, select Next, ensure the separator pressure is 500 psig
and click Next again.
Once the calculation has concluded, select Main to return to the main interface, where we are in
a position to save and then analyse the results.
In the resultant interface, select ‘Add’ to save a copy of the transient run with the run description
“Initial”. This will allow for these results to be recalled at any time and compared to alternative
scenarios.
At early times, a large gas surge is observed (black line), which can be attributed to the
depressurisation of the compressed gas within the pipelines from originally around 2000psig.
Eventually, as the well unloads, a water surge is experienced (red line), corresponding to the
original column of water within the wellbore. As the water is being lifted from the wellbore, oil
begins to be produced corresponding to the reservoir fluids (green line). Note, the liquid rate at
steady state, is consistent with the previously calculated steady state production rate of 17500
stb/day.
Further analysis can be performed by clicking on the Riser pipeline and selecting "Show
Transient Results", followed by the "Initial" results that were saved earlier and then pressing
Continue.
This dialog allows various variables to be plotted along the wellbore through time (i.e. either MD
or time slices or 3D plot). Another useful feature here is the slug-calculator that can be used to
assess whether the production separator can cope with the liquid surges that are being
produced.
Access the Slug Catcher Calculator and enter the separator geometry (Diameter = 65in and L/D
Ratio = 2), then press Calculate.
From the calculation results it can be seen that at the time when the initial water surge reaches
the separator (peak rate of around 30000stb/day), there is potential for liquid carry over in to the
gas line.
Rather than directly exposing the pressurised pipelines to the significantly low separator
pressure of 500psig, in reality a valve/choke would be slowly opened, gradually reducing the
back-pressure on the system. With this in mind, the next step is to investigate different strategies
"opening" the surface valve/choke.
Return to the main screen, navigate to the Sep elements Input | Schedule section and ensure
the View/Edit Transient Simulation Schedule option is enabled.
In the case above, the separator pressure will be gradually reduced from an original value of
1950psig to the final value of 500psig over the course of 20min. Please note, in this case, the
separator pressure is assumed to represent the pressure at the choke inlet.
With the above in place, the simulation can be re-run, saving the results upon completion as
"15min", via Transient | Save Simulation Results As...
Viewing the separator simulation results, the rate profiles from the different scenarios can be
compared.
From the plots above it can be seen that gradually reducing the back pressure on the system
allows the initial gas surge to be significantly reduced, however, although the liquid surge has
been delayed there is no significant change in magnitude.
The delay in the liquid surge can be attributed to the slower depressurisation of the riser and
subsea pipelines, resulting in the well beginning to flow at a later point in time as the BHP
reduces more slowly.
With the above in mind, whilst the initial strategy appears to have been a partial success, the
liquid surge has only been delayed but not prevented. As the next step, different profiles for
reducing the back pressure can be explored. For example, the Separator pressure could initially
be reduced from 1950psig to 1000psig over the first 15min, then the Back Pressure is held
constant at 1000psig for a further 10min, before reducing the back pressure to 500psig over the
next 15min.
To implement this, return to the main screen, navigate to the Sep elements Input | Schedule
section and adjust the Transient Schedule as shown below.
With the above in place, the simulation can be re-run, saving the results upon completion as
"40min", via Transient | Save Simulation Results As...
Viewing the separator simulation results, the rate profiles from the different scenarios can be
compared.
From the plots above it can be seen that by reducing the back pressure even more gradually, the
initial gas surge has been further reduced and throughout the simulation (apart from between
900 to 1700s) the gas rate is stable at or near the steady state production rate. Regarding the
liquid surge, rather than just delaying this until a later time like the previous schedule, the
magnitude of the surge has significantly been reduced and now fluctuations of about 4000stb/
day are observed before the rate stabilises at the steady state rate of around 17500stb/day.
When recalculating the Slug Catcher Calculator, it can be seen that this time there is no risk of
liquid carry over in the separator.
This concludes Example 16 and the file can now be saved by going to File | Save As.
After completion of Example 16, the user should be able to perform the following analysis in
GAP:
Setup a basic GAP Transient model of a well and surface pipelines using a transient pipeline
element;
Set up a global temperature gradient;
Initialise a model from static conditions
Run a GAP Transient simulation;
Analyse GAP Transient results
Develop a strategy for starting up wells from static conditions using the scheduling functionality