Вы находитесь на странице: 1из 1022

Petroleum Experts

User Manual

IPM
GAP
Version 9
August 2012

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
Full field surface network design
Field Optimisation studies with mixed systems (ESP, GL, Naturally Flowing)
Multi-phase Looped Network Optimisation
Advises wellhead chokes settings to meet reservoir management targets and
maximumise recovery.
Gas Lift Optimisation
Models full field injection system performance (i.e. water, gas steam)
Compressor and Pump system modelling
Production forecasting
Programmable elements
Rigorous Compositional modeling from the Reservoir to the Process side
Fast and robust Optimisation algorithm using Sequential Quadratic
Programming SQP
Easy to use graphical interface for drawing system network
GAP is unique in being able to model, optimise and run predictions of
the entire production system, with MBAL and PROSPER
A variety of Naturally flowing and artificially lifted wells can all be included in the same
production system model
GAP optimisation technique is much more robust than iterative
methods and is simpler to use.

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.
Petroleum Experts Ltd. All rights reserved.
IPM Suite, GAP, PROSPER, MBAL, PVTP, REVEAL, RESOLVE, IFM and OpenServer are trademarks of
Petroleum Experts Ltd.
Microsoft (Windows), Windows (2000) and Windows (XP) are registered trademarks of the Microsoft
Corporation
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:
Petroleum Experts Limited
Petex House
10 Logie Mill
Edinburgh, Scotland
EH7 4HG
Tel : (44 131) 474 7030
Fax : (44 131) 474 7031
email: edinburgh@petex.com
Internet: www.petex.com
1990-2012 Petroleum Experts Limited

G AP

Table of Contents
0

Chapter 1

Technical Overview

1 Summary
...................................................................................................................................
of Capabilities
4
2 Field Optimisation
................................................................................................................................... 8
3 Field Planning
................................................................................................................................... 9
4 Fluid modelling
...................................................................................................................................
(PVT)
10
Introduction to
..........................................................................................................................................................
Lum ping/Delum ping
11

5 Reservoir
...................................................................................................................................
Modelling
14
6 Flow assurance
...................................................................................................................................
and advanced thermal modelling options
15
7 Artificial
...................................................................................................................................
Lift
16
8 Complex
...................................................................................................................................
Well Geometry
17
9 Automation
................................................................................................................................... 18
10 The Core
...................................................................................................................................
GAP Technique
19
About the Netw
..........................................................................................................................................................
ork Solver
19
About the Optim
..........................................................................................................................................................
iser
20
Considerations
..........................................................................................................................................................
on Optim isation
21

11 Examples
...................................................................................................................................
Index
30
12 What's...................................................................................................................................
New
31

Chapter 2

User Guide

45

1 What is
...................................................................................................................................
in this guide?
45
2 Introduction
................................................................................................................................... 46
How to Use This
..........................................................................................................................................................
Guide
48
GAP Glossary..........................................................................................................................................................
of Term s
49

3 Getting
...................................................................................................................................
Started with GAP
51
The GAP User..........................................................................................................................................................
Interface
51
Opening a .........................................................................................................................................................
File
53
Saving a File
......................................................................................................................................................... 53
The System
.........................................................................................................................................................
Window
55
The Toolbar
......................................................................................................................................................... 57
The Navigator
.........................................................................................................................................................
Window
60
Draw ing the
.........................................................................................................................................................
System
62
The Preferences
.........................................................................................................................................................
Dialog
65
Defining User
.........................................................................................................................................................
Correlations
67
Edit Ini File ......................................................................................................................................................... 67
Defining the
.........................................................................................................................................................
Working Directory
68
Printing from
.........................................................................................................................................................
GAP
70
Exiting GAP
......................................................................................................................................................... 71
Project Archiving
.......................................................................................................................................................... 72
Archive Creation
......................................................................................................................................................... 72
Archive Extraction
......................................................................................................................................................... 75
The Options Menu
.......................................................................................................................................................... 78

Contents

II

Method ......................................................................................................................................................... 78
Edit Injection
.........................................................................................................................................................
Fluids
85
Edit Tax Regimes
......................................................................................................................................................... 87
Edit Emulsion
.........................................................................................................................................................
Models
88
Edit Default.........................................................................................................................................................
Settings
91
Edit System
.........................................................................................................................................................
Summary
94
View System
.........................................................................................................................................................
Statistics
95
Disable Options
......................................................................................................................................................... 96
The View Menu
.......................................................................................................................................................... 97
Draw Options
......................................................................................................................................................... 98
Highlight Options
......................................................................................................................................................... 98
Highlight TVD Differences
......................................................................................................................................... 98
Highlight Solver .........................................................................................................................................
Pressure/Mass Imbalances
102
Highlight Violated
.........................................................................................................................................
and Limiting Constraints
103
Window Aspect
.........................................................................................................................................................
and Draw ing Options
104
Select Info Displayed
......................................................................................................................................... 104
Select Default Icon
.........................................................................................................................................
Label Position
105
Colours
......................................................................................................................................... 105
Icon Sizes
......................................................................................................................................... 107
Fonts
......................................................................................................................................... 107
Grid
......................................................................................................................................... 107
Netw ork Draw
.........................................................................................................................................................
ing Position
109
Normalize Equipment
.........................................................................................................................................
Icons Position and Snap to Grid
109
The Edit Menu
.......................................................................................................................................................... 110
Undo Options
......................................................................................................................................................... 110
Select Options
......................................................................................................................................................... 112
Selected Equipment
.........................................................................................................................................................
Options
115
Selected Items ......................................................................................................................................... 115
Selected Wells and
.........................................................................................................................................
Inflow s
118
Selected Pipes ......................................................................................................................................... 120
Selected Tanks ......................................................................................................................................... 121
Selected Groups......................................................................................................................................... 122
Find Equipment
.........................................................................................................................................................
on System Window
123
Edit Options
......................................................................................................................................................... 125
Edit Equipment Controls
......................................................................................................................................... 125
Edit Project Paths
......................................................................................................................................... 127
Transfer and
.........................................................................................................................................................
Import Options
129
Transfer Well Data
.........................................................................................................................................
from MBAL Models
129
Initialise IPRs from
.........................................................................................................................................
Tank Simulations
131
Import Compositions
......................................................................................................................................... 133
Lump/Delump Compositions
......................................................................................................................................... 135
Transfer Options.........................................................................................................................................
for Gas Lift Injection
135
Execute OpenServer
.........................................................................................................................................................
Statement
136
Importing .........................................................................................................................................................
GAP models in an existing project
138
The Constraints
..........................................................................................................................................................
Menu
143
System Constraints
......................................................................................................................................................... 143
Binding (Yes/No)
......................................................................................................................................................... 146
Edit Constraints
.........................................................................................................................................................
Table
147
Edit Abandonment
.........................................................................................................................................................
Constraints Table
149

4 Describing
...................................................................................................................................
the PVT
150
Black Oil
.......................................................................................................................................................... 151
Com positional
..........................................................................................................................................................
Options
154
EoS Model.........................................................................................................................................................
Setup
154
More Lumping ......................................................................................................................................... 163

August, 2012

GAP User Guide

II

III

G AP

Water Composition
......................................................................................................................................... 166
Setting up.........................................................................................................................................................
a Compositional model
168
Tracking ......................................................................................................................................................... 172
Fully Compositional
......................................................................................................................................................... 173
Black Oil Compositional
.........................................................................................................................................................
Lumping/Delumping
174
View ing Compositional
.........................................................................................................................................................
Results
175

5 Equipment
...................................................................................................................................
Data
180
Introduction .......................................................................................................................................................... 180
Equipm ent Data
..........................................................................................................................................................
Entry Screen Form at
180
The Navigator
.........................................................................................................................................................
- Equipment list
181
Section Buttons
......................................................................................................................................................... 183
Summary
......................................................................................................................................... 183
Input Button
......................................................................................................................................... 184
Results Button ......................................................................................................................................... 184
Action Buttons
......................................................................................................................................................... 185
Wells
.......................................................................................................................................................... 187
Well Summary
.........................................................................................................................................................
Screen
188
Calculate ......................................................................................................................................................... 192
Well Input.........................................................................................................................................................
Screens
195
Tank Connections
......................................................................................................................................... 196
Multi-Layer Case
................................................................................................................................... 197
IPR Input
......................................................................................................................................... 197
Ipr Layer input data
................................................................................................................................... 199
Composition ................................................................................................................................... 203
Action Buttons ...................................................................................................................................
in IPR Input Screens.
204
More Layer Data
................................................................................................................................... 207
Production Data................................................................................................................................... 210
Tight Gas IPR ................................................................................................................................... 212
Grid View
................................................................................................................................... 215
Abandonment Section
................................................................................................................................... 216
Note on w ater injector's
...................................................................................................................................
IPR
217
VLP Input
......................................................................................................................................... 219
Inspection of VLP
...................................................................................................................................
Data
223
Well Constraints......................................................................................................................................... 225
General Constraints
................................................................................................................................... 225
Gas Lifted Wells
...................................................................................................................................
Constraints
227
Diluent Injection...................................................................................................................................
Wells Constraints
227
ESP, HSP, PCP ...................................................................................................................................
and Jet Pump Wells Constraints
227
Abandonment Constraints
................................................................................................................................... 229
Symbols
................................................................................................................................... 230
Notes on Constraints
................................................................................................................................... 230
Controls
......................................................................................................................................... 230
Symbols
................................................................................................................................... 231
dP Control
................................................................................................................................... 231
Gas Lift Control................................................................................................................................... 233
ESP Control ................................................................................................................................... 234
Diluent Control ................................................................................................................................... 235
Diluent Control w
...................................................................................................................................
ith Gas Injection
236
SRP Control ................................................................................................................................... 237
HSP Control ................................................................................................................................... 238
Jet Pump Control
................................................................................................................................... 239
PCP Control ................................................................................................................................... 240
CBM Control ................................................................................................................................... 240
Fluids Property ...................................................................................................................................
Setup
241

Contents

IV

PC Data
......................................................................................................................................... 242
PC Generation ................................................................................................................................... 243
Dow ntime
......................................................................................................................................... 244
Coning (For Oil Producers
.........................................................................................................................................
Only)
244
Schedule (ONLY.........................................................................................................................................
for Prediction)
246
Outflow Only
.........................................................................................................................................................
Well
248
Outflow Only - VLP
......................................................................................................................................... 249
Outflow Only - PROSPER
......................................................................................................................................... 250
Importing the equipment
...................................................................................................................................
data from PROSPER
251
Entering The Equipment
...................................................................................................................................
in GAP Directly
257
Completing the ...................................................................................................................................
Outflow Only Well - Inflow Performance Setup
257
Well Results
.........................................................................................................................................................
Screen
258
Gradient Results......................................................................................................................................... 260
Well Layer Results
......................................................................................................................................... 261
Reporting Results
......................................................................................................................................... 263
Separators (Production
..........................................................................................................................................................
/ Injection)
265
Separator.........................................................................................................................................................
Summary Screen
266
Separator.........................................................................................................................................................
Input Screens
268
Constraints
......................................................................................................................................... 268
Separation (PRODUCTION
.........................................................................................................................................
Separators ONLY)
271
Plant Process (ONLY
.........................................................................................................................................
for LNG Process Plant)
271
Schedule (ONLY.........................................................................................................................................
for prediction)
272
Injection Fluid
.........................................................................................................................................................
Details (INJECTION Man.Only)
272
Steam Injection Source
......................................................................................................................................... 274
Joints
.......................................................................................................................................................... 279
Joint Summary
.........................................................................................................................................................
Screen
279
Joint Input.........................................................................................................................................................
Screen
280
Joint Constraints
......................................................................................................................................................... 281
Schedule......................................................................................................................................................... 282
Pipelines
.......................................................................................................................................................... 283
Pipeline Summary
.........................................................................................................................................................
Screen
284
GAP Internal
.........................................................................................................................................................
Correlations
285
Pipe Input Data ......................................................................................................................................... 287
Pipe Environment
................................................................................................................................... 287
Pipe Description................................................................................................................................... 288
Pipe Entry Example
................................................................................................................................... 294
Pipeline Pressure
...................................................................................................................................
Matching
297
Entering Pipe Match
...................................................................................................................................
Data
297
The Match Calculation
................................................................................................................................... 298
Constraints
................................................................................................................................... 301
Schedule (ONLY
...................................................................................................................................
for Prediction)
301
Pressure/Temperature
.........................................................................................................................................
gradient result
301
Using Lift.........................................................................................................................................................
Curves for the Pipeline Pressure Drops
305
External
......................................................................................................................................... 306
GAP Internal Correlations
......................................................................................................................................... 308
PROSPER on line......................................................................................................................................... 312
PROSPER file ......................................................................................................................................... 313
PROSPER.........................................................................................................................................................
On Line
314
Edit Pipe entry ......................................................................................................................................... 315
Rough Approximation
................................................................................................................................... 318
Enthalpy Balance
................................................................................................................................... 319
Improved Approximation
................................................................................................................................... 327
Gradient Calculation
......................................................................................................................................................... 328
Bottlenecks
......................................................................................................................................................... 331

August, 2012

GAP User Guide

IV

G AP

Emulsion correction
......................................................................................................................................................... 332
Wax or Hydrate
.........................................................................................................................................................
Risk
335
Tanks
.......................................................................................................................................................... 338
Tank Summary
.........................................................................................................................................................
Screen
339
Tank Input.........................................................................................................................................................
Data (Material Balance Tank)
341
Constraints
......................................................................................................................................... 342
Wells
......................................................................................................................................... 342
Injection
......................................................................................................................................... 343
Tank Schedule ......................................................................................................................................... 344
Tank Results ......................................................................................................................................... 345
Flares and Vents
.......................................................................................................................................................... 346
Summary .........................................................................................................................................................
and Input
346
Results ......................................................................................................................................................... 346
Tank Input Data
..........................................................................................................................................................
(Decline Curve Tank)
348
Tank Production
.........................................................................................................................................................
Data
349
Compressibility
......................................................................................................................................................... 351
Pum ps
.......................................................................................................................................................... 353
Pump Summary
.........................................................................................................................................................
Data
354
Performance
.........................................................................................................................................................
Curve Options
355
Pump Control ......................................................................................................................................... 358
Jet Pump .........................................................................................................................................................
Options
360
Jet Pump Control......................................................................................................................................... 362
Framo Pump
.........................................................................................................................................................
Options
364
Framo Pump Control
......................................................................................................................................... 366
Constraints
......................................................................................................................................................... 367
Pump Calculate
.........................................................................................................................................................
Button
368
Pump Schedule
.........................................................................................................................................................
(ONLY for prediction)
370
Com pressors
.......................................................................................................................................................... 371
Compressor
.........................................................................................................................................................
Summary Data
371
Input Data.........................................................................................................................................................
for Compressor (Full Model)
373
Input Data.........................................................................................................................................................
for Fixed dP Compressor
381
Input Data.........................................................................................................................................................
for Fixed Pow er Compressor
382
Input Data.........................................................................................................................................................
for Reciprocating Compressor
384
Input Data.........................................................................................................................................................
for MultiPhase Compressor/Pump
385
Compressor
.........................................................................................................................................................
Control (Full Model Only)
387
Compressor
.........................................................................................................................................................
Schedule (ONLY for Prediction)
388
Compressor
.........................................................................................................................................................
Calculate Button
389
Operating.........................................................................................................................................................
point in Plot
389
Surge and.........................................................................................................................................................
Choke
391
Sources / Sink
.......................................................................................................................................................... 392
Source ......................................................................................................................................................... 392
Source Data Entry
......................................................................................................................................... 394
Source Summary
...................................................................................................................................
Data
394
Source Data Input
................................................................................................................................... 396
Source Schedule
...................................................................................................................................
(ONLY for Prediction)
397
Sink
......................................................................................................................................................... 397
Sink Data Entry ......................................................................................................................................... 397
Sink Summary Data
......................................................................................................................................... 398
Sink Input Data ......................................................................................................................................... 398
Sink Schedule (ONLY
...................................................................................................................................
for Prediction)
399
Inline Elem ents
.......................................................................................................................................................... 400
Inline Gate.........................................................................................................................................................
Valve
401
Inline gate Valve.........................................................................................................................................
Data Summary Screen
402
Input Data / Schedule
.........................................................................................................................................
( ONLY for prediction)
402

Contents

VI

Inline Check
.........................................................................................................................................................
Valve
403
Inline Check Valve
.........................................................................................................................................
Data Summary Screen
403
Input Data / Schedule
.........................................................................................................................................
( ONLY for prediction)
404
Inline Separation
......................................................................................................................................................... 405
Inline Separation.........................................................................................................................................
Data Summary Screen
405
Inline Separation.........................................................................................................................................
Data Input Screen
407
Input Data / Schedule
.........................................................................................................................................
(ONLY for prediction)
407
Inline Choke
......................................................................................................................................................... 408
Inline Choke Data
.........................................................................................................................................
Summary Screen
408
Inline Choke dP Control
......................................................................................................................................... 410
Input Data / Schedule
.........................................................................................................................................
(ONLY for prediction)
413
Inline Injection
......................................................................................................................................................... 413
Inline Injection Data
.........................................................................................................................................
Summary Screen
413
Inline Injection Data
.........................................................................................................................................
Input Screen
414
Defining the Injection
...................................................................................................................................
Fluid PVT
415
Defining the Injection
...................................................................................................................................
Rate
415
Schedule (ONLY.........................................................................................................................................
for prediction)
416
Inline General
......................................................................................................................................................... 417
Notes on Inline General
.........................................................................................................................................
Elements
417
Inline General Input
.........................................................................................................................................
Data (Script) Screen
418
Inline General Script
.........................................................................................................................................
Variables
418
Schedule (ONLY.........................................................................................................................................
for prediction)
420
Inline Element Variables
......................................................................................................................................... 420
Control Variables
......................................................................................................................................... 422
Temporary Variables
......................................................................................................................................... 423
Results Variables
......................................................................................................................................... 423
Tax Regime Variables
......................................................................................................................................... 423
FLOW and COMP
.........................................................................................................................................
Structure Variables
424
PVT Calculator .........................................................................................................................................
- Black Oil
427
PVT Calculator .........................................................................................................................................
- Compositional
429
Logging Messages
......................................................................................................................................... 431
Mathematical Functions
......................................................................................................................................... 431
Control Structures
......................................................................................................................................... 432
Example Script ......................................................................................................................................... 434
Inflow Icon .......................................................................................................................................................... 436
Inflow Summary
.........................................................................................................................................................
Screen
436
Input
......................................................................................................................................................... 437
Grouping
.......................................................................................................................................................... 438
Grouping .........................................................................................................................................................
Data Entry
439
Constraints
......................................................................................................................................... 439
Schedule
......................................................................................................................................... 440
Grouping
......................................................................................................................................... 440
Flow sheets .......................................................................................................................................................... 442
Notes on Constraints
.......................................................................................................................................................... 447

6 VLP/IPR
...................................................................................................................................
Generation
447
A w ell m odel..........................................................................................................................................................
in GAP
447
IPR
......................................................................................................................................................... 448
VLP
......................................................................................................................................................... 450
Importance
.........................................................................................................................................................
of VLP Data Ranges
450
Batch Generation
..........................................................................................................................................................
of IPRs
452
Single layer
.........................................................................................................................................................
w ells
452
Multilayer .........................................................................................................................................................
w ells
457
Batch Generation
..........................................................................................................................................................
of Well and Pipe VLPs
466
Batch Generation
.........................................................................................................................................................
of VLPs
466

August, 2012

GAP User Guide

VI

VII

G AP

Values to.........................................................................................................................................................
use for VLP Generation
470
Generating
.........................................................................................................................................................
Well VLP on a w ell-by-w ell basis
475
Batch Generation
.........................................................................................................................................................
of VLPs w ith Mass flow rates
478
Batch Generation
.........................................................................................................................................................
of Pipe VLPs
480
Batch Generation
..........................................................................................................................................................
of Well Perform ance Curves
484

7 Model
...................................................................................................................................
Validation
489
Well Model Validation
.......................................................................................................................................................... 489
Checking Wells
..........................................................................................................................................................
Calibration
489
Running Model
.........................................................................................................................................................
Validation / Quality Check
489
Checking .........................................................................................................................................................
the Quality of Individual Wells Graphically
494

8 Network
...................................................................................................................................
Solver and Optimiser
495
The Solver .......................................................................................................................................................... 495
The Optim iser
.......................................................................................................................................................... 495
Constraints and
..........................................................................................................................................................
Equipm ent Control Screen
495
Constraints
......................................................................................................................................................... 495
Equipment.........................................................................................................................................................
Control Screen
496
Optimisation
.........................................................................................................................................................
Objective Function
497
Solving the Netw
..........................................................................................................................................................
ork
501
Solver Modes
.......................................................................................................................................................... 503
No Optimisation
......................................................................................................................................................... 503
Optimise w
.........................................................................................................................................................
ith all constraints
504
Optimise w
.........................................................................................................................................................
ith potential constraints only
505
The Solver / Optim
..........................................................................................................................................................
iser Settings
506
Calculation Results
.......................................................................................................................................................... 513

9 Prediction
................................................................................................................................... 516
Prediction - Basics
.......................................................................................................................................................... 517
Forecast .........................................................................................................................................................
Workflow
522
Linking MBAL
.........................................................................................................................................................
files to GAP
522
Running Predictions
......................................................................................................................................................... 523
Notes on .........................................................................................................................................................
Constraints
530
Linking Production
.........................................................................................................................................................
/ Injection Forecasting
530
Prediction Options
.......................................................................................................................................................... 534
Run Prediction
......................................................................................................................................................... 534
View Prediction
.........................................................................................................................................................
Log
534
Save Prediction
.........................................................................................................................................................
Results as
535
Reload Prediction
.........................................................................................................................................................
Snapshot
538
Prediction.........................................................................................................................................................
Script Options
540
Edit System
.........................................................................................................................................................
Constraints Schedule
541
Notes on Constraints
......................................................................................................................................... 542
Edit Separator
.........................................................................................................................................................
and Joint Schedules
543
Edit Equipment
.........................................................................................................................................................
Schedule
546
Edit Tank .........................................................................................................................................................
Schedule
549
Edit Gas lift
.........................................................................................................................................................
Schedule
550
Edit Schedule
.........................................................................................................................................................
Event Groups
552
Edit DCQ Schedule
......................................................................................................................................................... 552
Apply Schedule
.........................................................................................................................................................
to
558
Purge Results
......................................................................................................................................................... 559
Plot and View
.........................................................................................................................................................
the Prediction Results
559
Plot Nodes Prediction
.........................................................................................................................................
Results
560
Plot Tanks Prediction
.........................................................................................................................................
Results
564
Plot Emissions Prediction
.........................................................................................................................................
Results
564
View DCQ Prediction
.........................................................................................................................................
Results
564

10 Results
...................................................................................................................................
and Reports
565

Contents

VIII

Results Menu
.......................................................................................................................................................... 565
Detailed Results
......................................................................................................................................................... 566
Summary .........................................................................................................................................................
Results
567
Total System
.........................................................................................................................................................
Results
568
System Emissions
......................................................................................................................................................... 569
Plot Performance
.........................................................................................................................................................
Curves...
570
Plot Options
......................................................................................................................................................... 571
Reports
.......................................................................................................................................................... 573

11 History
...................................................................................................................................
Matching an IPM Model
576
Introduction .......................................................................................................................................................... 576
Procedure for
..........................................................................................................................................................
History Matching
577
Running the
.........................................................................................................................................................
model and comparing to history
577
History matching
.........................................................................................................................................................
each element independently
578

12 Prediction
...................................................................................................................................
Script
587
Introduction .......................................................................................................................................................... 587
Functions .......................................................................................................................................................... 588
Exam ple
.......................................................................................................................................................... 590

13 Defining
...................................................................................................................................
System Units
592
Setting the Input
..........................................................................................................................................................
/ Output Unit System
592
The Control Database
.......................................................................................................................................................... 593
Defining Units
..........................................................................................................................................................
at a Variable Level (Dynam ic Unit Conversions)
595

Chapter 3

Examples Guide

598

1 Examples
...................................................................................................................................
Index
598
Extracting a GAP
..........................................................................................................................................................
Archive file (.GAR)
600

2 Example
...................................................................................................................................
1a - Gas Field Network modelling with GAP
603
Objectives .......................................................................................................................................................... 603
Data available.......................................................................................................................................................... 604
Build the GAP
..........................................................................................................................................................
m odel
605
Draw the.........................................................................................................................................................
GAP Netw ork
605
Define the.........................................................................................................................................................
Reservoir
614
Define the.........................................................................................................................................................
Wells
615
Generate.........................................................................................................................................................
Well IPRs
617
Generate.........................................................................................................................................................
Well VLPs
620
Define the.........................................................................................................................................................
Pipelines
622
Settings the
.........................................................................................................................................................
Constraints
626
Settings the
.........................................................................................................................................................
Well Controls
626
Running the ..........................................................................................................................................................
Prediction
627
Results ......................................................................................................................................................... 629

3 Example
...................................................................................................................................
1b - Gas Field Network Modeling with GAP (Advanced)
632
Objectives .......................................................................................................................................................... 632
Data Available
.......................................................................................................................................................... 633
Defining the ..........................................................................................................................................................
Inline Program m able Elem ents
634
Understanding
.........................................................................................................................................................
the logic
635
Setting up.........................................................................................................................................................
the Inline Programmable Element
636
Methanol .........................................................................................................................................................
Injection Script for MEG_A
641
Setting up the
..........................................................................................................................................................
Scheduling
645
Using the.........................................................................................................................................................
Schedule Option
645
Using the.........................................................................................................................................................
Prediciton Script
646
Running the ..........................................................................................................................................................
Prediction
648
Prediction.........................................................................................................................................................
1 - Methanol Included in the System
649

August, 2012

GAP User Guide

VIII

IX

G AP

Prediction.........................................................................................................................................................
2 - Methanol Excluded from the System
660

4 Example
...................................................................................................................................
2 - Oil Production Network
665
Objectives .......................................................................................................................................................... 665
Data available.......................................................................................................................................................... 667
Build the GAP
..........................................................................................................................................................
m odel
668
Draw the.........................................................................................................................................................
GAP Netw ork
668
Define the.........................................................................................................................................................
Reservoirs
676
Define the.........................................................................................................................................................
Wells
677
Generate.........................................................................................................................................................
Well IPRs
679
Generate.........................................................................................................................................................
Well VLPs
681
Model Validation
.........................................................................................................................................................
to QC the w ells
685
Define the.........................................................................................................................................................
Pipelines
687
Pipeline Matching
......................................................................................................................................................... 694
Question 1 - ..........................................................................................................................................................
Solution
697
Initialise IPRs
.........................................................................................................................................................
from Tank Simulations
697
Solve netw
.........................................................................................................................................................
ork for w ells fully open
699
Question 2 - ..........................................................................................................................................................
Solution
702
Entering the
.........................................................................................................................................................
Constraint
702
Setting Well
.........................................................................................................................................................
Controls
703
Solve Netw
.........................................................................................................................................................
ork w ith Optimisation
704
Question 3 - ..........................................................................................................................................................
Solution
708
Run Prediction
.........................................................................................................................................................
w ith Optimisation
708
Saving the
.........................................................................................................................................................
Prediction results
712
Question 4 - ..........................................................................................................................................................
Solution
713
Interpreting
.........................................................................................................................................................
a GAP Model
713
Analyzing.........................................................................................................................................................
Snapshots
719
Question 5 - ..........................................................................................................................................................
Solution
724
Introducing
.........................................................................................................................................................
Pressure Support
724
Comparing
.........................................................................................................................................................
Scenarios
725
Creating an Archive
..........................................................................................................................................................
File
728

5 Example
...................................................................................................................................
3 - Pipeline detailed results
731
Objectives .......................................................................................................................................................... 731
Data available.......................................................................................................................................................... 732
Run Solve Netw
..........................................................................................................................................................
ork
732
Pipeline detailed
..........................................................................................................................................................
results
734
Convert the pipeline
..........................................................................................................................................................
to PROSPER online
738

6 Example
...................................................................................................................................
4-Associated Water Injection System
746
Objectives .......................................................................................................................................................... 746
Data Available
.......................................................................................................................................................... 747
Prediction to..........................................................................................................................................................
Determ ine Water Injection Requirem ent
747
Calculating the
..........................................................................................................................................................
Num ber of Water Injectors
751
Associate Production
..........................................................................................................................................................
to Water Injection Netw ork
757
Run Prediction
..........................................................................................................................................................
With Coupled Models
760

7 Example
...................................................................................................................................
5 - Smart Well Modelling in GAP
765
Objectives .......................................................................................................................................................... 765
Data Available
.......................................................................................................................................................... 766
Build the GAP
..........................................................................................................................................................
Netw ork
767
Draw the.........................................................................................................................................................
GAP Netw ork
769
Define the.........................................................................................................................................................
IPR Elements
775
Define the.........................................................................................................................................................
'Completion' Pipes
778
Define the.........................................................................................................................................................
Outflow
780
Write the .........................................................................................................................................................
Prediction Script
782
Run the Prediction
..........................................................................................................................................................
Without Optim isation
786

Contents

Run the Prediction


..........................................................................................................................................................
With Optim isation
787

8 Example
...................................................................................................................................
6 - Electrical Submersible Pump
793
Objectives .......................................................................................................................................................... 793
Data Available
.......................................................................................................................................................... 794
Build the GAP
..........................................................................................................................................................
Model
795
Draw the.........................................................................................................................................................
GAP netw ork
795
Define the.........................................................................................................................................................
Wells
798
Generate.........................................................................................................................................................
Well IPRs
799
Generate.........................................................................................................................................................
Well VLPs
800
Set the Scheduling
......................................................................................................................................................... 803
Fixed Operating
..........................................................................................................................................................
Frequency
804
Run Forecast
.........................................................................................................................................................
w ith Fixed Pump Frequency
805
Variable Operating
..........................................................................................................................................................
Frequency
810
Set Well Controls
......................................................................................................................................................... 810
Set System
.........................................................................................................................................................
Constraint on Maximum Pow er
813
Run Forecast
.........................................................................................................................................................
w ith Variable Operating Frequency
813

9 Example
...................................................................................................................................
7 - Gas Lift Optimisation
816
Objectives .......................................................................................................................................................... 816
Data Available
.......................................................................................................................................................... 817
Build the GAP
..........................................................................................................................................................
Model
818
Draw the.........................................................................................................................................................
GAP Netw ork
818
Define the.........................................................................................................................................................
Wells
821
Generate.........................................................................................................................................................
Well IPRs
822
Generate.........................................................................................................................................................
Well VLPs
823
Set the Scheduling
......................................................................................................................................................... 826
Fixed Gas lift..........................................................................................................................................................
Gas Injection
827
Run forecast
.........................................................................................................................................................
w ith Fixed Gas Injection
828
Variable Gas..........................................................................................................................................................
Lift Injection
833
Set w ell Controls
......................................................................................................................................................... 833
Set Maximum
.........................................................................................................................................................
Gas Lift Available
834
Run Forecast
.........................................................................................................................................................
w ith Variable Gas lift Injection
835

10 Example
...................................................................................................................................
8 - Gas Lift Injection Network
841
Objectives .......................................................................................................................................................... 841
Data Available
.......................................................................................................................................................... 843
Modify the Production
..........................................................................................................................................................
Netw ork
844
Generate.........................................................................................................................................................
the Well VLPs w ith Casing Pressure
845
Setting Well
.........................................................................................................................................................
Controls in GAP
849
Build the Gas..........................................................................................................................................................
Lift Injection Model
850
Draw the.........................................................................................................................................................
GAP Netw ork
851
Define the.........................................................................................................................................................
Wellheads and Delivery Station
859
Define the.........................................................................................................................................................
Pipelines and Surface Equipment
861
Define the.........................................................................................................................................................
Compressor Curves
871
Associate Production
..........................................................................................................................................................
to Gas Lift Gas Netw ork
876
Write the .........................................................................................................................................................
Prediction Script
879
Run Prediction
..........................................................................................................................................................
With Coupled Models
883
Case 1 ......................................................................................................................................................... 884
Case 2 ......................................................................................................................................................... 886
Case 3 ......................................................................................................................................................... 890

11 Example
...................................................................................................................................
9a - LNG (Fully Compositional)
893
Objectives .......................................................................................................................................................... 893
Data Available
.......................................................................................................................................................... 894
Build the GAP
..........................................................................................................................................................
m odel
895
Draw the.........................................................................................................................................................
GAP netw ork
896

August, 2012

GAP User Guide

XI

G AP

Define the.........................................................................................................................................................
Reservoir
903
Setting up.........................................................................................................................................................
MBAL as compositional
904
Entering compositional
.........................................................................................................................................
PVT Data
906
Define the.........................................................................................................................................................
Wells
913
Import EOS Composition
.........................................................................................................................................
in GAP
915
Generate Well IPRs
......................................................................................................................................... 917
Import VLPs
......................................................................................................................................... 919
Define the.........................................................................................................................................................
LNG Plant
920
Define the.........................................................................................................................................................
Pipelines
922
Setting the
.........................................................................................................................................................
Well Controls
923
Set the Scheduling
......................................................................................................................................................... 924
Solve Netw ork
.......................................................................................................................................................... 925
View ing the
.........................................................................................................................................................
Detailed Compositional Results
928
Running the ..........................................................................................................................................................
Prediction
930
View ing the
.........................................................................................................................................................
Detailed Compositional Results
934

12 Example
...................................................................................................................................
9b - LNG (Black Oil Compositional Lumping-Delumping)
948
Objectives .......................................................................................................................................................... 948
Data Available
.......................................................................................................................................................... 949
Set up GAP as
..........................................................................................................................................................
Black Oil com positional Lum ping/Delum ping
949
Running the ..........................................................................................................................................................
Prediction
952
Prediction.........................................................................................................................................................
and view ing the results
954
Black Oil - Lum
..........................................................................................................................................................
ping/Delum ping
959

13 Example
...................................................................................................................................
10 - Tight Gas
960
Objectives .......................................................................................................................................................... 960
Data Available
.......................................................................................................................................................... 961
Build the Sector
..........................................................................................................................................................
m odel
963
Draw the.........................................................................................................................................................
GAP Netw ork
963
Define the.........................................................................................................................................................
Wells
965
Generate transient
.........................................................................................................................................
IPR Data
966
Import VLPs
......................................................................................................................................... 971
Define the.........................................................................................................................................................
Pipelines
972
Solve Netw ork
..........................................................................................................................................................
(Sector Model)
973
Build the Full..........................................................................................................................................................
Model
974
Create Partial
.........................................................................................................................................................
GAP file
975
Import Partial
.........................................................................................................................................................
GAP file
975
Solve Netw ork
..........................................................................................................................................................
(Full Model)
978
Including the
.........................................................................................................................................................
Compressor
978
Bypassing
.........................................................................................................................................................
the Compressor
980

14 Example
...................................................................................................................................
11 - Coal Bed Methane
984
Objectives .......................................................................................................................................................... 984
Data Available
.......................................................................................................................................................... 985
Build the GAP
..........................................................................................................................................................
Model
986
Draw the.........................................................................................................................................................
GAP Netw ork
986
Define the.........................................................................................................................................................
Reservoir
988
Define CBM
.........................................................................................................................................................
Wells
989
Define the.........................................................................................................................................................
Routing Links
991
Define the.........................................................................................................................................................
Pipelines
995
Generate.........................................................................................................................................................
Well IPRs
995
Generate.........................................................................................................................................................
Well VLPs
997
Set the Scheduling
.........................................................................................................................................................
for the Wells
1000
Set the Well
.........................................................................................................................................................
Controls
1001
Run Prediction
......................................................................................................................................................... 1002
Interpret the Results
......................................................................................................................................... 1003

Contents

August, 2012

XII

GAP User Guide

XII

Chapter

Technical Overview

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.
GAP's powerful calculation engine is capable of optimising extremely complex networks
composed of thousands of elements (i.e. wells, pipelines, compressors, pumps, heat
exchangers etc.) connected in any possible way (i.e. complex loops) with multiple controls
throughout the system. Coupled with this flexibility, GAP has the most powerful and fastest
optimisation engine in the industry, as it is based on non-linear SQP technique 21 (Sequential
Quadratic Programming).
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

1990-2012 Petroleum Experts Limited

GAP

models, run sensitivities or implement complex workflows with the underlying network model.
MAIN APPLICATIONS
The fields of applications of GAP can be divided in the following groups:
Field Optimisation
Field Planning

Fluid Modelling (PVT)


Reservoir Modelling

10

14

Flow Assurance and Advanced Thermal Modelling Options


Artificial Lift

16

Complex Well Geometry


Automation

17

18

Examples Index

GAP User Guide

15

30

August, 2012

Technical Overview

1.1 Summary of Capabilities


#
1

Functionality
Robust Solver

Comments
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.
It is a fact that the solver in ReO needs to be tuned for every
case run and when elements are added or removed from the
network, leading to time consuming efforts in getting models to
run.

Non-Linear
The strength of the optimizer in GAP has been benchmarked
Optimization capability against various other programs by many companies in the
past (including Pemex) and has been found to be the most
accurate generic optimizer for oilfield optimization. This
strength is as a result of the fact that the optimizer in GAP is a
non-linear optimizer, which is the only way that the interactions
between the gas lift injection and the well head pressures can
be accurately considered in the network.

Ability to handle
extremely large
networks (in excess of
1500 wells)

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

GAP is being used by several companies in Canada and the


USA, where tight gas systems have more than 1500 wells in
them. These systems have extremely complex loops in them
that could not be solved by any other program that modeling
was attempted with.

1990-2012 Petroleum Experts Limited

GAP

traditional correlations being completely unreliable.


Available models include:
Proprietary Models: Petroleum Experts 4 and 5
SPT Scandpower: OLGAS 2 and 3 phase
StatoilHydro: Hydro 3 Phase
BP: GRE Modified by PE
5

Advanced thermal
calculations for pipes

Pipeline calculations can be done by either entering the U


value for heat transfer, or by choosing to perform full enthalpy
balance calculations.

Ability to handle
multilayer wells,
including mixing of
PVT

This is the only way multilayer models can be built when the
layers have different PVT. Specialized options have been put
in GAP for handling these cases in the most accurate way
possible.

Choice of PVT models Black Oil, Fully compositional, Compositional Tracking and
(Black Oil,
Black Oil lumping/delumping are available
compositional and
hybrids)

Calculations done on
volume or mass
(results would be
process independent)

This engineering option is extremely important when results


from surface network are compared to results from process
simulators under the same flowing conditions. Since reported
results at standard conditions are path (process) dependent,
mass calculations take any potential mismatches out of the
model since mass is always constant. Volumes can then be
calculated from anywhere in the system based on what the
user chooses the path to surface to be.

Gas lift optimization


including coupling to
gas lift gas injection
system

Example on modelling gas lift networks is provided in the


manual.

GAP User Guide

August, 2012

Technical Overview

10

Variety of objective
functions for
optimization

Production, Revenue, Oil Rate, Calorific Value etc

11

Coupling to water and Example on modelling water injection networks is provided in


gas injection systems the manual.
(or both) in addition to
gas lift gas networks)

12

Coupling to a variety
of simulation models

Through RESOLVE

13

Coupling to process
models

Through RESOLVE

14

Coupling to material
balance models as
well, decline curve
models, tight gas
reservoir models and
CBM models.

Examples are provided in the manual.

15

Voidage replacement These are automatically done based on user specified values
calculations

16

Ability to do restarts

17

Flowsheets for better


model visualization

18

Ability to locate pieces


of equipment easily in
the network

19

Inline elements
available

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

Can be handled in the Prediction section.

Chokes, check valves, inline gas lift gas injection, Gate valves,
inline separation etc

1990-2012 Petroleum Experts Limited

GAP

the user decides


21

Fittings available

Globe Valves
Angle Valves
Gate Valves
Foot Valves
Butterfly valves
Plug Valves
Bend
Pipe Entrance or Exit
Sudden or gradual enlargement or contraction
Mitre Bend
Ball Valve
90 degree bends

22

Ability to compare
pressure drop model
performance against
real data

This can be easily done on plots comparing data with various


pressure drop models.

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.

GAP User Guide

August, 2012

Technical Overview

1.2 Field Optimisation


GAP features the fastest and most efficient optimiser in the industry which based at its core
uses the non-linear SQP 21 technique.
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.
Some applications of the optimisation features are:
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

1990-2012 Petroleum Experts Limited

GAP

1.3 Field Planning


The unique forecasting and optimisation capabilities of GAP allows the engineer to achieve
several objectives in the scope of 'Field Planning':
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

GAP User Guide

August, 2012

Technical Overview

10

1.4 Fluid modelling (PVT)


Accurately modelling the fluid behaviour has become more and more important as the
'Integrated Production Modelling' approach has been extended to more disciplines (see below
11 ).
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.
Black Oil Compositional Lumping/Delumping
To speed-up calculations, the 'Black Oil Lumping/Delumping' method tracks the composition of
the fluids throughout the network at each iteration of the solver, but perform;s pipeline,
compressor, pump, choke, ... calculations using the 'Black Oil' PVT correlations based on the
black oil standard condition properties calculated by the equation of state. 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).
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 NEW!!!
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
NEW!!!

1990-2012 Petroleum Experts Limited

11

GAP

Multiphase flash calculation including water is now available NEW!!!


Back to Overview

1.4.1 Introduction to Lumping/Delumping


Today, the technology available (RESOLVE) allows the engineer to integrate reservoir simulation
models (for example REVEAL, Eclipse and other third party simulators) to production/injection
network models (GAP) and to process models (Hysys, Unisim).
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
GAP User Guide

August, 2012

Technical Overview

12

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.
The idea behind 'Compositional Lumping/De-lumping' is to have a methodology that is able to
pass from an extended composition (which is referred to as the de-lumped or "full" composition)
to a reduced one (called the lumped or grouped composition) and vice-versa, in a consistent
manner that preserves the quality of the fluid characterisation.
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.'
The concept of the "Lumping Rule" is illustrated below.

1990-2012 Petroleum Experts Limited

13

GAP

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.
The following example illustrates one of the possible applications:
Reservoir simulator - PVT is defined with EOS with 5 components (lumped)
Extended composition is required in the surface network model (GAP) because flow
assurance studies on the pipelines need to be carried out
Process model - full composition is required because detailed thermal properties are
required for the compressor and heat exchanger calculations
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.

GAP User Guide

August, 2012

Technical Overview

14

1.5 Reservoir Modelling


GAP can model and optimise the entire production and injection system by integrating reservoir
models, well models and the pipeline/surface gathering network.
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

1990-2012 Petroleum Experts Limited

15

GAP

1.6 Flow assurance and advanced thermal modelling


options
GAP allows the engineer to accurately model well and pipeline hydraulics and the surface
facilities (compressors, pumps, etc). The pipeline network can be characterised by very
complex topology (with hundreds or thousands of elements and pipe loops).
This allows the engineer to perform studies on:
Full field surface network design
Flow assurance: detailed pipeline studies 301 , temperature modelling, erosion onset, hydrate
formation, wax deposition, condensed water vapour etc.
Process facilities design (for example, design of slug catchers and separators)
Artificial lift optimisation and operation
Compressor and pump system design
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.
Back to Overview

GAP User Guide

August, 2012

Technical Overview

16

1.7 Artificial Lift


In GAP, modelling and artificial lift optimisation can be carried out with the following techniques:
Gas lift (Continuous)
Electrical Submersible Pump (ESP)
Hydraulic Submersible Pump (HSP)
Jet Pump
Progressive Cavity Pump (PCP)
Diluent Injection
Diluent Injection with gas injection NEW!!!
Coal Bed Methane (CBM) wells with ESP or PCP lift NEW!!!
Sucker rod pumps NEW!!!
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

1990-2012 Petroleum Experts Limited

17

GAP

1.8 Complex Well Geometry


GAP has a number of modelling facilities that are able to replicate accurately even very complex
well geometries (smart wells 765 , multilateral wells, wells with Inflow controllable devices 765 ) and
optimise them. One typical example is horizontal completions with ICVs, where one wants to
understand how to set the downhole valves in order to maximise production on one side and
prevent gas coning on the other.
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
Back to Overview

GAP User Guide

August, 2012

Technical Overview

18

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:
Model validation and update
Interfaced to data sources to run scenarios
Well routing policies
Building interfaces to the GAP model to run customised calculations (deployed directly on the
field)
Interfacing GAP to specialised tools to perform special studies (for example, corrosion
studies)
Back to Overview

1990-2012 Petroleum Experts Limited

19

GAP

1.10 The Core GAP Technique


Production and injection systems include producing/injecting elements (wells) that are
connected via common manifolds and pipelines to a fixed pressure point (or boundary
condition) called "Separator" in GAP.
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.
The nodes in the system are connections or calculation points.
The core GAP technique has 2 levels:
Level 1: Solving the network
Level 2: Optimising the network response

1.10.1 About the Network Solver


In the figure below, the fluid contribution can be from the wells or sources:

For each node, one can write:

GAP User Guide

August, 2012

Technical Overview

20

C = Constant
There are as many equations as unknowns.
This set of equations is solved numerically to provide the natural response of the network.

1.10.2 About the Optimiser


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:
Back pressure of wells by applying wellhead chokes.
Gas-lift gas allocated to individual gas lifted wells.
Frequency of operation of ESP fitted wells
Frequency of operation of pumps / compressors.
Inline choke sizes
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:
Maximum oil / gas production constraints at the system level.
Maximum oil / gas production constraints at the element level (i.e. at the wells).
Maximum pressure and velocity constraints in the pipelines.
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.
Optimisation can be based on
Gross revenue
Oil/Gas production
Gross Heating Value
Water production
1990-2012 Petroleum Experts Limited

21

GAP

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.

1.10.3 Considerations on Optimisation


There are several methods for optimisation available in the literature, some of them simple (like
Simplex (Linear Programming) and Equal Slope), others much more complex, like SQP
(Sequential Quadratic Programming). This section will provide a brief conceptual description of
these methods and explain why GAP uses SQP, which is the most difficult and sophisticated
optimisation technique to implement.
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.
Consider the following very simple function:

This has a clear maximum in the X region we are looking into, indicated by the red arrow on the
GAP User Guide

August, 2012

Technical Overview

22

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 derivatives approach works on the basis of gradients:


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.
1990-2012 Petroleum Experts Limited

23

GAP

In the context of a field, this is the case of a dry gas field with no water production in which
pressure at every point is a direct function of the flowrate.
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):

GAP User Guide

August, 2012

Technical Overview

24

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):
1990-2012 Petroleum Experts Limited

25

GAP

The iterations are then repeated in order to converge to the solution:

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.

GAP User Guide

August, 2012

Technical Overview

26

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:

This response can only be captured by the NLP method.


SQP (Sequential Quadratic Programming) techniques work by calculating the response of
every element in the system; not only on how pressures will change with altering flowrates but
also how the gas lift gas injection rate will impact on the pressures.

1990-2012 Petroleum Experts Limited

27

GAP

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.
Production Optimisation Using GAP

GAP User Guide

August, 2012

Technical Overview

28

About This Guide


The guide assumes that the user is familiar with basic Windows operations and terminology. If
the user is new to the Windows system please refer to the operating system Users Guide.
GAP, along with other Petroleum Experts software, can comfortably be used under Windows
1990-2012 Petroleum Experts Limited

29

GAP

98, Windows ME, Windows NT, Windows 2000, Vista, Windows XP and Windows 7 operating
systems.
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.

GAP User Guide

August, 2012

Technical Overview

30

1.11 Examples Index


The following table can be used as a reference for the examples included in this Guide.
Application area
Gas Field Modelling and
Optimisation
Advanced Gas field
Modelling and
Optimisation

Oil Field Modelling and


Optimisation

Detailed Results for


Pipelines
Pressure Support with
Water Injection

Smart Well Completions

Topic
Examples Guide
Setting up a network model for a gas
Example 1a 603
field,
entering
constraints
and
schedules and running predictions
Modelling hydrate injection using inline
elements in a gas field.
Setting up a network model for an oil
field, model validation to QC the well
models, using "Initialise IPRs from
Tank Simulations", setting constraints,
running "Solve Network," entering
schedules, running predictions and
troubleshooting tips.
Viewing details of the pressure drop
calculation in GAP using the PROSPER
on line feature
Setting up network model for water
injection system, linking it to the main
production model
and
running
prediction with the two coupled
models
Setting up a network model for a multilayered well completion with inflow
controllable valves, optimising both of
the layers to maximise oil production,
introducing scheduling and prediction
script.

Setting up network model with ESP


Artificial lift Optimisation - lifted wells, scheduling and running
predictions with optimisation to honour
ESP field
constraints on maximum power
available
Setting up network model with gas
Artificial lift Optimisation - lifted wells, scheduling and running
Gas Lifted field
predictions with optimisation to honour
constraints.
Setting up a gas lift injection network
and linking it to the main production
Gas Lift Injection Network model optimising the coupled models.
Running
prediction
script
and
compressor modelling.

Example 1b 632

Example 2 665

Example 3 731

Example 4 746

Example 5 765

Example 6 793

Example 7 816

Example 8 841

1990-2012 Petroleum Experts Limited

31

GAP

LNG Field (Fully


Compositional)
LNG Field (BO
Compositional Lumping/
Delumping)
Tight Gas Field
Coal Bed Methane

Setting up a fully compositional


network of a LNG field, running
predictions with advanced flow
assurance studies to predict hydrate
formation.

Example 9a 893

Running predictions for a LNG network


with advanced PVT modelling.

Example 9b 948

Setting up a tight gas field, creating/


importing partial GAP files and
compressor modelling.
Setting up a coal bed methane field,
dewatering, routing and running
predictions.

Example 10 960
Example 11 984

1.12 What's New

Version 9
GAP is now available as a 64-bit application. The main new developments implemented in GAP
version 9 are:
PVT Modelling
Improved CO2 modelling
Viscosity models in EOS can be changed
Multiphase Flash
Hydrate modelling with salts
Well Modelling
CBM well modelling
Well modelling with Sucker Rod Pumps
VLPs can be scheduled to change
Flow assurance related results in the VLPs

GAP User Guide

August, 2012

Technical Overview

32

New IPR method (per phase)


Pump/Compressor Modelling
Multiphase pump model available
Compressor results expanded
Option to model different compressor stages on the same shaft
Program Interface
New plotting display
Running script for solve network
Sinks/Sources working on mass
Inline separator having fixed pressure
LNG element available.

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
Advanced temperature modeling (Improved Approximation) available along with
the default GAP Internal Correlations pipeline modeling
Modeling of condensed water vapour in pipelines with GAP Internal Correlations
pipeline modeling

1990-2012 Petroleum Experts Limited

33

GAP

Well Modeling
Liquid injector well type to model for example polymer injection

HSP wells VLP format with sensitivity on pump speed


Well Control
T through dynamic well control choke is now accounted for
Displaying Constraints Violations
Setting option to report violated/limiting constraints when running with no
optimisation
Program Interface
Possibility to select all the elements belonging to a Group
PVT Model displayed in tanks

Version 8
The main new developments implemented in GAP version 8 are:
Fluid Modeling - Compositional an Black oil modeling
Lumping/Delumping methodology
Compositional Lumping/Delumping
Black Oil Lumping/Delumping
Speeding up of fully compositional models
Process independent VLP's and IPR's with MW and Mass
Al-Marhoun correlation for Pb, Rs & Bo

GAP User Guide

August, 2012

Technical Overview

34

Egbogah et al (heavy oil) correlation for viscosity


Import .PRP composition file for multiple wells, main PVT and Gaslift PVT
Modeling
Gas Lift Injection Network
Generation of IPRs from PROSPER for Multi-Layers wells or Inflows
Automatic setup of MultiLayer wells from a PROSPER files
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.
Performance curve points increased to 20
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
Option to switch on / switch off pressure drops in pipelines (e.g. bypass on
pipelines)
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.
Oil injection manifolds
Oil rate abandonment constraints

1990-2012 Petroleum Experts Limited

35

GAP

Option to use WGR in tight gas wells


Program Interface
Different icons for dp control and artificial lift control
Different colour coding for constraints and abandonment constraints
Schedule clock icon visible for masked items
Display GOR, WCT, CGR, WGR, dP and dT in Tooltip box
Display current operating point on compressor performance curves plot
Default Unit System can be set up in preferences

Version 7.0
The main new developments implemented in GAP version 7 are:
Modeling
Internal steam calculator
Improvements in the inflow performance models
Gravel Pack modeling
Ability to model a well with layers having different fluid types
Tight Gas Wells
Well modeling: Include WGR for gas injectors
Pipeline modeling:
Annular flow calculation
Improved Approximation temperature model for Steam
Specify Black Oil Correlation for each Pipe Element
Compressor modeling: reciprocating compressors

GAP User Guide

August, 2012

Technical Overview

36

Simultaneous Water And Gas Injection modelling


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
The GAP user interface has been updated significantly.
Edit/Undo button
Copy, Cut and Paste of selected network items
Flowsheets (sub-models)
GAP archive - option to create a new folder
Display pipeline gradient calculation's results
Permit models to be run minimized on a PC
Allow user to add comments on main GAP screen
Enable facility to plot multiple scenarios
Add plot to total field system recovery factor
More consistency between screen buttons (i.e. "main", "done"...)
OPENSERVER: wildcard option "@", i.e. Well[{@W*}]
Visualization of limiting/violated constraints
Ability to view schedules of equipment at same time
1990-2012 Petroleum Experts Limited

37

GAP

Ability to cross check well definition in PROSPER


Allow user to move element name in GAP graphical view
Ability to view Solver Log or Prediction Log directly
Ability to add elements to a Group using the "Add Link/Pipe" Option
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
GAP Fully Compositional
All PVT calculations are performed using EOS models.
In this version the fluid can be described using EOS and the calculation are based on the
individual EOS response.
Better modeling of fluid such as Retrograde Condensate and critical fluids.
Account for condensate dropping out of gas.
Three Levels of optimization to speed up the calculations.
Major improvements in speed of EOS calculations
The process is shared with MBAL and PROSPER
Now the entire field response can be modelled using EOS model in the three programs /
GAP / PROSPER /MBAL
Modeling
Diluents Injection in wells and pipelines.
HSP and Jet Pump lifted wells.
Surface Jet Pump in pipelines.
These models have the following characteristics
GAP User Guide

August, 2012

Technical Overview

38

Injected fluid is modelled through tables


Choice of fixed or optimized injection rates
Well modelled with lift curves or PROSPER online
Other General enhacements
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.
Fitting available for pipeline description
Different fitting elements such as valves, conections , elbows etc can be modelled in the
pipes as an equivalent length and be accounted for pressure drop calculations.
Increase to 100 segments for pipeline description
Under the pipe description up 100 hundres rows are now available to describe pipe
geometry. The number of fields for pipe description is not longer limited to 25.

Allow CGR and WGR input in gas fluid calculations


When a gas is defined as a new fluid under the fluid injection screen now there is the
possibility of specify the CGR and CGR .
A new overall equipment control screen
a new summary screen equipment controls had been introduced. This will allow from a
centralized screen evaluate all the equipment that have been controlled in the system
New Open server commands

Version 5.0
Program internal structure
Memory Management Enhancement
This release uses on average nine times less memory by avoiding any memory wastage.
All tables use dynamic memory allocation, creating records only if required.
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.
1990-2012 Petroleum Experts Limited

39

GAP

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.
Network TVD validation
The program highlights the joints where TVD inconsistencies occur. If necessary, this
feature can be turned off using the "View", "Highlight TVD differences" menu option.
Enhanced Open Server support
The program supports enhanced open server expressions such as GAP.MOD[{PROD}].
WELL[$].DPControl where the $ sign means ALL ( see the Open Server manual for more
details). For example, to set the dp control of all the wells to "Calculated" the following
open server statement can be used : GAP.MOD[{PROD}].WELL[$].DPControl =
CALCULATED. To set the dp control all the wells of all the models use the following
statement GAP.MOD[$].WELL[$].DPControl = CALCULATED.
Prediction results are saved to disk
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.
Purge of prediction snapshots and results
All prediction results can be cleared to reduce the data file size through the "Prediction",
"Purge All Prediction Results" menu option.
Program interface
Internal solver and prediction message log sorted by type
The messages generated by the solver and the prediction runs are saved to disk and
sorted by type i.e. Log, Errors, Constraints, Events, ...
Internal OPENSERVER editor
An OPENSERVER command editor is available under the "Edit", "Execute Open Server
Statement" menu option. This allows the user to send OPENSERVER messages to the
application without the need of an external application. For example to make all the wells
controllable, the GAP.MOD[{PROD}].WELL[$].DPControl = CALCULATED command
can be executed from within GAP.
Customisable dialogue size
dialogues with the "sizeable window" pattern in the bottom right corner of the window can
be resized by the user to fit their screen resolution. Holding the Shift key down while
opening the dialogue will reset its size to its original value.

GAP User Guide

August, 2012

Technical Overview

40

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.
Main screen equipment locator while editing
While editing the pieces of equipment, double click on an icon on the main screen to edit
that piece of equipment.
Main screen information displayed customisable
The "View", "Select Info Displayed" allows the user to select one parameter that will be
displayed along with the label on the main screen graph.
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.
Outflow only wells (smart wells) with VLP or PROSPER online
Outflow only well can be modelled using lift tables or PROSPER online.
New ways of modeling pipelines - VLP and PROSPER online
Pipelines can be modelled using GAP internal correlations, lift tables or PROSPER online.
Internal lift curve generator for pipeline
GAP includes an internal lift curves generator for pipelines. GAP uses its own internal flow
correlation or the PROSPER online model to generate the lift curves.
PCP lifted wells
Progressive Cavity Pumps lifted wells can be modelled. The motor speed is available
has optimisation variable.
PVT impurities from composition
When run enabling the compositional tracking option, the black oil pvt impurities mirror
the composition impurities
IPR permeability correction due to compaction
Pemeability correction for compaction effect is available in the ipr description screen.
Revenue, Cost and Tax Regimes
The user can define multiple "Tax regimes" (i.e. revenue and cost prices) and assign

1990-2012 Petroleum Experts Limited

41

GAP

them to wells, inflows and sources.


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
Faster and more robust Solver and Optimiser

Potential calculation in solver and prediction runs


When requested to do so, the program will compute the field potential by removing all the
constraints and running an optimisation.
Optimisation on revenue

Riser gaslift gas included in revenue calculation

More robust compositional tracking

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.
Internal prediction Visual Basic script
Under the "Prediction", "Edit Prediction Script" menu option, an internal visual basic
script is available to dynamically control the 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
GAP User Guide

August, 2012

Technical Overview

42

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.
Note on Open Server
GAP can be operated or automated from other applications, for example through the writing of
spreadsheet scripts in Excel or Access.
The potential uses range from
Simple importing and exporting macros through
Interfacing GAP to other modeling applications such as reservoir and facilities simulators.
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...)

1990-2012 Petroleum Experts Limited

43

GAP

GAP User Guide

August, 2012

Chapter

45

GAP

2 User Guide
2.1 What is in this guide?
A flow chart which outlines the basic procedures required to carry out a full field network
optimisation study using GAP is shown in the last figure. The organisation of the manual
adheres to the GAP processing logic as outlined by the flowchart as much as possible.
Introduction 46
Getting Started 51
with GAP 51
Describing 150
the PVT 150
Equipment Data 180
VLP/PR 46
Generation 46
Model Validation 489
Network Solver 495
and Optimiser 495
Prediction 516
Results and 565
Reporting 565
History Matching 576
an IPM Model 576
Prediction Script 587
Defining 592
System Units 592

Introductory information on GAP and the user guide


General information on the usage of GAP
This section describes the PVT modelling options available in GAP
This describes the interface used for entering equipment data, and
describes in detail the data entry screens for all elements
This section shows how to generate VLP/IPR using PROSPER for
inclusion in the GAP system model
This section introduces the user to the 'Model Validation' menu option
in GAP which allows efficient quality checking of the well models in GAP
This section describes how to solve network and check that model
production matches actual production
This section describes the coupling of reservoir tank models to GAP for
production forecasting
This explains how to prepare, print and plot the results
General steps to follow to make sure that the model is calibrated and
representing reality
Section describing the scripting features present in GAP
This section describes how to set up Unit systems in GAP

.
.
.

GAP User Guide

August, 2012

User Guide

46

2.2 Introduction
Petroleum Experts General Allocation Package (GAP) is an extremely powerful and useful 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.
The tools can be used to determine:
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.
Reservoir pressures can be obtained from decline curves, material balance or
simulation models.
The associated injection systems can be modelled and optimised so as to
achieve injection targets for pressure maintenance programmes.
Link to third party tools via OPENSERVER
GAP has an open architecture which allows
Third party software to exchange data with GAP.
Run and control GAP via the OPENSERVER technology developed by
Petroleum Experts

1990-2012 Petroleum Experts Limited

47

GAP

Link to MBAL
Reservoir performance for production forecasting is provided by links to
Petroleum Experts MBAL material balance program.
Link to PROSPER
Well performances for production forecasting are provided by links to Petroleum
Experts PROSPER, the single well model package within the IPM Suite.
PROSPER can be run in a batch mode from GAP for generation of well
performance and lift curves for simulation.
Fully Compositional or Compositional Tracking Modes
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.

GAP User Guide

August, 2012

User Guide

48

2.2.1 How to Use This Guide


Depending on the modelling objectives and the amount of time the user wishes to spend
becoming familiar with the program, the user guide can be used in the following ways:
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 598 .
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.

1990-2012 Petroleum Experts Limited

49

GAP

2.2.2 GAP Glossary of Terms


The following table introduces some key terms in network modeling using GAP.
Term

Application

Abandonment
Value

For prediction runs only. Minimum rates, maximum GOR etc. can
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
Tracking 172

The tracking of fluid components/compositions from the well bore


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


downstream of the well (or manifold pressure) vs rate produced.
(PC)
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

GAP User Guide

August, 2012

User Guide

Allocation

production rates for specified reservoir and surface pressures


given the current water cut and GOR.

Production
Optimisation

Process of maximising oil/gas production (or revenue) by adjusting


wellhead chokes/gaslift injection/ESP frequency/compressor
speed while simultaneously honouring constraints at various points
in the system.

50

Solve
Network The process of calculating the combined production response for
the entire production system.This can be coupled with the
(optimised)
optimisation process, allocating the gas lift gas and the power
available to optimise the overall system production or injection.
Tank

VLP

A reservoir unit.
It can be modelled rigorously with MBAL.
It can also be represented by a table, relating pressure and
cumulative oil production (decline curve option).
Vertical lift performance. Expression relating surface well
pressure and bottom hole pressure.

1990-2012 Petroleum Experts Limited

51

GAP

2.3 Getting Started with GAP


For first time users, this chapter covers the essential features of data management and setting
up the calculation options in GAP. The chapter starts with a description of the user interface
followed by a step-by-step guide to starting a GAP project from scratch.
Menu options will be considered in this chapter, although some will be
discussed in more detail in later chapters when their use will be put in
context of an actual model.

2.3.1 The GAP User Interface


The main screen of GAP has the following structure.

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
GAP User Guide

August, 2012

User Guide

52

assist in the viewing of large networks.


The interface consists of four parts, as illustrated in the figure above:
System window
the window on which the system network is drawn
Navigator window contains a full schematic which can be used to help navigation about large
systems
Toolbar
contains menu accelerators, icons for selecting and manipulating system
equipment, and icons for zooming in or out of the system window
Menu
usual menu for issuing commands to GAP
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.

1990-2012 Petroleum Experts Limited

53

GAP

2.3.1.1 Opening a File


When GAP is opened, if the preferences have not been set up to open the last file accessed,
there will be a blank system view. To open a GAP file at any time during any GAP session,
select File Open. The following screen will be displayed:

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.

2.3.1.2 Saving a File


When files are opened in GAP, a copy of the selected file is stored in computer memory. Any
changes to the file are made to the copy in memory. In case of a power failure or a computer
hanging up, these changes are completely lost. To maintain the present work, we recommend to
save the data on a regular basis. This simple procedure could potentially prevent hours of work
and analysis being lost.
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.
GAP User Guide

August, 2012

User Guide

54

1990-2012 Petroleum Experts Limited

55

GAP

2.3.1.3 The System Window


The system window is the main window on which the GAP network is displayed. More than one
system window can be displayed in GAP at one time which means that different views of the
same system can visualised simultaneously. Alternatively this feature allows both the production
and associated injection system to be viewed at the same time.
An empty system view window is shown below:

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
Network
Equipment

To add an item to the system, activate the required equipment type from
the toolbar or use the right hand mouse button. The cursor appearance on
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

GAP User Guide

August, 2012

User Guide

Zoom In / Out

Selection of Items

Masking /
Unmasking of
Items

56

prompting the user to name the new equipment.


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).
To revert to a full system view at any time, double-click the left-hand
mouse button at any point in the window (except on an equipment node).
The view will rescale to show the whole of the system.
To select an item or items, either choose the "Select" icon from the
toolbar or choose the option from the right hand mouse menu. Click on
the item to select, and a light blue circle will appear around the element.
Alternatively, dragging the left-hand mouse button over an area can make
group selections.
To mask or unmask an item or items, either select the "Mask" icon from
the toolbar or choose the option from the right hand mouse menu. Click
on an item to mask or unmask it. If the equipment is masked, all child
items will also be masked. To mask or unmask a group of nodes use the
left hand mouse button to drag over an area of the system view.

Deletion of items

Select 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
anywhere in the system view. The normal menu is displayed above, and
Button Actions
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
appear. This contains basic status information for the node in question
Information
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
well as from the main menu under 'Options.' See below for more
Sizes / System
information.
Fonts
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
GAP Window
area 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.
1990-2012 Petroleum Experts Limited

57

GAP

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

2.3.1.4 The Toolbar


The toolbar is located below the main menu at the top of the main window. It consists of a row of
icons (described below) which act as accelerators to common menu functions, or allow the
addition or manipulation of network icons in the system window.

The functions of the various buttons are described below.


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
Accelerator for Equipment Control / Model Validation screen
Accelerator for Network Solver.
Accelerator to access script
Accelerator for Prediction | Material Balance Forecast. This initialises a

GAP User Guide

August, 2012

User Guide

58

material balance or decline curve prediction, depending on the system mode


as set up in the Method screen.
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.

1990-2012 Petroleum Experts Limited

59

GAP

Add flowsheet, creates sub-flowsheets that can be attached to the main GAP
flowsheet
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 shortterm 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.
Find/locate equipment on the system window. Use this option to locate
equipment on the system window. This may be useful in large systems in which
the icons are close together and whose labels are therefore difficult to read.
Help Index/Accelerator. Use this option to access the online help index.
Undo button. This button will undo the actions taken when building/modifying
the model.

GAP User Guide

August, 2012

User Guide

60

2.3.1.5 The Navigator Window


To activate the navigator window select Window | Toggle Navigator Display (see hiding/showing
the navigator described below) from the main menu. This window can be used to aid in
navigation about a large system. It will always consist of a system schematic that is independent
of any zooming on a system window. In addition to the network, it contains a tracking rectangle
that encloses the portion of the system currently under view in the system window. Other
functions are also available as described below.

Tracking
Rectangle

This has two functions. If the focus is currently on a system window, this
rectangle surrounds the area of the system that view is displaying.
Alternatively, the rectangle may be used to create new views of the system if the
navigator window is currently in focus. When the mouse is moved over the
rectangle, the cursor changes to allow to stretch or resize the rectangle. In this
way the window may be moved over an area of the system of interest. Doubleclicking the left hand mouse button in the area will create a new system view
displaying the area that has been selected. This is resized to preserve a
sensible aspect ratio
Hiding/
The navigator may be removed from the workspace by clicking on the cross
Showing the button at the top right hand corner of the window. Alternatively, the Window
1990-2012 Petroleum Experts Limited

61

GAP

Navigator

menu item of the main menu contains a function to do this. Once removed, the
navigator will not appear in subsequent GAP sessions until reopened. This can
be done by clicking on Window | Toggle Navigator Display as below

Right Hand Clicking the right hand mouse button within the navigator window will produce a
Mouse Button utility menu. This contains the following functions
Menu
Navigator on By default, the navigator is always on top of all system views. This can be
changed by selecting this item from the menu
Top
Hide Window A different way of hiding the navigator
New Window A different way of producing a new view (see above)
Icon Sizes
Invokes the 'Icon Sizes' dialogue (see below)
File Options In this section, the user defines certain parameters which control the normal
Windows functionality of the program as well as preferences

GAP User Guide

August, 2012

User Guide

62

2.3.1.6 Drawing the System


The following section describes the procedures required to define a system network topology.
This is done by manipulating graphical icons to draw a system schematic diagram. Once the
basics of drawing a system is understood, building a GAP network model will take very little
time. The GAP system network is based on a series of elements accessible from the program
Toolbar.
The Tool Bar
The GAP tool bar contains a button for each element that can be added to a system network. An
element can be placed anywhere on the screen, and its position on the screen does not affect
the program calculations. To select an element, press the appropriate button to activate the
object. To draw the element, position the mouse pointer anywhere on the system view and click.
A "Label" dialogue box appears to name or identify the icon. Data for each element can be
entered as the system is built, or once the entire system is completed.
When the data is entered while building the system, double-click the appropriate icon to access
the main data entry screen.
The following tool buttons are used to draw a system:
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
collected by them is accounted for in the emissions results
Vents
Pump
Adds a pump in the system network
Compressor Adds a compressor in the system network
Source/Sink Adds a source or a sink that injects/withdraws fluid at fixed mass, rate or
pressure.
1990-2012 Petroleum Experts Limited

63

GAP

Inline
elements
Inflow
Group

Flowsheet

Adds a choke, inline separator, valve or virtually any piece of equipment that
can be described by a script
Adds an inflow element (IPR), which can be used to model complex well
geometries by decomposing the well into inflows and outflow
Adds a group element, which is used to report or impose constraints to groups
of elements in the GAP network (for example, clusters of wells can be grouped
together)
Allows to place whole sub-sections of the main model into different flowsheets.
Particularly useful in the case of big models, where the flowsheets allow to
simplify the model view

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
4. It is recommended to build a system gradually until a grouping of elements provides the
basic framework. To begin, it is not necessary to have a definite layout in mind as the
program easily allows modifying or adding additional elements to the system.
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.
GAP User Guide

August, 2012

User Guide

64

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 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 GAP user Interface.

1990-2012 Petroleum Experts Limited

65

GAP

2.3.1.7 The Preferences Dialog


The preferences dialogue allows a set of user-interface variables to be customised for
subsequent GAP sessions. Some of these options are self-explanatory so a limited description
is given below.

GAP User Guide

August, 2012

User Guide

Enable Flyover
Status Information
Auto-repeat delay
when panning
Zoom/UnZoom
factor

Open server
Monitoring
Window
Background

66

If this is checked then it will be possible to see a status box appear as the
mouse pointer goes over the equipment icons
When panning, one may hold the left-hand mouse button down to autorepeat the action. The value given in this field represents the time (in ms)
before the auto-repeat action starts from when clicking the mouse button
A single click in a system window while the zoom or un-zoom icons are
active results in a fixed scaling to be applied to the view, while the centre
of the view is changed to the position in which the mouse was clicked. The
value entered in this field is the fixed scaling factor, and as such should be
greater than zero
When GAP is run using the open server functionality, there is the option of
displaying the results of all the open server commands in the OpenServer
Monitor Window. The option allows this window to be shown / hidden
The bitmap that is displayed on the background of the main window may
be changed. Select the required bitmap by pressing the browse button to
the right of the field. The bitmap will be loaded when GAP is restarted
This is the number of files that are retained at the bottom of the File menu

Recent file list


length
Reload last project Check this to load the last file that was worked on when GAP is started
at start-up
Display Alter
If checked, GAP will check all file paths once a file is opened and will allow
Project Paths
the user to correct these if needed
prompt at load
time
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
one. If a GAP model contains different units to the default, when opening
Default Unit
the file, GAP will change the units to default
System

1990-2012 Petroleum Experts Limited

67

GAP

2.3.1.8 Defining User Correlations


GAP has the facility to use externally programmed pipeline flow correlations. Before they can be
accessed, they must first be linked into GAP. To use external correlations, click File User
Correlations | Flow Correlation. The following screen will be presented:

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.
2.3.1.9 Edit Ini File
The 'Ini' file is a text file in which all the preferences for GAP are stored. Some of these are the
directory preferences, colours, tolerances etc.
It is recommended not to modify this file manually, as it is automatically updated based
on the selections made from the relevant windows in GAP.

GAP User Guide

August, 2012

User Guide

68

2.3.1.10 Defining the Working Directory


In this option the location of the working directories can be defined:

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 subdirectory (e.g.: C:\PROJECT\GAPDATA).
MBAL executable location needs to be defined to be able to launch MBAL via the Tank
Summary Screen

1990-2012 Petroleum Experts Limited

69

GAP

PROSPER executable location needs to be defined to be able to launch PROSPER via the
Well Summary Screen

GAP User Guide

August, 2012

User Guide

70

Application startup timeout time can be entered, after which the program will flag that the
MBAL and PROSPER licenses cannot be found.
2.3.1.11 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.
It is possible to print to a hardcopy device, to the clipboard, or to a windows
Network
metafile (.WMF). There are options to print in colour, monochrome, or
Drawing
greyscale.
The current menu options are:
Hard Copy ( the currently selected printer/plotter).
Clipboard for subsequent pasting into a word processor or painting
package (press <shift> <insert> to paste the picture).
Windows MetaFile for subsequent use in a drawing package

1990-2012 Petroleum Experts Limited

71

GAP

For each option the colour choices are


monochrome
grey scale
colour
2.3.1.12 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.

GAP User Guide

August, 2012

User Guide

72

2.3.2 Project Archiving


When storing or sending GAP files, this option offers the capability of creating an Archive of the
whole project. It is in a sense a ZIP file which includes all the associated files required to run the
model.

2.3.2.1 Archive Creation


To create an 'Archive', the File | Archive | Create option needs to be selected.

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:

1990-2012 Petroleum Experts Limited

73

GAP

There is an example 728 provided in the manuals that demonstrates the application of this
feature.
Main features
The screen contains the following features:
Project

Baggage

GAP User Guide

This is a hierarchical listing of all the files in the project, also seen in the Edit
Project 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.
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
August, 2012

User Guide

Project
Comment
Add Assoc

74

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.
This field can be used to enter comments describing the project. This will
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.
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:
Well model files (.out, .sin, .anl)
Lift curves (.vlp, .tpd, .mbv lift curve import formats)
Tank model files (.mbi.mbr (results file))

Action Buttons
All/None
Add
Remove
Write

Selects all/no valid files in the project listing


Adds a file to the baggage list
Deletes the currently highlighted file(s) in the baggage list from the project archive
Creates the archive

1990-2012 Petroleum Experts Limited

75

GAP

2.3.2.2 Archive Extraction


To extract the files from an existing archive (*.GAR file), the File | Archive | Extract option needs
to be selected from the main menu.

The file can be browsed for and then selected.

Once the file has been selected GAP will enter the archive extraction screen as follows:

GAP User Guide

August, 2012

User Guide

76

Main features
The screen contains the following features:
Project
Listing

This is a listing of all the files that comprise the original GAP project. All files are
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
created. As with the project listing, the user may double-click on an item to view its
Listing
properties. Select the files to be extracted. All files are highlighted by default. To
select all of the files, click on All Baggage

1990-2012 Petroleum Experts Limited

77

GAP

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
All Project Selects all files in the project listing
All
Selects all files in the baggage listing
Baggage
Extract
Extracts archive files to the directory supplied

GAP User Guide

August, 2012

User Guide

78

2.3.3 The Options Menu


The following sections describe the menu options found under the 'Options' item of the main
menu.

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

1990-2012 Petroleum Experts Limited

79

GAP

SYSTEM TYPE:
This section defines the type of network that can be modeled in GAP.
Production
Water
Injection
Gas
Injection
Gas Lift
Injection
GAP User Guide

Production systems can contain oil (e.g. naturally flowing or artificially lifted
wells), gas or condensate wells which produce fluids to the separator.
This allows the engineer to model the water injection distribution network which
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.
This allows the engineer to model the gas distribution network which can be
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.
This allows the engineer to model the gas lift injection distribution network which
can be coupled to the main production network model and optimised
August, 2012

User Guide

80

simultaneously.
OPTIMISATION METHOD:
This section defines the objective function used by GAP to optimise the system.
Production

Revenue

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.
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).
Revenue from oil sales
Revenue from gas sales
Cost of water processing
Cost of injection gas
Cost of power
Cost of steam

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.
1990-2012 Petroleum Experts Limited

81

GAP

Oil rate only /


Water rate
only
Gas + Oil rate
rate only
Gross
Heating
Value

The default Tax Regime is selected in Options | Default Settings.


These methods are used when the objective is to maximise the Oil rate or the
Water rate only.

This method allows the user to maximise, at the same time, oil and gas
production rates and honour constraints in the system.
This option maximises the gross heating value produced by the field. This
option is mainly used in the case of gas fields where one would like to
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 program will use a correlation to
associate the heating value to the gravity of the gas (Figure 4.82 in the
Handbook of Natural Gas Engineering published by McGraw-Hill).
Gas Rate
This method allows the user to maximise, at the same time, oil and gas
production rates and honour constraints in the system. This objective function
with
Preference to has a weighting on the oil content and can be particularly useful for optimising
condensate systems.
Oil Content
NEW!!!
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.
PVT MODEL
This option allows the user to define which PVT model in the system.
Four options are available:
Black oil
Tracking

Black oil model is used for all of the calculations.


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

GAP User Guide

August, 2012

User Guide

82

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
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 the
Compositional composition of the fluids throughout the network at each iteration of the solver
but performs pipeline, compressor, pump and choke calculations using the
Lumping/
Black Oil correlations which use the BO properties calculated from the tracked
Delumping
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.
Details about the PVT model options can be found further in the manual (
view).

click here 150 to

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.
Black Oil Compositional Lumping/Delumping is the recommended option whenever
one wants to speed up the calculations however the same care should be taken to
ensure the EOS being used is applicable.

Prediction Method
This option defines whether temperature calculations in pipelines are performed or not
Pressure Only
Pressure and
Temperature

Temperature changes along the flow lines are not calculated but instead
entered by the user
GAP calculates both the pressure and temperature losses along the flow
lines, using either a simple temperature model or the more advanced
Enthalpy Balance option available through PROSPER on Line.

1990-2012 Petroleum Experts Limited

83

GAP

Wax or Hydrate Warning


This option can be used to predict the presence of Wax or Hydrates at any point in the system.
The Wax or Hydrate Warning is only available 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 or hydrate risk in the model then it will raise a flag in the
"Status" column of the pipeline results.
WATER VAPOUR
This option allows the user to enable/disable the calculation of condensed water vapour in
pipelines.
No
Condensed/Vapourised water is not accounted for in the pipelines.
Calculations
Calculate
This option allows the user to account for vaporization/condensation of water
Condensed with changing pressure and temperature conditions along the pipelines. This
Water Vapour option is required for steam calculations and if the user wishes to account for
condensed water in natural gas.
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. It is not accurate in a predictive mode.
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
GAP User Guide

August, 2012

User Guide

84

accurate calculation of temperature is sought after and only limited data about
the completion is available.
The Improved Approximation temperature model also requires calibration
using measured temperature data.
NOTE on CO2 injection models
When modelling pipelines carrying CO2 for injection purpose, it is important to use the
appropriate options
PVT method should be Equation of State using "Fully Compositional"
Temperature model should be "Improved Approximation"
CALCULATE WELL CHOKE DELTA_T
A choke can be placed on the well directly, rather than to explicitly define a choke in the system.
By having this option set to YES, GAP will calculate the temperature drop in the fluid as it flows
through that choke using an isenthalpic flash. If set to NO, temperature drop is not accounted for.
BACKGROUND BITMAP
The user has the option of adding a picture in the background of the GAP model. This could be a
map of the area or an aerial photograph so that the position of the icons on the screen coincides
with their real geographical locations. Simply select the path pointing to a *.bmp file and this will
appear in the main screen as soon as "OK" is selected.
ASSOCIATED INJECTION MODELS
If along with the production network system there are associated gas injection and/or water
injection and/or gas lift injection networks it is possible to link them to the main production model
though this option and solve the combined 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).

1990-2012 Petroleum Experts Limited

85

GAP

2.3.3.2 Edit Injection Fluids


In a system with Gas-lifted wells, Gas Injectors, Water injectors or sources then the properties of
the injection fluids need to be defined.
The list of injection fluids can be edited from the Options | Injection Fluids screen shown below:

For each source:


Enter a unique label.
The source type (gas, water, oil and steam)
The source type can be steam, in which case the default quality needs to be entered in
this table. The quality is recalculated wherever steam is present in the system to make
sure it is consistent with the steam thermodynamics. GAP uses the 'Steam Calculation
Module' from PVTP which is based on published steam tables.
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 two default fluids
Gas source Gas01.

GAP User Guide

August, 2012

User Guide

86

Water source Water01


Note about Gas Lifted Wells
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 233 ).
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.

1990-2012 Petroleum Experts Limited

87

GAP

2.3.3.3 Edit Tax Regimes


When the optimisation method is set to Revenue, the user can define different tax regimes so
that the value of different fluids in the system can differ.

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.

GAP User Guide

August, 2012

User Guide

88

2.3.3.4 Edit Emulsion Models


Allows the user to setup and match, to measured data, different emulsion models to be used to
model emulsion behaviour in the GAP network.

GAP can model the effect of Oil/Water emulsions on mixture viscosity.


The behaviour of emulsions in producing equipment is not well understood. Emulsion
PVT in GAP provides a means to assess possible effects of increased emulsion
viscosity by curve fitting experimentally determined data. It must be emphasised that
the method is empirical and does not represent any rigorous model of emulsion
behaviour.
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 fitted curve is used to optionally replace the oil/water mixture
viscosity in pressure drop and pump calculations. When selected, emulsion viscosity for the
user-entered value of water cut will be substituted for the fluid mixture viscosity.
Emulsion viscosity is modelled as a function of water cut in 3 stages:
1. Sharp increase at low water cut.
2. Plateau with a constant maximum viscosity for intermediate water cuts.
3. Tail that declines to the viscosity of water after the plateau.
The parameters Left and Right Water Cut for Maximum Viscosity define the maximum plateau
region. To calculate emulsion viscosity:
- Enter the water cut and emulsion viscosity data points in the Emulsion Data table.
- Click the Match button.

1990-2012 Petroleum Experts Limited

89

GAP

When the regression has stopped, click Plot to display the matched mixture viscosity.

GAP User Guide

August, 2012

User Guide

90

The regression algorithm will find the Parameter 2 and 3 that minimises the internal error
function. Parameters 4 and 5 can then be adjusted manually to fit the remaining the lab point if
necessary.

1990-2012 Petroleum Experts Limited

91

GAP

2.3.3.5 Edit Default Settings


Allows the user to set the default settings for:
Injection Fluids
Emulsion Model
Tax Regimes
PVT correlations for pipeline calculations
Volume Correction Factors
Pipe Lines
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.

GAP User Guide

August, 2012

User Guide

Injection
Fluids
Emulsion
Model

92

This is the default choice for the water injection and gas injection. The Edit
Injection Fluid 85 List allows the user to modify the list of fluids used in the
model.
This is the default choice for the emulsion model. The Edit Emulsions 88 option
allows the user to modify the list of emulsion models used in the model.
1990-2012 Petroleum Experts Limited

93

GAP

Tax Regimes This is the default choice for the Tax Regimes. The Edit Tax Regimes 87
option allows the user to modify the list of tax regimes that can be used in the
various wells in the system.
Default PVT This is the default choice for the Oil Pb, Rs, Bo correlation, the oil viscosity and
the gas viscosity correlations.
Correlation
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
interfacing GAP with a process simulator one may wish to apply a correction to
Factors
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
ratios themselves. GAP will perform the calculations based on the new values
of Bo and Bg.
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
pipeline element is created. As mentioned above, if
roughness
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
definition will switch from a liquid to a gas. This triggers the
pipe GOR
condensate to be treated as an equivalent gas in the
Cutoff
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
the water vapour calculations are performed.
GOR Cutoff
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 83

GAP User Guide

August, 2012

User Guide

94

2.3.3.6 Edit System Summary


This option is used to enter the GAP title and some comments. The 'Title' and comments can be
displayed on the GAP network by selecting "Draw Network Title" and "Draw Network
Comments" from the View Menu.
The Title and Comments can be moved all over the network window by simply
dragging them while holding down the "Shift" key.

1990-2012 Petroleum Experts Limited

95

GAP

2.3.3.7 View System Statistics


This option allows the user visualise a summary of the GAP model providing information such as
the total number of wells, reservoirs, elements etc.

GAP User Guide

August, 2012

User Guide

96

2.3.3.8 Disable Options


These options switch on/off the network data and interface validation.
Disable
When selecting this option, the 'Automatic Masking' is disabled. This means
that if a well is disabled/masked, the pipe downstream the well will not be
Automatic
greyed out, but will appear on the screen in full colour.
Masking
Disable System Before accessing any calculation area, the program validates if there are
missing/invalid items in the network and will activate a flag highlighting the
Validation
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
wells with the same name). This option disables that validation flag.
Validation
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
definition of the PROSPER file associated. In the case of an inconsistency, the
Well Type
well becomes "invalid".
Validation
It is recommended to leave these as the default options.

1990-2012 Petroleum Experts Limited

97

GAP

2.3.4 The View Menu


The options under the view menu govern the appearance of the network drawing and activate
some validation checks on the equipment in the system. These can be activated or de-activated
as described below:

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.
The View menu is divided in these fields:

GAP User Guide

August, 2012

User Guide

98

Draw Options 98
Highlight Options 98
Window Aspect and Drawing Options
Network Drawing Position 109
2.3.4.1 Draw Options
A series of different options are available to modify the view of the GAP network model. Theses
options allow the user to toggle on/off the visualisation of solid and dotted line connections, tanktank connections, IPR icons, labels, grids etc. and are fairly self explanatory.
2.3.4.2 Highlight Options
These options enable/disable the visualisation of specific flags that are usually displayed by the
program in the main screen as result of a check of the model status or as a result of a Solve
Network calculation.
The options available are associated with the following issues:
Invalid items (usually highlighted by a thick red circle)
Bottle necked pipes (highlighted by a purple colour)
TVD differences (see below 98 )
Solver pressure and mass imbalances (see below 102 )
Limiting and violated constraints (see below 103 ).
2.3.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 "Riserbase":

1990-2012 Petroleum Experts Limited

99

GAP

Upon inspection of the pipeline description the TVD of the most downstream point of the
pipeline situated upstream of the node "Riserbase" is 0m. Where as the TVD of the most
upstream point of the pipeline situated downstream of the node "Riserbase" is 100m.

GAP User Guide

August, 2012

User Guide

100

1990-2012 Petroleum Experts Limited

101

GAP

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.

GAP User Guide

August, 2012

User Guide

102

2.3.4.2.2 Highlight Solver Pressure/Mass Imbalances


This option is used to highlight if the solver has converged at every node in the system. Each
node in the network must satisfy pressure and mass balance in order to ensure that the solution
is valid. The GAP solver 19 iterates to converge on a solution, and if convergence has not been
achieved then a dark blue circle will appear around any element that has pressure/mass
imbalances.

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.

1990-2012 Petroleum Experts Limited

103

GAP

2.3.4.2.3 Highlight Violated and Limiting Constraints


The option to 'Highlight Violated/Limiting constraints' allows the user to visualise directly from the
network whether or not a constraint is violated or if the constraint is limiting the production of a
particular element:
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.

GAP User Guide

August, 2012

User Guide

104

2.3.4.3 Window Aspect and Drawing Options


These options allow the User to modify aspects of the program window and of the network
model drawing (in terms of colours, fonts icon sizes, etc.).

2.3.4.3.1 Select Info Displayed


Use this option to select what information to display on the main GAP network with each icon.

The section is divided in two main fields:


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
activated when passing the mouse through each element
Tooltip

1990-2012 Petroleum Experts Limited

105

GAP

2.3.4.3.2 Select Default Icon Label Position


This option defines the position of each icon label with respect to the icon itself.

Click on the desired label position and then | OK to change the label position.
2.3.4.3.3 Colours
From the View | Colours menu item the user may change the colours of the system drawing and
the GAP windows.

GAP User Guide

August, 2012

User Guide

106

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
Grey scale

allows full selection of any of the (255 x 255 x 255) colours


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
1990-2012 Petroleum Experts Limited

107

GAP

been chosen, save the current set of colours for future GAP sessions by clicking Save as user
default.

2.3.4.3.4 Icon Sizes


The sizes of the icons used to represent the equipment in GAP can be modified. Select View |
Icon Sizes from the main menu, or right-click on the main canvas and search for the same
option. The following dialogue will appear.

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

GAP User Guide

August, 2012

User Guide

108

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.

1990-2012 Petroleum Experts Limited

109

GAP

2.3.4.4 Network Drawing Position


These options allows the user to modify the placement of the icons in the main program window.
2.3.4.4.1 Normalize Equipment Icons Position and Snap to Grid
The objective of these options is to modify the aspect of the network.
Normalize
Equipment
Icons
Position
Snap to Grid

GAP User Guide

Resets the system of coordinates used by the program. This is particularly useful
when merging different models created according to different zoom scales.
When merging the models, this option will reset both models to work with the
same scale so that the systems can be laid out correctly.
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

August, 2012

User Guide

110

2.3.5 The Edit Menu


In this section, the program allows selection and manipulation of various items on the network for
a wide range of operations such as deleting. This section will describe some of the available
functionality that comes with this menu.

These are the options available in the Edit menu:


Undo Options 110
Select Options 112
Selected Equipment Options 115
Find Equipment 123
Edit Options 125
Transfer and Import Options 129
Execute OpenServer Command
2.3.5.1 Undo Options
These options allow the user to undo an operation performed on the network system drawing.
Every time the network drawing is modified, the program will record the action taken. These are
the options available:

1990-2012 Petroleum Experts Limited

111

GAP

Undo
Undo All
Clear Undo
list

This will undo the last operation made


This will undo all the operations done on the network drawing
This will clear the list of changes made on the network

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

GAP User Guide

August, 2012

User Guide

112

2.3.5.2 Select Options


These options select items in the GAP network model. The items can be selected one by one or
according to their type (all wells, all joints, etc.). The selection options available are:
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
Select

This option opens up a selection window where one can select the items one by
one:

1990-2012 Petroleum Experts Limited

113

GAP

Unselect
All Items

This option unselects all the selected items. The option is active only when there
are selected items in the system

Selected items are highlighted by a cyan circle around them.

GAP User Guide

August, 2012

User Guide

114

1990-2012 Petroleum Experts Limited

115

GAP

2.3.5.3 Selected Equipment Options


This section of the Edit menu allows operations to be performed on multiple selected elements
and elements belonging to the same type. The options available are:
Selected Items
Selected Wells and Inflows
Selected Pipes
Selected Tanks
2.3.5.3.1 Selected Items
This menu allows the user to carry out bulk operations on all of the selected pieces of
equipment. For example, after selecting a series of valves, it is possible to bypass all of them in
the system at once using this option.

These are the main options:


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 /UnThis bypass/unbypass option is applied to inline elements only (pipelines,
chokes, valves, inline separators, etc.). For example, if a pipeline is bypassed
bypass
the solver will no longer consider the pressure drop across the element. When
an element is bypassed it is greyed-out.
GAP User Guide

August, 2012

User Guide

Remove

116

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.
The following example illustrates how the option works.
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.

1990-2012 Petroleum Experts Limited

117

GAP

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.
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
imported in another GAP project (see below 138 for further details).
Partial File (.
gpp)
Snap to Grid
This option snaps the selected elements to grid (see above 109 ).
Change Icon This option changes the elements' icon label position.
Label Position

GAP User Guide

August, 2012

User Guide

118

2.3.5.3.2 Selected Wells and Inflows


This option can be used to perform specific tasks on well icons. For example, setting the well
head chokes to be calculated for optimisation.

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
controlled by the optimiser.
Control
Set
Use
Casing This option is to switch on/off the casing pressure option for gas lift
wells.
Pressure
Set Well model
This option changes the well type for the selected wells (VLP/IPR
Intersection, PC Interpolation, Outflow Only - VLP and Outflow only 1990-2012 Petroleum Experts Limited

119

GAP

PROSPER on line). Refer to the Well description 188 for further details.
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 entered in the model may be changed based on the input
Composition
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
Composition This option is enabled when one of the compositional models is being
used with the Lumping/Delumping enabled.
Changes
The options available are: 'Do Nothing' (if the composition changes,
then use the composition coming from the upstream reservoir
simulator), 'Lump' (lump the composition from the simulator) and
'Delump' (delump the composition from the simulator).
Refit PC curves
This option regenerates the selected wells' performance curves.
Reset dP chokes
This option resets the values of the fixed dP choke applied to the
selected wells.
Turn off if unstable The well outflow features are described in the VLP input section 219 .
Allow left hand VLP/ The options here have the objective to switch on/off these features
IPR intersection
Enable Safe VLP/IPR
intersection mode
Convert to inflow
This option converts the selected wells to inflows eliminating de facto
the well outflow from the model.
Split into
This option converts the selected wells into its components inflow and
outflow. The application of this feature is in the modeling of complex
inflow and outflow
well geometries (see example on Smart wells 765 )
Set IPR Rate model

GAP User Guide

August, 2012

User Guide

120

2.3.5.3.3 Selected Pipes


This menu allows to change the description of the selected pipes by means of these options:

Toggle
Description
Pipe Model

Pipe It switches the direction of the pipe, in case the pipe was incorrectly
defined.
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
calculation using either the lumped or the full composition.
Model
Convert to PROSPER This option converts the pipeline (initially modelled as GAP Internal
Online
Correlations) to PROSPER Online.

1990-2012 Petroleum Experts Limited

121

GAP

2.3.5.3.4 Selected Tanks


When a prediction has been performed using MBAL tank models or external simulation models,
it is possible to switch them to decline curves.
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.

GAP User Guide

August, 2012

User Guide

122

2.3.5.3.5 Selected Groups


Show members as selected
This feature allows the user to highlight all the elements that belong to the selected groups. After
selecting the group,

and choosing the 'Show members' as selected option, the elements that are part of the group
become selected.

1990-2012 Petroleum Experts Limited

123

GAP

2.3.5.4 Find Equipment on System Window


In large systems made up of hundreds of elements, it may sometimes be difficult to locate
individual items in the drawing. This option pinpoints the location of an item for the user.
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
lower list changes to reflect the new selection.

GAP User Guide

August, 2012

User Guide

124

Action Buttons
All
Invert
None
Locate
Edit
Select
OK

Selects all the equipment types in the upper list


Inverts the selection of the upper list
Un-selects all the items
Locates the currently selected piece of equipment in the system views
(equivalent to double-clicking on an item)
This invokes the Data Entry screen for the currently selected piece of equipment
This selected the highlighted item
Clears the screen

1990-2012 Petroleum Experts Limited

125

GAP

2.3.5.5 Edit Options


This sub-menu allows the user to modify the equipment control set up (for example chokes, gas
lift allocation, etc.) and to modify the paths of the files connected by the GAP model.
2.3.5.5.1 Edit Equipment Controls
This option has been added in GAP so that users can easily access all the control mechanisms
available in the model. In this manner well head chokes, gas lift injection rates, pump power and
frequency can be set (prior to a calculation) or viewed (following a calculation) from the same
screen.

As an example, consider a situation where the performance of a gas-lifted model needs to be


compared to reality. Then for that comparison to be made the same gas lift injection rates that
were injected in the field need to be specified in the model. These rates can be set from the
Equipment Controls screen directly as shown above. GAP will then use these injection rates
during the solve network calculation.
The Edit buttons will lead directly to the control page of the individual well models.
GAP User Guide

August, 2012

User Guide

126

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.

1990-2012 Petroleum Experts Limited

127

GAP

2.3.5.5.2 Edit Project Paths


This option allows all items and associated files in a GAP project to be viewed on a single
screen and shows the directory location of the associated files to the GAP network. The paths of
the files can be adjusted if required.

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.
GAP User Guide

August, 2012

User Guide

128

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

View
Details
OK
Cancel
Apply

Help
Select

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
This is only active when a single selection is made in the file list. When invoked
the 'File Properties' screen appears, allowing the 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.
Clears the dialogue, saving any changes.
Clears the dialogue, ignoring any changes.
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.
Invokes this screen
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.

1990-2012 Petroleum Experts Limited

129

GAP

2.3.5.6 Transfer and Import Options


This submenu allows the user to import information from various sources like MBAL (Material
Balance data), compositional data, gas lift injection input data, etc.
2.3.5.6.1 Transfer Well Data from MBAL Models
This screen is used to transfer well data from a material balance file within MBAL to the GAP
model.
Various categories of data can be transferred. This is is explained below.
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

VLP
Rel Perm

GAP User Guide

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
Transfers lift curve data to the well in question. This is only possible if the data
has been imported into the MBAL well model
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
August, 2012

User Guide

New Model
File

130

This will load in an additional MBAL model file (extension .mbi) and display the
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.

1990-2012 Petroleum Experts Limited

131

GAP

2.3.5.6.2 Initialise IPRs from Tank Simulations


This option is particularly useful when history matching a full GAP model. The IPR screens of the
wells can be initialised with the reservoir pressure data and saturations from associated MBAL
models at any point during the historical period. This allows the user to check production from
the system at particular points in time rather than running the whole model for the full historical
period.
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 576 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
Date
MBAL End
Date
Start
Cumulative
Production
Pressure
Start Date

For MBAL models only - the start date of the tank history
For MBAL models only - the end date of the tank history
For Decline Curve models - the cumulative production at which the pressure
and PVT data are to be evaluated
Displays the pressure following a 'Calculate'
For all MBAL tanks, this is the date at which the pressure and PVT should be
evaluated

Action Buttons
Calculate
Continue
Cancel

GAP User Guide

Evaluates the tank pressure and PVT at the specified date/cumulative


production, and displays this in the Pressure column
Calculates the PVT and pressure data at the required conditions, and places
this in the IPR data of those wells that were selected initially
Clears the screen, ignoring any changes

August, 2012

User Guide

132

1990-2012 Petroleum Experts Limited

133

GAP

2.3.5.6.3 Import Compositions


When the model is in compositional mode, the "Import Compositions" feature allows the user to
import an EOS for multiple wells in a batch.
Select which wells in the system are going to be associated with a particular EOS (or fluid
composition).

Two selection boxes are available:


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.

GAP User Guide

August, 2012

User Guide

134

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

1990-2012 Petroleum Experts Limited

135

GAP

2.3.5.6.4 Lump/Delump Compositions


This option applies a lumping rule in a batch to multiple wells.
2.3.5.6.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
optimisation) is performed in the production system, the gas
to Injection System Sinks
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
optimisation) is performed in the gas lift injection system, the
pressures to Gaslifted Wells
pressure calculated for each well (casing head pressure) can
casing pressure
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 gas lift injection manifolds
System Injection Manifolds

GAP User Guide

August, 2012

User Guide

136

2.3.5.7 Execute OpenServer Statement


This feature performs basic OpenServer operations on any element of the GAP model.
The basic operations are:
DoGet
DoSet
DoCommand

Retrieves values of input data or results


Applies input data in the system
Perform actions (like masking items or run calculations)

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.

1990-2012 Petroleum Experts Limited

137

GAP

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.

GAP User Guide

August, 2012

User Guide

138

2.3.5.8 Importing GAP models in an existing project


GAP allows the engineer to build and match entire production sub-systems independently and
then combine them to build the overall system model.
This section explains how to save GAP Partial (.gpp) files for sub-systems and recall them later
to assemble a complete system model.
Saving a GAP Partial File (.gpp)
Once a sub-system model is set up (for example a platform in a multi-platform gathering system)
select all the items in this model by selecting the menu Edit | Select All Items.

The model will then be selected (cyan circles will indicate the selected items).

1990-2012 Petroleum Experts Limited

139

GAP

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 User Guide

August, 2012

User Guide

140

and then save the .gpp file.

GAP saves a .gpp file that contains all the data for the selected system elements.
Recalling a GAP Partial File (.gpp)
In the destination model, it is possible to import the saved GAP model by right-clicking on the
main screen of the GAP model and selecting the option "Insert Gap partial file (.gpp)".

1990-2012 Petroleum Experts Limited

141

GAP

This will allow import the (.gpp) file into the system which can be connected as appropriate.

GAP User Guide

August, 2012

User Guide

142

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

1990-2012 Petroleum Experts Limited

143

GAP

2.3.6 The Constraints Menu


This menu provides access to a summary of the constraints applied on the entire system or to
the constraints applied to each piece of equipment in the system.

The excessive use of constraints within GAP is discouraged. Constraints


should never be used during the matching phase of the model building
process. Once a system model has been successfully validated against
actual measured rates, the minimum number of constraints should then be
introduced to make selected system elements behave as desired during the
optimisation phase. Constraints entered in GAP should represent the
constraints in the field in reality.

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.

2.3.6.1 System Constraints


The GAP system is defined as the total production from all the wells. System constraints can be
used to model, for example, pipeline export capacity for a platform with several separation
trains.

GAP User Guide

August, 2012

User Guide

144

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
1990-2012 Petroleum Experts Limited

145

GAP

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.
The excessive use of constraints within GAP is discouraged. Constraints
should never be used during the matching phase of the model building
process. Once a system model has been successfully validated against
actual measured rates, the minimum number of constraints should then be
introduced to make selected system elements behave as desired during the
optimisation phase.
Field Tabs
Value
Binding
(Yes/No)

Potential
(Yes/No)

Enter in this screen the value of the constraint to be set in any element of
the model
Selects which constraints are binding or not. The optimiser will always try
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.
Enables the user to include constraints in the potential calculation. Those
constraints set to NO will not be considered in the Potential calculation

Action Buttons
OK
Cancel

Report

Help

GAP User Guide

Use this button to leave the system constraints entry screen and save all
changes that have been made.
Use this button to leave the system constraints entry screen and ignore
any changes that have been made.
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 for more information.
Use this button to access this screen.

August, 2012

User Guide

146

2.3.6.2 Binding (Yes/No)


Binding (Yes/No)
Selects which constraints are binding or not. The optimiser will always try to honour all the
constraints set in the model, however 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.

1990-2012 Petroleum Experts Limited

147

GAP

2.3.6.3 Edit Constraints Table


In GAP it is possible to set constraints at every level in the system. This option allows viewing,
checking or editing the specific constraints of a group of selected items in a single edit session.
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.
In general constraints like maximum rate or also NO-CLOSE Minimum Gas
Injection Rate should be set as binding, because in most cases these are feasible
and we want the optimiser to try to honour them.
Field Tabs
Value

GAP User Guide

Enter in this screen the magnitude of the constraint to be set in any


element of the model.

August, 2012

User Guide

Binding
(Yes/No)

Potential
(Yes/No)

148

Selects which constraints are binding or not. The optimiser will always try
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
Enables to include the constraints in the potential calculation. Those
constraints set to NO will not be considered in the Potential calculation

Action Buttons:
OK
Cancel

Removes the dialogue and saves any changes made


Removes the dialogue and ignores any changes made

Help

Displays this screen

1990-2012 Petroleum Experts Limited

149

GAP

2.3.6.4 Edit Abandonment Constraints Table


This option allows viewing, checking or editing the abandonment constraints of a group of
selected items in a single edit session.

Items in the main network that have abandonment constraints have two blue arrows above
the icon pointing towards the element.

GAP User Guide

August, 2012

User Guide

150

2.4 Describing the PVT


The following paragraphs summarise the steps to be taken in setting up the PVT options in GAP
based on the objectives and amount of PVT information available. Under the system Options|
Method four main options are available to model the fluid PVT:

Black oil
Tracking

Black oil model is used for all of the calculations.


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.
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
1990-2012 Petroleum Experts Limited

151

GAP

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
solver but performs pipeline, compressor, pump and choke calculations using
Lumping/
the black oil correlations which use the BO properties calculated from the
Delumping
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.4.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:
Entry of basic black oil PVT data
Matching of lab data to correlations
Selecting the best correlation

GAP User Guide

August, 2012

User Guide

152

Discussion on the use of tables


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

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 91 ), 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, GAP will blend the fluids at every
manifold where they meet in order to determine the properties of the new fluid that

1990-2012 Petroleum Experts Limited

153

GAP

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.

GAP User Guide

August, 2012

User Guide

154

2.4.2 Compositional Options


In GAP three main compositional PVT model options are available, which allow the user to
determine the fluid composition everywhere in the system and its variation with changing
reservoir conditions. These are:
Tracking
Fully Compositional

click here 172


click here 173

Black Oil Compositional Lumping/


Delumping

click here 174

Details about each PVT model option are reported in the next few sections (click on the above
links to access them).

2.4.2.1 EoS Model Setup


When any of the three compositional options (Fully compositional, Tracking and Black Oil
Compositional Lumping/Delumping) is selected, the setup of the model is exactly the same and
the results are visualised in the same way. The fundamental difference between Tracking, Fully
Compositional and Black Oil Compositional Lumping/Delumping is the way the EOS model is
handled (see sections for each option).
Once any of the compositional options have been selected from the System options menu the
EOS Model Setup will be displayed.

1990-2012 Petroleum Experts Limited

155

GAP

This gives access to the configuration section, where the EOS options are selected.

GAP User Guide

August, 2012

User Guide

156

1990-2012 Petroleum Experts Limited

157

GAP

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
Optimisation Mode

Optimise Repeat
Calculations

The choice is between the two industry-standard cubic EOS


models, Peng-Robinson and Soave-Redlich-Kwong.
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
When repetitive calculations are performed, this option can be
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.

GAP User Guide

August, 2012

User Guide

158

If no Lumping is enabled, the only Full composition volume shift option is available.
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.

Allow Lumping

If No is selected, then there is no Lumping/Delumping enabled


which means that each fluid in the system is defined by one
EOS.
If Yes is selected, then the Lumping/Delumping option is enabled
which means that each fluid in the system can be characterised
by two equivalent EOS compositions, a full (high number of
components) and a lumped (reduced number of components)
associated by a lumping rule (ref. Lumping/Delumping 11 )

Mode

This option defines which composition is used in the network


calculations
Use Full Comp
The full composition is used for the calculations
Use Lumped Comp
The lumped
calculations.

composition is

used

in

the

network

This option also defines which composition is run in the MBAL


models in the case that Lumping/Delumping is enabled too.
Master Rule

This field allows the user to select the Master Rule used to
perform Lumping/Delumping (ref. Lumping/Delumping 11 ). The
Master Rule can be created or imported from PVTP and contains
the logic required to pass from an extended composition to a
lumped one (lumping) and viceversa (delumping). The Master
Rule is the logic applied to all the network (included any MBAL
model connected)

1990-2012 Petroleum Experts Limited

159

GAP

More Lumping

This section defines the Lumping Rule used in the whole GAP
model. See paragraph below 166 for further details

Reference Data for Standard Conditions


This section defines the Reference Standard Temperature and Pressure used to determine the
flow rates. It is important to remark that this option affects only the standard temperature and
pressure used to express the liquid rates. As far as the gas rates are concerned, the standard
conditions are defined by the Unit System.
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.
Set as Default allows to set the entered conditions as program default.
Water and Hydrates NEW!!!
This section defines how the PVT of water is handled along with the different hydrate models
that are available.
Flash Mode

There are two different approaches to handle the water. The


"Two Phase" and the "Psuedo Multi Phase" methods. The "Two
Phase" method treats the water as a completely separate phase
from the hydrocarbon fluid and is the traditional modelling
approach. The "Pseudo Multi Phase" method can handle water
as part of the fluid composition and there are three methods
available:
1. Soreide and Whitson
2. Modified Cubic
3. Modified CPAs
More detailed information about these models is provided in the
PVTP manual.

Hydrate Model

There are three models available for predicting the onset of


hydrate formation. These are:
1. Munck et al
2. Hydrafact Modified Cubic

GAP User Guide

August, 2012

User Guide

160

3. Hydrafact Modified CPA


More detailed information about these models is provided in the
PVTP manual.
Water Composition

This section is where the water composition is defined. See


paragraph below 163 for further details

Viscosity NEW!!!
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.
Blending
This section defines the rules followed by the program when two or more fluids compositions are
mixed.

Match
The program will mix only the properties of components that have the
Components by: same name. When using this option the user has to make sure that the
mixing compositions have been defined with the same number of
Component
components and same names
Name Only
Match
Components by:
Component
Name
or
Properties

The program will mix only the properties of components that have the
same name or similar properties (Tc, Pc, etc.)

Use Number of
Components as
key

If Yes is selected, the program will try and blend components that
correspond to the same component number. If components in two
blending compositions have different names, these will be blended.
If No is selected, if components in two blending compositions have
different names, the components will not be blended, but they will be
carried on as separate components. The sketch below shows the
concept when "No" is selected:

1990-2012 Petroleum Experts Limited

161

GAP

This option allows the user to use compositions with a different number of
components. If that is so, each new set of pseudo components will be
carried along.

Phase Check
This section decides which method to use for the phase detection. This option should not be
modified.
Path to Surface and Recycle
This field defines the path followed by the fluid to standard conditions. Measured rates are
conventionally defined at standard conditions and depending on the path followed by the fluid
(the number of separator stages) more or less gas/oil can be reported at standard conditions
even though the mass rates will be the same.

GAP User Guide

August, 2012

User Guide

162

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.
Flash Straight

Means that the fluid is flashed straight to STD

to Stock Tank
Use Separator
Train
Use K Values

Means that the fluid is flashed through a series of separators down to


STD
This option models the process based on K values (equilibrium
ratios). This can allow process calculations from systems more
complex than separation to be represented as Pseudo separators
that can be obtained from process simulators. Note that the use of K
values is discouraged by the fact that they depend on the fluid
composition. If the composition changes significantly then the k
values may not be representative anymore and incorrect answers
may be obtained.

Target GOR Method


The objective of the Target GOR is to recombine the original fluid in order to reproduce the
produced GOR. In other words the objective is to determine the evolution of the fluid composition
as the GOR changes.
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
Fluids
Use Fluid
from PSAT

The stream performs a full separator calculation using the


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.
The stream has its saturation pressure calculated at the
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.
It should be noted that this method restricts the range of possible
GORs to between the Rs of the oil just below PSAT (minimum GOR)
and the equivalent GOR of the gas just below PSAT (maximum
possible GOR).
Although more restricted, this mixture better reflects the case of an oil
entraining gas cap gas etc. The limits on the target GOR are

1990-2012 Petroleum Experts Limited

163

GAP

displayed as the min and max GOR in the Target GOR dialogue
window.

A reservoir or layer temperature is also required for this method. The


PSAT calculation is carried out at the entered temperature.
2.4.2.1.1 More Lumping
The "More Lumping" button gives access to the 'Lump Option' Dialogue, where the details of the
lumping rule are presented and can be edited.

The 'Lump Options' available are:


Lump Rules
This section allows to select the Master Rule used throughout the GAP model.
Lumping Rules
GAP User Guide

August, 2012

User Guide

164

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.

1990-2012 Petroleum Experts Limited

165

GAP

The remaining options are self-explanatory.


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 158 ). The remaining options are described below.
Seps

It is possible to perform Lumping/Delumping using gas and oil


obtained by flashing the fluid straight to stock tank or through
multiple separator stages defined in the main EOS Setup
section.
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
GAP User Guide

August, 2012

User Guide

166

This section defines the techniques used to Delump a lumped composition.


DeLump Method

Hold C1 Group in
DeLumping

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
lumped composition, along with the 'Target GOR'
Rule and
method to make sure the delumped composition
Target GOR
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
matches the GOR of the lumped composition only.
GOR Only
Use DeLump
Only the Lumping Rule is applied.
Rule Only
This option makes sure that the C1 amount is preserved when
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

2.4.2.1.2 Water Composition


NEW!!!
The "Water Composition" button gives the user access to the different salinity, hydrate and
inhibitor options.

1990-2012 Petroleum Experts Limited

167

GAP

Salt Mode
This option dictates how the salinity is handled.
Use Salinity Only

Use Water Composition

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.
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.
GAP User Guide

August, 2012

User Guide

Convert Salinity to
Composition
Convert Composition to
Salinity

168

This option calculates the equivalent concentration of Sodium


Chloride based on the salinity entered in the "Water Salinity"
field.
This option calculates the salinity based on the composition
entered in the "Salts" section.

Hydrate Model
This option is the same as the hydrate option reported in the main EOS Setup section (see
above 159 ).
Use inhibitors|Salts in Calculation
Yes

This option will use the inhibitor|salt concentrations in the


calculation of the hydrate formation curve which is used to trigger
the hydrate warning 83 flag when this option is activated.
This option means that the inhibitor|salt concentrations are not
used in the calculation of the hydrate formation curve.

No

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.4.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.
2. Enter the compositions at the well level.
Note that it is also possible to perform a batch import of compositions by using
the menu Edit | Import Compositions (related topic 133 ).
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
1990-2012 Petroleum Experts Limited

169

GAP

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.

GAP User Guide

August, 2012

User Guide

170

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.

1990-2012 Petroleum Experts Limited

171

GAP

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 713 following a prediction
run then compositions received from the tanks can be viewed from the wells.
When a reservoir model (MBAL or an external simulator) is linked to GAP, the
composition comes from the reservoir model. If the reservoir model is not
compositional (for example, black oil), GAP will use the composition entered in
the well IPR section and will recombine it in order to match the fluid properties
(GOR) coming from the reservoir model. This means that GAP is able to
determine the composition even if the reservoir simulator is not.

GAP User Guide

August, 2012

User Guide

172

2.4.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 154 ) to use the Lumping/Delumping methodology. This allows the
user to track either the full or the lumped composition.

1990-2012 Petroleum Experts Limited

173

GAP

2.4.2.4 Fully Compositional


If the PVT model is set to 'Fully Compositional', GAP will use an EOS model to determine the
fluid PVT properties used in the network pressure drop calculations. At each node in the system
the program will perform a full flash calculation using the EOS composition to determine the
liquid and vapour in equilibrium and their associated properties (FVFs, densities, viscosities,
phase split). 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.
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.
When using the Fully Compositional model the lumping/delumping methodology
should not be used. The lumping/delumping methodology can only be used in
conjunction with the Black Oil Compositional Lumping/Delumping model.

GAP User Guide

August, 2012

User Guide

174

2.4.2.5 Black Oil Compositional Lumping/Delumping


If 'Black Oil Compositional Lumping/Delumping' is selected as the PVT model option, GAP
tracks the composition of the fluids throughout the network at each iteration of the solver but
performs pipeline, compressor, pump and choke calculations using the black oil correlations
which use the black oil properties calculated from the tracked composition.
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 running the model as Black Oil Compositional Lumping/Delumping, it is possible
to set the EOS Model Setup options ( see above 154 ) to use the Lumping/Delumping
methodology.

1990-2012 Petroleum Experts Limited

175

GAP

2.4.2.6 Viewing Compositional Results


Whenever running one of the compositional options, it is possible to view the composition
anywhere in the GAP network for any calculation performed. For example,compositions at all of
the nodes can be viewed from the 'Solve Network' or the 'Prediction' results as 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.

GAP User Guide

August, 2012

User Guide

176

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.

1990-2012 Petroleum Experts Limited

177

GAP

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.

GAP User Guide

August, 2012

User Guide

178

Similarly, the user can perform a Target H2O calculation to determine the water cut based on a
given composition and vice versa.

1990-2012 Petroleum Experts Limited

179

GAP

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 934 .
The water composition option has been explained previously (see above 166 ).
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.

GAP User Guide

August, 2012

User Guide

180

2.5 Equipment Data


After completing the system drawing, the unique characteristics of each element must be
entered. This and the following chapter describes how to enter data for each element in the
system.
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.5.1 Introduction
This chapter describes the different elements making up a GAP model.
Description is provided on the use of:
Equipment data Entry in general 180
Wells 187
Separators 265
Joints 279
Pipelines 283
Tanks 338 (Reservoirs)
Flares and Vents 346
Pumps 353
Compressors 371
Sources/Sinks 392
Inline elements 400
Inflow elements 436
Groups 438
Flowsheets 442
These elements can all be accessed from the main toolbar.

2.5.2 Equipment Data Entry Screen Format


The main data entry screen is the "Summary Screen", a master section from which all the
equipment data can be entered. Enter the screen by double-clicking the left-hand mouse button
on any equipment icon on the GAP drawing.

1990-2012 Petroleum Experts Limited

181

GAP

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 screen consists of three parts:


The Navigator (Equipment List)
The Section Buttons
The Action Buttons
2.5.2.1 The Navigator - Equipment list
On the right-hand side of the screen is a list of the equipment making up the GAP network.

GAP User Guide

August, 2012

User Guide

182

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. The default is Separator down
Sort i.e. hierarchically going from the separators down to the wells and tanks.
1990-2012 Petroleum Experts Limited

183

GAP

Equipment is accompanied by a tick or a cross indicating the validity of the data


associated with the item. When first entering the screen, the piece of equipment
selected is highlighted in the system window .
2.5.2.2 Section Buttons
For each piece of equipment the data is sub-divided into three sections.
Summary
Input
Results
Section buttons

Master section from which one can access all the different inputs
(i.e. controls, constraints etc.)
Accesses all the sections where data can be entered for the
particular element (for example: IPR, VLP, etc. for a well)
Section where the calculations results are reported.
Each section can be accessed through the corresponding
buttons at the bottom of the screen.

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

Other sections vary depending on the element in consideration.

GAP User Guide

August, 2012

User Guide

184

2.5.2.2.2 Input Button


Clicking the 'Input' button takes the user to the input data screens as shown below.

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.

2.5.2.2.3 Results Button


Clicking on the results button displays the calculation results for the specific equipment.

1990-2012 Petroleum Experts Limited

185

GAP

There are two tabs available for results buttons, one for each calculation type available in GAP:
Network Solver
Results
Prediction Results

Tab reporting the results of the latest 'Solve Network' calculation.


Tab reporting the results of the latest 'Prediction' calculation.

2.5.2.3 Action Buttons


On the screens shown above one can also find a set of buttons that perform various actions such
as, Report, OK, Cancel etc.
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:
GAP User Guide

August, 2012

User Guide

Run
PROSPER / MBAL
OK
Cancel
Help
Revert
Validate

Calculate

186

In the case of a well, this opens the associated PROSPER file which can
be modified or updated. For a tank, this opens the associated MBAL file.
Removes the dialogue screen, saving all of the changes that have been
made in any of the screens.
Removes the dialogue, ignoring all changes. If any changes have been
made, a confirmation message will appear
Displays a help screen which assists the user with an additional
explanation about the currently displayed screen.
This replaces the data of the current screen or tabbed screen with the
data that was current when the screen was entered
Checks the data on the current screen or tabbed screen for validity. This
takes into account the prediction mode or whether or not the system is an
injection system. If the data is not valid, the validation dialogue will appear
with diagnostic messages.
Available for well, compressor and pump elements when the 'Summary'
and 'Input' section buttons are selected.

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
Previous (selected) will 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
editing session (for example, to indicate to the user that a well
Mark All
performance curve has been regenerated). Marked items appear with
Unmark All
their status (tick or cross) displayed in reverse.

1990-2012 Petroleum Experts Limited

187

GAP

2.5.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.
On the well data entry/results screens, there are three sections.
Summary Screen
Input Screen

Results Screen

GAP User Guide

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
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)
Contains the following fields:
Network Solver Results.
Prediction Results

August, 2012

User Guide

188

2.5.3.1 Well Summary Screen


This screen is accessed by clicking on the "Summary" button of the well data entry screen.

Input Fields
Label
Name
Mask

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.
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.
This option allows a well to be added or omitted from the network database
and consequently the calculations.
1990-2012 Petroleum Experts Limited

189

GAP

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

Indicates the well is disabled. A disabled well is permanently excluded from


the system regardless of the events that are included in the well schedule.
Comments
Well Type

Enter any string of comments to provide more detailed information about the
well (for example, date shut-in, fractured, etc.)
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) NEW!!!
Oil Producer (ESP Lifted)
Oil Producer (SRP Lifted) NEW!!!
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) NEW!!!

GAP User Guide

August, 2012

User Guide

190

CBM Water producer (PCP Lifted) NEW!!!


SWAG wells can be modelled using liquid injector or gas injector
well types. GAP handles simultaneous injection of gas and water.

PROSPER
File

Model

The liquid injector well type can be used to model injection of any
liquid, for example polymer or NGL.
GAP can work with PROSPER .OUT files. If a PROSPER .OUT file for this well
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.
Select one of the following:
VLP / IPR
Intersection
PC
Interpolation

Well rates will be calculated based on the intersection of


VLP / IPR curves
Well rates will be calculated based on a performance
curve (PC), which is the curve representing the relationship
between rate and manifold pressure. This option
interpolates between the points of the PC. If this option is
selected, the PC Generation option will be active. The PC
interpolation method can describe up to 20 points.
Outflow Only The well icon is only used to store the VLP curves that
need to be pre-generated. An associated inflow icon will
VLP
then provide the IPR in order to have a complete well
model. This option is used to decompose complex
completions (for example multilayer 765 systems).
Outflow Only The well icon no longer stores any lift curves. When a
pressure drop calculation is required, GAP can calculate it
PROSPER
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 765 can be found in the
Examples Guide section)
Rate Model
(only when
compositiona
l model is
enabled)

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
1990-2012 Petroleum Experts Limited

191

GAP

When
Composition
changes
(only when
compositiona
l model with
lumping/
delumping is
enabled)
Data
Summary
Area

as using the mass mean that the IPRs and VLPs do not need to be
regenerated if the process changes.
This option will lump/delump the composition entering the system through the
wells.

In addition to the selections discussed above, the well summary screen


contains an input data summary area.

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:
Red
Green
Cyan

If the data is invalid or missing


If the data are valid
Indicates that information have been entered (e.g. a
well constraint or dP control setting)

The icons that appear in this area are dependent on well model and
Prediction Type (None / Material Balance / Decline Curve) selection.
For the various fields, the following Status might be displayed:
Tank Connections (Valid/Invalid)
IPR Input Data (Valid/Invalid)
VLP Input Data (Valid/Invalid)
Constraints Data (None/Some/Invalid)
Controls (Set/Not Set)

GAP User Guide

August, 2012

User Guide

192

Pump Control (Artificially lifted wells only) (Set/ Not Set / Not
Appl.)
Performance Curve Data (Only for PC well model) (Valid/
Invalid)
Gas Lift Control (Gas Lifted wells only)(Source name is
displayed)
Downtime (Set / None)
Coning (Set / None)
Scheduling (Set / None)
By clicking on any of these fields, one can access the input data for the field.
2.5.3.2 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.

1990-2012 Petroleum Experts Limited

193

GAP

The user can plot the VLP/IPR intersection by clicking on the 'Plot' button.

The 'Initialise from solver results' can be used to recall the flowing conditions
calculated during a Solve Network 495 calculation. This is useful when
troubleshooting the well performance as these are the same conditions that
occurred in the main calculation.
This will prompt the following VLP/IPR intersection screen:

GAP User Guide

August, 2012

User Guide

194

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.

1990-2012 Petroleum Experts Limited

195

GAP

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.

2.5.3.3 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.
The following table represents the division of the input data:
Tank

GAP User Guide

Enter/visualise tank connections


August, 2012

User Guide

196

Connections
IPR Input

Used to enter/visualise IPR data, either for the well, or per-layer in a


multi-layer well.

VLP Input

Used to enter/visualise the file that contains the lift curve data for the well.

Constraints

Used to enter/visualise the well constraints and abandonment


constraints.

Controls

Used to enter/visualise control data for the well. This allows wells to be
choked back to meet some throughput constraint, or for artificially lifted
wells allows artificial lift control parameters such as pump frequency in
ESP wells to be accounted for in optimisation.

Pump Controls

Used to set the artificial lift quantity to a fixed value (for example, a fixed
operating frequency) or to becCalculated by the optimiser. This section
can be accessed from the 'Controls' section

PC Data

Use this to manually enter/visualise performance curve data, or to


generate the data from VLP/IPR intersections.

Gas Lift Control

Used to set the artificial lift quantity to a fixed value (for example,a fixed
gas lift injection rate) or to be calculated by the optimiser. This section
can be accessed from the 'Controls' section

Production Data

Enter/visualise the production data for the well, for decline curve
predictions.

Downtime

Enter/visualise the percentage of time a well is offline.

Coning

If the well has gas coning the input data may be specified in this screen
for each layer.

Schedule

Enter/visualise the schedule for changing constraints, masking/ unmasking wells during a prediction.

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.

2.5.3.3.1 Tank Connections


This section contains the list of all the tanks (MBAL models) connected to the well.

1990-2012 Petroleum Experts Limited

197

GAP

Use the buttons <<<Add and Remove>>> to create connections or disconnect a well from a
tank.
2.5.3.3.1.1 Multi-Layer Case

In this case, it is simply required to make connections using the two list boxes.
breakthrough constraints and perforation depths are entered in the Well IPR screen.

The

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.

2.5.3.3.2 IPR Input


This screen inputs the well inflow performance data on a per-layer basis.
For a multi-layer well, any number of separate inflow performances can be
modelled (a well model can be producing from as many distinct layers as
the well has in reality).
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
GAP User Guide

August, 2012

User Guide

198

done as well.
IPRs 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)

1990-2012 Petroleum Experts Limited

199

GAP

The data input for all the four sections of the well IPR input us described below:
2.5.3.3.2.1 Ipr Layer input data

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
Fluid Properties Input
PROSPER File for IPR
Select
This section has the following sub-menus:
Layer
List Box
Layer Type

Mask

Use this to select the layer for which data is to be entered. When the list is
produced, each layer appears in the drop down list with "Invalid" or "OK",
representing the status of the IPR layer data.
(Available only for multi layer IPR Producers except WATER producer
and injection Wells)
This can be Oil, Gas, Condensate or CBM NEW!!!. 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.
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
Connection

IPR Type

GAP User Guide

In a multi layer model, this gives the label of the tank which is connected to
the selected layer.
The layer-tank connections are assigned automatically when a tank is
connected to a well and are fixed throughout the life of the well. It is possible
that the tank may be assigned to a different layer if the user chooses to do
so.
Select from the combo box the type of the IPR curve. The current choices
are:
Straight Line + Vogel (Oil and Water Producers / Water Injectors).
Per phase (All wells) NEW!!!
Forcheimer (Gas / Condensate Producers / Gas Injectors)
Forcheimer Pseudo-Pressure (Gas / Condensate Producers / Gas
August, 2012

User Guide

200

Injectors).This method uses the classic Forcheimer equation solved


with a pseudo-pressure method rather than with a pressure square
method.
C and n (Gas / Condensate Producers / Gas Injectors)
Table Look Up (All wells)

The Table Look Up utility has been included in the IPR types for allowing
an easy link between GAP and Reservoir Simulators. It stores the IPR
information generated by the reservoir simulator as a table with oil, gas and
water rates as a function of flowing bottom hole pressure (FBHP). IT
SHOULD ONLY BE USED FOR THOSE APPLICATIONS.
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:
kp

Cross Flow
Injectivity
Index

k0

1.0

p0

Cf

where, p is the layer pressure, kp is the layer permeability at pressure p , k0


is layer permeability at pressure p0 and Cf is the formation compressibility.
(Production systems only & NOT for Table Look Up)
This is only applicable to multi-layer models. In cases where there is crossflow between layers, it is possible to specify an injectivity index to be applied
to the layer for when the cross-flow rates are calculated.
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 smaller the value 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.

1990-2012 Petroleum Experts Limited

201

GAP

In the case of gas wells and retrograde condensate wells, the corresponding
IPR model (that is defined in the IPR type section) will be used instead of the
productivity index. Only the primary coefficient of the IPR description is
required in this case, the non-Darcy coefficient (or n) is set to zero.

IPR Match

A combination of high instantaneous rates and large timesteps


may cause large cumulative volumes of fluid to be transferred
between layers over the timestep. This will lead to unrealistically
large pressures changes to be calculated between the layers and
will make the model unstable. For wells with cross flow between
layers it is recommended to use small step sizes in prediction
mode.
Selecting Match IPR on the IPR Input screen will display the following
dialogue:

Test Layer Pressure


When an IPR transfer from PROSPER is done, this screen is
populated with data from the PROSPER IPR section.
Test Water Cut
See the Relative Permeability Section that follows 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 flowing
bottom hole pressure.

GAP User Guide

August, 2012

User Guide

202

Rate and pressure data can be entered by hand, or pasted from the
Windows clipboard or directly from PROSPERs 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.
When an IPR is generated, the reservoir pressure and PVT
information (e.g. GOR, Water Cut) are used in the calculation of an
IPR.
Different results may be obtained in IPR generation when a tank is
connected to a well and thus uses the tanks PVT calculation,
compared to the situation where the well is isolated and GAP uses its
own calculation.
Gravel Pack

Fluid
Properties

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
(for producer wells)
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)
PVT Data
(NOT for Water
Producers)

Impurity Data

Enter:
Oil / Condensate API
Gas Gravity
Current Water cut/ WGR
Current GOR /CGR
Enter water Salinity
Mole % of CO2, N2, and H2S in gas phase

1990-2012 Petroleum Experts Limited

203

GAP

Use Tank
Impurities
PROSPER
File for IPR

(NOT for Prediction modes None & Decline Curve)


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
For multi-layer well, it is possible to import the specific PROSPER file
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.

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.


'Composition' Button allows to visualise the fluid composition.

Use Original
Composition

GAP User Guide

Selecting the

By ticking this box the original composition entered in the well IPR section
will be used for the calculations, overriding any composition coming from
MBAL or the Working composition present in the well IPR section

August, 2012

User Guide

204

The IPR Input windows contain the following action buttons.

The action buttons have been explained in detail previously 185 and have here exactly the same
role.
The following action buttons are particular to the Input section, and their roles are described
below:
Plot

Calculate
From MBAL

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
Displays the IPR Calculation screen. This allows rates to be calculated from
flowing bottom hole pressures or vice versa based on the resultant IPR.
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.

1990-2012 Petroleum Experts Limited

205

GAP

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:
IPR
Rel Perm
GAP User Guide

To transfer the layer IPR


To transfer the MBAL layer relative permeability data
August, 2012

User Guide

206

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.
The details of data transferred using this facility are:
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

VLP

Rel Perm

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
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
Transfers either the tank or the well relative permeability
depending on the source type.

1990-2012 Petroleum Experts Limited

207

GAP

2.5.3.3.2.2 More Layer Data

This is the second screen in the IPR input. It has the following sections:
Layer
Selection
Relative
Permeability

This is the place where the current layer is selected. This by default is the
same layer as selected in the first screen
(NOT for Injectors and Water Producers). See description below:

Relative Permeability Section


The fields available are:
Prediction
Fractional
Flow
Rel. Perm

Here, we define the set of relative permeability curves that GAP uses for:
1. Calculating water cut and producing GOR (CGR/ WGR in gas / Condensate)
wells during prediction (Material balance).
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.
The Options available are:
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 209 ) the user can directly enter the WC and the
GOR as a function of time, pressure or cumulative production

Shift Rel
Perm to
Breakthrou
gh

The option "Shift Rel Perm to Breakthrough" is used to smooth the set of relative
permeabilities of water or gas, after the breakthrough occurs (see "Breakthrough
and Perforation Depths" section hereafter). If this option is turned off, and the gas
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.

GAP User Guide

August, 2012

User Guide

208

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:
M test

K rw

K ro

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

PI test

M
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
1990-2012 Petroleum Experts Limited

209

GAP

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.
In case this option is set to No
The oil and water mobility values are calculated on the basis of the assumption
that the free gas down hole is zero. In the this case only the Test WC is required to
determine the fractional flow of water (Fw ). The saturations that satisfy the Fw and
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).
Breakthrou (ONLY for Material Balance Prediction)
ghs and
The breakthrough saturation can be defined on the basis of:
Perforation
Gas Saturation or Gas Contact (Oil layers only). As soon as the Oils
Water contact or Gas-Oil contact predicted by MBAL reach the specified
depths the breakthrough is triggered and the respective phases can flow.
Water Saturation and Water Contact (OIL / GAS/ CONDENSATE layers).
Oil Saturation (CONDENSATE Layers ONLY).
Top and bottom perforation depths (Perforation depths are currently
used only when performing gas coning calculations)

Entering the Fractional Flow rel perms as Tables


It is possible to enter directly the profile of WC and GOR (or WGR for gas) as a function of time,
reservoir pressure or cumulative production. To do this, select from the drop down menu the
option "from Table 1 or 2", as shown below:

GAP User Guide

August, 2012

User Guide

210

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).
2.5.3.3.2.3 Production Data

This option is active only when the "Decline Curve" 348 option is selected in the tank model. For
running predictions, GAP requires the current GOR and Water Cut for each well in order to
calculate the well behaviour for some future condition. When running a prediction using decline
curves GAP interpolates from a table of GOR and water cut as a function of reservoir pressure,
which must be entered for each well.
If the 'Decline Curves' option is active then the "Prod. Data" tab becomes available and the data
is entered as shown below.

1990-2012 Petroleum Experts Limited

211

GAP

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.
The required input fields are:
Current
Layer Pressure
Interpolate on

Reservoir pressure at which to evaluate the GOR and Water Cut


Curves can be expressed either as a function of Reservoir Pressure or
Cumulative Production.

Action Buttons:
Calculate

GAP User Guide

Calculates the water cut and GOR for the Current reservoir pressure

August, 2012

User Guide

Plot

212

Displays the production data in graphical form. Use 'Variables' on the 'Plot'
screen to switch between GOR and water cut.

2.5.3.3.2.4 Tight Gas IPR

As opposed to the other pseudo-steady state IPR models, the Tight Gas IPR model is transient
and is based on type curves. As the model is transient, a complete description of the rate history
is required along with the reservoir model (for example, a bounded fractured reservoir which is
the PD function)
The reservoir model is created within the well IPR section, and therefore the
'Tight Gas' well cannot be linked to any reservoir models in GAP.
The 'Tight Gas' model is selected from the Summary section of the well screen, as shown below.

1990-2012 Petroleum Experts Limited

213

GAP

IPR Layer section


The inputs required for the IPR section of the 'Tight Gas' well are:

Where, in addition to the fluid properties entries:


The reservoir characteristics are entered separately for each well. Note that the drainage area
radius entry should be a result of a Type Curve Analysis, that can be carried out in MBAL. An
example of a type curve characterisation is given in the MBAL manual.
The Darcy (S) and Non-Darcy Skins (D) are the skins relating to the transient inflow equation:

m Pi

m Pwf

1442T
kh

Qj

Qj

PD t dn

t dj

SQn

DQn2

j 1

The "Current Time" input data is only used when the network is solved at a particular date. In
that case, the time since the production started is calculated based on the difference between
the "Current Time" entered and the "Start of Production" entered. For prediction runs, the time
since production started is calculated based on the current prediction time.
The time can be considered as "Normal Time", "Pseudo Time (Pwf)" or "Normal Time (Pbar)".

GAP User Guide

August, 2012

User Guide

214

The dimensionless time td in the equation above is:

td

0.000264 kt
2
ct i rw

where the subscript i refers to the evaluation of these parameters at the initial pressure. The
time t can be considered as either the
The "Normal time" (time since the production started)
The "Pseudo Time (Pwf)":
t

ct

i
t0

dt
ct Pwf

where the subscript Pwf refers to the evaluation of these parameters at the bottom hole
pressure.
The "Pseudo Time (Pbar)":
t

ct

i
t0

dt
ct

where the subscript P"bar" refers to the evaluation of these parameters at the average
reservoir pressure.
More information about this model and its theory can be found in the MBAL User Guide.
PROD DATA section
In this section, the production history is entered. It will be used to update the IPR for the first
timestep of the prediction.

1990-2012 Petroleum Experts Limited

215

GAP

2.5.3.3.2.5 Grid View

This screen also has the summary of all layer IPR data entered. The column headings are the
same as those displayed in the basic IPR Input screen (multi-layer case). To display total IPR
plots for a multi-layer well, go to the IPR Grid View and press Plot from that screen. This will
display the plots for the individual layers, as well as the overall IPR for all the layers.This is only
available in a multi-layer well model.
Action Buttons
Plot

GAP User Guide

Plots the total well IPR, in addition to the individual layer IPRs for all valid
layers.

August, 2012

User Guide

Calculate
Report

216

Invokes the IPR Calculation screen. This performs rate and bottom hole
pressure calculations based on the total well IPR (not the individual layer
IPRs).
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)

2.5.3.3.2.6 Abandonment Section

This section is where the abandonment constraints (i.e. maximum GOR, maximum WC,
minimum Liquid Rate) for the well or the individual layers are entered. If these abandonment
constraints are met during the prediction, then the well or layers will be disabled by GAP for the
entire duration of the prediction without the option to schedule them to come back on.

1990-2012 Petroleum Experts Limited

217

GAP

Wells can be abandoned based on:


Maximum Gas Oil Ratio
Maximum Water Cut
Maximum Water Gas Ratio
Minimum Liquid Rate
Minimum Oil Rate
Minimum Gas Rate

2.5.3.3.2.7 Note on water injector's IPR

The IPR screen displayed for the "water injector" well is shown below.

GAP User Guide

August, 2012

User Guide

218

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.

1990-2012 Petroleum Experts Limited

219

GAP

Bottom Hole Pressure

Fractured dP
i.e. Frac dP

Initial Reservoir
Pressure

Normal PI
i.e. P.I.

Fractured PI
i.e. Frac PI
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.5.3.3.3 VLP Input
This screen allows the user to specify the data file that contains the VLP tables of the well. If the
table does not exist, it can be generated using the using GAP. Details on the VLP generation
are given in the VLP/IPR generation 447 section.
The screen appears as follows:

GAP User Guide

August, 2012

User Guide

220

In this screen, the following input fields are available:


VLP File Name
Turn off if unstable
Force Left Hand Side Intersection (Solver)
Allow Left Hand Side Intersection (Optimiser)
Safe VLP/IPR intersection
Import/Export
Inspect
Generate
VLP Information
VLP
File Name

In this field, a valid vertical lift performance (VLP) file is required. The
data file is a binary file. The file can be loaded/generated in the following
ways:

1990-2012 Petroleum Experts Limited

221

GAP

1. Using the "Import" button as shown. This button allows import of


the following lift curve formats:
*.TPD Petroleum Experts General GAP/ MBAL Format.
(These can be generated in PROSPER well models).
*.MBV Petroleum Experts MBAL Format. (These can be
generated in PROSPER well models).
*.ECL Eclipse Format. (Generated by any nodal analysis
well modeling package).
*.VFP Eclipse Format. (Generated by any nodal analysis
well modeling package).
Once files with this format are imported, GAP automatically
creates a *.VLP file and saves it for its own use.
2. Using the "Browse" button to pick up an existing VLP File.
3. Using the "Generate" button. This Generate button is a shortcut to
the GAP main VLP generation menu.
4. Using the "Generate VLP from PROSPER" command in the
Generate menu which can be accessed from the main screen to
batch generate the lift curves for all the wells in the model with
valid PROSPER files.
The label alongside the VLP file names will read either OK or Invalid.

Import
Export
Turn off if
unstable
Force Left
Hand Side
Intersection
(Solver)

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.
Imports VLP files of various formats into GAP (see above.)
A VLP table can be exported as a *.tpd file for use in other wells or
applications.
This option closes the well as soon as the well becomes unstable (when
the VLP and IPR intersect on the left-hand section of the VLP)
Selecting this option will force the solver to select the well rates
(calculated by VLP / IPR intersection) on the left hand side of the
minimum stable rate as indicated by the VLP. The two plots below
illstrate the concept.
Right hand intersection: Stable Well Production

GAP User Guide

August, 2012

User Guide

222

Left hand intersection: Unstable Well Production

Allow Left
Hand Side
Intersection
(Optimiser)
Safe

Checking this option will allow the optimiser to use the unstable part of
the lift curve in the search for the optimum solution. This can be the case
in wells which are coning gas for instance, where a higher Well Head
Pressure will result to higher liquid rates (as the cone is eliminated)
This is a new feature in GAP 5.0 and is an improvement in the case of
1990-2012 Petroleum Experts Limited

223

GAP

VLP/IPR
intersection

Inspect
Generate
VLP Information

complex lift curves (primarily for gas coning wells). As the GOR for these
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
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.
This option accesses the VLP generation dialogue (see below 466 )
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)

When a new well model is constructed, it is recommended to go through the


Generate menu option as this ensures that the VLPs are representative of the well
model and the correct variable formats are used.

.
2.5.3.3.3.1 Inspection of VLP Data

The VLP data that is associated with the VLP file can be inspected manually by selecting the
"Inspect" button from the VLP Input screen.

GAP User Guide

August, 2012

User Guide

224

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.
It is recommended to check the VLP data manually before, running the
prediction cases in order to check the data validity.
On this screen, there are a few action buttons. These are:
OK

Validate and go back to the previous panel

Cancel

Disregard all changes and go back to the previous panel

Validate

To visualise eventual out-of-range data

Plot

The "Plot" button can be used to plot multiple VLP curves and to verify the
quality of the curves.

1990-2012 Petroleum Experts Limited

225

GAP

The 'Variables' menu can be used to select which sensitivity variables to plot.
Help

To visualise this panel

2.5.3.3.4 Well Constraints

2.5.3.3.4.1 General Constraints

Well constraints can be used to control a well to meet physical or contractual requirements.
Select the "Constraints" tab to view the available well constraints.

GAP User Guide

August, 2012

User Guide

Maximum
Temperature
Minimum Well
Flowing
Bottom-hole
Pressure
Maximum Draw
Down

Well
Optimisation
Weighting
Maximum
Liquid
Production /
Injection
Minimum
Liquid
Production /
Injection Rate
Maximum Gas
Production /

226

Rates are controlled based on this maximum temperature at the wellhead


Well is shut in or choked back if the flowing bottom hole pressure falls below
this value

GAP will ensure that the drawdown (difference between reservoir and
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
This is a multiplier that is used on the well production during the optimisation
process.
(Not for gas wells)
Well production cannot exceed this maximum. Naturally flowing wells will be
choked back using 'dP Control' if necessary to meet the maximum rate
constraint. Artificially lifted wells will be controlled using both 'dP control' and
artificial lift specific controls to meet the maximum rate constraint
(Not for gas wells)
GAP will try to produce this minimum rate irrespective of oil rate
optimisation considerations.
(Gas Wells)
Sets upper production limit for the well considered

1990-2012 Petroleum Experts Limited

227

GAP

Injection
Minimum Gas
Production /
Injection
Binding
(Yes / No)
Potential
(Yes / No)

(Gas Wells)
GAP will try to produce this minimum gas rate irrespective of optimisation
considerations
This option can be used to set whether a particular constraint is binding or
not (see binding/not binding topic 146 )
Includes or excludes the constraint in the potential calculations

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 233 section) the constraints screen will display
new constraints relevant to gas lifted wells.
The following constraints are available for gas lifted wells control:
Maximum gas
injection rate
Minimum gas
injection rate
NO-CLOSE
minimum gas
injection rate

GAP will not inject more gas lift gas than the entered amount
GAP leaves the well shut in unless it deserves at least this volume of
gas to optimise production
Forces GAP to allocate this volume of gas irrespective of whether the
well should be allocated gas to optimise production or not. Used to
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.
The following constraints are available for diluent wells control:
Maximum
diluent rate
Minimum
diluent rate

Used to set field operational limits for diluent injection


GAP leaves the well shut in unless it deserves at least this volume of
diluent to optimise production

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
GAP User Guide

August, 2012

User Guide

228

according to the type of artificially lifted mechanism in question (i.e. HSP, ESP etc)
The following constraints are available for pump lifted wells:
Maximum Pump Frequency (ESP Wells)
Minimum Pump Frequency (ESP Wells)
Maximum Power Fluid Rate (HSP and Jet Pump Wells)
Minimum Power Fluid Rate (Jet Pump Wells)
Maximum Speed (HSP, PCP and SRP Wells)
Minimum Speed (HSP, PCP SRP Wells)
Maximum motor power
Minimum motor power
Maximum power fluid surface pressure (HSP wells)
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:
Table of Operating Frequency vs. Minimum Pump Rates (ESP Wells)
Table of PCP Speed vs.Minimum Pump Rates (PCP Wells)
Table of SRP Speed vs.Minimum Pump Rates (SRP Wells) NEW!!!
Table of Power Fluid Rate vs. Minimum Pump Rates (Jet Pumps Wells)
Table of Rotational Speed vs. Minimum Pump Rates (HSP Wells)
To enter these constraints tables, click the "Pump" subsection tab from the 'Constraints' menu,
as illustrated below for an ESP Well.

1990-2012 Petroleum Experts Limited

229

GAP

2.5.3.3.4.2 Abandonment Constraints

Abandonment constraints can now be set from the data entry screen and on a perlayer basis.
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.
The following abandonment can be set:
Maximum GOR
Maximum WC
Maximum WGR
Minimum Liquid Rate
Minimum Oil Rate

GAP User Guide

August, 2012

User Guide

230

Minimum Gas Rate

2.5.3.3.4.3 Symbols

When setting 'Constraints', the program will plot in the network picture two arrows pointing
towards the element.

General
Constraints
Abandonment
Constraints

red arrows pointing to the element


blue arrows pointing to the element

2.5.3.3.4.4 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'
Abandonment' section. As soon as the well production decreases below the set
minimum abandonment constraint, the well will be automatically closed by GAP.
2.5.3.3.5 Controls
The Controls section allows the user to specify choke settings and artificial lift controls (in the
case of an artificially lifted well).

1990-2012 Petroleum Experts Limited

231

GAP

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

Artificial Lift
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.
A thin red square (rounded at the edges) is set around the well icon.
If the square is dashed, the control is set to 'Fixed Value'
If the square is solid, the control is set to 'Calculated'

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

GAP User Guide

August, 2012

User Guide

232

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

Calculated

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

1990-2012 Petroleum Experts Limited

233

GAP

2.5.3.3.5.3 Gas Lift Control

Gas Lift Control


Control Mode

Fixed Gas
Lift Gas
Injection Rate
Fluid Properties

GAP User Guide

(Fixed / Calculated)
The gas lift gas rate injected into the well can be controlled by GAP by
setting the control mode field to "Calculated".
A range for the minimum and maximum gas lift gas injection rate can also
be specified
The value of gas lift gas injection rate that GAP will use in calculations for
fixed gas lift gas rate.
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.

August, 2012

User Guide

234

2.5.3.3.5.4 ESP Control

ESP Control
Frequency
Control

Fixed
Frequency

(Fixed / Calculated)
The operating frequency of the pump can be controlled by GAP by setting
the control mode field to "Calculated".
A range of minimum and maximum ESP frequencies can also to be
specified.
The value of fixed operating frequency of the pump that GAP will use in
calculations for fixed frequency control.

1990-2012 Petroleum Experts Limited

235

GAP

2.5.3.3.5.5 Diluent Control

Diluent Control
Control Mode

Fixed Diluent
Rate
Fluid Properties

GAP User Guide

(Fixed / Calculated)
The diluent rate injected into the well can be controlled by GAP by setting
the control mode field to "Calculated".
A range of minimum and maximum diluent rates can also be specified.
The value of fixed diluent rate that GAP will use in calculations for fixed
diluent injection rates.
The fluid properties of the diluent used can be specified.

August, 2012

User Guide

236

2.5.3.3.5.6 Diluent Control with Gas Injection

Diluent Control
Control Mode

(Fixed / Calculated)
The diluent rate injected into the well can be controlled by GAP by setting
the Control Mode field to "Calculated".

Minimum and Maximum gas injection rates need to be specified.


Fixed Diluent/Gas The value of fixed gas injection rate that GAP will use in calculations, for
Injection Rate
fixed gas/diluent injection rates.
Diluent Rate
The rate of diluent injection expressed as a fraction.
Fluid Properties

The fluid properties of the diluent used can be specified.

1990-2012 Petroleum Experts Limited

237

GAP

2.5.3.3.5.7 SRP Control

SRP Control
Speed Control

Fixed Speed

GAP User Guide

(Fixed / Calculated)
The operating speed of SRP wells can be controlled by GAP by setting
the Control Mode field to "Calculated".
Minimum and Maximum pump speeds need to be specified.
The value of pump speed that GAP will use in calculations, for fixed
speed control.

August, 2012

User Guide

238

2.5.3.3.5.8 HSP Control

HSP Control
Control Mode

(Fixed / Calculated)
The rotational speed in HSP wells can be controlled by GAP by setting
the control mode field to "Calculate".

A range of minimum and maximum rotational speeds can also be


specified.
Rot.Speed
The value of fixed rotational speed that GAP will use in its calculations
when running the pumps at fixed rotational speed.
Power Fluid Mode Specifies if the power fluid is commingled with the production fluid or in a
closed loop.
If the power fluid is commingled with the production fluid, its impact on the
pressure drop throughout the system will be taken into account (i.e. the
change in the fluid properties).
Fluid Injected
The fluid properties of the power fluid used can be specified in this
section.

1990-2012 Petroleum Experts Limited

239

GAP

2.5.3.3.5.9 Jet Pump Control

Jet Pump Control


Control Mode

(Fixed / Calculated)
The power fluid rate injected in jet pump wells can be controlled by GAP
by setting the control mode field to "Calculated".

A range of minimum and maximum power fluid rates can also be


specified
Fixed Power
The value of fixed power fluid rate that GAP will use in calculations for
Fluid Rate
fixed power fluid rate.
Power Fluid Mode Specifies if the power fluid is commingled with the production fluid or in a
(Available only in closed loop.
the Well Summary
If the power fluid is commingled with the production fluid, its impact on the
screen)
pressure drop throughout the system will be taken into account
Fluid Properties
The fluid properties of the power fluid used can be specified.

GAP User Guide

August, 2012

User Guide

240

2.5.3.3.5.10 PCP Control

PCP Control
Speed Control

Fixed Speed

(Fixed / Calculated)
The operating speed of PCP wells can be controlled by GAP by setting
the control mode field to "Calculated".
A range of minimum and maximum pump speeds can also be specified.
The value of fixed speed that GAP will use in calculations for fixed speed
control

2.5.3.3.5.11 CBM Control

CBM wells can either be artificially lifted with either ESP's or PCP's and the controls are the
same as described in the previous sections.

1990-2012 Petroleum Experts Limited

241

GAP

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

2.5.3.3.5.12 Fluids Property Setup

For artificial lift systems associated with an injection/power fluid, it is possible to alter or modify
the fluid properties used in the 'Control' screen. Take for example the gas lift gas associated
with a particular well:
The 'Control' screen allows the user to change/define the gas lift source properties that are
associated with the well.

GAP User Guide

August, 2012

User Guide

242

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.
2.5.3.3.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 188 ), which can
be entered by hand or calculated on the basis of the well VLP/IPR.

1990-2012 Petroleum Experts Limited

243

GAP

The quality of the performance curves used can be verified by accessing the menu Results | Plot
Performance Curves, as shown in the following section 570 . This feature helps to validate if the
VLPs and IPR have been correctly generated.
2.5.3.3.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 197 and Well VLP Input screens. It is called from the Well PC Data
screen from the 'PC Generation' button.
Input Fields
Reservoir
Pressure
IPR dP Shift
PVT Data
Manifold
Pressures

GAP User Guide

The current reservoir pressure


If enabled (from the Use IPR dP checkbox), offsets the reservoir pressure
used by the IPR
These fields contains the PVT data for the IPR i.e. water cut, GOR, oil
gravity and gas gravity (for an oil well).
These fields contain the wellhead pressures used to generate the
performance curves. For non-gaslifted wells, clicking the Automatic WHP
button will allow PC generation using a set of pressures which cover the
August, 2012

User Guide

244

wells operating range.


The reservoir pressure, PVT quantities etc. are the same as those
entered in the well 'IPR Input' screen.
Command Buttons
Generate

Use this button to calculate the performance curves.

Ok

Cancel

Use this button to leave the screen and save all the changes that have
been made. The data generated in any 'Generate' process will be written
to the well PC input dialogue
Use this button to leave the screen and ignore any changes made

Help

Use this button to access this screen

2.5.3.3.7 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).
Production constraints are evaluated using the instantaneous well rates.
2.5.3.3.8 Coning (For Oil Producers Only)
Coning of gas from a reservoir can be accounted for in the GAP well models.
Two scenarios are possible:
1. The well layer is not linked to any MBAL model. In that case one can directly switch the mode
from 'None' (no coning) to one of the coning options
2. The well layer is linked to a MBAL model. In this case, the mode option will be active only if
the coning model has been enabled in MBAL first.
See the MBAL manual for more information on the theory behind the gas coning models.

1990-2012 Petroleum Experts Limited

245

GAP

Layer Selection

Mode

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.
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:
Analytic

This option matches an analytical method to the profile of


liquid rate vs produced GOR
Lookup Table Allows the liquid rate vs produced GOR to be entered as a
table (Up to 10 points can be entered).
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.

GAP User Guide

August, 2012

User Guide

246

Matching Data/Test These are used to evaluate the coning coefficients F2, F3, and the
exponent. Enter up to three match points (liquid rate against producing
Data
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.5.3.3.9 Schedule (ONLY for Prediction)
Scheduling is used during the prediction to change the well constraints or to include or exclude
equipment in the system at a specific date during the forecast.

Since IPM version 6, it is possible to schedule any variable to be changed using the variable
OPENSERVER access string.

1990-2012 Petroleum Experts Limited

247

GAP

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 water cut is displayed below.

GAP User Guide

August, 2012

User Guide

248

2.5.3.4 Outflow Only Well


This method is a feature that offers greater flexibility in terms of modelling downhole networks
(multilayer systems and smart well completions). This option can be activated from the well
summary screen as shown.

Two methods are available for the Outflow only well:


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.
1990-2012 Petroleum Experts Limited

249

GAP

The IPR part of the well needs to be considered separately using an inflow icon, which is
described in the Inflow section 436 .
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:

2.5.3.4.1 Outflow Only - VLP


If the VLP only case is selected then the well icon will only include the lift curves. In the 'Input
Data' section only data relevant to the outflow part of a well can be entered.

GAP User Guide

August, 2012

User Guide

250

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 466 section for details on the VLP
Generation).
The functions of this screen have already been explained in the previous section of this chapter.

2.5.3.4.2 Outflow Only - PROSPER


This option can be selected from the well summary screen.
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.
There are two main advantages for using this method:
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
1990-2012 Petroleum Experts Limited

251

GAP

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.

2.5.3.4.2.1 Importing the equipment data from PROSPER

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.

GAP User Guide

August, 2012

User Guide

252

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:

1990-2012 Petroleum Experts Limited

253

GAP

In this screen the 'Options' selected in the PROSPER file can be viewed.
Moving to the PVT section:

GAP User Guide

August, 2012

User Guide

254

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.

Following the PVT, the equipment section can then be accessed:

1990-2012 Petroleum Experts Limited

255

GAP

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.
Note on 'Surface Equipment' in PROSPER: There is no need to include any
surface pipelines in this section as they can be described separately in GAP. The
user has the option of including a single flow line leading from the well-head to a
manifold in either program depending on the objective of the model. However,
pipelines that carry fluid originating from more than one well need to be
described as separate GAP pipelines.
The next section is related to erosional velocities and solids transport. Selecting the Solids
button will prompt the following screen:

GAP User Guide

August, 2012

User Guide

256

The variables in this section there are:


Density of sand
Sand production
rate and S factor
C factor

Turner Constant

Used to calculate the maximum grain diameter that can be transported


based on the velocities in the well.
Will be used to determine the erosional velocities in the pipe using the
Conoco model (Improvement to API14 E)
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.
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:

1990-2012 Petroleum Experts Limited

257

GAP

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.

2.5.3.4.2.2 Entering The Equipment in GAP Directly

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.
2.5.3.4.2.3 Completing the Outflow Only Well - Inflow Performance Setup

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:

GAP User Guide

August, 2012

User Guide

258

An example of how to set up a model with inflow and outflow elements can be found in the
Examples Guide 765 .
2.5.3.5 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
Results Screen

The results screen is divided into two sections. The first is the network
solver results associated with the previously solved network calculation.

1990-2012 Petroleum Experts Limited

259

GAP

Prediction
Results Screen

GAP User Guide

The second is the 'Prediction' results which is only valid if a prediction


run has been carried out:

August, 2012

User Guide

260

2.5.3.5.1 Gradient Results


In the case where the well is modelled as an "Outflow only well PROSPER" well, the results after
a solve network or a prediction calculation will include a new option to view the gradient results.
This can be accessed from the results screen as shown.

Selection of this option will prompt the 'Gradient calculation' screen from PROSPER and display
the gradient traverse calculations.

1990-2012 Petroleum Experts Limited

261

GAP

This feature includes up to an additional 77 variables including


erosional velocity, hold-up, slip velocity etc.

2.5.3.5.2 Well Layer Results


In the case where the well is connected to more than one Layer (as in Well_A in the system
below).

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.

GAP User Guide

August, 2012

User Guide

262

This allows access to the results of each layer:

1990-2012 Petroleum Experts Limited

263

GAP

Crossflow is calculated based on the IPRs of each layer. A crossflowing layer will be
displayed with negative rates in the layer results.

2.5.3.5.3 Reporting Results


All the results can be exported in a variety of formats using the Report Button.

Selecting the "Report" button will prompt the following screen.

GAP User Guide

August, 2012

User Guide

264

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.

1990-2012 Petroleum Experts Limited

265

GAP

2.5.4 Separators (Production / Injection)

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
Input Screen

Results Screen

This allows the selection of different separator types, and also gives
the status of various aspects of the separator input data.
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)
Contains the following fields:
Network Solver 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.

GAP User Guide

August, 2012

User Guide

266

2.5.4.1 Separator Summary Screen


When double-clicking on a separator in the system view, the main data entry screen initially
displays the separator summary screen as shown.

1990-2012 Petroleum Experts Limited

267

GAP

Input Fields
Label

Name
Comments
Mask

Maximum of 18 characters allowed. This defaults to the name supplied in


the label dialogue box when the separator icon was initially added to the
system. If blank, enter a short name or abbreviation to identify the icon on
the screen.
Maximum of 32 characters allowed. Use this field to enter a full or
descriptive name, if any, for the separator. This name will appear in the
reports generated by the allocation calculations.
Enter any string of comments that gives more information about the
separator e.g. date brought on stream, etc.
This option allows a separator to be added or omitted from the network
database and consequently the calculations. When the separator is not
to be taken into account in the system calculations, two options are
available:
Mask
Disable
Please refer to the section above 188 for description of these options.

GAP User Guide

August, 2012

User Guide

Separation Type

Data Summary
Area

268

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 NEW!!!
This field contains the summary of the data that is needed in the input
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.

2.5.4.2 Separator Input Screens


The information required for the different input screens depends on the type of separator
(production or injection) and the type of prediction (None/ Material balance/Decline Curve).
The following sub-sections explain the details of these input screens.

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

1990-2012 Petroleum Experts Limited

269

GAP

Constraints should not be entered until the entire GAP model has been validated against
measured production data (provided this is available).
Operational, environmental or mechanical constraints at the separator can be modelled by
entering the appropriate constraint values. When left blank, GAP assumes that there are no
constraints for this item. The program will not check that conflicting constraints have been
entered and it is important that the engineer takes care when applying them.
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).

GAP User Guide

August, 2012

User Guide

270

This is same for any other piece of equipment with constraints in the system.
The total list of of available constraints are as follows:
1) Maximum water production/ injection
2) Maximum gas production / injection
3) Maximum liquid production / injection
4) Maximum oil production / injection
5) Maximum LNG Production NEW!!!
6) Maximum condensate production NEW!!!
7) Minimum gas injection rate
8) Maximum power
9) Minimum pressure
10) Maximum pressure
11) Maximum CO2, H2S, N2
12) Minimum oil specific gravity
13) Maximum Gross Heating Value
14) Maximum Specific Gross Heating Value
15) Unscheduled production deferment
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 143 tables section for details.
Use constraints with caution. It is recommended to review the notes on
constraints 230 provided in the manual before formulating the optimisation
problem.

1990-2012 Petroleum Experts Limited

271

GAP

2.5.4.2.2 Separation (PRODUCTION Separators ONLY)


This is required only for the production separators. At each separator it is possible to define the
proportion (expressed as either a fraction or a percentage) of the phases that are separated.

2.5.4.2.3 Plant Process (ONLY for LNG Process Plant)


NEW!!!
This input screen defines the relative proportions (expressed as either a fraction or a
percentage) of the fluid components that make up the LNG and the condensate.

GAP User Guide

August, 2012

User Guide

272

Populate from
solver results

This option will transfer all of the component names (i.e. C1, C2 etc.) from
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
a .PRP file. The user can then enter the LNG fractions for each
file
component.
2.5.4.2.4 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 246 for a description
of the feature.
2.5.4.3 Injection Fluid Details (INJECTION Man.Only)
This is required for gas, water and steam injection systems. The properties of the oil/gas/water/
steam (quality) that are to be injected are specified in the list of injected fluids. If one of the
compositional PVT options is active then the user will also have the option to enter the
1990-2012 Petroleum Experts Limited

273

GAP

composition.

To modify the fluid properties select the "Edit List" button.

Note on "Steam Injection Manifolds":


The internal steam calculator will automatically calculate the saturation pressure and minimum
enthalpy given the injection temperature (inputted) and the steam quality (inputted in the fluids'
list).

GAP User Guide

August, 2012

User Guide

274

2.5.4.3.1 Steam Injection Source

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.

1990-2012 Petroleum Experts Limited

275

GAP

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
Injection Fluids' window or from the Input | Fluid screen.
Steam Calculator

GAP User Guide

August, 2012

User Guide

276

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
Range

The following screen is used to enter the temperature and pressure ranges to
calculate the steam properties.

Press the "Calculate" button to access the calculator screen.


"Calculate" in the second screen to see the steam properties.

Press

1990-2012 Petroleum Experts Limited

277

GAP

All the properties can be plotted using the "Plot" button.


Calculate
Single

GAP User Guide

Entering the pressure and enthalpy into the steam calculator will calculate the
steam properties at these conditions.

August, 2012

User Guide

278

1990-2012 Petroleum Experts Limited

279

GAP

2.5.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 180 section).

2.5.5.1 Joint Summary Screen


The summary screen appears in the main data entry screen when double-clicking on a joint in
the system window:

GAP User Guide

August, 2012

User Guide

280

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

2.5.5.2 Joint Input Screen


The various input categories are displayed in the tabs at the bottom part of the screen. Navigate
through the input screens by clicking on the appropriate tab.
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.

1990-2012 Petroleum Experts Limited

281

GAP

2.5.5.3 Joint Constraints


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.
The full list of constraints that may be set is:
1) Maximum water production/ injection
2) Maximum gas production / injection
3) Maximum liquid production / injection
4) Maximum oil production / injection
5) Minimum gas injection rate
6) Maximum power
7) Minimum pressure
8) Maximum pressure
GAP User Guide

August, 2012

User Guide

282

9) Maximum CO2, H2S, N2


10)Minimum oil specific gravity
11)Maximum Gross Heating Value
12)Maximum Specific Gross Heating Value
Use constraints with caution. It is recommended to review the notes on
constraints 230 provided in the manual before formulating the optimisation
problem.

2.5.5.4 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 246 for a description
of the feature.

1990-2012 Petroleum Experts Limited

283

GAP

2.5.6 Pipelines

Pipeline connections are represented by blue pipe segments drawn across the centre of the line
connecting two joints.
A pipeline is created by connecting two joints together (refer to Case 1 in
the figure below). One joint is needed to specify the beginning of the pipe
and another for the end.
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 180 ).
Summary
Screen
Input Screen
Results

GAP User Guide

This screen provides a summary of the method used to calculate pressure


drops, the input data and the flow correlation in for the pipeline. See the
following section for further details
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
Contains the following fields:
August, 2012

User Guide

Screen

284

Network Solver Results.


Prediction Results

2.5.6.1 Pipeline Summary Screen


The pipe summary screen is displayed by default when double-clicking on a pipe icon in the
system window.

Input data
Label

Name
Mask

Maximum of 18 characters allowed. This defaults to the name supplied in


the label dialogue box when the pipe element was initially added to the
system. If blank, enter a short name or abbreviation to identify the icon on
the screen.
Maximum of 32 characters allowed. Use this field to enter a full or
descriptive name, if any, for the pipeline. This name will appear in the
reports generated by the allocation calculations.
This option allows a pipeline to be added or omitted from the network
database and consequently the calculations. When the pipeline is not to
1990-2012 Petroleum Experts Limited

285

GAP

be taken into account in the system calculations, two options are


available:
Mask
Disable
Comments
Pipe Type

Please refer to the section above 188 for description of these options.
Enter any string of comments that gives more information about the
pipeline e.g. date brought on stream, etc.
Pressure drops in the pipe can be calculated using three options (see
below). One can use; the internal correlations of GAP, PROSPER on line or
lift curves. Options on the summary screen will change depending on the
method used. The following sections will describe each of these in detail

Pipe Type
Pressure drops in the pipe can be calculated using three options.
GAP Internal
Correlations
Lift Curves
PROSPER on line

Multiphase flow correlations are used for the pressure drop calculation.
This is the recommended modelling approach.
Sets of VLP curves can be imported (for example from PROSPER or from
GAP Internal Correlations themselves)
PROSPER is called from GAP and is used for the pressure drop
calculations.

Options on the summary screen will change depending on the method used. The following
sections will describe each of these in detail.
2.5.6.2 GAP Internal Correlations

GAP User Guide

August, 2012

User Guide

286

The GAP Internal Correlations calculation method is the recommended approach for
modelling pipelines in GAP.
This method calculates the pressure drops on the fly using the internal PVT and pressure drop
correlations of GAP.
Correlation
Correlation
Coefficients

Oil Viscosity
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.
These fields display the gravity and friction coefficients that are used in
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).
The oil viscosity correlation can be selected for each pipeline
independently of the default oil viscosity correlation specified in the
'System Settings' (Edit | System Settings). The following correlations are
available:
Beal et al
1990-2012 Petroleum Experts Limited

287

GAP

Oil Pb, Rs, Bo


correlation

Gas Viscosity
Correlation

Emulsion
Lumping
Calculation
Mode
Data Summary
Area

Beggs et al
Bergman-Sutton
Egbogah et al (Heavy Oil)
Petrosky et al
The Bubble Point, Solution Gas Ratio, and Oil FVF correlations can be
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
The gas viscosity correlation can be selected for each pipeline
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
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.
(active only when compositional model is enabled) This option allows the
user to specify which composition to use for the main calculation. if
<System Default> is selected, the program will use the Lumped or the
De-Lumped composition as specified in the menu Options | Method
This shows the status of the various aspects of item data which are
described in the following sections.

2.5.6.2.1 Pipe Input Data


If the link is to be used to calculate the pressure drop along a section of pipe then a description
of the pipeline geometry is required. If the calculation method is set to "Pressure and
Temperature" in the main Options screen 78 then pipe Environment data is also required for the
fluid temperature calculations. All other data entry is optional, however, matching is
recommended if possible.
2.5.6.2.1.1 Pipe Environment

GAP can calculate 'Pressures Only' for each pipeline, or can calculate both the temperature and
pressure. For the case when both the pressure and the temperature are calculated, the program
requires information on the ambient temperature, heat transfer coefficient and thermal
properties (heat capacities) to run the calculations. GAP uses this information to determine the
GAP User Guide

August, 2012

User Guide

288

rate of heat loss.


The following dialogue displays the Environment screen which is related to the fluid temperature
calculations.

Surface Temperature
Overall Heat Transfer
Coefficient
Heat Capacities

Enter the temperature of the environment surrounding the pipe


(ambient temperature).
This value accounts for steady state heat transfer by conduction, free
convection, forced convection and radiation through the pipeline, the
insulation (if present) and to the surroundings. The overall heat
transfer coefficient is referenced to the pipe inside diameter
Average heat capacities for Oil, Gas and Water.

2.5.6.2.1.2 Pipe Description

Click on the 'Description' tab to enter the geometry of the pipeline. Up to 100 pipeline segments
can be entered. Pipe data must be entered from the downstream node to the upstream node.
In this entry screen, begin at the top and work downwards to enter the data, as shown in the
following example.

1990-2012 Petroleum Experts Limited

289

GAP

Pipe Description Input Columns


Type

Length
TVD

GAP User Guide

Enter the type of pipe or choke in this section. The


available options are:
Line Pipe
Choke
Coated
Flexible
Fitting
The pressure drop calculations are performed in the
same manner, irrespective of the pipe designation
(Line, Coated or Flexible).
Enter the total length of this pipe section. Equivalent lengths can be used to
account for pressure losses associated with elbows, bends etc.
TVD is the depth of the nodes that make up the pipeline. For example, in
the case below the node that represents the "Manifold" is at a TVD depth
of 0ft and the "sep" node is at a depth of 20ft.

August, 2012

User Guide

290

There is also the option to define the pipe topography based on the
elevation change as apposed to the the TVD depth. This is achieved
through the option "Segment elevation change".

Diameter
Roughness

Fittings

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.
Enter the inside diameter of the pipe.
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.
In the case where fittings are selected as part of the pipe equipment the
program will prompt a secondary screen.

1990-2012 Petroleum Experts Limited

291

GAP

This screen is essentially a database with different K values corresponding


to each listed fitting.
The program will then use these K values in order to calculate the
equivalent length of pipe that will give the same pressure drop as the
fitting.
The formula used is

HL = K(v2/2g)

Where:
HL = Velocity Head

GAP User Guide

August, 2012

User Guide

292

K = Resistance coefficient
v = velocity
g = constant

K-Values are defined as the Resistance Coefficients.


Details on formulae and nomographs used can be found in Crane's book
Flow of Fluids through Valves, Fittings and Pipes
If a fitting cannot be found in the database then the user can specify a
custom K value.

1990-2012 Petroleum Experts Limited

293

GAP

Heat
Transfer
Coefficient

If in the main program Options 78 the 'Improved Approximation' is enabled,


then the heat transfer coefficient along the length of the pipeline is required
is required as an input.

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.
Other Input Fields
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.
Max Length This is the iteration length used in the calculation of pressure drops over a pipe
length. This should not need to be altered unless the pipe under consideration
Step
is particularly long or has complex geometry.
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).
Correlations / Select an appropriate pipeline correlation from those available. The correlation
Coefficients 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.
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).
Swap Node 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
GAP User Guide

August, 2012

User Guide

294

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.

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.

The following example demonstrates how a pipeline is defined in GAP.


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
1990-2012 Petroleum Experts Limited

295

GAP

depths in both PROSPER and GAP using the same reference point.
As an example, the following pipeline sketch is going to be incorporated into GAP.

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.

GAP User Guide

August, 2012

User Guide

296

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.

1990-2012 Petroleum Experts Limited

297

GAP

To change the definition of the nodes click on the Swap Nodes button.

2.5.6.2.1.3 Pipeline Pressure Matching

This section explains how to enter measured production rates and pressures, and then adjust
the pipeline pressure drop correlation parameters to achieve a match between the model and
reality. For design calculations, an appropriate correlation must be applied without matching.
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.
GAP User Guide

August, 2012

User Guide

298

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.
To perform the surface pipe pressure drop matching, carry out the following steps:
Click 'Match' from the pipe match data entry screen which will prompt the following
dialogue.

1990-2012 Petroleum Experts Limited

299

GAP

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.

GAP User Guide

August, 2012

User Guide

300

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

1990-2012 Petroleum Experts Limited

301

GAP

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

2.5.6.2.1.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 246 for a description
of the feature.
2.5.6.2.2 Pressure/Temperature gradient result
After the 'Network Solver' is run (or after a prediction snapshot is reloaded), the pressure and
temperature gradients calculated in the pipeline can be displayed. To view the gradients, right
click on the pipeline and select "Show Gradient".

GAP User Guide

August, 2012

User Guide

302

Pressure and temperature gradients can be displayed using the "Variables" option from the plot
menu bar.

1990-2012 Petroleum Experts Limited

303

GAP

To view the detailed results of the pressure drop calculations, 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.

GAP User Guide

August, 2012

User Guide

304

Finally, select "Calculate" to view the detailed gradient results through PROSPER online.

1990-2012 Petroleum Experts Limited

305

GAP

2.5.6.3 Using Lift Curves for the Pipeline Pressure Drops


This section will deal with the input screens when lift curves are used for calculating pipeline
pressure drops.
When the lift curve option is selected, the user needs to choose a model for generating the lift
curves.

There are four options in the drop down menu:


External
GAP internal Correlations
PROSPER On line
PROSPER file
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

GAP User Guide

August, 2012

User Guide

306

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

1990-2012 Petroleum Experts Limited

307

GAP

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
GAP User Guide

August, 2012

User Guide

308

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

2.5.6.3.2 GAP Internal Correlations


The purpose of this option is to allow the user to generate the lift curves using the internal
correlations of GAP. The program will use the pipe description and correlations (with any
matching included) that have been entered in the previously described data input screens (see
above 287 ). The advantage of this method is speed, as the pressure drop is determined by
interpolating the lift curve tables instead of performing the calculations during each iteration of
the solve.

1990-2012 Petroleum Experts Limited

309

GAP

Upon selection of the lift curves tab (highlighted in red in the figure above) the user is prompted
with the following screen.

GAP User Guide

August, 2012

User Guide

310

To create the file select "Generate".

The range of variables for which the VLP curves will be created need to be entered under the
"Data" section.

1990-2012 Petroleum Experts Limited

311

GAP

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.

GAP User Guide

August, 2012

User Guide

312

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 466 "
for more information.
2.5.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:

1990-2012 Petroleum Experts Limited

313

GAP

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 314 " 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 285 ".
2.5.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.

GAP User Guide

August, 2012

User Guide

314

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 285 ".
2.5.6.4 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:

1990-2012 Petroleum Experts Limited

315

GAP

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 ste by step description of PROSPER
for reference.

731

online pipeline 731 can be used

NOTE on CO2 injection models


When modelling pipelines carrying CO2 for injection purpose, it is important to properly
define the fluid options in the PROSPER on-line Options:
Fluid type should be retrograde condensate
PVT method should be Equation of State
Temperature model should be either enthalpy balance or improved approximation.

2.5.6.4.1 Edit Pipe entry


The next section explains how to enter the pipe data using the 'Edit Pipe' option.

GAP User Guide

August, 2012

User Guide

316

The activation of the three temperature models (Rough Approximation, Enthalpy Balance and
Improved Approximation) can be done through the 'Options'.

And then under 'Model' as shown below.

1990-2012 Petroleum Experts Limited

317

GAP

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

GAP User Guide

August, 2012

User Guide

318

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.

2.5.6.4.1.1 Rough Approximation

If the Rough Approximation temperature model is selected then the user needs to enter basic
information about the pipeline as well as the average surrounding temperature under equipment.

1990-2012 Petroleum Experts Limited

319

GAP

Note that the theory behind the Rough Approximation method is described in detail in the
PROSPER manual.
2.5.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.

GAP User Guide

August, 2012

User Guide

320

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:

1990-2012 Petroleum Experts Limited

321

GAP

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
System
TVD 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

GAP User Guide

August, 2012

User Guide

Label
Burial Depth

322

Descriptive labels for each element can be entered in the label field if
desired and they will appear on the reports and calculation screens.
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.

The calculated composite thermal conductivity is referenced to the pipe


inside diameter. The diagram above shows the burial depth geometry.

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:

1990-2012 Petroleum Experts Limited

323

GAP

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

GAP User Guide

August, 2012

User Guide

324

Temperature Data Input (Off Shore):

Temperature Data Input (On Land):

1990-2012 Petroleum Experts Limited

325

GAP

Databases
This optional feature is used to access the thermal properties databases for editing or adding
new materials.

GAP User Guide

August, 2012

User Guide

326

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.
1990-2012 Petroleum Experts Limited

327

GAP

2.5.6.4.1.3 Improved Approximation

The advantage of using the improved approximation option over the rough approximation
method is that like the enthalpy balance model it is based on the full energy equation and can
also take into account the the Joules-Thomson effect (cooling or heating of the fluid because of
pressure drop in the pipe).
This can be particularly important in gas pipelines, where the J-T effect can cause the formation
of hydrates in high pressure/low temperature situations. In addition to this, the user can specify
different U-values along the pipe length in comparison to the 'Rough Approximation' method
which assumes a fixed value.
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.
GAP User Guide

August, 2012

User Guide

328

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.
2.5.6.5 Gradient Calculation
The PROSPER on line method also offers the user the facility of doing gradient calculations to
see the pressure and temperature variations along a segment of pipe. This can be done through
the Calculate button shown below:

1990-2012 Petroleum Experts Limited

329

GAP

GAP User Guide

August, 2012

User Guide

330

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.

1990-2012 Petroleum Experts Limited

331

GAP

The gradient calculation provides a number of different additional variables,


like C factors, Flow regimes, holdup etc, which are essential in pipeline
design.

2.5.6.6 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 liquid 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
GAP User Guide

August, 2012

User Guide

332

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.
2.5.6.7 Emulsion correction
GAP includes a model that corrects the viscosity of the fluid due to the effect of emulsions.

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.

1990-2012 Petroleum Experts Limited

333

GAP

The behaviour of emulsions in producing equipment is not well understood. Emulsion


PVT in GAP provides a means to assess possible effects of increased or decreased
emulsion viscosity by curve fitting experimentally determined data. It must be
emphasised that the method is empirical and does not represent any rigorous model of
emulsion behaviour.
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 fitted curve 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 for the user-entered value of water cut will be factored
according to the fitted curve 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:
1. Sharp increase at low water cut.
2. Plateau with a constant maximum viscosity for intermediate water cuts.
3. Tail that declines to the viscosity of water after the plateau.
The parameters Left and Right Water Cut for Maximum Viscosity define the maximum plateau
region. To calculate emulsion viscosity:
- Enter the water cut and emulsion viscosity data points in the "Emulsion Data" table.
- Click the "Match" button.

GAP User Guide

August, 2012

User Guide

334

When the regression has stopped, click "Plot" to display the matched mixture viscosity.

1990-2012 Petroleum Experts Limited

335

GAP

The above regression will only match the first part of the curve (highlighted in red) using
parameters 2 and 3 to fit the data. For the viscosity correction applying to water cuts above the
right plateau limit (highlighted in blue), an exponential decline is implemented that needs to be
matched manually using parameters 4 and 5.
Having done the match the viscosity model can then be applied to one, some or all the pipelines
in the system.

2.5.6.8 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.
GAP User Guide

August, 2012

User Guide

336

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.

1990-2012 Petroleum Experts Limited

337

GAP

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

GAP User Guide

August, 2012

User Guide

338

2.5.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.
Tanks can be represented in GAP as either:
A decline curve
MBAL Material Balance model file.
Please remember to set the prediction to "On" from the Options | Method

78

screen.

Within GAP three methods can be followed to model reservoirs:


Material
Balance
Decline
Curves
External
Simulator

GAP can use MBAL Material Balance models to determine reservoir


pressures and fractional flows (well GOR s and water cuts).
Decline Curves that express reservoir pressure as a function of cumulative
production. The reservoir pressure decline therefore includes the effects of
aquifer pressure support or fluid influx from adjacent reservoir units
An external simulator (like REVEAL, Eclipse, IMEX, MoReS, CHEARS, etc.)
can be linked to the wells in GAP. Linking GAP to a simulator is done
through RESOLVE.

Once a tank has been defined, production wells must be assigned to the tank. This can be done
either:
From Well data entry screen, or
From the Tank data entry screen (see below), or
By dragging connections between wells and tanks, in a similar fashion to the creation of
pipeline links.
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).

1990-2012 Petroleum Experts Limited

339

GAP

The tank data summary screen has three sections (as explained in the Equipment Summary
section 180 ).
Summary
Screen
Input
Screen

Results
Screen

This screen gives the status of various aspects of the input data and
displays the MBAL file that represents the reservoir (for MBAL prediction). It
also allows the user to select which method to use for "Prediction".
Includes tabbed screens for the following input fields:
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)
Contains the following fields:
Network Solver Results
Prediction Results

2.5.7.1 Tank Summary Screen


Double-click on a Tank icon in the system window to display the Tank summary screen.

GAP User Guide

August, 2012

User Guide

340

Main features
Model

Type

The user can select the prediction method. There are three choices
available:
1. Material Balance
2. Decline Curve
3. External Simulator (ref. previous paragraph 338 )
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

1990-2012 Petroleum Experts Limited

341

GAP

PVT Model
MBAL File

Number of Tanks
Tank ID
Start of
Production
End of History

Original Oil
and Gas in Place
Run MBAL

This field displays the PVT modelling option used by the reservoir
model. The options are Black Oil, Fully Compositional and Tracking.
(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"
button and choose a file from the selection dialogue presented.
(Material Balance Prediction only)
For a multi-tank, this displays the number of sub-tanks in the system
(Material Balance Prediction only)
This displays the tank ID from the MBAL file
(Material Balance Prediction only)
GAP will look up the start of production from the MBAL tank and display
it here.
(Material Balance Prediction only)
GAP will display the end of history date in cases where the MBAL model
contains historical data.
Displays the original oil or gas in place.
Opens the associated MBAL file. if there is no file specified then GAP
will open a fresh MBAL file which can be automatically be associated to
the tank in GAP.

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.

2.5.7.2 Tank Input Data (Material Balance Tank)

GAP User Guide

August, 2012

User Guide

342

2.5.7.2.1 Constraints
This tab allows the user to specify tank constraints.

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

1990-2012 Petroleum Experts Limited

343

GAP

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

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

GAP User Guide

August, 2012

User Guide

Gas Injection
Fluid
Edit List
Composition

344

Select the injection source from the current list.


Invokes the fluid injection source dialogue (as accessed from the Options
menu 85 item). Use this to update or add to the current source list
If one of the compositional methods is selected, there will also be an
option to an enter the composition.

2.5.7.2.4 Tank 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 246 for a description
of the feature.

1990-2012 Petroleum Experts Limited

345

GAP

2.5.7.2.5 Tank Results


This screen is same for all of the elements in the system (see above 258 ).

GAP User Guide

August, 2012

User Guide

346

2.5.8 Flares and Vents

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.
These are two typical applications of Flares and Vent.

Note that the two elements are interchangeable, as their difference is only visual.
2.5.8.1 Summary and Input
These sections are the same as in Sinks 397 .
2.5.8.2 Results
The Results tab is exactly the same as any other element.
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.

1990-2012 Petroleum Experts Limited

347

GAP

GAP User Guide

August, 2012

User Guide

348

2.5.9 Tank Input Data (Decline Curve Tank)


When the Decline Curve option is chosen, the main input screen will change to accommodate
the different variables that are required.

Type

This entry defines the main phase produced by the tank (Oil, Gas, Retrograde
Condensate)
Temperature Defines the temperature of the reservoir
Original Oil/ Specifies the oil/gas in place.
Gas in place

1990-2012 Petroleum Experts Limited

349

GAP

2.5.9.1 Tank Production Data


The reservoir pressure decline curves can be entered from the start of any Decline Curve
period. This does necessarily have to correspond to the beginning when the cumulative
production is zero and the reservoir pressure is at the initial reservoir pressure.

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.

GAP User Guide

August, 2012

User Guide

350

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
Prediction
Results

This feature allows the user to import the results of a material balance
model and convert it into a an equivalent decline curve.
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.

1990-2012 Petroleum Experts Limited

351

GAP

Calculate
Plot

Interpolates the table to find the tank pressure corresponding to the


value of Current Oil Production
Plots the tank pressure against cumulative production, as entered in the
table.

2.5.9.2 Compressibility
This option allows the engineer to enter the rock compressibility as a function of pressure.

There are two ways of defining the compressibility:


On Original
Volume

The Cf at pressure P and V is defined using the formula,


Cf = - 1/Vi (V Vi) / (P Pi)

On Tangent

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.
The Cf at pressure P and V is defined using the formula:
Cf = - 1/Vi (dV / dP)
Where dV/dP is the derivative at pressure P.

GAP User Guide

August, 2012

User Guide

352

The program ALWAYS uses the original volume Cf so this column


must be entered to make the dataset valid. However if the user only
has the Cf based on tangents, it is possible to enter these values in
the column and then use the 'Calculate' button to generate values
based on the original volume.

1990-2012 Petroleum Experts Limited

353

GAP

2.5.10 Pumps

Pumps can be handled in GAP with performance data provided by the pump manufacturer, or
based on a model.
Three types of pumps are available:
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
Framo Pump
FRAMO Multiphase pump model that can be used to account for the
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:

GAP User Guide

August, 2012

User Guide

Summary
Screen
Input
Screen

Results
Screen

354

This screen gives the status of various aspects of the input data for the
pump. See the following section for details
Includes tabbed screens for the following input fields:
Data (Valid/Invalid)
Control (OK)
Schedule (Prediction Only)
Contains the following fields:
Network Solver Results
Prediction Results

2.5.10.1 Pump Summary Data


Double click a pump icon to display the pump input summary screen:

1990-2012 Petroleum Experts Limited

355

GAP

Data Summary
Area
Number of Pumps
in Parallel

This shows the status of the various aspects of item data. These will be
described in the following sections
This option allows the user to specify the number of pumps in parallel
which GAP will take into consideration in the network calculation. It
prevents the user from having to create a separate pump element in the
main network.

2.5.10.2 Performance Curve Options


The "Performance Curves" option is designed for capturing the response of any pump in the
GAP model. Provided the user has access to the pump manufacturer's curves, then this feature
can be used to determine the impact of different pumps on the whole integrated system as in
principle any pump will have a unique relationship between rate and head. However, these
relationships can only be provided by the manufacturer as they are based on experimentation.
The alternative is to use a mathematical model that predicts the relationship between rate and
head (i.e. the Jet pump or Framo 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.

GAP User Guide

August, 2012

User Guide

356

It is possible to implement a user-defined pump model through an inline programmable element


417 which allows the engineer to write script that can be executed during each iteration of the
solver.

No. of Stages
Use Affinity Laws

Actual Speed
Design Speed
Stage Data
Edit PC

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
(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
Current speed of the operating pump
Design speed of operation of pump, to which the performance data
refers to.
Allows the specification of pre, post and inter stage separation and
cooling
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".

1990-2012 Petroleum Experts Limited

357

GAP

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

GAP User Guide

August, 2012

User Guide

Delete PC

358

Deletes the performance data entered for the pump. Once the
performance data is deleted, the pump input sections are treated as
new.

2.5.10.2.1 Pump Control


The pump model in GAP can be made controllable so that the speed of operation can be
modified to optimise production. In order to activate the Control section, the user needs to
provide information on how the pump will perform at different speeds. There are two different
options available:
1. Use Affinity Laws
2. Define speed as one of the input variables in the performance curves.
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 option is activated in the "Data" section.

1990-2012 Petroleum Experts Limited

359

GAP

The maximum/minimum operating speed limits are then set in the "Control" tab.

GAP User Guide

August, 2012

User Guide

360

Speed Control Options


Fixed

Pump speed is fixed in the calculations.


Actual Speed

Calculated

Speed to be used in fixed speed calculations

GAP will modify the pump speed (between the speed limits) to optimise
production and obey all constraints.
Actual Speed
Optimised
Speed
Minimum Speed
Maximum Speed

Speed to be used in fixed speed calculations (not


optimised calculations)
This will be selected by the optimiser of GAP when
performing the calculations
Operating range of the pump speed

2.5.10.3 Jet Pump Options


When the pump is defined as Jet Pump, a database with available jet pumps will become active
as shown below:
1990-2012 Petroleum Experts Limited

361

GAP

The user can either select a pump of choice, or edit the database to add more jet pumps if the
pump is not available.

GAP User Guide

August, 2012

User Guide

362

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:
The Technology of Artificial Lift Methods - Volume 2b Chapter 6
SPE 19713 - Modelling and Design of Jet Pumps - D.T. Hatziavramidis

2.5.10.3.1 Jet Pump Control


The jet pump model in GAP can be made controllable so that the power fluid rate can be
modified to optimise production and honour constraints:

1990-2012 Petroleum Experts Limited

363

GAP

Power Fluid Control Options


Fixed

Pump power fluid rate is fixed in the calculations.

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
optimised calculations)
Rate
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

GAP User Guide

August, 2012

User Guide

Injection
Pressure

364

Specifies the magnitude of the injection pressure for the power fluid. It refers to
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

2.5.10.4 Framo Pump Options


When the pump is defined as Framo Pump, a database with available pumps will become
active as shown below:

1990-2012 Petroleum Experts Limited

365

GAP

The user can either select a pump of choice, or edit the database to add more pumps if the
pump is not available:

GAP User Guide

August, 2012

User Guide

366

2.5.10.4.1 Framo Pump Control


The Framo Pump model in GAP can be made controllable so that the power can be modified to
optimise production and honour constraints:

1990-2012 Petroleum Experts Limited

367

GAP

Power Control Options


Fixed

Power is fixed in the calculations.


Power

Calculated

Power used in the fixed power calculations

GAP will modify the pump power (between the speed limits) to optimise
production and obey all constraints.
Power
Optimised
Speed
Minimum Speed
Maximum Speed

Power used in the fixed power calculations (not optimised


calculations)
This will be selected by the optimiser of GAP when
performing the calculations
Operating range of the pump power

2.5.10.5 Constraints
This tab allows the user to specify pump constraints. The options will change according to the
type of pump selected:

GAP User Guide

August, 2012

User Guide

368

2.5.10.6 Pump Calculate Button


On the main summary screen, there is a "Calculate" Button. This is the Pump Calculator which
can be used to calculate the outlet pressures, discharge temperature etc. based on the pump
performance tables entered.

1990-2012 Petroleum Experts Limited

369

GAP

Once selected, the calculation screen will appear:

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.
GAP User Guide

August, 2012

User Guide

370

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
OK

To disable a line, select the check box and press this button. Pressing the
button repeatedly toggles the enabled/disabled state
Removes the dialogue, saving the data entered

Cancel

Removes the dialogue

Help

Displays this screen

2.5.10.7 Pump 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 246 for a description
of the feature.

1990-2012 Petroleum Experts Limited

371

GAP

2.5.11 Compressors

Compressors can be handled in GAP with performance data provided by the pump
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 pumps and joints with the 'Link' icon selected.
NOTE: the compressor connections (represented by the white arrows) should be
consistent the actual flow direction:

2.5.11.1 Compressor Summary Data


Double click on a compressor icon to display the compressor input screen:

GAP User Guide

August, 2012

User Guide

372

Main options
Type

Data Summary
Area
Number of pumps
in parallel

Select the type of Compressor here. The options available are:


Performance Curves (Full model)
Fixed dP Compressor
Fixed Power Compressor
Reciprocating
MultiPhase Compressor/Pump NEW!!!
This shows the status of the various aspects of item data. These will be
described in the following sections
This option allows the user to specify the number of compressors in
parallel which GAP will take into consideration in the network
calculation. It prevents the user from having to create a separate
compressor element in the main network.

1990-2012 Petroleum Experts Limited

373

GAP

2.5.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:

GAP User Guide

August, 2012

User Guide

374

Main input data


No. of Stages

This is the number of stages in the compressor.


NEW!!!
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.

Use Affinity Laws

Pre, post and inter stage separation and inter-cooling for


compressors can be set up via the 'Stage Data' screen
(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
compressor to be controllable. The compressor model uses affinity
1990-2012 Petroleum Experts Limited

375

GAP

Use Overall
Efficiency

Actual Speed

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
The user can enter the power consumed by the compressor in the
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.
Current operating compressor speed.

Design Speed

Design speed of the compressor, to which the performance data is


referenced.
Use Polytropic Head GAP gives the user the option to define the head curves using either
isentropic or polytropic head.
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.

Edit PC

GAP User Guide

It is also possible to define the Polytropic Efficiency Multiplier at


various Operating Rates to account for the variation of the polytropic
coefficient with the rate flowing through the compressor. This
'Polytropic Efficiency Multiplier' will scale the polytropic efficiency
depending on the operating rates so that the performance of the
compressor is captured accurately.
Input/editing of performance data for the compressor. When entering
the performance curve data for a new compressor, the following
screen will appear after pressing "Edit PC".

August, 2012

User Guide

376

On this screen, choose the variables for the performance tables.


These are:
Operating rate
Frequency
Liquid Fraction
Rotational Speed
Delete PC

One needs at least to specify the operating rate as a variable.


Deletes the performance data entered for the compressor. Once the
performance data is deleted, the compressor input sections are
treated as new.

Performance Curve Input Data


Compressor performance data can be entered in the following screen. The minimum data
necessary to describe the compressor performance is the relationship between operating rate,
head and power:

1990-2012 Petroleum Experts Limited

377

GAP

Operating rate
Head

The gas rate flowing through the compressor, expressed at inlet


conditions.
Measure of the energy (expressed as a unit length) given to the fluid.

Power

Power provided to the compressor.

Polytropic
Efficiency
Multiplier

Multiplier is used to modify the polytropic efficiency with varying flow


rate.

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.

GAP User Guide

August, 2012

User Guide

378

Surge/Choke
Two additional variables enable the user to specify the operating limits of the compressor (i.e.
stonewall and surge).
Minimum Rate

Maximum Rate

(i.e. Surge)
For every single compression stage, the minimum rate will be recirculated in the compressor.
(i.e. Stonewall)
This maximum rate will be seen as a constraint applied on the
compressor considered

Note on Performance Curves


To have a good definition of the compressors performance, the curves defined in GAP should
have at least one point outside of the operating range envelope. In other words, there must be at
least one point below the surge limit and one point above the choke limit. This allows for the
operating conditions to be accounted for.
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:

1990-2012 Petroleum Experts Limited

379

GAP

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.
Example of Performance Curve
Examples of performance curves for different rotational speeds are shown in the following
figures:

GAP User Guide

August, 2012

User Guide

380

Plot of Head vs Operating Rate at various speeds

1990-2012 Petroleum Experts Limited

381

GAP

Plot of Power vs Operating Rate at various speeds

2.5.11.3 Input Data for Fixed dP Compressor


This model will apply a fixed specified pressure difference across the compressor which does
not vary as a function of the rate.
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.

GAP User Guide

August, 2012

User Guide

382

Main Input data


Number of Stages This is the number of stages in the compressor. Each stage is
identical.

Polytropic
Efficiency

Delta P

Pre, post and inter stage separation and inter-cooling for compressors
can be set up via the 'Stage Data' screen.
The polytropic efficiency is used for converting the isentropic
coefficient k (which is the ratio of the heat capacities) to the polytropic
coefficients (n).
It is used to calculate the discharge temperature.
Pressure gain across each stage

2.5.11.4 Input Data for Fixed Power Compressor


This model specifies a constant supply of power to the compressor. GAP will use this power to
calculate the Head provided by the compressor for a given flow rate and thus calculate the dP
across the compressor.
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
1990-2012 Petroleum Experts Limited

383

GAP

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.

Main Input Data


No. of Stages

Poly Efficiency

Power per
Stage
Overall
Efficiency
Surge
Minimum
Rate

GAP User Guide

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
The polytropic efficiency is used for converting the isentropic
coefficient k (which is the ratio of the heat capacities) to the polytropic
coefficients (n).
It is used to calculate the discharge temperature.
The overall power input per stage of the compressor
Overall efficiency, used to correct overall power input to actual input to
the compressor
This represents the minimum surge rate. If the rate entering the
compressor decreases below the minimum surge rate, recirculation is
activated, so that the actual flow through the compressor equals the
minimum surge rate. The head is then calculated based on the
minimum surge rate.

August, 2012

User Guide

384

To enter the efficiency as a function of the rate, select the 'Efficiency' tab as shown in the figure
below:

2.5.11.5 Input Data for Reciprocating Compressor


Four types of reciprocating compressors can be modelled:
Single Acting Head End
Single Acting Crank End
Tandem
Double Acting
The number of stages is required, and for each stage the inputs are:
Number of cylinders
Stroke length
1990-2012 Petroleum Experts Limited

385

GAP

Rod diameter
Clearance (as a percentage)

2.5.11.6 Input Data for MultiPhase Compressor/Pump


NEW!!!
This option is for modeling multiphase pumps with known performance curve data which would
be provided by the manufacturer.
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.
GAP User Guide

August, 2012

User Guide

386

All of the inputs are the same as in the Compressor element and the user should refer to this
section 373 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.

1990-2012 Petroleum Experts Limited

387

GAP

2.5.11.7 Compressor Control (Full Model Only)


The compressor model in GAP can be made controllable so that the operating speed can be
modified to optimise production and honour constraints:

GAP User Guide

August, 2012

User Guide

388

Speed Control Options


Fixed

Compressor speed is fixed in the calculations.


Actual Speed

Calculated

Speed to be used in fixed speed calculations

GAP will modify the compressor speed (between the speed limits) to optimise
production and obey all constraints.
Actual Speed
Optimised
Speed
Minimum Speed
Maximum Speed

Speed to be used in fixed speed calculations (not


optimised calculations)
This will be selected by the optimiser of GAP when
performing the calculations
Operating range of the compressor speed

2.5.11.8 Compressor 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 246 for a description
of the feature.

1990-2012 Petroleum Experts Limited

389

GAP

2.5.11.9 Compressor Calculate Button


As in the pump input data screen, in the compressor input data screen, there is a "Calculate"
button. This is the 'Compressor Calculator', which can be used to calculate the outlet pressures,
discharge temperature etc. based on inlet conditions.

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.5.11.10 Operating point in Plot
The operating point can be displayed by accessing the PC Input section, after running a 'Solve
Network' calculation, and plotting the compressor performance curve. GAP will display the
operating point along with the compressor curve as shown below.
GAP User Guide

August, 2012

User Guide

390

1990-2012 Petroleum Experts Limited

391

GAP

2.5.11.11 Surge and Choke

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

GAP User Guide

August, 2012

User Guide

392

2.5.12 Sources / Sink

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

2.5.12.1 Source
A "Source" is an artificial element that can either inject a fixed rate (defined by the user) into the
system or apply a fixed pressure (by injecting fluid). 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 rate that balances the system.
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.

1990-2012 Petroleum Experts Limited

393

GAP

The source element can be used in two different ways, depending on the objectives.
Fixed
rate / mass/
pressure
sources

When the source is only linked to a joint, it injects fluid into the system on the
basis of fixed mass, fixed rate or fixed pressure.

Separator
oil/gas/
/water
line

Sources that are connected to separators can handle a separated stream (


gas, oil, water or a mixture thereof).
When a source is linked directly to a separator (fixed pressure or inline
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 this way inline injection or even contribution of fluid from a nearby field, for
example, can be captured.

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.

GAP User Guide

August, 2012

User Guide

394

To define which phase the source will transfer, access the source summary
screen and select the 'Type' as shown below:

2.5.12.1.1 Source Data Entry


The three section buttons of the source have the following entries:
Summary
Screen
Input
Screen

Results
Screen

This screen gives the status of various aspects of the input data for the
source. The type of source is also selected in this section
Includes tabbed screens for the following input fields:
Fluid (Valid/Invalid)
Fixed Rate(Valid/Invalid)
Schedule (Prediction Only)
Contains the following fields:
Network Solver Results
Prediction Results

2.5.12.1.1.1 Source Summary Data

This following screen is the source summary data screen.

1990-2012 Petroleum Experts Limited

395

GAP

Main Options
Type

Depends on
Pressure
constrained

GAP User Guide

Here the type of source is selected. The options depend on whether or


not the source is connected to a separator.
Standalone
If the source is an independent source, the options are:
sources
Fixed Rate
Fixed Mass Rate NEW!!!
Fixed Pressure
Sources
For sources connected to separators, the options are:
connected
Separated gas
to
Separated water
separators
Separated Oil
Indicates the separator directly connected to the source
If "Yes" the source will have the same pressure as the connected
separator, otherwise (recommended in most cases) the source will apply
the required pressure to transfer the fluid to a downstream network.

August, 2012

User Guide

Data Summary
Area

396

This shows the status of the various aspects of item data

The separated oil stream, contains the remainder of the fluid inlet stream after
the user defined gas % and water % are separated in the separator.
To define the injected fluid, we go to the following screen:
2.5.12.1.1.2 Source Data Input

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.
Edit List

This button allows to edit the gas/water/steam injection source list

Fluid
Properties

This can be used to view the details of the properties of the injection fluid.
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.

1990-2012 Petroleum Experts Limited

397

GAP

2.5.12.1.1.3 Source 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 246 for a description
of the feature.
2.5.12.2 Sink
A Sink element represents a point in the network, where a given rate of a fluid (a user input) is
removed from the system at the connecting joint. Sinks must be connected to a joint.

2.5.12.2.1 Sink Data Entry


The three section buttons of the sink have the following entries:
Summary
Screen
Input
Screen
Results

GAP User Guide

This screen gives the status of various aspects of the input data for the
sink
Includes tabbed screens for the following input fields:
Fixed Rate(Valid/Invalid)
Schedule (Prediction Only)
Contains the following fields:

August, 2012

User Guide

Screen

398

Network Solver Results


Prediction Results

2.5.12.2.2 Sink Summary Data


The data entry screen for a Sink is very to similar to that of a Source:

Type

Data Summary
Area

Here we select the type of the sink. Only one option is available:
Fixed Rate
Fixed Mass Rate NEW!!!
Fixed Pressure
This shows the status of the various aspects of input datasets

2.5.12.2.3 Sink Input Data


Depending on the Sink type (fixed rate, fixed mass or fixed pressure) the user needs to specify
the rates or pressures.

1990-2012 Petroleum Experts Limited

399

GAP

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.5.12.2.3.1 Sink 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 246 for a description
of the feature.

GAP User Guide

August, 2012

User Guide

400

2.5.13 Inline Elements

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 options available are:


Inline Gate Valve
Inline Check Valve
Inline Separation
Inline Choke
Inline Injection
Inline General (up to now known as Inline Programmable)
Label
Edit

Short label used to distinguish equipment on the system drawing. Up to


18 characters are allowed
Takes to the data entry screen for the element

1990-2012 Petroleum Experts Limited

401

GAP

Cancel

Reverts back to the main GAP screen

2.5.13.1 Inline Gate Valve


The Inline Gate Valve is an on/off type of valve. This element can be placed in the
network to control the flow of fluids through certain parts of the network.
The three sections for data input in the Inline Gate valve have the following entries:
Summary
Screen
Input
Screen
Results
Screen

GAP User Guide

This screen gives the status of various aspects of the input data for the
Inline Gate Valve. The type of Inline Gate Valve is also selected in this
section
(Only for Prediction Case)
This section contains an entry screen for the Schedule
Contains the following fields:
Network Solver Results
Prediction Results

August, 2012

User Guide

402

2.5.13.1.1 Inline gate Valve Data Summary Screen

Main options
Type

Status

Data Summary
Area

Here we select the type of the element.


Two options are available:
Gate Valve
Check Valve
When selecting the type gate valve, two options are available:
Open
Close
This shows the status of the various aspects of input datasets

2.5.13.1.2 Input Data / 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 246 for a description
of the feature.

1990-2012 Petroleum Experts Limited

403

GAP

2.5.13.2 Inline Check Valve


The Inline Check Valve should be placed in a surface network if the objective is to
physically stop flow reversal in certain lines in the system.
The three sections for data input in the Inline check valve have the following entries:
Summary
Screen
Input
Screen
Results
Screen

This screen gives the status of various aspects of the input data for the
Inline check Valve. The type of Inline check is also selected in this
section
(Only for Prediction Cases)
This section contains an entry screen for the 'Schedule'
Contains the following fields:
Network Solver Results
Prediction Results

2.5.13.2.1 Inline Check Valve Data Summary Screen


The Inline Check valve has the following data entry screen:

GAP User Guide

August, 2012

User Guide

Type

Data Summary
Area

404

Here we select the type of the element.


Two options are available:
Check Valve
Gate Valve
This shows the status of the various aspects of input datasets

2.5.13.2.2 Input Data / 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 246 for a description
of the feature.

1990-2012 Petroleum Experts Limited

405

GAP

2.5.13.3 Inline Separation


If there is a phase separation within the network, where the pressure values are
not fixed, but floating, the inline separation element can be used.
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
Screen
Input
Screen
Results
Screen

This screen gives the status of various aspects of the input data for the
inline separation. The type of inline separation is also selected in this
section.
Includes tabbed screens for the following input fields:
Separation (OK/Invalid)
Schedule (Prediction Only)
Contains the following fields:
Network Solver Results
Prediction Results

2.5.13.3.1 Inline Separation Data Summary Screen


The Inline Separation has the following data entry screen:

GAP User Guide

August, 2012

User Guide

Type

Data Summary
Area

406

Here we select the format in which inline separation variables are


defined.
The following options are available:
% Separation
Fixed Rate Removal
This shows the status of the various aspects of item data

1990-2012 Petroleum Experts Limited

407

GAP

2.5.13.3.2 Inline Separation Data Input Screen

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.

2.5.13.3.3 Input Data / 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 246 for a description
of the feature.

GAP User Guide

August, 2012

User Guide

408

2.5.13.4 Inline Choke


If there is a fixed/controllable choke in the pipeline network, this element can be
used.
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
Screen
Input
Screen
Results
Screen

This screen gives the status of various aspects of the input data for the
inline choke
Includes tabbed screens for the following input fields:
dP Control (OK)
Schedule (Prediction Only)
Contains the following fields:
Network Solver Results
Prediction Results

2.5.13.4.1 Inline Choke Data Summary Screen


The Inline Choke has the following data entry screen:

1990-2012 Petroleum Experts Limited

409

GAP

Data Summary
Area

GAP User Guide

This shows the status of the various aspects of item data

August, 2012

User Guide

410

2.5.13.4.2 Inline Choke dP Control

The are four options for handling the pressure drop across the choke.
None

No pressure drop across the choke considered

Fixed dP

A fixed pressure loss equal to the value entered is applied for all
rates.
Fixed Choke Diameter The choke size is considered as constant
Calculated

The choke diameter is calculated by GAP to maximise production


and honour constraints.

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.

1990-2012 Petroleum Experts Limited

411

GAP

This prompts the following screen, automatically transferring the conditions from the results of
the Solve Network/Prediction. Pressing 'Calculate' performs the choke calculation.

GAP User Guide

August, 2012

User Guide

412

The plot button displays the performance curve of the choke along with the operating point.

1990-2012 Petroleum Experts Limited

413

GAP

The discharge coefficient relates the actual flow to the ideal frictionless flow.
By default the discharge coefficient is 1. If choke measurements are available, it
is possible to tune this parameter so that the choke model reproduces the
measured data. This feature makes the choke model much more flexible in the
sense that is general and applicable to any choke design used in the field.

2.5.13.4.3 Input Data / 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 246 for a description
of the feature.

2.5.13.5 Inline Injection


If there is injection at a particular point in the network, this option can be used. An
example of its application would be riser lift gas injection.
The three sections of the inline injection element have the following entries:
Summary
Screen
Input
Screen

Results
Screen

This screen gives the status of various aspects of the input data for the
inline choke
Includes tabbed screens for the following input fields:
Fluid (OK / Invalid)
Injection Rate (OK / Invalid)
Schedule (Prediction Only)
Contains the following fields:
Network Solver Results
Prediction Results

2.5.13.5.1 Inline Injection Data Summary Screen


The Inline Injection has the following data entry screen:

GAP User Guide

August, 2012

User Guide

Data Summary
Area

414

This shows the status of the various aspects of item data

2.5.13.5.2 Inline Injection Data Input Screen


For defining the fixed rate and the fluid, we go to the following screen from the summary area
and define the inlet fluid rate and the temperature.

1990-2012 Petroleum Experts Limited

415

GAP

2.5.13.5.2.1 Defining the Injection Fluid PVT

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
Properties

This can be used to view the details of the properties of the injection fluid.
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

2.5.13.5.2.2 Defining the Injection Rate

In this screen, we define the rate and the control.

GAP User Guide

August, 2012

User Guide

Type

416

Two options are available:


Fixed
Optimised

Rate

A fixed rate is injected into the network.


GAP will inject a rate that minimises the
pressure loss in the network downstream of the
injection point in order to maximise production
Define the rate of injection or maximum rate of injection
The optimised method can be used to model riser lift scenarios

2.5.13.5.3 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 246 for a description
of the feature.

1990-2012 Petroleum Experts Limited

417

GAP

2.5.13.6 Inline General


The Inline General (Programmable) element can be used to define a variety of
custom equipment such as pressure loss elements, control valves, heat
exchangers etc. in the surface network through an internal script.
The functionality of inline programmable elements is demonstrated in some detail in the
examples 632 .
The three sections of this element have the following entries:
Summary
Screen
Input
Screen

Results
Screen

This screen gives the status of various aspects of the input data for the
Inline General element
Includes tabbed screens for the following input fields:
Script (OK)
Variables (None/Some)
Schedule (Prediction Only)
Contains the following fields:
Network Solver Results
Prediction Results

2.5.13.6.1 Notes on Inline General Elements


Inline programmable elements are objects whose behaviour is controlled by a program script
(written by the engineer) rather than a particular physical model (e.g. pipe). These can therefore
be used to create a user defined equipment (like a different pump model for example).
The syntax used is similar to the 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.
The following example shows the basic structure of a program script.
The example applies a fixed pressure drop over the object.
Example:
Apply a fixed pressure
drop of 50 psi over the
inline element

DeltaPressure = 50;
PRESOUT = PRESIN - DeltaPressure;
if ( PRESOUT < DeltaPressure )
PRESOUT = DeltaPressure;

Each line must be terminated by a semi colon. Local variables 418 (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
GAP User Guide

August, 2012

User Guide

418

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.
The Inline General Element uses Field Units in all calculations.
NOTE: All calculated fluid density values are returned in SI Units i.e., g/cc.
2.5.13.6.2 Inline General Input Data (Script) Screen
The following screen is used to write the script for the element or associate the element with a
script file *.gsc by using the browse button at the top of the screen:

2.5.13.6.3 Inline General Script Variables


There are three different classes of variables that can be defined and used in the inline general
element script:

1990-2012 Petroleum Experts Limited

419

GAP

Local
Temporary These variables are defined by the user within the script to for instance
proceed to calculations internal to the script.
Variables
The values associated to these variables are lost at the end of the
script.
Temporary
These variables are defined using the TEMPVAR[010] or ITEMPVAR
[010] keywords. See section below 423
Variables
The values associated to these variables are initialised to 0 at the
beginning of the solver calculation.
The values associated to these variables can be kept throughout the
solver calculation process (i.e. they will be kept throughout the solver
calculation iterations) but will be lost at the end of the solver calculation
Permanent
These variables are defined within the inline general script and their
value can then be accessed and modified within the 'Variable' screen of
Variables
the inline general element. These variables will be kept throughout the
entire calculation
Important Note on Permanent Variables
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.
Instead, the TEMPVAR and ITEMPVAR arrays need to be used to store
temporary values.
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.
There is no limitation on the number of user defined variables.
These variables will be accessible through OPENSERVER, and
OPENSERVER string can be found using the Ctrl + Right Click facility.

GAP User Guide

the

August, 2012

User Guide

420

2.5.13.6.4 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 246 for a description
of the feature.
2.5.13.6.5 Inline Element Variables
This section lists the variables that can be changed or accessed in the script and their
associated units.
Five stream arrays exist in an inline element:
IN[...]

Inlet stream

OUT[...]

Outlet stream

SEPGAS[...]

This is a stream (called gas but not necessary being gas) that is
separated and sent to a gas source connected to the inline general
element
This is a stream (called oil but not necessary being oil) that is
separated and sent to an oil source connected to the inline general
element
This is a stream (called water but not necessary being water) that is
separated and sent to a water source connected to the inline general
element

SEPOIL[...]

SEPWAT[...]

The following keywords can be used to access the array values :


CO2

CO2 mole percent (mole percent)

CO2FREE

injected gas CO2 mole percent (mole percent)

DILSG

diluent specific gravity (sp. grav)

GGHV

gas gross heating value (MMBTU/d)

GNHV

gas net heating value (MMBTU/d)

H2S

H2S mole percent (mole percent)

H2SFREE

gaslift gas H2S mole percent (mole percent)

N2

N2 mole percent (mole percent)

N2FREE

injected gas N2 mole percent (mole percent)

PRES

pressure (psig)

PWFSG

power fluid specific gravity (sp. grav)

QDIL

diluent rate (STB/day)

1990-2012 Petroleum Experts Limited

421

GAP

QGAS

gas rate (MMscf/day) - black oil model only, otherwise use QMOLE

QGFREE
QMOLE

injected gas rate (MMscf/day) - black oil model only, otherwise use
QMOLE
mole rate (mol/lbm/sec) - compositional model only

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
water salinity (ppm)

WSAL

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

inlet stream composition

COMPOUT

outlet stream composition

COMPSEPGAS

composition of the stream that is separated by a gas source

COMPSEPOIL

composition of the stream that is separated by an oil source

COMPSEPWAT

composition of the stream that is separated by a water source

GAP User Guide

August, 2012

User Guide

422

see definition of COMP structure 424 below.

2.5.13.6.6 Control Variables


Control variables enable to check or modify the behaviour and status of the system:
ABORT
DERIVCALC
EVALCOUNT
FLOWDIR
ISBOTTLENECKED
ISCOMP

ISPOTENTIALCALC
LASTCALC
OPTIMISATIONMODE

OPTIMISERITER
OUTLETJOINTPRES
OUTLETJOINTTEMP

SOLVERITER

If set to a value # 0, the solver calculation will stop. This is


equivalent to clicking the Cancel button during the solver run
Is non zero if the calculation currently held is a derivative
calculation. READ ONLY variable
Returns an evaluation of the number of times the script is called.
From 1 to n
1 or -1 if the fluid flows in a direction opposite to the pipe
description (pipe only). READ ONLY variable
Is non zero if the pipeline rate is close to the pipeline critical
rate (pipe only). READ ONLY variable
Is 0 if the calculation is a BO calculation, Is non zero if the
calculation is compositional. READ ONLY variable.
IT IS IMPORTANT TO NOTICE THAT WHEN THE
CALCULATION IS DONE IN FULLY COMPOSITIONAL
MODE, ONLY MOLE RATES ARE USED.
Is non zero if the calculation currently held is a potential
calculation
Is non zero if the calculation currently held is in the last solver
calculation step. READ ONLY VARIABLE. It can be used for
instance when saving results in the OTHERRES[i] variable
Returns the status of the optimiser for the current run.
The following values are used:
0: No Optimisation
1: Optimise and Honour Constraints
2: Optimise with Potential Constraints Only
Contains the current optimiser iteration number. From 0 to n.
Always 0 when the run is non-optimised
Returns the pressure of the joint downstream the inline general
element (psig)
Returns the temperature of the joint downstream the inline
general element (F)
IT IS IMPORTANT TO NOTICE THAT THE DOWNSTREAM
AND UPSTREAM NODES OF THE INLINE ELEMENT WILL
NOT BE CHANGED THROUGHOUT THE CALCULATION,
EVEN IF THE FLOW DIRECTION IS CHANGED
Contains the current solver iteration number. Starts at 0 when
the system is initialised, and 1 to n thereafter.
READ ONLY variable
Can be used to initialise the script temporary variables
TEMPVAR[ ] or ITEMPVAR[ ] when the solver calculation starts
1990-2012 Petroleum Experts Limited

423

GAP

2.5.13.6.7 Temporary Variables


A set of temporary variables that will be available throughout the solver calculation. They can be
used to store intermediate or calculated values as well as the state of a piece of equipment
modelled by the script. These variables are initialised to 0 when the solver calculation starts.
These variables can be defined as follows:
TEMPVAR[ ]

An array of 10 real number variables, indices ranging from 0 to 9

ITEMPVAR[ ]

An array of 10 integer variables, indices ranging from 0 to 9

2.5.13.6.8 Results Variables


In the 'Results' section for the inline programmable object, there are a number of user defined
results columns. It is possible for the script to assign values to these user defined results so they
can be viewed in the results section of the element and plotted against other variables.
This is done as shown in the following code fragment:
Example:
Apply a fixed pressure
drop of 50 psi over the
inline element

DeltaPressure = 50.0;
PRESOUT = PRESIN - DeltaPressure;
if ( PRESOUT < DeltaPressure )
PRESOUT = DeltaPressure;
OTHERRES[0] = DeltaPressure;

There are 10 user defined results available.


So one may use the variables OTHERRES[0] to OTHERRES[9].
2.5.13.6.9 Tax Regime Variables
The following variables can be used when the tax regime option is selected.
TaxRegimeRevenueOil

Revenue from oil ($ per STB)

TaxRegimeRevenueGas

Revenue from gas ($ per MMscf)

TaxRegimeCostWater

Cost of water processing ($ per STB)

TaxRegimeCostInjGas

Cost of injected gas ($ per MMscf)

TaxRegimeCostPower

Cost of power ($ per HP)

TaxRegimePowerFluid

Cost of power fluid ($ per STB)

TaxRegimeCostDiluent

Cost of diluent ($ per STB)

GAP User Guide

August, 2012

User Guide

424

2.5.13.6.10 FLOW and COMP Structure Variables


The FLOW Structure variables give access to data associated to other network nodes (i.e.
pressure at manifold) while the solver calculation is running.
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.
CFACTOR

C Factor (Pipelines only)

CO2

CO2 mole percent

DILSG

Diluent specific gravity

FLUIDTYPE

Fluid Type

GASSPECGROSSHEATVAL

Gas specific gross heating value

GASGROSSHEATVAL

Gas gross heating value

GASSPECNETHEATVAL

Gas specific net heating value

GASNETHEATVAL

Gas net heating value

GINJ

Injected gas rate (SCF)

GINJCO2

Injected gas CO2 percent

GINJH2S

Injected gas H2S percent

GINJN2

Injected gas N2 percent

GINJSGG

Injected gas specific gravity

H2S

H2S mole percent

HCMASSRATE

Hydrocarbon mass flow rate

HCMOLERATE

Hydrocarbon mole flow rate (Compositional model only)

ISBOTTLENECKED

Returns a non zero value if the pipeline is bottlenecked

ISUNSTABLE

Returns a non zero value if the well is unstable

MASSRATE

Mass flow rate

MAXPRES

Maximum pressure (Pipeline only)

N2

N2 mole percent

POWER

Power used

PRES

Pressure

QDIL

Diluent rate of the element


1990-2012 Petroleum Experts Limited

425

GAP

QGAS

Gas rate of the element

QOIL

Oil rate of the element

QPWF

Bottom hole flowing pressure

QPWFU

Power fluid rate used by this element

QTOT

Total liquid rate of the element

QWAT

Water rate of the element

REVENUE

Revenue / Cost

RDIL

Average cost of diluent per unit

RGAS

Average revenue of gas per unit

RGINJ

Average cost of injected gas per unit

ROIL

Average revenue of oil per unit

ROTHER

RPOW

Cost of other elements - By default the value of that


variable is 0.
This can be modified to factor in any additional costs (i.e.
negative value) / revenues (i.e. positive value) and
include them in the optimisation procedure
Average cost of power per unit

RPWF

Average cost of power fluid per unit

RPWFU

Average cost of power fluid used per unit

RSTM

Average cost of steam used per unit

RWAT

Average cost of water per unit

SGG

Specific Gas Gravity

SOG

Specific Oil Gravity

STMQUA

Steam Quality

TEMP

Temperature

VELOCITY

Maximum velocity (Pipelines only)

WENT

Water Entropy

WSAL

Water Salinity

Example:
to access the pressure
at the node'ABC'

MOD.JOINT[{Abc}].FLOW.PRES

COMP structure variables


When in fully compositional mode, the five streams have an associated composition. These
GAP User Guide

August, 2012

User Guide

426

compositions can be accessed through the five COMP type structures named:
COMPIN

inlet stream composition

COMPOUT

outlet stream composition

COMPSEPGAS

composition of the stream that is separated by a gas source

COMPSEPOIL

composition of the stream that is separated by an oil source

COMPSEPWAT

composition of the stream that is separated by a water source

The COMPx variables refer to the total hydrocarbon fluid composition, including gaslift or
injected gas.
It is possible to create local temporary compositions by simply copying and existing
composition. For example MYCOMP = COMPIN will create a local copy of COMPIN.
The following keywords are associated with compositional modelling:
BICOEFF[i][j]

MOLEPCT[i]

Binary interaction coefficients between component i and


component j
Returns the index associated with the component
specified
Mole percent of the component index (i) specified

MW[i]

Molecular weight of the component index (i) specified

NAME[i]

Name of the component characterised by the index i

NumComp

Number of Components

OMEGA[i]
OMEGAA[i]

Omega value associated to the component index (i)


specified
OmegaA of the component index (i) specified

OMEGAB[i]

OmegaB of the component index (i) specified

PARACHOR[i]

Parachor of the component index (i) specified

PCRIT[i]

Critical pressure of the component index (i) specified

PROP1[i]

Parachor of the component index (i) specified

PROP2[i]

OmegaA of the component index (i) specified

PROP3[i]

OmegaB of the component index (i) specified

PROP4[i]
SPGRAV[i]

Original composition of the component index (i)


specified
Specific gravity of the component index (i) specified

TBOIL[i]

Boiling temperature of the component index (i) specified

COMPINDEX(component name)

1990-2012 Petroleum Experts Limited

427

GAP

TCRIT[i]

Critical temperature of the component index (i) specified

VCRIT[i]

Critical volume of the component index (i) specified

VSHFT[i]

Volume shift of the component index (i) specified

Version

PVTP version in use

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
component of index 'i' at the outlet
of the element
How to read the critical temperature
of the third component of the
composition at the inlet of the
element
How to determine the mole % of CO2
in the composition at the inlet of the
element

COMPOUT.MOLEPCT[i]

COMPIN.PCRIT[2]

X = COMPIN. COMPINDEX(CO2);
MPCT = COMPIN. MOLEPCT [X];

2.5.13.6.11 PVT Calculator - Black Oil


A PVT calculator is available which allows temporary calculation of PVT properties.
PVT calculation variables
The following functions can be called to perform PVT calculations:
CALCPVT ()

Simultaneous oil and gas calculator

CALCPVTOIL()

Oil calculator black oil model only

CALCPVTGAS()

Gas calculator black oil model only

CALCPVTWAT()

Water calculator black oil model only

CALCPVTHT()

Specific heat, conductivity and enthalpy calculator black oil


model only

PVT calculation input/output variables


The following variables can be referenced directly in the script. These variables include both
input values and values calculated by the calculator functions.
Input variables
PVTPRES

GAP User Guide

Pressure

August, 2012

User Guide

PVTTEMP

Temperature

PVTSOLGOR

GOR black oil mode only

PVTSOG

Specific oil gravity black oil mode only

PVTSGG

Specific gas gravity black oil mode only

PVTWSAL

Water salinity black oil mode only

PVTH2S

H2S impurity black oil mode only

PVTCO2

CO2 impurity black oil mode only

PVTN2

N2 impurity black oil mode only

PVTCOMP

composition compositional mode only

Calculated variables
PVTRS

428

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


1990-2012 Petroleum Experts Limited

429

GAP

PVTCPRWAT

Specific heat capacity of water

PVTCPVGAS

Specific heat capacity of gas

PVTENTWAT

Enthalpy of water

PVTCONOIL

Conductivity of oil

PVTCONGAS

Conductivity of gas

PVTENTOIL

Enthalpy of oil

PVTENTGAS

Enthalpy of gas

PVTVAPFRA

Vapour/Liquid fraction after the flash compositional mode only

PVTVAPCOMP

Vapour composition compositional mode only

PVTCOMPLIQ

Liquid composition compositional mode only

Example
An example of
using the PVT
calculator.
The gas Z factor is
calculated at the inline
element outlet T and P and
pressure 20 psi higher

PVTPRES = PRESOUT;
PVTTEMP = TEMPOUT;
CALCPVTGAS();
Z1 = PVTFACTOZ;
PVTPRES = PRESOUT + 20.0;
CALCPVTGAS();
Z2 = PVTFACTOZ;
dZ = (Z2 - Z1)/20.0;

2.5.13.6.12 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 425 variables and the PVT black oil 427 calculator there is also:
PVTVAPFRA

Vapour Fraction

PVTCOMPVAP

Vapour Composition

PVTCOMPLIQ

Liquid Composition

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:
CALCPVT(Composition) Enables the user to perform a flash PVT calculation at a
specified PVTTEMP and PVTPRES.
Specifying the composition considered is optional. If it is not
specified, the program will use by default the composition
present in PVTCOMP. The liquid and vapour composition
resulting from a call to the CALCPVT() flash calculation are
GAP User Guide

August, 2012

User Guide

430

stored in the PVTCOMPLIQ and PVTCOMVAP structures


CALCPVTWAT()

Similar to the one used in BO

PVTBLENDSTART()

To be called before any blending to initialise structures

PVTBLENDADD (
Composition, Fraction of
the composition
considered)
PVTBLENDCALC()

Add a composition to the blend in given proportion. The sum of


all the proportions do not nedd to add up to 1 or 100.
PVTBLENDCALC() below normalises the proportions

PVTCHANGECOMP()

Does the blending and stores the resulting composition in the


PVTCOMP structure
allows the script to alter the mole percentages of an existing
composition.
PVTCHANGECOMP(Composition, Component,
NewPercentage, RenormalizationFlag [, QMOLE]))
Component can be a component number or name, i.e. 12 or
CO2 .
RenormalizationFlag flag specifies whether the mole
percent is changed before renormalization of the
composition (flag = 0) or after renormalization of the
composition (flag = 1).
QMOLE is optional. If present, the function will adjust the
mole rate to take into account the change of mole percent of
the component.

A predefined composition called PVTCOMP is used by the PVT calculator such as


CALCPVT() or the blending routine described below. PVTCOMP is initialised to
COMPIN when the script is called. The liquid and vapour compositions resulting from a
call to the CALCPVT() flash calculation are stored in the PVTCOMPLIQ and
PVTCOMVAP structures.
Examples
How to flash the inlet
composition at P and T and
send the vapour on the gas
line and the liquid
hydrocarbon on the oil line

PVTPRES = PRESIN - 10;


PVTTEMP = TEMPIN;
PVTCOMP = COMPIN;
CALCPVT();
COMPSEPOIL = PVTCOMPOIL;
COMPSEPGAS = PVTCOMPGAS;
SEPGAS[QMOLE] = IN[QMOLE] * PVTVAPFRA;
SEPOIL[QMOLE] = IN[QMOLE] * (1 - PVTVAPFRA);
OUT[QMOLE] = 0;

How to change the CO2


mole percent of
composition COMPOUT to PVTCHANGECOMP(COMPOUT, CO2, 1.2, 1,
1.2% after normalization i.e. QMOLEOUT);
the CO2 percent is set 1.2%
1990-2012 Petroleum Experts Limited

431

GAP

with the sum of the mole


percent of all the
components equal to
100% .
How to change the CO2
mole percent to 1.2%
without normalising the
total mole percent to 100% .
This means that, if
normalised, the CO2 mole
percent may no longer be
1.2%
How to blend the oil and
50% of the gas and sets it
as the outlet stream
composition

PVTCHANGECOMP(COMPOUT, CO2, 1.2, 0,


QMOLEOUT);

PVTPRES = PRESIN;
PVTTEMP = TEMPIN;
PVTCOMP = COMPIN;
CALCPVT();
PVTBLENDSTART();
PVTBLENDADD(PVTCOMPOIL, PVTVAPFRA / 2);
PVTBLENDADD(PVTCOMPOIL, (1 - PVTVAPFRA));
PVTBLENDCALC();
COMPOUT = PVTCOMP;

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.5.13.6.13 Logging Messages
It is possible to log messages during the inline element script progress, through the following
function:
LogMsg(comma separated list of text strings or variables);
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.

2.5.13.6.14 Mathematical Functions


A number of maths functions are available in the script. These include:

GAP User Guide

August, 2012

User Guide

432

COS(x)

Returns the cosine of x (units of x are radians)

COSH(x)

Returns the hyperbolic cosine of x (units of x are radians)

SIN(x)

Returns the sine of x (units of x are radians)

SINH(x)

Returns the hyperbolic sine of x (units of x are radians)

TAN(x)

Returns the tan of x (units of x are radians)

TANH(x)

Returns the hyperbolic tan of x (units of x are radians)

ACOS(x)

Returns the inverse cosine of x in radians

ASIN(x)

Returns the inverse sine of x in radians

ATAN(x)

Returns the inverse tan of x in radians

ATAN2(x,y)

Returns the inverse tan of x/y in radians

EXP(x)

Returns the exponential of x

LOG(x)

Returns the natural logarithm of x

LOG10(x)

Returns the logarithm (base 10) of x

POW(x,y)

Returns x raised to the power of y

FMOD(x,y)

Returns the floating-point remainder of x / y

FABS(x)

Returns the absolute value of x

SQRT(x)

Returns the square root of x

CEIL(x)

J0(x)

Returns a value representing the smallest integer that is greater than or


equal to x
Returns a value representing the largest integer that is less than or equal
to x
Returns the length of the hypotenuse of a right triangle, given the length
of the two sides x and y. It is equivalent to the square root of x2 + y2
Returns the zeroth order Bessel function of the first kind of x

J1(x)

Returns the first order Bessel function of the first kind of x

JN(n,x)

Returns the nth order Bessel function of the first kind of x

Y0(x)

Returns the zeroth order Bessel function of the second kind of x

Y1(x)

Returns the first order Bessel function of the second kind of x

YN(n,x)

Returns the nth order Bessel function of the second kind of x

LDEXP(x,n)

Returns x*POW(2,n)

FLOOR(x)
HYPOT(x,y)

2.5.13.6.15 Control Structures


The control structures are the same as used in the C language. Examples of the basic structures
are shown below.
1990-2012 Petroleum Experts Limited

433

GAP

if block

if-else block

while loop

do-while loop

for-loop

GAP User Guide

If ( QGASIN > 6.0 )


{
PRESOUT = PRESIN 50.0;
QWATOUT = QWATOUT * 0.75;
}
if ( QGASIN > 6.0 )
{
dP = 50.0;
}
else
{
dP = 100.0;
}
PRESOUT = PRESIN - dP;
if ( PRESOUT < dP ) PRESOUT = dP;
i = 0;
dP = 0.0;
while ( i < 10 )
{
dP = dP + 10.0;
i = i + 1;
}
PRESOUT = PRESIN - dP;
i = 0;
dP = 0.0;
do
{
dP = dP + 10.0;
i = i + 1;
}
while ( i < 20 );
PRESOUT = PRESIN - dP;
dP = 0.0;
for ( i = 0; i < 21; i++ )
{
dP = dP + 10.0;
}
PRESOUT = PRESIN - dP;

August, 2012

User Guide

434

2.5.13.6.16 Example Script


Calculating the number of days since 1900. The following script fragment will calculate the
number of days since 1900 for a calendar date.
// Date to convert is 14th September 1996.
Year = 1996;
Month = 9;
Day = 14;
// Check if a leap year - the rules are:// If divisible by 400 then it is a leap year
// 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;

1990-2012 Petroleum Experts Limited

435

GAP

}
Month = Month - 1;
}
NumDays = NumDays + Day;

GAP User Guide

August, 2012

User Guide

436

2.5.14 Inflow Icon

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
Screen
Input
Screen
Results
Screen

This screen gives the status of the input inflow data and allows the type
of well (producer or injector) and the location of an appropriate
PROSPER file to be defined
This screen allows the input data to be entered. The options in this
section are the same as the IPR description discussed in IPR
section 197
Contains the following fields:
Network Solver Results
Prediction Results

2.5.14.1 Inflow Summary Screen


The inflow summary screen is shown below.

1990-2012 Petroleum Experts Limited

437

GAP

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 452

2.5.14.2 Input
Refer to IPR section 197 for further details.

GAP User Guide

August, 2012

User Guide

438

2.5.15 Grouping

The grouping option allows collections of equipment to be controlled from one icon.
The 'Group' summary screen is divided into three sections:
Summary
Screen
Input
Screen
Results
Screen

Allows navigation to the constraints and grouping input screens.


Allows values to be entered to constrain and schedule the group
Contains the following fields:
Network Solver 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
Three wells associated with Group1 are shown below.

1990-2012 Petroleum Experts Limited

439

GAP

2.5.15.1 Grouping Data Entry


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

GAP User Guide

August, 2012

User Guide

440

For systems containing multiple compressors, the "Group Constraints" section


will show an additional constraint option for 'Maximum Power'. This feature has
been designed to be used to manage the maximum compressor power
distribution between two (or more) independent networks. It is not designed to
be used for single network systems.
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.5.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 246 for a description
of the feature.

2.5.15.1.3 Grouping
The screen that is displayed when the grouping tab is clicked is shown below:

1990-2012 Petroleum Experts Limited

441

GAP

Belongs
to group
Does not
belong to group
Group members

Each group can belong to other groups. This field highlights the
groups this group belongs to
This field highlights the groups this group does not belong to
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.
Selection of elements belonging to a group
It is possible to select all of the members belonging to the group by right-clicking
on the group (or using the menu Edit/Selected Groups) and selecting Show
Members as Selected:

GAP User Guide

August, 2012

User Guide

442

2.5.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 960 .
Considering the GAP model below, a worksheet can be created to group all the wells flowing
from the manifold "WH1".

1990-2012 Petroleum Experts Limited

443

GAP

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
items

Step 2: Create the


Flowsheet
Step 3: Paste the
elements in the
flowsheet

GAP User Guide

Copy the items from using the "Select" pointer from the main tool bar
.
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 rightclick 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.
Create a flowsheet element in the main production system, using the
"Flowsheet" icon from the main menu bar.
In the new flowsheet, right clicking and select the option "Insert GAP
Partial File".
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.

August, 2012

User Guide

Step 4: Create the


'Flowsheet Port'

444

The next step will be to create the 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.

1990-2012 Petroleum Experts Limited

445

GAP

Step 5: Create the The worksheet port created on the main worksheet can now be linked to
the rest of the network.
link between the
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


contents of the
pipeline across to
the newly created
pipe.

GAP User Guide

Since the pipeline definition is already present in the link between WH1
(old) and manifold, this needs to be copied across to the newly created
link between the WH1 (new) and the Manifold.
The easiest way to do this is to press down the CTRL button on the
keyboard, left click on the existing pipe and drag and drop onto the
newly created link.

August, 2012

User Guide

446

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.
Double clicking on the 'Flowsheet' icon will open up a new window
containing the section of network described in the flowsheet.

1990-2012 Petroleum Experts Limited

447

GAP

2.5.17 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'
Abandonment' section. As soon as the well production decreases below the set
minimum abandonment constraint, the well will be automatically closed by GAP.

2.6 VLP/IPR Generation


This chapter describes the following procedures:
Batch mode transfer of well inflow performance relations from PROSPER
Batch mode generation of well vertical lift performance curves using PROSPER
Batch mode generation of pipe VLPs
How to import externally generated well and pipe VLPs into GAP
How externally generated well IPRs can be imported into GAP
NOTE: Toable 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.

2.6.1 A well model in GAP


A well element in GAP is essentially a mathematical representation of a real well. It needs to be
able to reproduce the performance of the well in the field (Flowrates, Water Cut, GOR etc) in
order for the engineer to have confidence in making predictions with the model.
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:

GAP User Guide

August, 2012

User Guide

448

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

1990-2012 Petroleum Experts Limited

449

GAP

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
GAP User Guide

August, 2012

User Guide

450

of the specified IPR model so that it is equivalent to the IPR in PROSPER.


NEW!!!
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 197 section.
2.6.1.2 VLP
Lift Curves are generated by the PROSPER well file. The procedure will be outlined in the
following sections 466 .

2.6.1.3 Importance of VLP Data Ranges


In order to enable GAP to calculate production rates and optimise, it is essential that the VLP/
IPR data represent the well performance accurately. In order to ensure this requires that the
VLPs are generated for a wide enough range of conditions so that we can capture the true
behaviour of the well throughout the field life.
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.

1990-2012 Petroleum Experts Limited

451

GAP

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 470 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 GAP 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 GAP well model, which can be done by clicking on "Inspect" in the well
VLP section (ref. VLP Inspection 223 section).

GAP User Guide

August, 2012

User Guide

452

2.6.2 Batch Generation of IPRs


2.6.2.1 Single layer wells
The following description assumes that a PROSPER model which includes an IPR has already
been built for each well.
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:

1990-2012 Petroleum Experts Limited

453

GAP

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

GAP User Guide

August, 2012

User Guide

454

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.

1990-2012 Petroleum Experts Limited

455

GAP

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.

GAP User Guide

August, 2012

User Guide

456

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

1990-2012 Petroleum Experts Limited

457

GAP

2.6.2.2 Multilayer wells


The two following cases will be addressed:
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.
The following example considers a multilayer gas well:
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:

GAP User Guide

August, 2012

User Guide

458

Assign the layer number in PROSPER to the layer in GAP.


Repeat this procedure for each of the four layers.
Import the IPRs by selecting Generate | Generate well IPRs with PROSPER from the main
menu.
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.

1990-2012 Petroleum Experts Limited

459

GAP

The process is as follows:


Associate the PROSPER file in the summary section of the well as below.

GAP User Guide

August, 2012

User Guide

460

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

1990-2012 Petroleum Experts Limited

461

GAP

GAP User Guide

August, 2012

User Guide

462

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

1990-2012 Petroleum Experts Limited

463

GAP

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.

GAP User Guide

August, 2012

User Guide

464

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.

1990-2012 Petroleum Experts Limited

465

GAP

GAP User Guide

August, 2012

User Guide

466

2.6.3 Batch Generation of Well and Pipe VLPs


2.6.3.1 Batch Generation of VLPs
This section describes the process of batch generating VLPs in PROSPER and transferring the
information to GAP. As with the batch transfer of IPRs described previously, it is necessary to
have pre-built the PROSPER files for each well and also to have these PROSPER files referenced
in the well summary screens. The process of referencing the PROSPER files is described in the
introduction of the "VLP/IPR Generation 447 " section of this manual.
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 the VLPs click Generate Generate Well VLPs with PROSPER.

The screen shown below will be presented:

Select the wells to perform the VLP generation.

1990-2012 Petroleum Experts Limited

467

GAP

This can be used in the same way as for the "Batch Transfer of IPRs".
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.
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.

GAP User Guide

August, 2012

User Guide

468

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

1990-2012 Petroleum Experts Limited

469

GAP

The populate buttons can be used to automatically generate a range of variables based on a
spacing.

Enter rates (up to 20) 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

GAP User Guide

August, 2012

User Guide

470

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 450 , can give incorrect results or cause problems for the
solver.
A recommended range of sensitivity variables for different wells can be found here 470 .
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). 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 section of the
corresponding well element in GAP.
The progress of the calculations can be monitored with the progress bar (shown below).

Once the generation is successfully completed, a screen will be prompted to notify the user.
Once finished the user must inspect the quality of the VLP curves to ensure that they are valid
for the network calculations. 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.

2.6.3.2 Values to use for VLP Generation


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
1990-2012 Petroleum Experts Limited

471

GAP

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 450 , can give incorrect results or cause problems for the
solver.
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.
For Naturally Lifted Oil Wells.
From

To

Number of Distribution of Comments


Points
Points

Liquid Rate From low


value (say
100 stb/d)

AOF
(Absolute
Open Hole
Flow of well)

20

Geometric
Spacing

Top Node
Pressure

From
separator
pressure
value (for
example,
100 psig)

Reservoir
Pressure

10

Linear Spacing The Top Node Pressure


corresponds to the Well
Head Pressure.

Water Cut

0%

90% or 95 % 10
or 99 %

GOR

A value less 25000 scf/stb 10


than
Solution
GOR

Linear Spacing
Geometric
Spacing

The Solution GOR


should be entered for
one of the values to avoid
unnecessary
interpolation. The value
less than Solution GOR
corresponds to the
reduction in GOR when
Reservoir Pressure just
falls below the bubble
point.

For Gas Wells

Gas Rate

GAP User Guide

From

To

Number of
Points

Distribution
of Points

From low
value (say

AOF
(Absolute

20

Geometric
Spacing

Comments

August, 2012

User Guide

472

0.1 MMscf/d) Open Hole


Flow of well)
Top Node
Pressure

From
separator
pressure
value (for
example,
100 psig)

Reservoir
Pressure

10

Linear Spacing The Top Node Pressure


corresponds to the Well
Head Pressure.

WGR

Refer to
Comments
on the Right

10

Linear Spacing The value for Maximum


WGR is dependent upon
the system. Generally a
value of 100 stb/MMscf is
reasonable.

CGR

Refer to
Comments
on the Right

10

Geometric
Spacing

The value of the


maximum CGR is
dependent on fluid
properties.

For Retrograde Condensate Wells


From

Gas Rate

To

From low value


AOF
(say 0.1 MMscf/d) (Absolute
Open Hole
Flow of well)

Numb Distribution Comments


er of of Points
Point
s
20

Geometric
Spacing

10

Linear
Spacing

The Top Node Pressure


corresponds to the Well
Head Pressure.

Refer to
10
Comments on
the Right

Linear
Spacing

The value for Maximum


WGR is dependent upon the
system. Generally a value of
100 stb/MMscf is
reasonable.

Geometric
Spacing

The value for Maximum


GOR is dependent upon the
fluid properties.

Top Node From separator


Reservoir
Pressure
Pressure pressure value
(for example, 100
psig)
WGR

GOR

A value less than Refer to


10
GOR of the under Comments on
saturated
the Right
condensate at
reservoir
temperature

1990-2012 Petroleum Experts Limited

473

GAP

For Artificially Lifted Wells


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
Lifted
Wells

Variable

Values

Comments

GLR Injected or

0, 100, 200, 400, 800, 1600, Using the GLR Injected as a variable
3200, 6400, 12800, 25600
will ensure that the VLP curves will
(in scf/stb)
always interpolate for the Gas Lift
Gas Rate. This is the
recommended method.

Gas Lift Gas Rate


(not
recommended)

Enter the range of values that could


be injected in the well

ESP wells Frequency of


Operation

Depending on the Variable


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


Well
HSP Well Pump Rotational
Speed
CBM Well Liquid Level

The maximum depth of the liquid


level cannot exceed the depth of the
pump

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
that include the casing pressure.
For GAS Injection Wells
From
Gas Rate

GAP User Guide

To

From low
AOF
value (say
(Absolute
0.1 MMscf/d) Open Hole
Flow of well)

Number of Distribution
Points
of Points
20

Comments

Geometric
Spacing

August, 2012

User Guide

474

Top Node
Pressure

From low
value (for
example,
100 psig)

Reservoir
Pressure

10

Linear Spacing The Top Node Pressure


corresponds to the Well
Head Pressure.

WGR

Refer
Comments
on Right

10

Linear Spacing The Maximum Value for


WGR is dependent upon
the quality of the gas
being injected. Generally
a value of 50 stb/MMscf is
reasonable.

CGR

Refer
Comments
on Right

10

Geometric
Spacing

The Maximum Value of


CGR is dependent upon
the quality of the gas
being injected which can
change if different lines
are being blended before
the gas arrives at the
wellhead.

For WATER Injection Wells


From

To

Number of Distribution
Points
of Points

Liquid Rate

From low
value (say
100 stb/d)

AOF
(Absolute
Open Hole
Flow of well)

20

Geometric
Spacing

Manifold
Pressure

From low
value (for
example,
100 psig)

Reservoir
Pressure

10

Linear Spacing

FWHT

Comments

The temperature range


is dependent on the
temperature at the
injection manifold and
the surrounding
temperature in the
pipelines.

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.

1990-2012 Petroleum Experts Limited

475

GAP

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

GAP User Guide

August, 2012

User Guide

476

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 'Continue' 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.
5. To start the generation of the VLPs click "Calculate".

1990-2012 Petroleum Experts Limited

477

GAP

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.

GAP User Guide

August, 2012

User Guide

478

2.6.3.4 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) process independent. This is because volumetric rates at standard 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
that have different process paths to standard conditions defined. Using mass means
that the VLP and IPR would not have to be regenerated every time the process
changes.
When one of the compositional PVT models (see above 154 ) is selected, it is possible to
generate the lift curves with mass flow rates. To achieve that:
The PROSPER well model should be set to 'Equation of State'.

In GAP, in the well summary screen (accessible by double-clicking on the well) the rate
model should be set to "Use mass".

1990-2012 Petroleum Experts Limited

479

GAP

Generate the VLPs directly in PROSPER as showed in the section above 475 . In PROSPER
the 'Rate Type' selected in the VLP calculation section should be selected as
'Hydrocarbon Mass Flow Rate' :

GAP User Guide

August, 2012

User Guide

480

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.6.3.5 Batch Generation of Pipe VLPs


The batch generation of Pipe VLPs has been added to GAP to allow lift curves to be generated
for pipes based on either an underlying PROSPER file or the internal GAP correlations.
The procedure for generating pipe VLPs is similar to well VLPs. Select Generate | Generate
Pipe VLPs from the GAP menu bar.

1990-2012 Petroleum Experts Limited

481

GAP

If no wells 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.

GAP User Guide

August, 2012

User Guide

482

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
1990-2012 Petroleum Experts Limited

483

GAP

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.

GAP User Guide

August, 2012

User Guide

484

2.6.4 Batch Generation of Well Performance Curves


This section describes the process of batch generating performance curves for the GAP well
models, using the well VLPs and IPR previously generated.
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.

1990-2012 Petroleum Experts Limited

485

GAP

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:

GAP User Guide

August, 2012

User Guide

486

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

1990-2012 Petroleum Experts Limited

487

GAP

As mentioned before, the WC, GPR 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.
Note on Gas Lift wells
For Gas Lift wells, the Performance Curves are generated for two variables:
1. Manifold Pressure (as the other wells)
2. GLR injected

GAP User Guide

August, 2012

User Guide

488

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.

1990-2012 Petroleum Experts Limited

489

GAP

2.7 Model Validation


In any GAP model it is important that the well models can reproduce the measured well
data from the field reasonably closely.
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

2.7.1 Well Model Validation


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.
The following sections describe the quality checking methodology.

2.7.2 Checking Wells Calibration


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

2.7.2.1 Running Model Validation / Quality Check


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
GAP User Guide

August, 2012

User Guide

490

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

1990-2012 Petroleum Experts Limited

491

GAP

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:

GAP User Guide

August, 2012

User Guide

492

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.

1990-2012 Petroleum Experts Limited

493

GAP

Click the "Calculate" button and GAP will use the intersection of the VLP and IPR curves 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.
GAP will display a No Solution message if no intersection could be found.

GAP User Guide

August, 2012

User Guide

494

2.7.2.2 Checking the Quality of Individual Wells Graphically


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

1990-2012 Petroleum Experts Limited

495

GAP

2.8 Network Solver and Optimiser


This chapter describes how GAP solves the surface network for the pressures and rates at every
node in the system. A completely defined system must have the following:
All wells with valid IPR and VLP data (or Performance Curve data).
All pipelines and other surface equipment defined and calibrated.

2.8.1 The Solver


The solver in GAP essentially generates a set of mass and pressure balance equations for each
node in the system, as explained in the Core GAP technique 19 . In this way a set of equations
that describe the whole network is created. Once the boundary conditions are applied, which are
fixed pressures in the system and implemented through the "Separator" elements the problem
can be solved.
In order to solve this system of equations under the applied boundary conditions the solver,
which is based on the Newton-Raphson method, iterates using the derivatives of each element
in the system in order to converge on the criteria that mass balance and pressure balance is
preserved at every node in the system (to within acceptable tolerance). Once this convergence
criteria is satisfied, the flow and pressure distribution according to the applied boundary
conditions corresponds to the natural physical response of the system.

2.8.2 The Optimiser


GAP contains at its core a powerful non-linear optimisation algorithm (NLP) which can identify
the optimum control settings (well head chokes, ESP frequencies, compressor speeds, gas
injection rates etc.) that maximise the production of hydrocarbons whilst honouring physical
constraints throughout the system.
Please refer to the section on the Optimiser

20

for further details.

2.8.3 Constraints and Equipment Control Screen


2.8.3.1 Constraints
Constraints can be used to choke wells back to meet production targets or processing
limitations while optimising fluid(oil, gas or retrograde condensate) production.
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.
GAP User Guide

August, 2012

User Guide

496

The results of the optimisation will provide the engineer with the following control settings:
For Naturally Flowing Wells (Wellhead dP)
For Inflow Elements (down-hole dP)
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) NEW!!!
For SRP Wells (Pump speed / dP at well head) NEW!!!
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).
2.8.3.2 Equipment Control Screen
The equipment control screen provides the user with a summary of the status of all of the
different elements of the system relative to actual readings from the field and the suggested
'optimised' settings.
The equipment control screen can be accessed using the
equipment control screen appears as follows:

icon on the menu bar. The

The equipment control screen will display all of the system equipment that can be controlled by
1990-2012 Petroleum Experts Limited

497

GAP

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:
Equipment
Label
Control
Type
Control
Mode
Measured
Actual

Optimised
Minimum

Enables the identification of the element considered


Indentifies the parameter of a system element that can be controlled by
the optimiser
Identifies if the an element is controlled by the optimiser or is set to a
fixed value
Relates to the model validation 489 facilities and displays the current
measured value of the parameter considered.
Displays the current value of a parameter in the system. For instance, if a
gas lift gas injection rate for a well has to be fixed, the value of gas lift gas
injection will be specified in this section and the control mode set to
'Fixed' value using the 'Edit' button.
Displays the optimised value.

Unit

If the control parameter is bounded by a minimum value, it will be


displayed.
If the control parameter is bounded by a maximum value, it will be
displayed.
Refers to the unit used to define the control parameter

Edit

Transfers the user to the 'Control' section of the element considered.

Transfer

Enables the user to transfer one set of values from one column of the
equipment control screen to another (i.e. transfer optimised parameter
values to the actual column for instance).

Maximum

2.8.3.3 Optimisation Objective Function


This section defines the objective function used by GAP to optimise the system To set the
objective function, click on Options | Method and choose from the available options in the
Optimisation method.

GAP User Guide

August, 2012

User Guide

498

The following options are available.


Production

Revenue

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.
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).
Revenue from oil sales
Revenue from gas sales
Cost of water processing
Cost of injection gas
Cost of power
Cost of steam

1990-2012 Petroleum Experts Limited

499

GAP

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.
Oil rate only /
Water rate
only
Gas + Oil rate
rate only
Gross
Heating
Value

The default Tax Regime is selected in Options | Default Settings.


These methods are used when the objective is to maximise the Oil rate or the
Water rate only.

This method allows the user to maximise, at the same time, oil and gas
production rates and honour constraints in the system.
This option maximises the gross heating value produced by the field. This
option is mainly used in the case of gas fields where one would like to
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 program will use a correlation to
associate the heating value to the gravity of the gas (Figure 4.82 in the
Handbook of Natural Gas Engineering published by McGraw-Hill).
Gas Rate
This method allows the user to maximise, at the same time, oil and gas
production rates and honour constraints in the system. This objective function
with
Preference to has a weighting on the oil content and can be particularly useful for optimising
condensate systems.
Oil Content
NEW!!!
For example, a condensate system with large flowlines can have significant

GAP User Guide

August, 2012

User Guide

500

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.

1990-2012 Petroleum Experts Limited

501

GAP

2.8.4 Solving the Network


There are three different options for solving the Network:
No optimisation
Optimise with all constraints
Optimise potentail constraints only
These options will be discussed later in this section.
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.

GAP User Guide

August, 2012

User Guide

502

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.
1.) Max Pressure Drop/ Mass Balance difference.
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).
2.) Last Error.
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.
3.) Last Guess.
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.

1990-2012 Petroleum Experts Limited

503

GAP

2.8.5 Solver Modes


This section describes the different calculation modes that can be selected when solving the
network:

NEW!!!
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.8.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:
No constraints specified in the system are attempted to be honoured

GAP User Guide

August, 2012

User Guide

504

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.8.5.2 Optimise with all constraints
This option invokes both the solver and the optimiser. In this case the natural response of the
network may not correspond to the systems optimum and GAP will apply its powerful algorithm
to maximise a given objective function whilst honouring any specified constraints.
The solution given will satisfy the following criteria:
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. The
potential of the system is calculated by solving the network with the well head chokes fully open
therefore it is possible for bottle necking to occur in the pipelines and in such cases 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.
1990-2012 Petroleum Experts Limited

505

GAP

2.8.5.3 Optimise with potential constraints only


GAP will optimise the system honouring the "potential" constraints only.
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.

GAP User Guide

August, 2012

User Guide

506

2.8.6 The Solver / Optimiser Settings


The Solver and the optimiser both use numerical schemes to find a solution. For these schemes,
the derivatives (rates of change) of each element need to be calculated numerically. Also, we
define various tolerance criteria in order to check for convergence. All these criteria are defined
under the "Settings" which is highlighted in the figure below.

Selecting the Settings button will prompt the following screen with the default settings.

1990-2012 Petroleum Experts Limited

507

GAP

GAP 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.
The following configurations are available:
Default
Fastest but may be less accurate in small systems
Large System (to speed up)
Quick and Rough
Tight tolerance (slower)

GAP User Guide

August, 2012

User Guide

508

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.
Below are some descriptions of the available settings.
Solver - Max iterations

Solver - Jacobian
Term Multiplier
Solver - pressure
perturbance
Solver - Total Rate
Perturbance

Solver - pressure
balance normalizer
Solver - well initial
rate fraction

Solver - tolerance F

Solver - tolerance min

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
This parameter exaggerates the slopes (derivatives) hence a
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
The GAP network Solver works with derivatives which are
created with a certain change in pressure. This delta in pressure
defines the magnitude of perturbation (in psi)
This is the total rate used to calculate the derivatives (as with the
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
Used to normalize the derivatives of dp/dDp and dq/dDq. It
defines the relative weighting of the pressure balance error
relative to the rate error. The smaller the value the more accurate
the balance will be, but then the more difficult it is to converge
It is the fraction of the initial rates (generated from wells using
separator pressures as back pressure) that is used to get the first
guess for the solver. The default is 1.0. In some long pipeline
systems or small pipeline systems, or systems with chokes,
where the initial rates are difficult to pass, setting a smaller
number may increase speed of convergence. In such a case, one
might reduce the initial rate fraction, to 0.1 for instance
This is the root mean square of the errors in the material balance
and pressure differences at any node. The higher this number,
the higher the error in mass/pressure at each node, but the faster
the solution. The default is 0.1
Do not change

1990-2012 Petroleum Experts Limited

509

GAP

Solver - tolerance X

Do not change

Solver - Maximum
Step Size
Solver - Mass to
Volume Scaling

The solver line search will limit the change from one iteration to
the other by this value
In IPM 4.0 and earlier, GAP was performing the calculations
based on volumes. IPM 5.0 can be fully compositional so all the
calculations are done based on mass. This value can be used to
scale up or down the volume given by a particular amount of
mass in the system
Solver - Limit
In certain cases derivatives can be very difficult to calculate
because of extremely rapid changes or extremely low changes in
movement of
the system. This parameter limits the movement of the derivatives
derivative
and attempts to get something meaningful from the system.
Minimum number is 0 and maximum 1
Solver - display
This setting allows the user to display the pressure and mass
results in the network on the solver display screen during solver
(0:none, 1:pipe,
iteration.
2: eqns, 3: pipe+eqns)
0: No intermediate results are displayed
1: The intermediate results for the pipes are displayed
2: The intermediate residuals of equations at the nodes
displayed.
3: The intermediate residuals of equations at the nodes and the
pipes are displayed.
The default is 0 and does speed up the calculation time
Solver - Inflow
This setting can be set to 0 or 1. If it set to 1, then cross-flow in an
Crossflow Control (0:Off, inflow element is not allowed (cross-flow is prevented). If instead
it is set to zero (default), then cross-flow is allowed to occur
1:On)
Solver - report
When running any calculation in optimisation mode the program
will highlight eventual limiting or violated constraints.
violated /limiting
In the case the calculation is run in no optimisation mode the
constraints without
program will run the system without changing controls, therefore
optimisation
in no optimisation mode the constraints will not be accounted for.
(0:Off, 1:On)
This setting allows to activate a report showing if a constraint is
violated or limiting for the system when the calculation is run
without optimisation
Optimiser - max
This is the maximum number of iterations the optimizer is allowed
to perform in order to converge. The default is 100
iterations
Optimiser - well
This is the fraction of the normalized system potential used for the
first guess. If there are small chokes and long pipelines in the
initial rate fraction
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
GAP User Guide

August, 2012

User Guide

510

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
used to perturb the system. The default is 0.1 and should work for
injection perturbance
most cases
Optimiser - frequency
For ESP lifted system, this defines the magnitude of frequency
used by the optimizer in perturbing the system. The default is 0.1
perturbance
and should work for most cases
Optimiser - rpm
If there are surface pumps and/or compressors in a network and
pumps lifted system, this defines the magnitude of revolutions per
perturbance
minute used by the optimizer in perturbing the system. The default
is 100 and should work for most cases
Optimiser - max
In simple terms, this parameter will determine whether a
constraint is seen and whether it should be included in the matrix.
step size
The higher this number is, the further the algorithm sees to
include violated constraints as part of the matrix. On the other
hand, a high value will lead to greater changes and a more
complicated problem. An inequality g is binding if g/max {1, ||grad
g||} <= max step size where g(x) (penalty) is m-vector of smooth
nonlinear constraint functions. Among the g's there may be any
lower or upper bounds on the variables. These are identified by a
special indicator array
Optimiser - parameter 1 Serves as a scaling of the "max step size" under certain
conditions. (An attempt to automate the above)
Optimiser - parameter 2 Optimiser-Parameter 2 is the factor that controls how far the
optimiser is allowed to work towards finding the optimum objective
function. The smaller this parameter the longer it will work to
extract every possible barrel. The default value is 1e-6 and it is
advised not to change this parameter.
Optimiser - parameter 3

There are two elements to consider when looking at an


optimisation problem.
1. Creating a solution space for the optimiser to work with
2. Solving the optimisation problem within the space created
The Space of potential solutions is created by the Solver. The
solver uses the input data (such as well IPRs, VLPs) to
generate this space of potential solutions. Thus the quality of the
input data will itself determine the performance of the optimiser.
When running the optimiser, the space of potential solutions is
divided in sub-spaces. Solutions within these sub-spaces will be
analysed by the optimiser at each iteration.
Parameter 3 regulates the size of the sub-spaces. The larger the
Parameter 3, the larger will be the sub-space being looked at.
The impact of this parameter could, for instance, be that if there
are two local maxima close by and a high value of Parameter 3 is
selected then it is possible that one of the two maxima might be
missed.
1990-2012 Petroleum Experts Limited

511

GAP

The Parameter 3 in most cases should be kept at the default


value unless otherwise recommended
Optimiser - optimisation This setting allows the user to display the intermediate values of
the optimization variable. The following conventions apply:
variable display
(0:nothing, 1:final value 0: No intermediate value is displayed
1: The final values of each trial are displayed
only, 2:each trial)
2: Each trial value is displayed.
The default value is 2 and should be OK for most cases. In
general, hiding the display would reduce the time required for the
calculations
Optimiser - Optimisation Changes the sum of constraint violations allowed during iteration.
Mode ZERO should switch automatically from one to the other
Mode
Optimiser - lift and choke Artificially lifted wells may be prevented to be choked and at the
same time optimized on gas or frequency
wells simultaneously
Optimiser - report
Controls the tolerance at which a constraint violation flag is
triggered
constraint violated
by more than (percent)
Optimiser - Sensitivity
Will change the driving term of the inflow of wells and hence the
rest of the system after normalization and pre-conditioning
on Inflow
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 results during a prediction run. The following
intermediate step
conventions apply:
results snapshots at
0: Intermediate steps results are not saved. No *.gmh file is
each prediction step
generated.
(slower!)
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
each new step during a prediction run. The following conventions
solver variables
apply:
at each prediction
0: The solver uses the results of the last step as first guess for the
step (slower!)
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
for each new step during a prediction run. The following
optimiser variables
conventions apply:
at each prediction
0: The optimizer uses the results of the last step as first pass for
step (0:never,
the current step.
1:always, 2:smart)
GAP User Guide

August, 2012

User Guide

Prediction - control
movement of optimiser
variables

512

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
This option will limit the movement of optimiser variables
between timesteps. The default value is 1.
This setting is only valid in forecasting mode.
Let us say maximum separator constraint of 10 000 bbls is set on
a system with two wells but each single well is capable of
producing 8000 bbls for instance. Clearly, there is an infinite
number of solutions to achieve 10000 bbls as a total. Hence as
long as there is an infinite number of solutions, from one step to
the another we may go from one solution to the other .
Mathematically speaking, all these solutions are equally valid if
there is no discrimination in the objective function. However, the
profile can oscillate heavily . What has been added in IPM 6.2 is
a penalization of the movement of variables from last time step .
This is controlled by the Prediction - control movement of
optimizer variables at the bottom of the setting screen for
forecast . The default is 1 (means penalize movement from last
time) . Changing this setting to 0 means that the history has no
effect on the present optimization and the rate/time profile may
show oscillations

1990-2012 Petroleum Experts Limited

513

GAP

2.8.7 Calculation Results


Once the mode is selected, click on "Calculate" to run the 'Solver'.
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.
Amount of Gas Lift
Allocated
(No optimisation):

GAP User Guide

August, 2012

User Guide

514

Oil Production Results


(No optimisation)

Amount of Gas Lift


Allocated (Optimised)

1990-2012 Petroleum Experts Limited

515

GAP

Oil Production Results


(Optimised)

Refer to the chapter on Reporting 565 for more details. Clicking on an icon and
selecting the 'Results' data section allows the user to view the calculated results
for individual elements.

GAP User Guide

August, 2012

User Guide

516

2.9 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 the next few sections the following topics will be explained:
How a prediction is carried out.
How to set up material balance prediction.
Options that are available for running predictions.
An overview of short term, decline curve forecast predictions.
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.

1990-2012 Petroleum Experts Limited

517

GAP

2.9.1 Prediction - Basics


The following steps describe how the calculations are carried through the predictions.
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.

GAP User Guide

August, 2012

User Guide

518

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.

1990-2012 Petroleum Experts Limited

519

GAP

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.

GAP User Guide

August, 2012

User Guide

520

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.

1990-2012 Petroleum Experts Limited

521

GAP

With the IPR defined, GAP will solve the network using the 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.

GAP User Guide

August, 2012

User Guide

522

2.9.1.1 Forecast Workflow


Assemble the required information:
Reservoir PVT data (Use Flash data)
Well inflow and equipment configurations
Reservoir data as listed above
System geometry
Production and process system constraints
A suggested workflow is described below:
1. Match PVT in PROSPER.
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.
4. Draw the gathering system sketch using GAP.
5. Batch calculate well VLP and IPR using PROSPER from within GAP.
6. Check GAP model using the 'Model Validation' and 'Solve Network'.
7. Set-up up well and reservoir constraints.
8. Run production forecast.
The following sections describe the data entry for the setting up of a Material Balance forecast in
GAP.

2.9.1.2 Linking MBAL files to GAP


To carry out a prediction requires a tank 338 model which can either use the material balance or
decline curve methods.

1990-2012 Petroleum Experts Limited

523

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.

2.9.1.3 Running Predictions


This section describes how to perform a prediction. It is assumed that the network model has
already been set up as described in previous chapters. If the user is unfamiliar with building a
network model then it is recommended to consult the examples 603 .
Click on Prediction | Run Prediction from the main menu:

GAP User Guide

August, 2012

User Guide

524

The set-up screen shown below will be presented.

1990-2012 Petroleum Experts Limited

525

GAP

This screen is used to set the start and stop dates for prediction along with the time step size.
Start
Date

Enter the start date of the prediction. Note that the start date needs to be within the
historical ranges of all the tanks connected in the network model.

End
Date

Enter the final date of the prediction.

Step
Size

Enter the prediction step size. Note that the rate produced is considered to be
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
predictio
n

The "DCQ Prediction" option enables GAP to calculate the maximum daily gas
contract quantity that the system can deliver for the entered DCQ period. This
option is particularly useful to understand DCQ quantities that can be delivered by
the field over a given contract period.
The "Populate" button on the DCQ Prediction Schedule can be used to
automatically create a DCQ profile.
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

GAP User Guide

August, 2012

User Guide

526

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.

1990-2012 Petroleum Experts Limited

527

GAP

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. The constraint parameters
are outlined in the table below:
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
Fraction

GAP will make up the required reservoir injection using the


specified fraction gas. If set to zero (or left blank), 100% water
injection is assumed

Voidage Repl.
(Water)

Pressure will be maintained by voidage replacement with


water

Voidage Repl.
(Gas)

Pressure will be maintained by voidage replacement with gas

Water Recycling

Produced water is re-injected

Gas Recycling

Produced gas is re-injected

Gas Recycling
(Prd amnt)

The produced gas minus the entered amount is re-injected


into the tank. This constraint can be scheduled to model reinjection 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

GAP User Guide

August, 2012

User Guide

528

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" to proceed to the 'Results' screen:

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.

1990-2012 Petroleum Experts Limited

529

GAP

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.
The cycle is repeated until the end of prediction time is reached.
NEW!!!
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.

GAP User Guide

August, 2012

User Guide

530

2.9.1.4 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'
Abandonment' section. As soon as the well production decreases below the set
minimum abandonment constraint, the well will be automatically closed by GAP.
2.9.1.5 Linking Production / Injection Forecasting
The reservoir targets allow GAP to model production rates under specified conditions of
injection and pressure maintenance. GAP will calculate both the production and the injection
rates required to satisfy the reservoir constraints assuming that sufficient equipment
(compressors, pumps, injection wells and flowlines to distribute the fluid) is available to inject the
required volumes of gas and water.
There are two ways to carry out a production prediction with both production and injection:
Having the production wells and injection wells described in the same model
Having two different models, one model for production, and one model for injection, and
link these models together.
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:

1990-2012 Petroleum Experts Limited

531

GAP

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.
The alternative is to have the injection system modelled as a separate GAP file.

GAP User Guide

August, 2012

User Guide

532

This injection system can then be associated to the production system using the 'Options' menu.

To view both the system on the same screen select Window | Tile Vertically.

1990-2012 Petroleum Experts Limited

533

GAP

When two models are set in separate GAP files and linked as shown above, the production
system is solved first assuming that the reservoir targets can be met. 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, then the injection
system will not be constrained 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 746 (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.

GAP User Guide

August, 2012

User Guide

534

2.9.2 Prediction Options


If a decline curve or material balance prediction is set up, the 'Prediction' menu becomes active.

2.9.2.1 Run Prediction


This is used to access the setup screen and initiate the prediction run.
2.9.2.2 View Prediction Log
This is used to access the 'Prediction Log Window'.

1990-2012 Petroleum Experts Limited

535

GAP

Log

This reports the steps followed by the calculations

Events

Log screen reporting any event occurring in the system (for example wells coming
on line, change of separator constraints, etc.)

Constrai This log screen highlights if constraints are violated during the prediction.
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
extrapolation.
s

2.9.2.3 Save Prediction Results as


The feature is accessed from the 'Prediction' menu. It allows the user to save the prediction
results every time a prediction is run. This allows the engineer to save multiple scenarios and
compare them on the same plot.

GAP User Guide

August, 2012

User Guide

536

The "Add" button should be used to create a new stream, which can then be renamed.

When the 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.

1990-2012 Petroleum Experts Limited

537

GAP

Alternatively, the user can select a variable (for example Cumulative Oil production) and then
select the
variable.

GAP User Guide

icon. The user can then select all the predictions streams to plot the

August, 2012

User Guide

538

2.9.2.4 Reload Prediction Snapshot


The user has the option to save snapshots of the network at each date of the prediction. The
user can then "reload" these snapshots and solve the network to analyse the system in greater
detail. This is extremely powerful for troubleshooting purposes as the user has the advantage of
being able to load a snapshot, make modifications to the system (delete wells, remove chokes
etc.) to understand the response and then when the snapshot is unloaded the network is
restored to its initial configuration with none of the changes applied.
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.

1990-2012 Petroleum Experts Limited

539

GAP

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.

GAP User Guide

August, 2012

User Guide

540

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.
Reload Prediction Previous Snapshot
Reload Prediction Next Snapshot
Unload Prediction Snapshot
2.9.2.5 Prediction Script Options
Selecting edit prediction script displays the screen where the script is entered and edited.

1990-2012 Petroleum Experts Limited

541

GAP

Please refer to the section "Prediction Script Options 587 " for more information on this topic.
Import/Export
Prediction Script

The script can be stored in an ASCII file (extension .gapscr) and


imported and exported in/from GAP

Disable
Prediction Script

This option discards the prediction script from the Prediction

2.9.2.6 Edit System Constraints Schedule


Selecting Prediction | System constraints schedule displays the following screen.

GAP User Guide

August, 2012

User Guide

542

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.9.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'
1990-2012 Petroleum Experts Limited

543

GAP

Abandonment' section. As soon as the well production decreases below the set
minimum abandonment constraint, the well will be automatically closed by GAP.
2.9.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.

GAP User Guide

August, 2012

User Guide

544

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.
The fields available are:
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
Type

Choose the event from the ones that appear on the drop down list. The list of
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
Separator / Injection Manifold
Change constraint
Change Pressure
Mask
Unmask
Change OPENSERVER variable
Execute OpenServer Command
1990-2012 Petroleum Experts Limited

545

GAP

Compressor / Pump / Check Valve / Gate Valve / Inline Separator /


Inline General
Mask
Unmask
Bypass
Unbypass
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
Type

If Change constraint was chosen above, this field contains a drop down list
of 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
OK

Save changes and go to the previous panel

Cancel

Ignore any changes and go to the previous panel

Help

Displays this screen

GAP User Guide

August, 2012

User Guide

546

2.9.2.8 Edit Equipment Schedule


The equipment schedule is a summary screen that allows the user to input or edit schedules for
any piece of equipment from one screen. Click Prediction Equipment Schedule and the
following screen will appear.

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.
In general, to schedule equipment constraints:
Select the relevant equipment
Enter the date that the schedule will be applied.
Select the event type (change constraint, mask/unmask etc.) from the drop down list
Select the constraint type (Maximum liquid rate, Maximum gas rate etc) from the drop
down list, if applicable.
Enter the new scheduled value, if applicable.
Note that the dialogue supports the standard GAP cut and paste facility, to aid the movement of
1990-2012 Petroleum Experts Limited

547

GAP

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.
The fields available are:
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
Type

Choose the event from the ones that appear on the drop down list. The list of
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
Separator / Injection Manifold
Change constraint
Change Pressure
Mask
Unmask
Change OPENSERVER variable
Execute OpenServer Command
Compressor / Pump / Check Valve / Gate Valve / Inline Separator /
Inline General
Mask

GAP User Guide

August, 2012

User Guide

548

Unmask
Bypass
Unbypass
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
Type

If Change constraint was chosen above, this field contains a drop down list
of 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
OK

Save changes and go to the previous panel

Cancel

Ignore any changes and go to the previous panel

Help

Displays this screen

1990-2012 Petroleum Experts Limited

549

GAP

2.9.2.9 Edit Tank Schedule


The tank schedule option is used to change reservoir parameters at any point during the
prediction run. The tank schedule operates in the same manner as the equipment schedule
described above. Supported tank target parameters are:
Voidage Replacement (with water or gas)
Pressure Target
Production recycling (water or gas)
Gas recycling less sales amount
Fixed rate (water or gas)
These parameters can all be scheduled in the same way as has been described previously.

The fields available are:


Date

GAP User Guide

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.
August, 2012

User Guide

Event
Type

550

Choose the event type from one of:


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)
Voidage Replacement (Water) OFF
Voidage Replacement (Gas) OFF
Pressure Target OFF
Water Recycling OFF
Gas Recycling OFF
Gas Recycling (Produced gas - fixed amount) OFF
Fixed Rate (Water) OFF
Fixed Rate (Gas) OFF
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 746 .

Constraint
Type

If Change constraint was chosen above, this field contains a drop down list
of 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
OK

Save changes and go to the previous panel

Cancel

Ignore any changes and go to the previous panel

Help

Displays this screen

This dialogue also supports the standard GAP copy and paste mechanism.
2.9.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.

1990-2012 Petroleum Experts Limited

551

GAP

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
Type

Select the 'Event' type. The user has the option to:
Change gas lift available
Change constraint
Change prediction step
Change OpenServer Variable
Execute OpenServer Command

New value

GAP User Guide

This field specifies the new value of gas lift available or constraint that is to be
scheduled.

August, 2012

User Guide

552

2.9.2.11 Edit Schedule Event Groups


A series of scheduled events can be "grouped" into an "Event Group". For example, to create
an 'Event Group' select Prediction | Edit Schedule Event Groups and enter the details of the
group as shown below.

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.9.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
1990-2012 Petroleum Experts Limited

553

GAP

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.

GAP User Guide

August, 2012

User Guide

554

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

1990-2012 Petroleum Experts Limited

555

GAP

Results 523 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.


calculated gas contract for each DCQ period that the system can provide.

GAP User Guide

This displays the

August, 2012

User Guide

556

Plotting the instantaneous rates for the entire production system shows the rate profile which
corresponds to the above DCQ schedule (assuming no swing factors).

1990-2012 Petroleum Experts Limited

557

GAP

If swing factors were included (based on the values used figure above) the following profile
would be observed.

GAP User Guide

August, 2012

User Guide

558

The contract type (gas rate, gross heating value, water rate or oil rate) can be selected by
the user.
2.9.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.

1990-2012 Petroleum Experts Limited

559

GAP

2.9.2.14 Purge Results


These options deletes the prediction results (latest run performed) and the prediction snapshots.
2.9.2.15 Plot and View the Prediction Results
The prediction results can easily be visualised, plotted, and analysed using the following options.

GAP User Guide

August, 2012

User Guide

560

2.9.2.15.1 Plot Nodes Prediction Results


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

1990-2012 Petroleum Experts Limited

561

GAP

Click "Plot" to access a graph which provides the user with the option to plot variables for the
selected equipment.

GAP User Guide

August, 2012

User Guide

562

When the 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.

1990-2012 Petroleum Experts Limited

563

GAP

Alternatively, the user can select a variable (for example Cumulative Oil production) and then
select the
variable.

GAP User Guide

icon. The user can then select all the predictions streams to plot the

August, 2012

User Guide

564

2.9.2.15.2 Plot Tanks Prediction Results


The option is used in the same way as for the Nodes 560 , however it allows the user to view the
Prediction results from multiple tanks.
2.9.2.15.3 Plot Emissions Prediction Results
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 560 .
2.9.2.15.4 View DCQ Prediction Results
Refer to the section on the DCQ Schedule 552 .

1990-2012 Petroleum Experts Limited

565

GAP

2.10 Results and Reports


This chapter describes how to view results, and prepare plots and reports from GAP
simulations. GAPs features allow a wide range of data to be conveniently reported from the
'Results' and the 'Reports' menus.
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.

2.10.1 Results Menu

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:
Detailed
Summary

To display detailed data including water cuts, pressures and


temperatures
To display summary data for selected items.

Total System

To display overall system production rates.

System Emissions

To display all the results concerning the fluid that is vented or


flared. This option is active only when flares or vents are
present in the network.
Displays the PC curves. This option is active when in the
system there are wells modeled with Performance Curves
Interpolation, and it can be used to verify the quality of the PC

Plot Performance
Curves

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 Joints
All Pipes
All Separators
Selected Items.

GAP User Guide

August, 2012

User Guide

566

2.10.1.1 Detailed Results


Detailed results are required for troubleshooting and investigating individual element
temperatures, pressures, etc. An example of a detailed results screen is shown below:

Selecting one of these options gives the user access to all of variables associated with all or a
single piece of equipment.

Use the arrows 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 following command buttons are used to display
data from the selected system elements and move about the results database.

1990-2012 Petroleum Experts Limited

567

GAP

2.10.1.2 Summary Results


Use the summary results to quickly identify where production problems are occurring or where
the best producers are located. An example of the summary results screen is shown below:

The difference between the 'Results Summary' 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 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' screen will display a histogram of the selected
GAP User Guide

August, 2012

User Guide

568

variable against the equipment items. This feature is useful for quickly identifying strong
producers or problematic wells.
An example of a summary histogram for oil production is shown below:

2.10.1.3 Total System Results


A quick way of accessing the results of the total system is through the 'Total System' results.

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.
1990-2012 Petroleum Experts Limited

569

GAP

2.10.1.4 System Emissions


This section allows the user to display all the results concerning the 'Emissions', that is to say,
the fluid that is withdrawn from the network by means of flares and vents.

The results are displayed as in the previous sections. The figure below displays the results of
last 'Solve Network'.

GAP User Guide

August, 2012

User Guide

570

Selecting "Prediction" displays the prediction results as before.

2.10.1.5 Plot Performance Curves...


This option is used to plot the well performance curves. This is useful to check the quality of the
PCs well by well.
1990-2012 Petroleum Experts Limited

571

GAP

2.10.1.6 Plot Options


NEW!!!
Below is a brief discussion on the different options that are available with the plotting.
Zoom

To zoom in on a particular region of a plot, simply click and drag 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.

GAP User Guide

August, 2012

User Guide

572

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 a
list. When this option is selected the following window appears which
allows the user choose which variables should be removed from the plot.

1990-2012 Petroleum Experts Limited

573

GAP

This option allows the user to save plots which can then be later recalled.
This option allows the user to reload saved plots.
This option edits the Labels, Scales and the Legend.
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.

2.10.2 Reports
Use the 'Report' option from the main menu to prepare reports from a current analysis, or from a
previously saved .GAP file.

GAP User Guide

August, 2012

User Guide

574

When the 'Report' 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.

1990-2012 Petroleum Experts Limited

575

GAP

Selecting the Run Report button will allow the program to write the results to the clipboard,
which can then be pasted into Excel.

GAP User Guide

August, 2012

User Guide

576

2.11 History Matching an IPM Model


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

1990-2012 Petroleum Experts Limited

577

GAP

2.11.2 Procedure for History Matching


There are two ways an IPM model can be history matched:
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.
The following is a comparison of the two methods.

2.11.2.1 Running the model and comparing to history


Consider the model shown in the figure above. This is a complex network that could take up to 5
hours to run for the duration of history (depending on the time step and the machine). If the
results at the end of the run do not reflect the historical production, the engineer would have to
make changes to the model and then re-run in order to validate. The following is a list of some

GAP User Guide

August, 2012

User Guide

578

changes that could be made in the model:


1.
2.
3.
4.
5.

Change the size of the fluid in place of one or more reservoirs


Change the PI of one or more of the wells
Change the pressure drop response of one or more wells
Change the pressure drop response of one or more surface pipelines
Change the response of one or more compressors

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,
1.
2.
3.
4.

When each well was on or off line


When each compressor was on of off line
Routing of fluids through different pipelines
Shutdowns of part of the field

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.

2.11.2.2 History matching each element independently


As GAP is a completely physical model of the real field, which is why it is so powerful,
then it will capture all of the interactions occurring between the different elements (well,
pipelines, reservoir etc.). Therefore from a troubleshooting perspective, in order to
understand the dependency of specific components in system, we should isolate the
elements and this is the recommended approach for history matching in IPM.
This procedure is the recommended way to perform history matching in a full IPM model:
1. Match the reservoir models to historical production data (independent of well
performance) and quality check the PVT.
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
1990-2012 Petroleum Experts Limited

579

GAP

definition it is not predictive and the model cannot be considered reliable.


3. Match the surface pipelines to tests.
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 above procedure is demonstrated with a simple example below.

The matching procedure can start from the reservoir model. This can be history matched as
explained in the MBAL manual.

GAP User Guide

August, 2012

User Guide

580

Fractional flow curves should also be matched to capture the interaction of the phases.

1990-2012 Petroleum Experts Limited

581

GAP

As soon as this is done, each well can be matched independently of the reservoir model in
PROSPER.

GAP User Guide

August, 2012

User Guide

582

to more than one test at a time:

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 204 MBAL 204 ".
The surface pipelines can also be matched if the test data has been validated and shown to
representative.

1990-2012 Petroleum Experts Limited

583

GAP

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.

GAP User Guide

August, 2012

User Guide

584

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.

1990-2012 Petroleum Experts Limited

585

GAP

All of the wells in the model can be selected and then a date can be entered in the following
screen.

GAP User Guide

August, 2012

User Guide

586

Selecting "Calculate" and "Continue" will update the well models, thus initialising them to the
date in question.
The Model Validation 489 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 trouble shooting far more efficient and direct.

1990-2012 Petroleum Experts Limited

587

GAP

2.12 Prediction Script

2.12.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 predicition, modify parameters on the fly etc.
The range of applications is extremely diverse and this is demonstrated in Example 1b 632 ,
Example 5 765 and Example 8 841 .
The 'Prediction Script' can be accessed from the menu Prediction | Edit Prediction Script or
from the

button in the main toolbar.

Selecting 'option' 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.
b.
c.

Wells can be prioritised and switched on as soon as the potential of the field cannot
satisfy contracts volumes.
Log messages of prediction events (for instance water cuts reaching a given value)
Automatic detection of unwanted fluid volumes in the system and triggering of
disposal systems.

GAP User Guide

August, 2012

User Guide

588

2.12.2 Functions
The scripting facility revolves around the following commands:
DoGet
DoSet
Cmd
LogMsg

Used for retrieving a certain value.


Used for setting a certain value.
Used for performing a command (such as masking a well)
Logging a message on the log screen appearing during the prediction:

EndRun
SetRedoStep

Ends a prediction run


Sets the flag that will force the program to re-run the solver for the current
time step
SetTakeSnapshot Switch on and off the 'take snapshot' flag. 1 = on
(0 or 1)
These commands can be set in the same way as the OpenServer commands in four
subroutines that are provided in the script.

1990-2012 Petroleum Experts Limited

589

GAP

PredProlog
PredEpilog
PredStepProlog
PredStepEpilog

PredStepSolverProlog
and Epilog

Subroutine that is executed once at the beginning of the prediction


(before any calculations are done).
Subroutine that is executed once at the end of the prediction (after
all calculations are done).
This subroutine is executed at the beginning of each prediction
step.
This subroutine is executed at the end of each prediction step.
For example, results of the previous timestep can be used to
make decisions on how to set up the network for the timestep to
follow.
The script is run once at the beginning or end (depending on the
Prolog/Epilog choices) of each solver step. This means that if the
GAP model has a production system, water injection and/or gas
injection system, the script will be run at the beginning or end of
solve of each of them. This mode is particularly useful, for
example, when we want to act on the injection systems during a
time step.

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[" & CStr(j) & "].LIQRATE"
with j=3 is equivalent to
GAP User Guide

August, 2012

User Guide

590

GAP.MOD[{PROD}].WELL[{Well_A}].PREDRES[3].LIQRATE

2.12.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 be the red marker.
Analysing the code line by line.
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.
1990-2012 Petroleum Experts Limited

591

GAP

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.

GAP User Guide

August, 2012

User Guide

592

2.13 Defining System Units


In GAP, the units can be modified at two different levels. They can be changed globally, applied
to the whole system, or at the individual variable level.

2.13.1 Setting the Input / Output Unit System


The global unit system is defined in the 'Units' option which is accessed from the main menu. By
default the global unit system is 'Oil Field'.

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

1990-2012 Petroleum Experts Limited

593

GAP

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.

2.13.2 The Control Database


The "Controls" option takes the user into the controls database.

GAP User Guide

August, 2012

User Guide

594

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.

1990-2012 Petroleum Experts Limited

595

GAP

2.13.3 Defining Units at a Variable Level (Dynamic Unit


Conversions)
It is possible to change the units of a parameter on-the-fly, without having to consult the main
unit options described above. By clicking the right hand mouse button on a dialogue entry field, it
is possible to choose from a list of available unit conventions.

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.

GAP User Guide

August, 2012

User Guide

596

1990-2012 Petroleum Experts Limited

Chapter

Examples Guide

598

3 Examples Guide
3.1 Examples Index
The following table can be used as a reference for the examples included in this guide:
Application area
Gas Field Modelling and
Optimisation
Advanced Gas field
Modelling and
Optimisation

Oil Field Modelling and


Optimisation

Detailed Results for


Pipelines
Pressure Support with
Water Injection

Smart Well Completions

Topic
Examples Guide
Setting up a network model for a gas
Example 1a 603
field,
entering
constraints
and
schedules and running predictions
Modelling hydrate injection using inline
elements in a gas field.
Setting up a network model for an oil
field, model validation to QC the well
models, using "Initialise IPRs from
Tank Simulations", setting constraints,
running "Solve Network," entering
schedules, running predictions and
troubleshooting tips.
Viewing details of the pressure drop
calculation in GAP using the PROSPER
on line feature
Setting up network model for water
injection system, linking it to the main
production model
and
running
prediction with the two coupled
models
Setting up a network model for a multilayered well completion with inflow
controllable valves, optimising both of
the layers to maximise oil production,
introducing scheduling and prediction
script.

Setting up network model with ESP


Artificial lift Optimisation - lifted wells, scheduling and running
predictions with optimisation to honour
ESP field
constraints on maximum power
available
Setting up network model with gas
Artificial lift Optimisation - lifted wells, scheduling and running
Gas Lifted field
predictions with optimisation to honour
constraints.

Example 1b 632

Example 2 665

Example 3 731

Example 4 746

Example 5 765

Example 6 793

Example 7 816

1990-2012 Petroleum Experts Limited

599

GAP

Setting up a gas lift injection network


and linking it to the main production
Gas Lift Injection Network model optimising the coupled models.
Running
prediction
script
and
compressor modelling.
Setting up a fully compositional
LNG Field (Fully
network of a LNG field, running
Compositional)
predictions with advanced flow
assurance studies to predict hydrate
formation.
LNG Field (BO
Running predictions for a LNG network
Compositional Lumping/ with advanced PVT modelling.
Delumping)
Setting up a tight gas field, creating/
Tight Gas Field
importing partial GAP files and
compressor modelling.
Setting up a coal bed methane field,
Coal Bed Methane
dewatering, routing and running
predictions.

GAP User Guide

Example 8 841

Example 9a 893

Example 9b 948
Example 10 960
Example 11 984

August, 2012

Examples Guide

600

3.1.1 Extracting a GAP Archive file (.GAR)


All the files related to the worked examples are stored in a single GAP archive file. An archive
file works in a similar way to a zip file in that a group of files can be compressed and stored in
one single file.
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.
To extract an archive file
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.

1990-2012 Petroleum Experts Limited

601

GAP

After setting the directory, click on | Extract to extract the files.

When the Job Progress bar has turned fully blue click on | OK. The files have now been
extracted.
Related topics:
Archive Creation
GAP User Guide

72

August, 2012

Examples Guide

Archive Extraction

602

75

1990-2012 Petroleum Experts Limited

603

GAP

3.2 Example 1a - Gas Field Network modelling with GAP


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
The objectives of this example are to learn how to:
Set-up a basic GAP model for a gas field.
Set-up constraints in the system.
Set-up well controls
Run a prediction using GAP, PROSPER and MBAL.
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
GAP User Guide

August, 2012

Examples Guide

604

- Generate well IPRs in GAP using PROSPER


- Generate well VLPs in GAP using PROSPER
- Define the pipeline and eventual surface equipment
- Setting constraints and well controls
2. Run the prediction
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

3.2.2 Data available


Description of the pipelines
Label

Pipe Pipe ID
segme
nt
Length

Upstrea
m TVD

Downstre
am TVD

Overall Heat
Transfer
Coefficient

Multiphase Correlation

km

Inches

ft

ft

Btu/h/ft2/F

Line 1

0.8048

Petroleum Experts 5

Line 2

1.1096

Petroleum Experts 5

Line 3

0.5

Petroleum Experts 5

Line 4

0.5

Petroleum Experts 5

Manifold_A to Manifold_B

0.3

12

Petroleum Experts 5

Manifold_B to Sep Joint

0.4

12

Petroleum Experts 5

Table 1 Pipeline description

Description of the reservoirs


Tank Name

Gas Reservoir

History Start - End

GIIP

MBAL File

(dd/mm/yyyy)

Bscf

No History

2000

Gas Reservoir.mbi

Table 2 Reservoir data

Description of the wells


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

1990-2012 Petroleum Experts Limited

605

GAP

Well4

Well4.OUT

Table 3 Wells data

3.2.3 Build the GAP 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.

3.2.3.1 Draw the GAP Network


1. Getting Started
Begin by starting the program.
From the GAP entry screen, select File| New to reinitialise GAP.

GAP User Guide

August, 2012

Examples Guide

606

2. Defining the Global System Option


To begin setting up the system options, select Options | Method and make the following
selections:
System Type :
Optimisation Method :
PVT Model :
Prediction:
Prediction Method:
Water Vapour:
Temperature Model:
Calculate Well Choke Delta T:

Production
Production
Black oil
On
Pressure and temperature
Calculate Condensed Water Vapour
Rough Approximation
On

1990-2012 Petroleum Experts Limited

607

GAP

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 Ok to exit this screen.
This completes the system set-up and re-initialises the program.
3. Defining the Units System
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

GAP User Guide

August, 2012

Examples Guide

608

In order to reproduce the same results in this example, it is recommended


to set the inputs and outputs in Oilfield Units.
For further details, access the Units section 592 of the user Guide.
Click on OK to complete the selection of units and to close the screen.
If necessary, later we will modify the units system when entering input data.
4. Drawing the System
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 screen. This will create
an icon which will should be labeled Gas Reservoir.
The name Gas Reservoir is a label that is associated with the
reservoir icon. Node labels are not required in the IPM suite,
however if the models are to be used as fields in IFM then they will
require an individual label.

1990-2012 Petroleum Experts Limited

609

GAP

NOTE: If a mistake is made in entering the label, this can be changed


by double clicking on the element and in the "Summary screen"
changing the "Label" field.
NOTE: When a an icon is circled in red it means that it is not valid. In
this case it is because we have not yet defined the MBAL files for
these tanks.

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:

GAP User Guide

August, 2012

Examples Guide

610

Some useful tips


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
main toolbar
2. Icons can be deleted by selecting the scissors
clicking on the node to be removed.

from the

icon from the toolbar menu and

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
Seven joints will be required in this system:
A single joint will be required for each wellhead (i.e. "WH1") which will be placed near the well
icons.
1990-2012 Petroleum Experts Limited

611

GAP

Two joints for each of the pipeline manifolds (i.e. "Manifold_A").


One joint to represent the separator joint (i.e. "Sep Joint") which will be placed near the
separator.
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.

The Separator Separator


A separator is considered by GAP to be the end of the production chain and
will be allocated a pressure at a later stage. It does not have to actually be a
separator, rather a convenient delivery point where a known pressure exists.
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.

GAP User Guide

August, 2012

Examples Guide

612

Select the 'Production Separator' and label the icon as "Separator".

1990-2012 Petroleum Experts Limited

613

GAP

The Links /Pipes


Links are connection tools which connect the various nodes in the network
system. The following rules apply:
a link between a reservoir and a well has no dimension
a link between a well and a joint has no dimension
a link between 2 joints may have a dimension (pipe, chokes)
a link between a joint and a separator may have dimensions
a well can not be linked directly to a separator. An intermediate joint is compulsory.
a reservoir can not be linked directly to a separator.
Link the components together by doing the following:
1. Selecting the Link
icon from the main toolbar.
2. Click on the first component to be connected with the left mouse button.
3. Keeping the left mouse button pressed, move the cursor from the first component to the
second component.
4. A joint will form when the mouse button is released over the second component.
Create links between the following components in the direction of the flow:
1. Connect the tank Gas Reservoir to all of the wells.
GAP User Guide

August, 2012

Examples Guide

2.
3.
4.
5.

614

Connect the wells to the correspondent well heads.


Connect the well heads to the corresponding manifold.
Connect the manifold to the sep joint.
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 network drawing is completed.


3.2.3.2 Define the Reservoir
For the purposes of this example the MBAL files have already been built (ref. Table 2 604 ).
Please refer to the worked examples in the MBAL manual for a step by step guide of how to
build the file.
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.

1990-2012 Petroleum Experts Limited

615

GAP

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

3.2.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 "Well1" 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
GAP User Guide

August, 2012

Examples Guide

616

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:

Oil Producer (No Lift)

Model:

VLP/IPR intersection

PROSPER file:

Well1.OUT

PLEASE MAKE SURE THAT THE WELL TYPE IS DEFINED AS "Gas


Producer"

Access the IPR section from the summary screen and set the IPR Type to C & n for all well IPR
1990-2012 Petroleum Experts Limited

617

GAP

models:

Complete all of the wells according to the data provided in Table 3 604 .

3.2.3.4 Generate Well IPRs


Once all of the wells have been created and the associated PROSPER well models selected, the
IPRs can be generated in GAP in a batch mode.
From the main GAP menu select Generate | Generate Well IPRs from PROSPER.
Then select All | Generate.

GAP User Guide

August, 2012

Examples Guide

618

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 IPR curve can be visualised by selecting "Plot".

1990-2012 Petroleum Experts Limited

619

GAP

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.
Click on | OK to get back to the GAP main screen.

GAP User Guide

August, 2012

Examples Guide

620

3.2.3.5 Generate Well VLPs


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 466 for guidelines on the ranges to use.
It is recommended to always use the ranges suggested in the
guidelines as these attempt to ensure there are no extrapolation
errors.
In this case, as the well models have already been saved, we will use the ranges already present
in the models:

1990-2012 Petroleum Experts Limited

621

GAP

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.

GAP User Guide

August, 2012

Examples Guide

622

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.
3.2.3.6 Define the Pipelines
Table 1 604 contains the information about all of the pipelines in the field.
According to the network sketch 605 , 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:
Pipeline model:
Correlation:
Gravity Coefficient:

GAP Internal Correlations


Petroleum Experts 5
1
1990-2012 Petroleum Experts Limited

623

GAP

Friction Coefficient:

Environment
Select the 'Environment' tab to access the screen which allows the pipeline environment to be
defined and then enter the following values.
Surface Temperature:
Overall Heat Transfer Coefficient:
Oil Heat Capacity:
Gas Heat Capacity:
Water Heat Capacity:

GAP User Guide

32 degF
3 Btu/h/ft
0.53 Btu/lb/F (default)
0.51 Btu/lb/F (default)
1 Btu/lb/F (default)

August, 2012

Examples Guide

624

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

Line 1

Pipe
Segment
Length

Pipe ID

Upstream
TVD

Downstream
TVD

Roughness

Multiphase
Correlation

km

Inches

ft

ft

Inches

0.8048

0.0006

Petroleum
Experts 5

The upstream and downstream TVDs are the same therefore the pipeline is horizontal.

1990-2012 Petroleum Experts Limited

625

GAP

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 undescribed pipe as follows:
1. Hold down the left mouse button on the described pipe and press the
Control key.
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

GAP User Guide

August, 2012

Examples Guide

626

3.2.3.7 Settings the Constraints


To enter the constraint double click on the "Separator" to access the Summary screen and then
select "Constraints." Enter a maximum gas constraint of 250 MMscf/d.

Two red arrows will appear in the main screen on the Separator icon as shown below.

3.2.3.8 Settings the Well Controls


In order for the optimiser of GAP to be able to maximise production and honour constraints,
controls have to be set in the system. In this case the field has well head chokes.
The wells can be made "controllable" (which means that the wellhead choke can be changed by
the optimiser) by:
Accessing the Controls 230 section in the well summary screen and setting the "dP Control" to
"Calculated" or "Fixed Value."
Right clicking on the well icon in the main GAP screen and selecting "Controllable" (this is
currently only for dP Control - for other controls, like gas lift injection rate or pump frequency,
the "Controls" section will also need to be accessed)

1990-2012 Petroleum Experts Limited

627

GAP

It is paramount to set controls every time a constraint needs to be


honoured. This is to reproduce what happens in reality where devices
like chokes are used to control the field
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.

3.2.4 Running the Prediction


To run the prediction select Prediction | Run Prediction from the main GAP menu and then enter
the following information:
Start Date:
End Date:
Step Size:

GAP User Guide

01/01/2008
01/01/2018
2 Months

August, 2012

Examples Guide

628

Select Next | Next and enter a separator pressure of 1000psig

Select | Next and then set the prediction mode to 'Optimise with All Constraints' and then |
Calculate:

1990-2012 Petroleum Experts Limited

629

GAP

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 147 ) the program will calculate the maximum the field can
produce. It does this by solving the system with all of the well chokes
fully open. Solving the system with the wells fully open can result in
bottleknecking or high producers backing out low producing wells
which may actually lead to a reduction in the overall production.

Notes on Constraints 230

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.
We will follow the last method to plot the separator results:

GAP User Guide

August, 2012

Examples Guide

630

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.

1990-2012 Petroleum Experts Limited

631

GAP

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.

GAP User Guide

August, 2012

Examples Guide

632

3.3 Example 1b - Gas Field Network Modeling with GAP


(Advanced)
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
The steps followed will be:
1. Write a script that is executed during the prediction to regulate the surrounding
temperature
1990-2012 Petroleum Experts Limited

633

GAP

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 600 the archive file from the Initial Files folder.

3.3.2 Data Available


The average minimum temperature for each month has been provided for the region.

Table 1 Temperature Data

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.

GAP User Guide

August, 2012

Examples Guide

634

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.

3.3.3 Defining the Inline Programmable Elements


Extract the archive Gas Field Advanced.gar provided in the samples folder.
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.

1990-2012 Petroleum Experts Limited

635

GAP

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.

GAP User Guide

August, 2012

Examples Guide

636

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.

3.3.3.2 Setting up the Inline Programmable Element


Double-click on the inline element to activate the Summary Screen and click on the 'Script'
button which will be labeled 'Invalid'.
1990-2012 Petroleum Experts Limited

637

GAP

This screen is where the script is entered.

GAP User Guide

August, 2012

Examples Guide

638

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.

1990-2012 Petroleum Experts Limited

639

GAP

Enter the following information for the two variables:


Description

Type

Unit

Script Name

Maximum Weight Fraction of Methanol

Real Number

Fraction

WT_MAX

Density of Methanol at Standard Conditions

Real Number

lb/cu.ft

RHO_METHANOL

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.

GAP User Guide

August, 2012

Examples Guide

640

Once the variables have been defined the next step is to write the script which will entered in the
'Script File' section.

1990-2012 Petroleum Experts Limited

641

GAP

3.3.3.3 Methanol Injection Script for MEG_A

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

GAP User Guide

August, 2012

Examples Guide

642

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.
1990-2012 Petroleum Experts Limited

643

GAP

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

This will import the script as shown below.

GAP User Guide

August, 2012

Examples Guide

644

Repeat the same steps for the MEG_B element.

1990-2012 Petroleum Experts Limited

645

GAP

3.3.4 Setting up the Scheduling


The next step is to capture the seasonal temperature variations in the model as this will impact
the calculated inhibitor volumes. Two different approaches will be introduced which will achieve
the same objective.
3.3.4.1 Using the Schedule Option
The first option is to use the scheduling feature. Double click on one of the pipelines to activate
the summary screen.

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.

GAP User Guide

August, 2012

Examples Guide

646

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 633 ) over a 10 year period which would require approximately 50 schedules for each
pipe segment.

3.3.4.2 Using the Prediciton Script


The more elegant approach is take advantage of the "Prediction Script" feature in GAP. This
features enables the engineer to carry out simple logic which can be executed at the beginning
or at the end of every prediction step.
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 633 .
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
1990-2012 Petroleum Experts Limited

647

GAP

script which will be executed at the beginning of each prediction time step (using
PredStepProlog).
For more information about Prediction Script 587 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.

GAP User Guide

August, 2012

Examples Guide

648

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.

3.3.5 Running the Prediction


There will be two different predictions carried out in order to break down the understanding of
the impact of varying surrounding temperatures and the injection of methanol into the system.
These will be:

1990-2012 Petroleum Experts Limited

649

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.
3.3.5.1 Prediction 1 - Methanol Included in the System
The first case that is considered is when the Methanol is injected into the lines of the system and
the temperature varies throughout the year.
To run the prediction select Prediction | Run Prediction from the main GAP menu and then enter
the following information:
Start Date:
End Date:
Step Size:

01/01/2008
01/01/2018
2 Months

Select Next | Next and enter a separator pressure of 1000psig

GAP User Guide

August, 2012

Examples Guide

650

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.

1990-2012 Petroleum Experts Limited

651

GAP

Select | OK and then | Calculate to start the prediction.

GAP User Guide

August, 2012

Examples Guide

652

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:

1990-2012 Petroleum Experts Limited

653

GAP

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.

GAP User Guide

August, 2012

Examples Guide

654

Double-click on one of the pipelines and inspect the surround temperature.

1990-2012 Petroleum Experts Limited

655

GAP

We can confirm that the temperature is 52 degF in May which is in agreement with Table 1 633 .
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.

GAP User Guide

August, 2012

Examples Guide

656

Select both the pressure and the temperature for each manifold.

1990-2012 Petroleum Experts Limited

657

GAP

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.

GAP User Guide

August, 2012

Examples Guide

658

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

1990-2012 Petroleum Experts Limited

659

GAP

Methanol injection at Manifold A

GAP User Guide

August, 2012

Examples Guide

660

Methanol injection at Manifold B

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.
Modify the script by commenting out the lines
//QWATOUT=QWATIN+Q_methanol

as shown in the figure below.

1990-2012 Petroleum Experts Limited

661

GAP

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.

GAP User Guide

August, 2012

Examples Guide

662

Plot the temperature and pressure at 'Manifold A' by selecting Prediction | Plot Node Prediction
Results from the main toolbar.

1990-2012 Petroleum Experts Limited

663

GAP

It is clear that the pressures and the temperatures are significantly different between the runs
and consequently we would expect different methanol volumes to be calculated.

GAP User Guide

August, 2012

Examples Guide

664

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
948 . This example also demonstrates many of the advanced flow assurance capabilities that are
embedded in GAP.

1990-2012 Petroleum Experts Limited

665

GAP

3.4 Example 2 - Oil Production Network


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 697
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
GAP User Guide

August, 2012

Examples Guide

666

amount of oil? Go to answer 702


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 708
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 713
Question 5. If we can test different development scenarios based on the analysis of previous
runs Go to answer 724
Learning Topics
The objectives for this example are to learn how to:
Set-up a basic GAP model for an oil field
Use the' Model Validation' to quality check the model
Perform a pipeline matching
Update the model to a given date based on the MBAL History Matching using the
'Initialise IPRs from Tank Simulations' feature
Set-up constraints in the system
Running 'Solve Network'
Running 'Prediction' using GAP, PROSPER and MBAL
Saving the prediction results
Using the 'Target Pressure' feature
Comparing the results of different runs
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.
1990-2012 Petroleum Experts Limited

667

GAP

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 2 - Oil Field

3.4.2 Data available


Description of the surface network
In this example, we will define the sea level as the reference depth.
NOTE: the pipelines are defined from upstream to downstream
Label

Pipe Pipe ID
segme
nt
Length

Upstrea
m TVD

Downstre
am TVD

Overall Heat
Transfer
Coefficient

Multiphase Correlation

km

Inches

ft

ft

Btu/h/ft2/F

WH1_A to Manifold_A

600

600

Petroleum Experts 5

WH2_A to Manifold_A

0.8

600

600

Petroleum Experts 5

WH3_A to Manifold_A

1.2

600

600

Petroleum Experts 5

WH1_B to Manifold_B

0.5

525

525

Petroleum Experts 5

WH2_B to Manifold_B

0.3

525

525

Petroleum Experts 5

WH3_B to Manifold_B

0.4

525

525

Petroleum Experts 5

Manifold_A to Manifold_B

7.5

600

525

Petroleum Experts 5

Manifold_B to Sep Joint

12

525

Petroleum Experts 5

Manifold_B to Sep Joint

12

515

525

Petroleum Experts 5

Manifold_B to Sep Joint

12

480

515

Petroleum Experts 5

Manifold_B to Sep Joint

12

525

480

Petroleum Experts 5

Table 1 Pipeline description

Description of the reservoirs


Tank Name

History Start - End

STOIIP

MBAL File

(dd/mm/yyyy)

MMSTB

Reservoir A

01/01/2003-22/12/2010

376.952

ResA.mbi

Reservoir B

01/01/2008-01/12/2010

238.93

ResB.mbi

Table 2 Reservoir data

Description of the wells

GAP User Guide

August, 2012

Examples Guide

668

The file names corresponding to each well are shown in the table below.
Well Name

PROSPER File

VLP File

Well1A

Well1A.OUT

Well1A.vlp

Well2A

Well2A.OUT

Well2A.vlp

Well3A

Well3A.OUT

Well3A.vlp

Well1B

Well1B.OUT

Well1B.vlp

Well2B

Well2B.OUT

Well2B.vlp

Well3B

Well3B.OUT

Well3B.vlp

Table 3 Wells data

3.4.3 Build the GAP model


This section can be used as a general step-by-step procedure to build any GAP model.
The sketch illustrated below will be used as the reference for this example.

3.4.3.1 Draw the GAP Network


1. Getting Started
Begin by starting the program.
From the GAP entry screen, select File | New to reinitialise GAP.
2. Defining the global system option
To begin setting up the system options, select Options | Method and make the following
selections:

1990-2012 Petroleum Experts Limited

669

GAP

System Type :
Optimisation Method :
PVT Model :
Prediction:
Prediction Method:
Water Vapour:
Temperature Model:
Calculate Well Choke Delta T:

Production
Production
Black oil
On
Pressure and temperature
No Calculations
Rough Approximation
Off

Then click | Ok to exit this screen.


This completes the system set-up and reinitialises the program.
3. Defining the Units System
In order to define the units system click on Units | Edit Units. The following screen will appear:

GAP User Guide

August, 2012

Examples Guide

670

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
In order to reproduce the same results in this example, it is recommended
to set the inputs and outputs in Oilfield Units.
For further details, access the Units section 592 of the user Guide.
Click on | OK to complete the selection of units and to close the screen.
If necessary, later we will modify the units system when entering input data.
4. Drawing the system
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.
1990-2012 Petroleum Experts Limited

671

GAP

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

NOTE: If a mistake is made in entering the Label, this can be


changed by Double clicking on the element and in the Summary
screen changing the Label field.
NOTE: When a an icon is circled in red it means that it is not valid. In
this case it is because we have not yet defined the MBAL files for
these tanks.
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:

GAP User Guide

August, 2012

Examples Guide

672

Some useful tips


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
main toolbar
2. Icons can be deleted by selecting the scissors
clicking on the node to be removed.

from the

icon from the toolbar menu and

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
Nine joints will be required in this system:
1990-2012 Petroleum Experts Limited

673

GAP

A single joint will be required for each wellhead (i.e. "WH1_A") which will be placed near the
well icons.
Two Joints for each of the pipeline manifolds (i.e. "Manifold_A").
One joint to represent the separator joint (i.e. "Sep Joint") which will be placed near the
separator.
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.

The Separator Separator


A separator is considered by GAP to be the end of the production chain and
will be allocated a pressure at a later stage. It does not have to actually be a
separator, rather a convenient delivery point where a known pressure exists.
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.

GAP User Guide

August, 2012

Examples Guide

674

Select the 'Production Separator' and label the icon as "Separator".

1990-2012 Petroleum Experts Limited

675

GAP

The links /pipes


Links are connection tools which connect the various nodes in the network
system. The following rules apply:
a link between a reservoir and a well has no dimension
a link between a well and a joint has no dimension
a link between 2 joints may have a dimension (pipe, chokes)
a link between a joint and a separator may have dimensions
a well can not be linked directly to a separator. An intermediate joint is compulsory,
a reservoir can not be linked directly to a separator.
Link the components together by doing the following:
1. Selecting the Link
icon from the main toolbar.
2. Click on the first component to be connected with the left mouse.
3. Keeping the left mouse button pressed, move the cursor from the first component to the
second component.
4. A joint will form when the mouse button is released over the second component.
Create links between the following components in the direction of the flow:

GAP User Guide

August, 2012

Examples Guide

676

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 network drawing is completed.


3.4.3.2 Define the Reservoirs
For the purposes of this example the MBAL files have already been built (ref. Table 2 667 ).
Please refer to the worked examples in the MBAL manual for a step by step guide of how to
build the file.
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

1990-2012 Petroleum Experts Limited

677

GAP

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.
Repeat this process for the second reservoir.
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

GAP User Guide

August, 2012

Examples Guide

678

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

1990-2012 Petroleum Experts Limited

679

GAP

PLEASE MAKE SURE THAT THE WELL TYPE IS DEFINED AS "Oil


Producer (No Lift)"

3.4.3.4 Generate Well IPRs


Once all the wells have been created and the associated PROSPER well models selected, the
IPRs can be generated in GAP in a batch mode.
From the main GAP menu select Generate | Generate Well IPRs from PROSPER.
Then select All | Generate.

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:

GAP User Guide

August, 2012

Examples Guide

680

The IPR curve can be visualized by selecting Plot.


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.

1990-2012 Petroleum Experts Limited

681

GAP

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.
Click on | OK to get back to the GAP main screen.
3.4.3.5 Generate 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 included in the archive. To load these files double
click on Well1A and then select the VLP tab.

GAP User Guide

August, 2012

Examples Guide

682

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 466 for guidelines on the ranges to use.
It is recommended to always use the ranges suggested in the
guidelines as these attempt to ensure that there are no extrapolation
errors.
In this case, as the well models have already been saved, we will use the ranges already present
in the models:

1990-2012 Petroleum Experts Limited

683

GAP

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:

GAP User Guide

August, 2012

Examples Guide

684

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.

1990-2012 Petroleum Experts Limited

685

GAP

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.
3.4.3.6 Model Validation to QC the wells
The 'Model Validation' is a feature in GAP that allows the engineer to verify that the well models
are able to reproduce the well tests that have been measured in the field.
Its purpose is for quality checking and it is the first step to ensuring the GAP model is
representative of reality. Please refer to the Model Validation topic 489 in the user guide for full
details.
The 'Model Validation' can be used:
Whenever the GAP model is built (as is the case for this example) to verify that the well VLP
and IPRs imported into GAP from PROSPER are consistent with reality
Whenever new well tests are performed and one wants to quickly validate them
In this case we have the most recent well tests available for each well in the field.
GAP User Guide

August, 2012

Examples Guide

Well Name

686

Reservoir Pressure

Manifold Pressure

Liquid rate

Water Cut

GOR

psig

psig

STB/D

scf/STB

Well1A

3722

507

7021

800

Well2A

3722

413

7850

800

Well3A

3722

510

7790

800

Well1B

3500

205

1274

500

Well2B

3500

350

965

500

Well3B

3500

300

1170

300

The PROSPER models were already matched to these tests.


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.

1990-2012 Petroleum Experts Limited

687

GAP

3.4.3.7 Define the Pipelines


Table 1 667 contains the information about all of the pipelines in the field.
According to the network sketch 665 , 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:
Pipeline model:
Correlation:
Gravity Coefficient:
Friction Coefficient:

GAP User Guide

GAP Internal Correlations


Petroleum Experts 5
1
1

August, 2012

Examples Guide

688

Environment
Select the 'Environment' tab to access the screen which the pipeline environment to be defined
and then enter the following values.
Surface Temperature:
Overall Heat Transfer Coefficient:
Oil Heat Capacity:
Gas Heat Capacity:
Water Heat Capacity:

50 degF
8 Btu/h/ft
0.53 Btu/lb/F (default)
0.51 Btu/lb/F (default)
1 Btu/lb/F (default)

1990-2012 Petroleum Experts Limited

689

GAP

Pipe Description
To define the pipeline dimensions select the Description tab.
Enter the following data (note: the data are given from upstream to downstream):

WH1_A to
Manifold_A

GAP User Guide

Pipe
Segment
Length

Pipe ID

Upstream
TVD

Downstream
TVD

Roughness

Multiphase
Correlation

km

Inches

ft

ft

Inches

600

600

0.0006

Petroleum
Experts 5

August, 2012

Examples Guide

690

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.
Repeat this procedure for all of the well lines.
Description of the main flowlines
Double-click on the pipe linking Manifold_A to Manifold_B and enter the following data:

Manifold_A to
Manifold_B

Pipe
segment
Length

Pipe
ID

Upstream
TVD

Downstream
TVD

Roughne
ss

Multiphase Correlation

km

Inches

ft

ft

Inches

7.5

600

525

0.0006

Petroleum Experts 5

1990-2012 Petroleum Experts Limited

691

GAP

Similarly, double click on the pipe linking Manifold_B to Sep Joint and enter the following pipe
description:
Pipe Pipe ID Upstream Downstre Roughness
segme
TVD
am TVD
nt
Length

Multiphase Correlation

km

Inches

ft

ft

Inches

Manifold_B to Sep Joint

12

525

0.0006

Petroleum Experts 5

Manifold_B to Sep Joint

12

515

525

0.0006

Petroleum Experts 5

Manifold_B to Sep Joint

12

480

515

0.0006

Petroleum Experts 5

Manifold_B to Sep Joint

12

525

480

0.0006

Petroleum Experts 5

GAP User Guide

August, 2012

Examples Guide

692

The figure on the right hand side allows the user to define which node
is upstream and which is downstream in the system:

1990-2012 Petroleum Experts Limited

693

GAP

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.

GAP User Guide

August, 2012

Examples Guide

694

3.4.3.8 Pipeline Matching


Measurements in the field have been provided for the flowline that links Manifold_A to
Manifold_B. The intention is to use this data to match the pipeline in GAP so that it reproduces
the measured pressure drop in the field.
The measurements that have been provided by the field engineers have been summarised
below.
Upstream
Pressure

Upstream
Temperature

Liquid
Rate

Downstrea
m
Pressure

Water Cut

Gas Oil
ratio

Oil Gravity Gas Gravity

Water
Salinity

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.

1990-2012 Petroleum Experts Limited

695

GAP

Select the 'Match Data' item and enter the measurements.

GAP User Guide

August, 2012

Examples Guide

696

Match the Petroleum Experts 5 correlation by selecting 'Match' and then selecting the correlation
from the list of available multiphase flow correlations in GAP.

1990-2012 Petroleum Experts Limited

697

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.

3.4.4 Question 1 - Solution


In order to address Question 1 665 , it is required to update the status of the reservoir
performance (IPRs) to date 22/12/2010.
3.4.4.1 Initialise IPRs from Tank Simulations
To do this, the 'Initialise IPRs from Tank Simulations' feature can be used. This feature updates
the reservoir pressure and also the WC and GOR of each well. It does this by running an MBAL
simulation in the background to the date specified.
Please refer to the Edit menu 131 and History Matching 576 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'.

GAP User Guide

August, 2012

Examples Guide

698

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:

1990-2012 Petroleum Experts Limited

699

GAP

The status of the model is now updated to the 01/12/2008, which corresponds to the end
of production history of Reservoir B.
3.4.4.2 Solve network for wells fully open
Question 1 665 requires us to determine the production from the system when all of the wells are
fully open.
To do this, a 'Solve Network' calculation will be performed.
From the main GAP menu select the Solve Network / Run Network Solver.
Enter a separator pressure of 200 psig

GAP User Guide

August, 2012

Examples Guide

700

Set the mode to 'No Optimisation'


Run the calculation by selecting 'Calculate':

1990-2012 Petroleum Experts Limited

701

GAP

NOTE: as no Controls have been set up, zero wellhead dp will be


applied, which means that no choke is set on the wells and that they
are fully open.
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:

GAP User Guide

August, 2012

Examples Guide

702

Answer to Question 1: If the wells were fully open they would produce approximately
23360 STB/day of liquid and 21400 STB/day of oil.

3.4.5 Question 2 - Solution


Question 2 665 requires us to determine how the wells should be choked back to honour a
constraint of 20000 STB/day of liquid at the separator whilst maximising the amount of oil
production.
3.4.5.1 Entering the Constraint
To enter the constraint double click on the 'Separator' to access the summary screen and then
select 'Constraints'. Enter a maximum liquid constraint of 20000 STB/day

1990-2012 Petroleum Experts Limited

703

GAP

Two red arrows will appear in the main screen on the separator icon as shown below.

3.4.5.2 Setting Well Controls


In order for the optimiser of GAP to be able to maximise production and honour constraints,
controls have to be set in the system.
In this case the field has well head chokes.
The wells can be made "controllable" (which means that the wellhead choke can be changed by
the optimiser) by:
Accessing the Controls 230 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)
It is paramount to set controls every time a constraint needs to be
honoured. This is to reproduce what happens in reality, where
devices like chokes are used to control the field
The figure below shows the controls section in the well input area:
GAP User Guide

August, 2012

Examples Guide

704

Ensure that all of the wells in the system are made controllable.

3.4.5.3 Solve Network with Optimisation


At this point the model is ready to be run.
From the main menu select Solve Network | Run Network Solver.
Enter a separator pressure of 200psig

1990-2012 Petroleum Experts Limited

705

GAP

Set the mode to 'Optimise with all Constraints'


Run the calculation by selecting 'Calculate':

GAP User Guide

August, 2012

Examples Guide

706

In order to honour a constraint, the mode must be set to 'Optimise with


all constraints'

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 701 .
Using the fly-over, it is possible to verify that the constraint is honoured:

1990-2012 Petroleum Experts Limited

707

GAP

When an element is constrained and the constraint is being honoured then the icon is
highlighted in green. 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'.

GAP User Guide

August, 2012

Examples Guide

708

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.

3.4.6 Question 3 - Solution


Question 3 665 asks for how long the system can produce at the maximum capability of 20,000
STB/day.
3.4.6.1 Run Prediction with Optimisation
To answer to the question, a prediction from 22/12/2010 to 22/12/2020 can be run. The
prediction needs to be run with optimisation so that GAP can honour the liquid constraint that
has been placed at the separator. This constraint has been applied so that the restricted
capacity of the separator in the field is captured in the model. Whenever applying constraints in
1990-2012 Petroleum Experts Limited

709

GAP

GAP they should correspond to a physical constraint in the field. The best practice is always to
apply constraints in this manner and keep them to a minimum as a greater number of constraints
requires a more complex optimisation problem to solve.
To run the prediction select Prediction | Run Prediction from the main GAP menu and then enter
the following:
Start Date:
End Date:
Step Size:

01/12/2010
01/12/2020
2 Months

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.
GAP User Guide

August, 2012

Examples Guide

710

We will follow the last method to plot the separator results:

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.

1990-2012 Petroleum Experts Limited

711

GAP

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.

GAP User Guide

August, 2012

Examples Guide

712

Answer to Question 3: The amount of oil produced by the end of the 10 years is
approximately 28 MMSTB.
3.4.6.2 Saving the Prediction results
In GAP it is possible to save the results obtained in a Prediction run (ref. Save Prediction
Results 535 ). This allows the engineer to compare multiple runs and evaluate different
development scenarios directly.
To save the results of a run:
Access the menu Prediction | Save Prediction Results As.
Select Add and Type the name of the scenario. In this case "Base Scenario", then 'Ok'

1990-2012 Petroleum Experts Limited

713

GAP

GAP will save the results in the memory and we will be able to retrieve them at any time.

3.4.7 Question 4 - Solution


Question 4 665 asks if there can be any significant events predicted by the model.
3.4.7.1 Interpreting a GAP Model
In order to gain an understanding of the GAP model there are several techniques that can be
used to troubleshoot the system which are applicable to any GAP model. These techniques
coupled with the prediction results are particularly useful for diagnosing problematic areas in the
model and can also help the engineer to obtain a feel for how the system responds to certain
conditions at different times during the prediction.

GAP User Guide

August, 2012

Examples Guide

714

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.
To set this option up select 'Settings' from the prediction screen.

Then activate the option 'Prediction-save intermediate step results snapshots at each prediction
step' by entering a value of 1.

1990-2012 Petroleum Experts Limited

715

GAP

Select OK and then re-run the prediction by pressing 'Calculate'.


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.

GAP User Guide

August, 2012

Examples Guide

716

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.

1990-2012 Petroleum Experts Limited

717

GAP

Or alternatively, all the well rates can be plotted at once by carrying out the following steps:
1.) Select one of the wells from the top list.
2.) Select the oil rate from the lower list.
3.) Select the icon at the bottom left hand corner of the screen to activate the option to select
multiple streams.
4.) Select all of the wells in the system from the 'Select multiple streams' menu
5.) and then select OK.

GAP User Guide

August, 2012

Examples Guide

718

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.

1990-2012 Petroleum Experts Limited

719

GAP

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.

3.4.7.2 Analyzing Snapshots


From the results of the run we observed that Well1A dies in early 2017.

GAP User Guide

August, 2012

Examples Guide

720

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/02/2017.

1990-2012 Petroleum Experts Limited

721

GAP

To analyse Well1A in more detail double click on the Well1A icon to view the system summary
screen.

GAP User Guide

August, 2012

Examples Guide

722

Select Calculate | Initialise from solver results | Calculate | Plot to view the intersection of the
VLP and the IPR at that time step.

1990-2012 Petroleum Experts Limited

723

GAP

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.

GAP User Guide

August, 2012

Examples Guide

724

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.

3.4.8 Question 5 - Solution


Question 5 665 asks if it is possible to evaluate different development scenarios and compare
them directly.
3.4.8.1 Introducing Pressure Support
From the analysis of the results it was found that the pressure in Reservoir A was falling below
the bubble point. The objective is therefore to introduce pressure support into Reservoir A and
compare the results with the base case scenario.
To do this we will use the 'Target Pressure' feature which is activated from the prediction
1990-2012 Petroleum Experts Limited

725

GAP

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.

3.4.8.2 Comparing Scenarios


When the prediction finishes save the results as shown in Question 3 712 .

GAP User Guide

August, 2012

Examples Guide

726

Select Prediction | Plot Nodes Prediction Results from the main GAP menu and plot all of the oil
rates for each well.

1990-2012 Petroleum Experts Limited

727

GAP

The additional pressure support in Reservoir A removes any instabilities at the end of the field
life that were observed previously. The impact of this additional support results in a significant
increase in the cumulative oil production from 28 to 32.5MMSTB.

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.

GAP User Guide

August, 2012

Examples Guide

728

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.
Save the model.

3.4.9 Creating an Archive File


The final step to be carried out is to create an archive file of the entire model and the saved
results so that this can be passed onto other engineers or management for interpretation.
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.

1990-2012 Petroleum Experts Limited

729

GAP

When "Save" is selected the following screen will appear.

GAP User Guide

August, 2012

Examples Guide

730

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

1990-2012 Petroleum Experts Limited

731

GAP

3.5 Example 3 - Pipeline detailed results


3.5.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:
GAP User Guide

August, 2012

Examples Guide

732

View detailed results of the pressure drop calculation (flow assurance)


Extra topic: Select the pipe and convert it to PROSPER on line
Executive Summary
Starting from the Oilfield.gap 725 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 697 )
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 600 the archive file from the Completed Files folder.

3.5.2 Data available


For this example we need to start from the saved Oil Field.gap model from Example 2 665 . The
completed archive of this model is saved in Example 2 - Oil Field - Completed Files directory.
Extract 600 the file to start the exercise.

3.5.3 Run Solve Network


The system has been already initialised to 22/12/2010 (ref. previous section 697 ), and the 'Solve
Network' has already been carried out (ref. previous sections 704 ).
We will repeat the 'Solve Network' (with optimisation) calculation, just in case the model has
been accidentally changed.

1990-2012 Petroleum Experts Limited

733

GAP

The highlighted sections of the network solver window inform the user of how the calculation
progressed.
1.) Max Pressure Drop/ Mass Balance difference.
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).
2.) Last Error.
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.
3.) Last Guess.
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.
Checking the results of the Solve Network with the fly-over:

GAP User Guide

August, 2012

Examples Guide

734

3.5.4 Pipeline detailed results


To visualise the detailed pipeline results:
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:

1990-2012 Petroleum Experts Limited

735

GAP

Select 'Initialise from solver results'. This will import the results obtained from the 'Solve Network'
calculation.

GAP User Guide

August, 2012

Examples Guide

736

Select 'Calculate' to visualise the Gradient Traverse menu and then scroll to the right to read the
required results on slug length and frequency.

1990-2012 Petroleum Experts Limited

737

GAP

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

GAP User Guide

August, 2012

Examples Guide

738

3.5.5 Convert the pipeline to PROSPER online


The workflow illustrated above shows how to read directly the pipeline detailed results for a
'Solve Network' calculation.
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.
To convert the pipeline to PROSPER on line:
Select the pipeline that links Manifold_B to Sep Joint
This can be done by using the cyan arrow tool
and clicking on the pipeline element.
The pipeline will be circled by a thin light blue circle:

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:

1990-2012 Petroleum Experts Limited

739

GAP

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.

GAP User Guide

August, 2012

Examples Guide

740

For example, the equipment screens will have the equipment previously entered in the pipe
description:

1990-2012 Petroleum Experts Limited

741

GAP

To view the pipeline parameters on the 01/10/2013 select 'Results' from the system summary
screen and then select 'Prediction'.

GAP User Guide

August, 2012

Examples Guide

742

Scroll to the right of the screen and select the 'Gradient' tab on the corresponding date.

1990-2012 Petroleum Experts Limited

743

GAP

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 slug model is assuming that the slug period includes:
- A gas bubble included within a liquid film.
- A liquid slug containing small gas bubbles.
The association of the gas bubble and the liquid slug forms the slug period.

GAP User Guide

August, 2012

Examples Guide

744

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:
Mean Slug Length and 1/1000 Mean Slug Length
Mean Bubble Length and 1/1000 Mean Bubble Length
Slug Liquid Rate and Slug Gas Rate
Bubble Liquid Rate and Bubble Gas Rate

1990-2012 Petroleum Experts Limited

745

GAP

Mean Slug Frequency and 1/1000 Slug Frequency:


Slug Hold-up (HLS) and Equilibrium Hold-up (HLE):
Slug Surge Factor (Liquid) and Slug Surge Factor (Gas)
Bubble Surge Factor (Liquid) and Bubble Surge Factor (Gas)
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.8890.
Brown, K.E. - The technology of artificial lift methods- vol.4 - p83-85.
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).

GAP User Guide

August, 2012

Examples Guide

746

3.6 Example 4-Associated Water Injection System


3.6.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 665 ). 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
1990-2012 Petroleum Experts Limited

747

GAP

The objectives for this example are to learn how to:


Use GAP pressure support options to determine the amount of water required to
achieve a certain voidage target.
Use the existing injection network model to estimate the number of wells required.
Link the GAP production to the injection network model and run the prediction with the
two coupled models.
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 600 the archive files from the Initial Files folder.

3.6.2 Data Available


The data required to start the example are in the folder Example 4 - Water Injection System.
The are two archived files available:
The initial GAP model for the production network Oil Field.gar
The initial GAP model for the water injection network Water Injection System.gar
Extract both archives before starting the exercise.
Note that the completed archive of the model is called Oil Field with Water Injection System.
gar

3.6.3 Prediction to Determine Water Injection Requirement


Before we consider the design of the water injection system we must first determine the required
volumes that need to be injected into Reservoir A in order to maintain the pressure at 3650psig.
To accomplish the task, a prediction will be run with one of the voidage replacement options
available in GAP. These options can be found in the Prediction | Run Prediction section and
further details can be found in the User Guide 523 .
Starting from the production model, select Prediction | Run Prediction from the main GAP
screen. Run a prediction:

GAP User Guide

August, 2012

Examples Guide

748

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:

1990-2012 Petroleum Experts Limited

749

GAP

The liquid production profile is also useful for understanding the reservoir behaviour.

GAP User Guide

August, 2012

Examples Guide

750

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
1990-2012 Petroleum Experts Limited

751

GAP

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:

Save the production model.

3.6.4 Calculating the Number of Water Injectors


The water is to be pumped from the platform along the sea bed in a flowline that runs parallel to
the producing line (refer to the Figure 746 for an illustration of the system). This main flowline has
already been entered into the water injection system.gap file along with one water injector that is
tied back to Manifold_A.
The PROSPER file associated with "Well1A_inj" has been constructed and documented in detail
GAP User Guide

August, 2012

Examples Guide

752

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.

1990-2012 Petroleum Experts Limited

753

GAP

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

GAP User Guide

August, 2012

Examples Guide

754

Assume that the wellhead is located 0.8km from Manifold_A and tied back with a pipeline that is
6 inches in diameter.

1990-2012 Petroleum Experts Limited

755

GAP

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.

GAP User Guide

August, 2012

Examples Guide

756

Note that one well alone can deliver around 8395 STB/d, whilst 2 wells
producing together can achieve 16598 STB/d (approximately 8300 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

1990-2012 Petroleum Experts Limited

757

GAP

be exported to Excel and summed up to obtain the total.

Save the model as water injection system final.gap.

3.6.5 Associate Production to Water Injection Network


At this point the proposed water injection model needs to be linked to the production model so
that a forecast can be run and we can evaluate how the design will perform over the course of
the field life.
To achieve this, perform the following steps:
Open up the Production System model.
Select Options | Method from the main GAP menu.
At the bottom of the screen, in the Associated Injection Models section tick the box for the
'Water Injection' and Browse for the previously saved water injection system final.gap
model.

GAP User Guide

August, 2012

Examples Guide

758

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.

1990-2012 Petroleum Experts Limited

759

GAP

The two models are now linked through Reservoir A, as Reservoir A is the same MBAL model
in both models.
In order for the two models to be linked, it is paramount that Reservoir A in
the two models corresponds to the same MBAL file. If not, the program will
produce from one tank and inject in a different one. One way to troubleshoot
if this has not been done correctly is to check the number of tanks that
appear when the prediction is run. If three tanks appear (instead of two)
then we know that the tanks must be linked to different files.
Save the model naming the production model as Oil Field with Water Injection.gap.

GAP User Guide

August, 2012

Examples Guide

760

3.6.6 Run Prediction With Coupled Models


The models are now ready to be run in a forecast.
Run a prediction with the same set up as before 747 :
From the 01/12/2010 to 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'.
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.
When running the two coupled models, the program will:

1990-2012 Petroleum Experts Limited

761

GAP

1. Solve the production system first and determine the production.


2. From the production, the voidage is calculated and then translated into an amount of water
required for injection.
3. The amount of water to inject is then passed to the injection system as a constraint and the
injection system is solved and the cycle restarts
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:

Once the calculation is finished, save the prediction results again:

GAP User Guide

August, 2012

Examples Guide

762

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.

1990-2012 Petroleum Experts Limited

763

GAP

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.

GAP User Guide

August, 2012

Examples Guide

764

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 749 , 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.
Save the model.

1990-2012 Petroleum Experts Limited

765

GAP

3.7 Example 5 - Smart Well Modelling in GAP


3.7.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.
GAP User Guide

August, 2012

Examples Guide

766

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 600 the archive file in the Initial Files folder to an appropriate directory

3.7.2 Data Available


The data required to start the example is in the folder Example 5 - Smart Well.
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.
Description of the wells
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.
1990-2012 Petroleum Experts Limited

767

GAP

Well

Layer 1

Layer 2

Outflow

Well1B

Well1B_Gas Layer.OUT

Well1B_Oil Layer.OUT

Well1B_Outflow.OUT

Well2B

Well2B_Gas Layer.OUT

Well2B_Oil Layer.OUT

Well2B_Outflow.OUT

Well3B

Well3B_Gas Layer.OUT

Well3B_Oil Layer.OUT

Well3B_Outflow.OUT

Table 1 - PROSPER files

Description of the layers


Layer 1

Layer 2

Fluid Type

Gas

Oil

IPR Model

Petroleum Experts

Darcy

Table 2 - Layers parameters

Extract the GAP archive to start the exercise.


Note that the completed archive of the model is called Oil Field Smart Wells Final.gar

3.7.3 Build the GAP Network


The steps to set up a GAP model can be found in previous examples 605 , and it is recommended
to review this if engineer is not already familiar with the process.
The procedure below goes straight to building the multilayer well models in the GAP model.
The well schematic presented in the previous section 765 can be translated into a simpler form as
shown below:

GAP User Guide

August, 2012

Examples Guide

768

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.
Each well associated to Reservoir B will be assumed to have been completed as
shown in the diagram above.
The sketch illustrated below will be used as the reference.

1990-2012 Petroleum Experts Limited

769

GAP

3.7.3.1 Draw the GAP Network


Extract the GAP archive Oil Field Smart Well.gar

GAP User Guide

August, 2012

Examples Guide

770

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.

1990-2012 Petroleum Experts Limited

771

GAP

To switch the wells to outflow only, double-click on the well to activate the the system summary
screen and then modify the well model to 'Outflow Only-VLP'.

GAP User Guide

August, 2012

Examples Guide

772

To add the inflows, select the inflow option


from the main menu and paste it on the whiteboard 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.

1990-2012 Petroleum Experts Limited

773

GAP

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.

GAP User Guide

August, 2012

Examples Guide

774

Once connected the system should look like the following:

1990-2012 Petroleum Experts Limited

775

GAP

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.7.3.2 Define the IPR Elements
For each layer associate the corresponding PROSPER file as per Table 1 766 , for example:

GAP User Guide

August, 2012

Examples Guide

776

In the IPR section select the layer fluid type and the IPR model:

1990-2012 Petroleum Experts Limited

777

GAP

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 617 to generate the layer IPRs.
NOTE: the alternative to having an already prepared PROSPER model is to
enter the data manually in the IPR section
At the end, looking at the well IPR section, it is possible to verify that the data have been
entered.

GAP User Guide

August, 2012

Examples Guide

778

3.7.3.3 Define the 'Completion' Pipes


The wellbore will be modelled using pipeline elements. There will be two segments of pipe
used, the first will model the pressure drop in the producing gas layer and the second will model
the pressure drop in the oil layer and the unproductive zone as shown in the Figure 768 .
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:

1990-2012 Petroleum Experts Limited

779

GAP

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.

GAP User Guide

August, 2012

Examples Guide

780

Lastly, modify the temperature in the environment section to 250 degF.


3.7.3.4 Define the Outflow
The next step is to define the outflows.
The Figure 768 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.
The steps that will be followed are:
Associate the PROSPER file to each well.
Generate the VLP curves for GAP using the PROSPER file.
Double click on the well outflow icon to access the well summary screen and associate the
Outflow.OUT PROSPER files to each well.

1990-2012 Petroleum Experts Limited

781

GAP

Next, generate the VLP curves as shown in the previous examples 681 .
The values to use for the sensitivity parameters are provided below:

GAP User Guide

August, 2012

Examples Guide

782

3.7.3.5 Write the Prediction Script


The next step is to write the prediction script so that the gas layer can be brought online once the
water cut in the wells exceeds 20%.
The first step is to mask the gas layers using the mask feature

from the main GAP menu.

1990-2012 Petroleum Experts Limited

783

GAP

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.

GAP User Guide

August, 2012

Examples Guide

784

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.

1990-2012 Petroleum Experts Limited

785

GAP

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.
GAP User Guide

August, 2012

Examples Guide

786

The GAP model has now been built. Save the file as Oil field_Smart Wells_Final.gap.

3.7.4 Run the Prediction Without Optimisation


The model is now ready to be run in a forecast.
Run a prediction with the same set up as before 708 :
From the 01/12/2010 to 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.
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...

1990-2012 Petroleum Experts Limited

787

GAP

3.7.5 Run the Prediction With Optimisation


To run a forecast with optimisation on the gas layers, the gas layers must be made controllable.
To do this either right click on the gas inflow and select 'Controllable' (Inflow choke can be
changed by optimizer) or modify the dP Control to 'Calculated' in the System Summary screen.

GAP User Guide

August, 2012

Examples Guide

788

The gas inflows should be centered inside a solid red circle to indicate that they are
controllable.

Once the calculation is finished, save the prediction results.

1990-2012 Petroleum Experts Limited

789

GAP

To compare the results of the predictions select Prediction | Plot Nodes Prediction Results and
select 'Well' from the Equipment Type and then 'System totals'.

GAP User Guide

August, 2012

Examples Guide

790

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

1990-2012 Petroleum Experts Limited

791

GAP

losses in the wells.

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.

GAP User Guide

August, 2012

Examples Guide

792

Save the model as Oil Field Smart Well_Final.gap.

1990-2012 Petroleum Experts Limited

793

GAP

3.8 Example 6 - Electrical Submersible Pump


3.8.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
GAP User Guide

August, 2012

Examples Guide

794

The objectives for this example are to learn how to :


Build a GAP model for an ESP lifted system.
Introduce scheduling into a GAP model.
Run optimisation using ESP frequency.
Honour constraints on maximum power.
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 steps followed will be:
1. Build the GAP network.
-Introduce ESP wells into the system
-Apply the scheduling in the system to bring the ESP wells online
-Generate well IPRs in GAP using PROSPER
-Generate well VLPs in GAP using PROSPER
2. Run a forecast for a fixed operating frequency.
3. Apply system constraints and run a forecast for variable operating frequency.
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 600 the archive file in the Initial Files folder to an appropriate directory

3.8.2 Data Available


Description of the wells
Well Name

Well type

PROSPER well model

Lift curve file

ESP Operating
Frequency (Hz)

Well1A_ESP

ESP

WELL1A_ESP.OUT

WELL1A_ESP.vlp

55

Well2A_ESP

ESP

WELL2A_ESP.OUT

WELL2A_ESP.vlp

55

Well3A_ESP

ESP

WELL3A_ESP.OUT

WELL3A_ESP.vlp

55

Well1B_ESP

ESP

WELL1B_ESP.OUT

WELL1B_ESP.vlp

55

Well2B_ESP

ESP

WELL2B_ESP.OUT

WELL2B_ESP.vlp

55

Well3B_ESP

ESP

WELL3B_ESP.OUT

WELL3B_ESP.vlp

55

Table 1

1990-2012 Petroleum Experts Limited

795

GAP

Extract the archive file Oil Field.gar to start the exercise.

3.8.3 Build the GAP Model


This section can be used as a general step-by-step procedure to build ESP wells into a GAP
model.
The sketch illustrated below will be used as the reference.

3.8.3.1 Draw the GAP network


Extract the GAP archive Oil Field.gar

GAP User Guide

August, 2012

Examples Guide

796

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

1990-2012 Petroleum Experts Limited

797

GAP

Link each well to its corresponding well head and reservoir as shown in the figure below.

GAP User Guide

August, 2012

Examples Guide

798

3.8.3.2 Define the Wells


As it can be seen, when a well is defined in GAP, it is by default set up as an oil producer (no lift)
well. The description therefore has to be changed. In this case it will be defined as an Oil
Producer (ESP lifted) well.
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).
PLEASE MAKE SURE THAT THE WELL TYPE IS DEFINED AS "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 794 .

1990-2012 Petroleum Experts Limited

799

GAP

Click | OK to return to the main screen.


About some useful tips

The way that the equipment list is visualized can be changed by clicking on the equipment list
area with the right-hand side mouse button.
3.8.3.3 Generate Well IPRs
After all of the wells have been created and the associated PROSPER well models selected, the
IPRs can be generated in GAP in a batch mode.
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:

GAP User Guide

August, 2012

Examples Guide

800

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.

Click on |OK to get back to the GAP main screen.


3.8.3.4 Generate Well VLPs
To import the VLP curves in GAP (ref. VLP generation 466 ) the user can either:
Access the VLP section in the well input area and Browse for the VLP file that has been pregenerated 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
1990-2012 Petroleum Experts Limited

801

GAP

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 466 for guidelines on the ranges to use.
As the second method has been widely demonstrated in previous examples 681 , 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 843 :

GAP User Guide

August, 2012

Examples Guide

802

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.
1990-2012 Petroleum Experts Limited

803

GAP

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.

3.8.3.5 Set the Scheduling


The objective is to install ESPs in the existing wells at some date in the future (01/02/2013). To
capture this in the GAP model we have introduced two wells, a naturally lifted oil producer and a
separate ESP lifted well. In order for the two wells to simulate the effect of one well being
worked over and becoming an ESP lifted well we will take advantage of the scheduling feature
in GAP.
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.
The steps that will carried out are:
1. Set up the scheduling for the wells.
2. Set up the scheduling for the separator.
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,
GAP User Guide

August, 2012

Examples Guide

804

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.

3.8.4 Fixed Operating Frequency


To calculate the production for the field assuming that the operating frequency of the pumps is
fixed, the following two steps will be carried out:
Set well controls to fix the pump frequency

1990-2012 Petroleum Experts Limited

805

GAP

Run a forecast with optimisation


3.8.4.1 Run Forecast with Fixed Pump Frequency
To set the well control of the ESP wells, double-click on the one of the ESP wells to activate the
system summary screen.

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.
The model is now ready to be run in a forecast.
Run a prediction with the same set up as before 708 :
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.
With the snapshots saved at each prediction step (Refer to Question 4 713 in Example 2 for
instructions for how to set up and use snapshots).
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.
GAP User Guide

August, 2012

Examples Guide

806

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.

1990-2012 Petroleum Experts Limited

807

GAP

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.

GAP User Guide

August, 2012

Examples Guide

808

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

1990-2012 Petroleum Experts Limited

809

GAP

Lastly, we can plot the overall power consumption of the system.

GAP User Guide

August, 2012

Examples Guide

810

3.8.5 Variable Operating Frequency


The production system is constrained by the total power (125hp) that can be allocated to the
ESP's. The objective is to understand how the power can be allocated amongst the different
ESP's so that the oil production is maximised and we do not exceed the power constraint that
we have in the field.
To achieve this we can use the optimiser in GAP to calculate what frequency each pump should
be operating under throughout the entire prediction.
The steps that will be carried out in this example are:
Set well controls (in this case, on pump frequency).
Set a maximum power constraint at the system level.
Run a forecast with optimisation.
3.8.5.1 Set Well Controls
To set the well control of the ESP wells, double-click on the Well1A_ESP well to activate the
system summary screen.

1990-2012 Petroleum Experts Limited

811

GAP

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.

GAP User Guide

August, 2012

Examples Guide

812

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 795 shown at the start of the section.

1990-2012 Petroleum Experts Limited

813

GAP

3.8.5.2 Set System Constraint on Maximum Power


In order to set the maximum power constraint select Constraint | System Constraints from the
main GAP menu and enter a maximum power of 125hp.

3.8.5.3 Run Forecast with Variable Operating Frequency


The model is now ready to be run in a forecast.
Run a prediction with the same setup as before 708 :
GAP User Guide

August, 2012

Examples Guide

814

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'.
With the snapshots saved at each prediction step (Refer to Question 4 713 in Example 2 for
instructions for how to set up and use snapshots).
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
1990-2012 Petroleum Experts Limited

815

GAP

system. GAP honours this constraint by regulating the pump frequencies throughout the forecast
so that the 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.

GAP User Guide

August, 2012

Examples Guide

816

3.9 Example 7 - Gas Lift Optimisation


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 was ESP's (refer to previous example 793 ) however now the engineers want to
evaluate installing gas lift in all of the wells in the field.

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.
1990-2012 Petroleum Experts Limited

817

GAP

Introduce scheduling into a GAP model.


Run a forecast with a fixed gas lift allocation.
Run a forecast with optimisation on the gas lift allocation.
Executive Summary
After building the model for this production network in GAP, a forecast will be run with a userspecified 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 steps followed will be to:
1. Build the GAP network
- Draw the GAP network
- Define wells in GAP
- Generate well IPRs in GAP using PROSPER
- Generate well VLPs in GAP using PROSPER
2. Set the given gas lift gas allocation and run the a forecast.
3. Set the gas lift allocation to be controlled by GAP and run a forecast
4. 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 7 - GL Field
Extract 600 the archive file in the Initial Files folder to an appropriate directory
Click here 841 to include a gas lift injection network

3.9.2 Data Available


Description of the wells
Well Name

Well type

PROSPER well model

Lift curve file

Gas Lift Gas


(MMscf/D)

Well1A_GL

Gas Lifted

WELL1A_GL.OUT

WELL1A_GL.vlp

Well2A_GL

Gas Lifted

WELL2A_GL.OUT

WELL2A_GL.vlp

Well3A_GL

Gas Lifted

WELL3A_GL.OUT

WELL3A_GL.vlp

Well1B_GL

Gas Lifted

WELL1B_GL.OUT

WELL1B_GL.vlp

Well2B_GL

Gas Lifted

WELL2B_GL.OUT

WELL2B_GL.vlp

GAP User Guide

August, 2012

Examples Guide

Well3B_GL

Gas Lifted

WELL3B_GL.OUT

WELL3B_GL.vlp

818

Table 1

Extract the archive file Oil Field.gar to start the exercise.

3.9.3 Build the GAP Model


This section can be used as a general step-by-step procedure to build Gas Lifted wells into a
GAP model. The sketch illustrated below will be used as the reference.

3.9.3.1 Draw the GAP Network


Extract the GAP archive Oil Field.gar

1990-2012 Petroleum Experts Limited

819

GAP

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

GAP User Guide

August, 2012

Examples Guide

820

Link each well to its corresponding well head and reservoir as shown in the figure below.

1990-2012 Petroleum Experts Limited

821

GAP

3.9.3.2 Define the Wells


As it can be seen, when a well is defined in GAP, it is by default set up as an oil producer (no lift)
well. The description therefore has to be changed. In this case it will be defined as an Oil
Producer (Gas lifted) well.
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).
PLEASE MAKE SURE THAT THE WELL TYPE IS DEFINED AS "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 817 .
GAP User Guide

August, 2012

Examples Guide

822

Click | OK to return to the main screen.


About some useful tips

The way that the equipment list is visualised can be changed by clicking on the equipment list
area with the right-hand side mouse button.
3.9.3.3 Generate Well IPRs
Once all of the wells have been created and the associated PROSPER well models selected, the
IPRs can be generated in GAP in a batch mode.
From the main GAP menu select Generate | Generate Well IPRs from PROSPER.
Then select all of the 'GL' 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:

1990-2012 Petroleum Experts Limited

823

GAP

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'

Click on |OK to get back to the GAP main screen.


3.9.3.4 Generate Well VLPs
To import the VLP curves in GAP (ref. VLP generation 466 ) the user can either:
Access the VLP section in the well input area and 'Browse' for the VLP file that has been pregenerated 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.
GAP User Guide

August, 2012

Examples Guide

824

In this case a range of values need to be entered and as the wells are gas lifted wells then
there is an additionally variable (the Injected Gas Liquid Ratio) 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 466 for guidelines on the ranges to use for GLR injected.
As the second method has been widely demonstrated in previous examples 681 , 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 843 :

1990-2012 Petroleum Experts Limited

825

GAP

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.
Select Inspect and then Plot to verify the quality of the curves.

GAP User Guide

August, 2012

Examples Guide

826

3.9.3.5 Set the Scheduling


The objective is to install gas lift into the existing wells at some date in the future (01/02/2013).
To capture this in the GAP model we have introduced two wells, a naturally lifted oil producer
and a separate gas lifted lifted well. In order for the two wells to simulate the effect of one well
being worked over and becoming a gas lifted well we will take advantage of the scheduling
feature in GAP.
To do this, the naturally lifted well will be scheduled to go off on the 01/02/2013 where as 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,000STB/d. To do this we will modify the maximum liquid constraint at the separator from
20,000STB/d to 30,000STB/d.
The steps that will carried out are:
1. Set up the scheduling for the wells.
2. Set up the scheduling for the separator.
Double-click on one of the gas lifted 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 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 well is stopped on the 01/02/2013.

1990-2012 Petroleum Experts Limited

827

GAP

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 GL.gap.

3.9.4 Fixed Gas lift Gas Injection


In the is case the forecast will be carried out using a fixed allocation of gas lift gas amongst the
wells according to the proposed rates provided in Table 1 817 .

GAP User Guide

August, 2012

Examples Guide

828

3.9.4.1 Run forecast with Fixed Gas Injection


To set the well control of the gas lifted wells, double-click on the Well1A_GL to activate the
System Summary screen.

Select the 'Control' tab and then set the dP Control to 'None' and the Control Model to a 'Fixed
value' of 1MMscf/d which is provided in Table 1 817 . This will ensure that this well will be injected
with a constant rate of 1 MMscf/d 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 817 .
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.

1990-2012 Petroleum Experts Limited

829

GAP

Note that the wells' 'Controls' 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' 'Controls' section. These values
will be used whenever the GAP model is run under No Optimisation
The model is now ready to be run in a forecast.
Run a prediction with the same set up as before 708 :
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'.
With the snapshots saved at each prediction step (Refer to Question 4 713 in Example 2 for
instructions for how to set up and use snapshots).
Once the calculation is finished, save the prediction results by selecting | Prediction | Save
Prediction Run Results As...

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 0psig dP choke on the
wells (i.e. the wells will be fully open).
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).

GAP User Guide

August, 2012

Examples Guide

830

The gas lifted wells remain masked and the naturally flowing wells are all producing. The
following snapshot shows the network on 01/02/2013.

1990-2012 Petroleum Experts Limited

831

GAP

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 node
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,000STB/d as soon as the facilities are upgraded on the 01/02/2013.

GAP User Guide

August, 2012

Examples Guide

832

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

1990-2012 Petroleum Experts Limited

833

GAP

3.9.5 Variable Gas Lift Injection


In the previous forecast the allocation of the gas lift gas amongst the wells was fixed. In this case
the GAP optimiser will be used in order to determine the allocation of gas lift gas amongst the
wells that will maximise the oil production in the system.
3.9.5.1 Set well Controls
To set the well control of the gas lifted wells, double-click on the Well1A_GL well to activate the
System Summary screen.

GAP User Guide

August, 2012

Examples Guide

834

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.9.5.2 Set Maximum Gas Lift Available
To set the maximum gas lift gas that is available then select Prediction | Run Prediction from the
main GAP menu and then run through the forms until the following screen appears.

1990-2012 Petroleum Experts Limited

835

GAP

Enter a value of 10MMscf/d. This will ensure that total gas lift gas that is allocated amongst the
wells will not exceed 10MMscf/d.
3.9.5.3 Run Forecast with Variable Gas lift Injection
The model is now ready to be run in a forecast.
Run a prediction with the same set up as before 708 :
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'.
With the snapshots saved at each prediction step (Refer to Question 4 713 in Example 2 for
instructions for how to set up and use snapshots).
Once the calculation is finished, save the prediction results.

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.

GAP User Guide

August, 2012

Examples Guide

836

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.

1990-2012 Petroleum Experts Limited

837

GAP

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 1MMscf/d 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.

GAP User Guide

August, 2012

Examples Guide

838

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.

1990-2012 Petroleum Experts Limited

839

GAP

And if we compare the cumulative oil production with the new optimiser settings we observe no
difference in the totals.

GAP User Guide

August, 2012

Examples Guide

840

1990-2012 Petroleum Experts Limited

841

GAP

3.10 Example 8 - Gas Lift Injection Network


The previous example 816 described the set-up of a gas lift production system and can be
applied to the majority of the cases. In many cases it is required to verify if the gas lift injection
network is able to provide the necessary pressure to inject the required gas lift gas. The
following example shows how to capture the physics of the gas lift injection system in an
integrated the model.

3.10.1 Objectives
Definition of the Problem
A gas lifted production system is being considered and it is required to design the gas lift
distribution network and the compression facility that would be necessary to deliver the gas.
In order to proceed with the construction of the gas lift network the contract states that there must
be 10 MMscf/d 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.

The study will involve three different scenarios:


1. Case 1 will look at running a forecast with gas lift on all of the wells, with the total available gas
lift rate assumed to be10MMscf/d. The GAP optimisation algorithm will be used to determine

GAP User Guide

August, 2012

Examples Guide

842

the allocation throughout the prediction.


2. Case 2 will look at running 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 10MMscf/d.
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 in order to honour
the contract.
3. Case 3 will look at running 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 10MMscf/d.
At which point all the allocated gas lift gas will be increased to 15MMscf/d.
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
Couple the production system to the gas lift injection network
Write a script to meet a gas contract
Optimise the gas lift allocation to the wells ensuring that this can be supplied by the
gas injection system.
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 steps followed will be:
1. Modify the existing gas lift production network by:
- Generating PROSPER lift curves with casing pressure as a sensitivity variable and
import the curves in GAP
- Set the well controls in GAP
2. Build the gas lift injection network
- Draw the GAP network
- Define wells in GAP as sinks with the same name as the production wells
- Define the pipelines
- Define the compressor
3. Associate the gas lift injection system to the production system.
4. Set the gas lift gas allocation.
5. Write a simple prediction script to honour the gas contract.
6. Run a forecast with the gas injection network included to maximise oil production.

1990-2012 Petroleum Experts Limited

843

GAP

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 600 the archive file in the Initial Files folder to an appropriate directory

3.10.2 Data Available


The data required to start the example are in the folder Example 8 - GL Field with Gas Network.
There is an archive called Oil Field_GL.gar
Extract the archive before starting the exercise.
Description of the wells
Well Name

Well type

PROSPER well model

Lift curve file

Well1A_GL

Gas Lifted

WELL1A_GL.OUT

WELL1A_GL.vlp

Well2A_GL

Gas Lifted

WELL2A_GL.OUT

WELL2A_GL.vlp

Well3A_GL

Gas Lifted

WELL3A_GL.OUT

WELL3A_GL.vlp

Well1B_GL

Gas Lifted

WELL1B_GL.OUT

WELL1B_GL.vlp

Well2B_GL

Gas Lifted

WELL2B_GL.OUT

WELL2B_GL.vlp

Well3B_GL

Gas Lifted

WELL3B_GL.OUT

WELL3B_GL.vlp

Table 1

In order to model the Gas Lift Network, the PROSPER models must use the 'Valve Depths
Specified' method in the gas lift options.
Description of the surface network
In this example, we will define the sea level as the reference depth.
NOTE: the pipelines are defined from upstream to downstream
Label

Pipe
segment
Length

Pipe
ID

km

Inche
s

ft

Manifold_A to WH1_A

Manifold_A to WH2_A

0.8

Manifold_A to WH3_A
Manifold_B to WH1_B

GAP User Guide

Upstrea Downstre
m TVD am TVD

Overall Heat
Transfer
Coefficient

Multiphase Correlation

ft

Btu/h/ft2/F

600

600

Beggs and Brill

600

600

Beggs and Brill

1.2

600

600

Beggs and Brill

0.5

525

525

Beggs and Brill


August, 2012

Examples Guide

Manifold_B to WH2_B

0.3

525

525

Beggs and Brill

Manifold_B to WH3_B

0.4

525

525

Beggs and Brill

Manifold_B to Manifold_A

7.5

525

600

Beggs and Brill

P_d to Manifold_B

525

Beggs and Brill

P_d to Manifold_B

525

515

Beggs and Brill

P_d to Manifold_B

515

480

Beggs and Brill

P_d to Manifold_B

480

525

Beggs and Brill

P_d to Shore

7.62

525

Beggs and Brill

P_d to Shore

0.16002

525

Beggs and Brill

844

Table 2 Pipeline description

Description of the Compressor


The performance curves of the compressor 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.
In order to link a production network to an injection network, it is mandatory to
define the injection sinks with the same names as the production wells.
In the same way, defining the injection manifold with the same name as the
production separator will make GAP understand the two have the same pressure.
Note that the last consideration is not a mandatory requirement: if a different name
is used for the injection manifold, GAP will ask further for its pressure.
Note that the completed archive of the model is called Oil Field with GL Network.gar

3.10.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 823 ). The basic assumption being that there is sufficient
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
1990-2012 Petroleum Experts Limited

845

GAP

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.

3.10.3.1 Generate the Well VLPs with Casing Pressure


This section explains how to generate the lift curves with casing pressure as an additional
sensitivity variable.
Note that the lift curves have already been generated (see Table 1 843 ), therefore the steps
GAP User Guide

August, 2012

Examples Guide

846

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.

1990-2012 Petroleum Experts Limited

847

GAP

At approximately 7800 STB/day the injection point changes and a step change in the pressure
profile is observed. If the VLPs were generated for the same conditions but for a different range
of rates then is event will not be captured with sufficient resolution and there will be large
interpolation errors if the intersection with the IPR falls within this region.

GAP User Guide

August, 2012

Examples Guide

848

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 lift wells, double-click on the wells to
activate the System Summary screen and select 'VLP' and then 'Inspect' from the screen shown
below.

1990-2012 Petroleum Experts Limited

849

GAP

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 and therefore the producing GOR will remain constant throughout the
prediction.
3.10.3.2 Setting Well Controls in GAP
When the wells are set to 'Use Casing Pressure' then the casing pressure can be calculated by
GAP. To set the casing pressure to be calculated double-click on Well1A_GL and select
'Controls'. Modify the control mode to 'Calculated' and ensure that the maximum casing
pressure is 4000psig so that the casing pressure does not exceed the design limit.

GAP User Guide

August, 2012

Examples Guide

850

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

1990-2012 Petroleum Experts Limited

851

GAP

3.10.4.1 Draw the GAP Network


1. Getting Started
Begin by starting the program.
From the GAP entry screen, select File| New to reinitialise GAP.
2. Defining the global system option
To begin setting up the system options, select Options | Method and make the following
selections:
System Type :
Prediction:
Prediction Method:
Water Vapour:
Temperature Model:
Calculate Well Choke Delta T:

GAP User Guide

Gas Lift Injection


On
Pressure and temperature
No Calculations
Rough Approximation
Off

August, 2012

Examples Guide

852

Then click 'Ok' to exit this screen.


This completes the system set-up and reinitialises the program.
3. Defining the Units System
In order to define the unit system click on Units | Edit Units. The following screen will appear:

1990-2012 Petroleum Experts Limited

853

GAP

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
In order to reproduce the same results in this example, it is recommended
to set the inputs and outputs in Oilfield Units.
For further details, access the Units section 592 of the user Guide.
Click on OK to complete the selection of units and to close the screen.
If necessary, later we will modify the units system when entering input data.
4. Drawing the system
The purpose of this section is to demonstrate how to construct graphically the complete gas lift
network. The sketch provided at the start of the section will be used as reference.
The network will be drawn from upstream to downstream defining the gas injection manifold first.
GAP User Guide

August, 2012

Examples Guide

854

Note that the order in which the GAP network is constructed has no effect on the results.
In order to link a production network to an injection network, it is mandatory to
define the injection sinks with the same names as the production wells.
In the same way, defining the injection manifold with the same name as the
production separator will make GAP understand the two have the same pressure.
Note that the last consideration is not a mandatory requirement: if a different name
is used for the injection manifold, GAP will provide the option to enter its pressure.
Injection Manifold "Gas Inj. Manifold"
The Injection Manifold is defined using the same element as the Production Separator which can
be accessed by the Separator
icon. Selecting this icon and then clicking on the main GAP
screen will activate the window shown below.

Select the 'Gas Injection Manifold' and an element will appear on the main screen.

1990-2012 Petroleum Experts Limited

855

GAP

The Joints
Eleven joints will be created:
One joint to represent the compressor inlet ("P_s")
One joint to represent the compressor outlet ("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.

GAP User Guide

August, 2012

Examples Guide

856

The Compressor
To add the compressor element select the compressor
place it between joints "P_s" and "P_d".

icon from the main toolbar and

1990-2012 Petroleum Experts Limited

857

GAP

The Wellheads (casing side)


The wellheads will be modelled using sink elements which can be added to the network using
the

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

GAP User Guide

August, 2012

Examples Guide

858

Some useful tips


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
main toolbar
2. Icons can be deleted by selecting the scissors
clicking on the node to be removed.

from the

icon from the toolbar menu and

The links /pipes


Links are connection tools which connect the various nodes in the network
system. The following rules apply:
a link between a reservoir and a well has no dimension
a link between a well and a joint has no dimension
a link between 2 joints may have a dimension (pipe, chokes)
a link between a joint and a separator may have dimensions
a well can not be linked directly to a separator. An intermediate joint is compulsory,
a reservoir can not be linked directly to a separator.
Link the components together by doing the following:

1990-2012 Petroleum Experts Limited

859

GAP

1. Selecting the link


icon from the main toolbar.
2. Click on the first component to be connected with the left mouse.
3. Keeping the left mouse button pressed, move the cursor from the first component to the
second component.
4. A joint will form when the mouse button is released over the second component.
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. The GAP screen display should look something like the
screen shot below:

3.10.4.2 Define the Wellheads and Delivery Station


Access the System Summary screen of the Sink labelled "Well1A_GL" and define a rate of 0
MMscf/d, as shown below.

GAP User Guide

August, 2012

Examples Guide

860

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.

1990-2012 Petroleum Experts Limited

861

GAP

3.10.4.3 Define the Pipelines and Surface Equipment


Table 1 843 contains the information about all of the pipelines in the field.
According to the network sketch 850 , 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:
Pipeline model:
Correlation:
Gravity Coefficient:
Friction Coefficient:

GAP User Guide

GAP Internal Correlations


Beggs and Brill
1
1

August, 2012

Examples Guide

862

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
computational 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
Select the 'Environment' tab to access the screen which allows you define the pipeline
environment and then enter the following values.
Surface Temperature:
Overall Heat Transfer Coefficient:
Oil Heat Capacity:
Gas Heat Capacity:
Water Heat Capacity:

50 degF
3 Btu/h/ft
0.53 Btu/lb/F (default)
0.51 Btu/lb/F (default)
1 Btu/lb/F (default)

1990-2012 Petroleum Experts Limited

863

GAP

Repeat this for all of the flowlines in the system.


Pipe Description
To define the pipeline dimensions select the description tab.
Enter the following data (note: the data are given from upstream to downstream):

Manifold_A to
WH1_A

GAP User Guide

Pipe
Segment
Length

Pipe ID

Upstream
TVD

Downstream
TVD

Roughness

Multiphase
Correlation

km

Inches

ft

ft

Inches

600

600

0.0006

Beggs and Brill

August, 2012

Examples Guide

864

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.
Repeat this procedure for all of the well lines.
Description of the main flowlines
Double-click on the pipe linking Manifold_A to Manifold_B and enter the following data:

Manifold_A to
Manifold_B

Pipe
segment
Length

Pipe
ID

Upstream
TVD

Downstream
TVD

Roughne
ss

Multiphase Correlation

km

Inches

ft

ft

Inches

7.5

600

525

0.0006

Beggs and Brill

1990-2012 Petroleum Experts Limited

865

GAP

Similarly, double click on the pipe linking Manifold_B to P_d and enter the following pipe
description:
Label

Pipe Pipe ID
segme
nt
Length

Upstrea
m TVD

Downstre
am TVD

Overall Heat
Transfer
Coefficient

Multiphase Correlation

km

Inches

ft

ft

Btu/h/ft2/F

P_d to Manifold_B

525

Beggs and Brill

P_d to Manifold_B

525

515

Beggs and Brill

P_d to Manifold_B

515

480

Beggs and Brill

P_d to Manifold_B

480

525

Beggs and Brill

GAP User Guide

August, 2012

Examples Guide

866

The figure on the right hand side allows the user to define which node
is upstream and which is downstream in the system:

1990-2012 Petroleum Experts Limited

867

GAP

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.

GAP User Guide

August, 2012

Examples Guide

868

Double-click on the pipe linking joint "P_d" to "Shore" and enter the following data:
Label

Pipe Pipe ID
segme
nt
Length

Upstrea
m TVD

Downstre
am TVD

Overall Heat
Transfer
Coefficient

Multiphase Correlation

km

Inches

ft

ft

Btu/h/ft2/F

P_d to Shore

7.62

525

Beggs and Brill

P_d to Shore

0.1600
2

525

Beggs and Brill

1990-2012 Petroleum Experts Limited

869

GAP

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.
This completes the pipeline description for the gas lift injection network.
Injection manifold
Double-click on the injection manifold to access the System Summary screen and enter an
injection fluid temperature of 60 deg F.

GAP User Guide

August, 2012

Examples Guide

870

Lastly,define the injected gas properties by selecting the 'Edit List' section. In this case the
default PVT properties will be used.

1990-2012 Petroleum Experts Limited

871

GAP

3.10.4.4 Define the Compressor Curves


The performance curves of the compressor are provided in an Excel worksheet called
'Compressor Curves' and are based on genuine manufacturer curves for a centrifugal
compressor.

GAP User Guide

August, 2012

Examples Guide

872

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

1990-2012 Petroleum Experts Limited

873

GAP

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.

GAP User Guide

August, 2012

Examples Guide

874

Ensure that the units are consistent.

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.

1990-2012 Petroleum Experts Limited

875

GAP

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.
Lastly, define how the compressor speed is going to be controlled by selecting the 'Control' tab
and setting the Speed Control to 'Calculated' and entering the maximum/minimum speed limits
of 8000 rpm and 20000 rpm respectively.

GAP User Guide

August, 2012

Examples Guide

876

GAP will now be able to regulate the compressor speed between these limits in order to
maximise the oil production.
The GAP model has now been built. Save the file as GL Network.gap.

3.10.5 Associate Production to Gas Lift Gas Network


At this point the proposed gas lift injection model needs to be linked to the production model so
that a forecast can be run and we can evaluate how the design will perform over the course of
the field life.
To achieve this, perform the following steps:
Open up the Production System model.
Select Options | Method from the main GAP menu.
At the bottom of the screen, in the 'Associated Injection Models' section tick the box for the
'Gaslift Injection' and Browse for the previously saved GL Network.gap model.

1990-2012 Petroleum Experts Limited

877

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.

GAP User Guide

August, 2012

Examples Guide

878

The program knows now that each well corresponds to a source element and the injection
manifold corresponds to the separator. 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 naming the production model as Oil Production with GL Network.gap.

1990-2012 Petroleum Experts Limited

879

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.
3.10.5.1 Write the Prediction Script
The next step is to write the prediction script so that the gas lift network is handling the correct
rates at each time step. For example, it is important to ensure that the produced gas and gas lift
gas rate (which is being cycled) is consistent with the rates in the production system.
Additionally, some additional logic will be required to capture each of the scenarios outlined in
the objectives 841 .
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).

GAP User Guide

August, 2012

Examples Guide

880

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 841 . This can be done
dynamically 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 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.

1990-2012 Petroleum Experts Limited

881

GAP

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 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
called Case 1.gapscr.

GAP User Guide

August, 2012

Examples Guide

882

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.

1990-2012 Petroleum Experts Limited

883

GAP

3.10.6 Run Prediction With Coupled Models


The models are now ready to be run in a forecast.
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.
Run a prediction with the following set up:
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 gas inj. manifold pressure set to 200 psig.
With the optimisation mode set to 'Optimise with All Constraints'.

GAP User Guide

August, 2012

Examples Guide

884

3.10.6.1 Case 1
Once the calculation is finished, save the prediction results.

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 be10MMscf/d.
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 10MMscf/d and we
can verify that the volume of 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.

1990-2012 Petroleum Experts Limited

885

GAP

From the plot its clear that around 1/12/2016 the gas production falls below 10MMscf/d and it is
not possible to honour the contract.

GAP User Guide

August, 2012

Examples Guide

886

3.10.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 be10MMscf/d until the total produced gas drops below 10MMscf/d. 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 10MMscf/d is that wells connected to Reservoir B will be
switched to Fixed Control and the Gas Injection Rate will be set to 0MMscf/d.

This will be captured by modifying the script as shown below.

1990-2012 Petroleum Experts Limited

887

GAP

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
called Case 2.gapscr.
Re-run a prediction with the same set up as the previous case 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 gas inj. manifold pressure set to 200 psig.
With the optimisation mode set to 'Optimise with All Constraints'.
Once the calculations are complete save the prediction results.

GAP User Guide

August, 2012

Examples Guide

888

Once the calculations are complete save the prediction results.


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.

1990-2012 Petroleum Experts Limited

889

GAP

This development strategy is therefore undesirable.

GAP User Guide

August, 2012

Examples Guide

890

3.10.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 10MMscf/d. At which
point all of the allocated gas lift gas will be increased to 15MMscf/d 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 10MMscf/d is the Gas Lift Available will be increased to
15MMscf/d

This will be captured by modifying the script as shown below.

1990-2012 Petroleum Experts Limited

891

GAP

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
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 gas inj. manifold pressure set to 200 psig.
With the optimisation mode set to 'Optimise with All Constraints'.
Once the calculations are complete save the prediction results.

GAP User Guide

August, 2012

Examples Guide

892

Once the calculations are complete save the prediction results.


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.

Which inidiactes that there is effectively no gain in increasing the gas lift 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 a physical
compressor 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.
1990-2012 Petroleum Experts Limited

893

GAP

3.11 Example 9a - LNG (Fully Compositional)


3.11.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 n LNG plant for
processing.

The objectives are to:


1. Calculate the total production from the system when the wells are fully open and assess if
there are any potential problems concerning deposition of solids (hydrates or waxes) in the
pipelines.
2. Generate a production profile from 01/01/2007 to 01/01/2012 operating at full production to
evaluate the changes in the composition of the fluid, especially evolution of the C1, C2 and
C3. The delivery pressure at the separator is fixed to 1000 psig until 01/01/2010 and from this
date onward the separator will operate at 500 psig.
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.

GAP User Guide

August, 2012

Examples Guide

894

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)
Click here 948 to set the model to Black Oil compositional lumping/delumping

3.11.2 Data Available


Description of the Wells
In this example, the Forcheimer Pseudo Pressure Method will be used for the model the inflow
performance (IPRs). The file names containing the pre-generated lift curves corresponding to
each well are shown in the table below.
Well Name

PROSPER File

Lift Curves

Well1

Well1.OUT

Well1.tpd

Well2

Well2.OUT

Well2.tpd

Well3

Well3.OUT

Well3.tpd

Well4

Well4.OUT

Well4.tpd

Table 1 - Well data

Description of the Pipelines

Label

Pipe Pipe ID
segme
nt

Upstrea
m TVD

Downstre
am TVD

Overall Heat
Transfer
Coefficient

Multiphase Correlation

1990-2012 Petroleum Experts Limited

895

GAP

Length
km

Inches

ft

ft

Btu/h/ft2/F

Manifold to Top Riser

10

Petroleum Experts 5

WH1 to Manifold

Petroleum Experts 5

WH2 to Manifold

Petroleum Experts 5

WH3 to Manifold

Petroleum Experts 5

WH4 to Manifold

Petroleum Experts 5

Table 2 - Pipeline data

Description of the Reservoir


Tank Name

Reservoir

History Start - End

GIIP

MBAL File

(dd/mm/yyyy)

Bscf

No History

500

Reservoir_start.mbi

Table 3 - Reservoir data

Description of the PVT


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

3.11.3 Build the GAP model


This section can be used as a general step-by-step procedure to build any GAP model. The
sketch below will be used as a reference.

GAP User Guide

August, 2012

Examples Guide

896

3.11.3.1 Draw the GAP network


1. Getting Started
Begin by starting the program.
From the GAP entry screen, select File| New to reinitialise GAP.
2. Defining the global system option
To begin setting up the system options, select Options | Method and make the following
selections:
System Type :
Optimisation Method :

Production
Production
1990-2012 Petroleum Experts Limited

897

GAP

PVT Model :
Prediction:
Prediction Method:
Wax or Hydrate Warning:
Water Vapour:
Temperature Model:
Calculate Well Choke Delta T:

Fully Compositional
On
Pressure and temperature
On
Calculate Condensed Water Vapour
Improved Approximation
On

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.

GAP User Guide

August, 2012

Examples Guide

898

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.
The improved approximation temperature model will be used to measure the
temperature in the pipelines. This model is an advanced temperature model that takes
into account the full energy equation including the Joule-Thomson effect. This
approach enables the user to define an overall heat transfer coefficient that varies
along the length of the pipelines and considers complex fluids where the heat
capacities can no longer be assumed constant (i.e. CO2 or near critical fluids).
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:
EOS Model:
Peng Robinson
Volume Shift:
Yes
Allow Lumping:
No. In this case we will use the original
full composition without lumping it in a smaller one with fewer components.
Reference Data for Standard conditions: 60 F and 0 psig
The path to Surface and Recycle:
The fluid will be flashed through 2 separator
stages

1990-2012 Petroleum Experts Limited

899

GAP

GAP User Guide

August, 2012

Examples Guide

900

Then Click on OK to accept the changes.


When using the Fully Compositional model the lumping/delumping
methodology should not be used.
The lumping/delumping
methodology can only be used in conjunction with the Black Oil
Compositional Lumping/Delumping model.
Note that the options above are described in detail in the manual 154 .
This completes the system set-up and reinitialises the program.
3. Drawing the system
It is assumed that the user is familiar with the basics of GAP and is able to construct the network
(shown in the figure below) without further instructions. If help is required, please refer to any of
the previous examples 605 which provide step by step instructions of how to include the individual
elements that make up the system.

1990-2012 Petroleum Experts Limited

901

GAP

The exception of this example is the separator element. When the separator
selected from the main GAP toolbar it will activate the following window.

GAP User Guide

icon is

August, 2012

Examples Guide

902

Ensure that the LNG Process Plant 271 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.

1990-2012 Petroleum Experts Limited

903

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.

3.11.3.2 Define the Reservoir


To define the reservoir, the corresponding MBAL file will be associated to the tank in GAP. To
do that, double-click on the reservoir icon to activate the Tank Summary screen and 'Browse' for
the reservoir model reservoir_start.mbi, as shown below.

GAP User Guide

August, 2012

Examples Guide

904

3.11.3.3 Setting up MBAL as compositional


In this section the existing MBAL model reservoir.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 hand corner of the window.

Once the MBAL file is open access 'Options' from the main tool bar and set the 'Compositional
Model' to 'Fully Compositional.'

1990-2012 Petroleum Experts Limited

905

GAP

Enter the 'EOS Model Setup' options and enter the same PVT information as was entered in
GAP.

GAP User Guide

August, 2012

Examples Guide

906

Note that when linking a fully compositional MBAL model to GAP, MBAL will automatically use
the EOS settings defined in GAP as it is the master controller.
3.11.3.3.1 Entering compositional PVT Data
The next step is to import the equation of state (EOS) into MBAL. The EOS will be exported
from a pre-existing PVTP model (PVT model.pvi) as a .PRP file and imported in MBAL.
1990-2012 Petroleum Experts Limited

907

GAP

Open up the PVT model.pvi in PVTP located in the initial files folder. The PVTP file includes an
EOS that has already been matched (or characterised) to a PVT lab report. The initial
characterisation is the fundamental first step in constructing an integrated model and there are
step by step instructions for matching fluids in the PVTP manual that the engineer can refer to.
The EOS has been defined with 16 components and has been tuned using the Volume Shift
correction. From the main PVTP panel select 'View Properties' to view the composition and
component properties.

To export the EOS select File | Export from the main PVTP menu and then EOS Composition :

GAP User Guide

August, 2012

Examples Guide

908

Save the .PRP file as PVT model.prp. The .prp file that is generated contains all of equation of
state properties shown above along with the fluid composition.
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.

1990-2012 Petroleum Experts Limited

909

GAP

Select the 'Gas' tab and then 'Edit Compostion to import the .prp file as shown below.

GAP User Guide

August, 2012

Examples Guide

910

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.

1990-2012 Petroleum Experts Limited

911

GAP

Note: In the case shown above, the gas composition that has been entered
that the contains 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 initial Oil leg equal to zero, as the reservoir is initially
above the dew point.

GAP User Guide

August, 2012

Examples Guide

912

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.

In GAP accept the change of file name:

1990-2012 Petroleum Experts Limited

913

GAP

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.
3.11.3.4 Define the Wells
As with the previous models, we have already built the PROSPER models for all of the wells. The
PROSPER file associated with "Well1" has been constructed and documented in detail in the
PROSPER manual. Please refer to the PROSPER tutorials for more information on well modeling.
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:

GAP User Guide

W1

August, 2012

Examples Guide

Mask:

Include in System (default)

Well Type:

Retrograde Condensate Producer

Model:

VLP/IPR intersection

PROSPER file:

Well1.OUT

914

PLEASE MAKE SURE THAT THE WELL TYPE IS DEFINED AS


"Retrograde Condensate Producer"

Complete all the wells according to the data provided in Table 1 667 .
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
PROSPER manual for details about the validation steps.

1990-2012 Petroleum Experts Limited

915

GAP

3.11.3.4.1 Import EOS Composition in GAP


When the compositional PVT option is used, the fluid composition and EOS properties need to
be defined for each well and this is imported in the IPR section. These details are used to
calculate the fluid properties (i.e. density and viscosity) so that the pressure drop throughout the
network can be determined.
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 (see figure below)
and importing the file directly as shown below.

Alternatively, access the Edit | Import Compositions from the main GAP toolbar and then select
all the wells and 'Import EOS Options'.

GAP User Guide

August, 2012

Examples Guide

916

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.

1990-2012 Petroleum Experts Limited

917

GAP

3.11.3.4.2 Generate Well IPRs


Once all of the wells have been created and the associated PROSPER well models selected the
IPRs can be generated in GAP in a batch mode.
From the main GAP menu select Generate | Generate Well IPRs from PROSPER.
Then select All | Generate.

GAP User Guide

August, 2012

Examples Guide

918

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:

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 distribution of the different fluid phases (i.e. the WGR and GOR).

1990-2012 Petroleum Experts Limited

919

GAP

3.11.3.4.3 Import VLPs


In this example, the PROSPER and VLP files have already been constructed for the user. This
was done to save time in completing the exercise as it has been assumed that the user is
already familiar with the basics of the IPM Suite. For detailed information about the generation
of the VLPs please refer to previous examples 681 .
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 select the VLP tab.

GAP User Guide

August, 2012

Examples Guide

920

Select browse 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.

3.11.3.5 Define the LNG Plant


To define the LNG Plant double-click on the element to activate the system summary screen and
select 'Plant Process' as shown below.

1990-2012 Petroleum Experts Limited

921

GAP

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.

GAP User Guide

August, 2012

Examples Guide

922

3.11.3.6 Define the Pipelines


Enter the pipeline data according to Table 2 894 and following the same steps as seen in
previous examples 861 .

1990-2012 Petroleum Experts Limited

923

GAP

In the 'Improved Approximation' method the user has the option to define a heat transfer
coefficient for each segment of pipe. If the the heat transfer coefficient varies along the pipe
length then this can be captured by adding multiple pipe segments within the pipe description.
To keep it simple, the pipelines are considered to be horizontal.
3.11.3.7 Setting the Well Controls
The wells can be made "controllable" (which means that the wellhead choke can be changed by
the optimiser) by:
Accessing the Controls 230 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."
The figure below shows the 'Controls' section in the well input area:

GAP User Guide

August, 2012

Examples Guide

924

Ensure that all of the wells in the system are made controllable.

3.11.3.8 Set the Scheduling


The last step is to schedule the pressure in the LNG plant and the separators to change to 500
psig on 1/1/2010 (ref. previous example for details about entering Schedules 713 ):

LNG Plant Schedule

Separator Schedule

Water Schedule

1990-2012 Petroleum Experts Limited

925

GAP

The model is now complete and ready to run.


Save the model as GAP fully compositional.gap.

3.11.4 Solve Network


Once the model has been set up, the next step is to determine the total production from the
system when the wells are fully open and identify if there are any potential problems concerning
deposition of solids (hydrates or waxes). To do this we will use the 'Solve Network' feature.
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.

GAP User Guide

August, 2012

Examples Guide

926

Pointing the cursor on the separator, it is possible to see that the wells fully open produce overall
around 2718 tonne/day of LNG and 2885 tonne/day of Condensate.

1990-2012 Petroleum Experts Limited

927

GAP

The results also show the composition in each point of the system.

GAP User Guide

August, 2012

Examples Guide

928

3.11.4.1 Viewing the Detailed Compositional Results


Note that one can obtain the composition at any point in the system and if necessary extract that
composition and use it in other tools (like MBAL, PROSPER or PVTP).
To access the details of the composition:
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 'Composition
View':

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 'Calculate Hydrate...Wax'.
1990-2012 Petroleum Experts Limited

929

GAP

Selecting 'Plot' then enables the user to see the pipeline pressure and temperature profile
relative to the hydrate formation curve.

GAP User Guide

August, 2012

Examples Guide

930

The green curve on the plot represents the pipeline P vs T profile.


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.

3.11.5 Running the Prediction


One of the requirements of the model is to be able to capture the evolution of C1 and C2 during
5 years of production considering changes in the separator pressure.
To run the prediction select Prediction | Run Prediction from the main GAP menu and then enter
the following information:
Start Date:
End Date:
Step Sise:

01/01/2007
01/01/2012
2 Month

1990-2012 Petroleum Experts Limited

931

GAP

Select Next | Next and enter a pressures of 1000psig. Select | Next and then set the prediction
mode to 'No Optimisation' and then 'Calculate':

GAP User Guide

August, 2012

Examples Guide

932

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 | Save
Prediction Results As...

1990-2012 Petroleum Experts Limited

933

GAP

GAP User Guide

August, 2012

Examples Guide

934

3.11.5.1 Viewing the Detailed Compositional Results


From main GAP menu select Prediction | Plot Nodes Prediction Results as shown below and
plot the LNG Plant results.

Click on plot, and then view the LNG and condensate rates along with the GOR for the fully
compositional prediction as shown below.

1990-2012 Petroleum Experts Limited

935

GAP

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.
From the same plot it is possible to plot the evolution of methane.

GAP User Guide

August, 2012

Examples Guide

936

The profiles of ethane and propane can also be plotted in the same way.

1990-2012 Petroleum Experts Limited

937

GAP

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.

GAP User Guide

August, 2012

Examples Guide

938

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.
Within this window select 'Load MBAL Results' which will provide the full detailed results of the
prediction that are associated with the MBAL model.

1990-2012 Petroleum Experts Limited

939

GAP

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') to activate the system summary
screen.

GAP User Guide

August, 2012

Examples Guide

940

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

1990-2012 Petroleum Experts Limited

941

GAP

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.

GAP User Guide

August, 2012

Examples Guide

942

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.

1990-2012 Petroleum Experts Limited

943

GAP

Re-calculate the hydrate curve and plot the results.

GAP User Guide

August, 2012

Examples Guide

944

The inclusion of 10 % methanol removes the risk of hydrates however there is still the possibility
of wax formation 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.

1990-2012 Petroleum Experts Limited

945

GAP

In the 'EOS Model Setup' select the 'Water Composition' button.

Enter the methanol concentration in the Inhibitors section as shown below.

GAP User Guide

August, 2012

Examples Guide

946

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.

1990-2012 Petroleum Experts Limited

947

GAP

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.
Save the model as GAP Fully Compositional.gap.

GAP User Guide

August, 2012

Examples Guide

948

3.12 Example 9b - LNG (Black Oil Compositional


Lumping-Delumping)
3.12.1 Objectives
Definition of the Problem
In the case of the system described in the previous example 893 it is still required to know the
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 174 method which is one of the advanced PVT options available in GAP.
The requirements of the model are:
To determine the composition (EOS) 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 893 .
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/de-lumping.
Compare the results obtained using Black Oil compositional Lumping/Delumping and
Fully Compositional.
Executive Summary
The starting point is the model 895 built in the previous example.
The steps to follow will be to:
1. Set the GAP model up to work with the Black Oil compositional Lumping/Delumping and to use the full composition.
2. Run 'Solve Network' (no optimisation) to determine the actual production for the
current network status.
3. Run the prediction in GAP and check the results.
Note that in this example MBAL is run Fully compositional.
The completed model can be found in the directory:
~\samples\GAP\Example 9b - LNG (BO Compositiona Lumping-Delumping)
Extract 600 the archive file in the 'Completed' folder of Example 9a to an
appropriate directory
1990-2012 Petroleum Experts Limited

949

GAP

3.12.2 Data Available


The data available for this example can be found in the archive Gap Fully Compositional.gar
which is located in the folder ~\samples\GAP\Example 9a - LNG (Fully Compositional).

3.12.3 Set up GAP as Black Oil compositional Lumping/Delumping


Extract the GAP fully compositional.gar file.
Switch the model to Black Oil Compositional Lumping/Delumping by accessing Options |
Method from the main menu and select the required PVT model:

GAP User Guide

August, 2012

Examples Guide

950

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.

1990-2012 Petroleum Experts Limited

951

GAP

Note that in the EOS Model Setup options it is possible to enable the Lumping options (in case

GAP User Guide

August, 2012

Examples Guide

952

a pair of associated lumped/de-lumped compositions is available, see further 959 ).


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.

3.12.4 Running the Prediction


Run the prediction as in the previous example 930 .

1990-2012 Petroleum Experts Limited

953

GAP

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 50%.
To save the prediction results select Prediction | Save Prediction Results As...

GAP User Guide

August, 2012

Examples Guide

954

3.12.4.1 Prediction and viewing the results


From main GAP menu select Prediction | Plot Nodes Prediction Results as shown below and
plot the LNG Plant results.

1990-2012 Petroleum Experts Limited

955

GAP

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
GAP User Guide

August, 2012

Examples Guide

956

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.
The same steps can be repeated for Ethane

1990-2012 Petroleum Experts Limited

957

GAP

And Propane

GAP User Guide

August, 2012

Examples Guide

958

Reinforcing the validity of the BO Compositional Lumping/Delumping method.


In summary the BO Compositional Lumping/Delumping method significantly reduces the
calculation time without sacrificing accuracy in the model.
Save the model as GAP BO_COMP_Lumping_delumping.gap

1990-2012 Petroleum Experts Limited

959

GAP

3.12.5 Black Oil - Lumping/Delumping


When working in Black Oil compositional Lumping/Delumping mode, it is possible to allow
Lumping and then import a pair of lumped/de-lumped compositions, and then to choose which
composition to choose to use to generate the black oil model.
Setting up the model with lumping/delumping is straight forward.
In the main GAP PVT options enable the use of Lumping.

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.

GAP User Guide

August, 2012

Examples Guide

960

3.13 Example 10 - Tight Gas


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

At present it is required to model Sector A to determine the present (01/01/2008) gas


production from this area of the field based on the measurements given from the metering
station.
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
1990-2012 Petroleum Experts Limited

961

GAP

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
2.
3.
4.
5.
6.

Solve the network


Create partial GAP file
Import partial GAP file
Solve the network including the compressor
Solve the network bypassing the compressor

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\Gas Field.gar
Extract 600 the archive file from the Initial Files folder

3.13.2 Data Available


Description of the pipelines
Label

WH2_A to Manifold A2

GAP User Guide

Pipe Pipe
segme ID
nt
Length

Upstrea Downstrea
m TVD
m TVD

Overall Heat
Transfer
Coefficient

Multiphase Correlation

ft

Inche
s

ft

ft

Btu/h/ft2/F

700

2.743

Petroleum Experts 5

August, 2012

Examples Guide

962

WH3_A to Manifold A1

200

2.743

Petroleum Experts 5

WH4_A to Manifold A2

750

2.743

Petroleum Experts 5

WH5_A to Manifold A1

1000

2.743

Petroleum Experts 5

WH6_A to P_in

500

2.743

Petroleum Experts 5

Manifold A1 to Manifold A2

1500

Petroleum Experts 5

Manifold A2 to Manifold A3

500

Petroleum Experts 5

Manifold A3 to Manifold P_in

1150

Petroleum Experts 5

Table 1 Pipeline description

Description of the reservoirs


MBAL File

Estimated GIIP

MMscf

Well1A.mbi

9105.57

Well2A.mbi

4725.45

Well3A.mbi

5589.71

Well4A.mbi

4572.39

Well5A.mbi

2151.03

Well6A.mbi

5910.2

Table 2 Reservoir data

Description of the wells


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

Well Production History


The well production history's are provided in an Excel worksheet called 'Well Production Data'.

1990-2012 Petroleum Experts Limited

963

GAP

Sector B Model
A pre-constructed GAP model of Sector B is provided in the Sector B.gar file. Extract the
model before starting the exercise.

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

3.13.3.1 Draw the GAP Network


1. Getting Started
Begin by starting the program.
From the GAP entry screen, select File| New to reinitialise GAP.
2. Defining the Global System Option
To begin setting up the system options, select Options | Method and make the following
selections:
System Type :
Optimisation Method :
PVT Model :
Prediction:
Prediction Method:
Wax or Hydrate Warning:
Water Vapour:
GAP User Guide

Production
Production
Black Oil
On
Pressure and temperature
On
No Calculations
August, 2012

Examples Guide

Temperature Model:
Calculate Well Choke Delta T:

964

Rough Approximation
Off

3. Drawing the System


It is assumed that the user is familiar with the basics of GAP and is able to construct the network
(shown in the figure below) without further instructions. If help is required, please refer to any of
the previous examples 605 which provide step by step instructions of how to include the individual
elements that make up the system.

1990-2012 Petroleum Experts Limited

965

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.
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.
3.13.3.2 Define the Wells
As with the previous models, we have already built the PROSPER models for all of the wells. For
tight gas wells the PROSPER file is used to model the VLP section of the well and follows the
same approach that is used for constructing a normal gas well. The IPR section, which by
definition assumes that the well is flowing under state state conditions and is not applicable to
tight gas reservoirs, is not captured in PROSPER.
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:

GAP User Guide

Well1A

August, 2012

Examples Guide

Mask:

Include in System (default)

Well Type:

Gas Producer

Model:

VLP/IPR intersection

PROSPER file:

Well1A.OUT

966

PLEASE MAKE SURE THAT THE WELL TYPE IS DEFINED AS "Gas


Producer" and the Tight Gas option is ticked.

Complete all the wells according to the data provided in Table 1 961 .

3.13.3.2.1 Generate transient IPR Data


In the case of a tight gas the flow is transient therefore the conventional material balance
techniques for modelling the reservoir are not valid. Instead the wells are modelled using type
curves, an additional feature available in MBAL, which allows a transient IPR to be calculated

1990-2012 Petroleum Experts Limited

967

GAP

based on the well history, the PVT and a model (i.e. type curve for a bounded fractured
reservoir) which has been characterised in MBAL. For details about type curves analysis and
how the reservoir characteristics are determined it is recommended to consult the MBAL
tutorials.
Activate the well IPR screen for well1A 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 in the below.

GAP User Guide

August, 2012

Examples Guide

968

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.

1990-2012 Petroleum Experts Limited

969

GAP

Note that there is now the functionality to include to include any PD vs. TD function to describe the
well and reservoir geometry in a tight gas system.

GAP User Guide

August, 2012

Examples Guide

970

This function can be generated through the applications in REVEAL and RESOLVE that allows
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.'

1990-2012 Petroleum Experts Limited

971

GAP

Repeat this procedure for all of the wells in the system.

3.13.3.2.2 Import VLPs


In this example, the PROSPER and VLP files have already been constructed for the user. This
was done to save time in completing the exercise as it has been assumed that the user is
already familiar with the basics of the IPM Suite. For detailed information about the generation
of the VLPs please refer to previous examples 681 .
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 select the VLP tab.

GAP User Guide

August, 2012

Examples Guide

972

Select browse 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.

3.13.3.3 Define the Pipelines


Enter the pipeline data according to Table 2 961 and following the same steps as seen in
previous examples 861 .

1990-2012 Petroleum Experts Limited

973

GAP

Once the pipelines are defined the model is complete and ready to run.
Save the model as Sector A.gap.

3.13.4 Solve Network (Sector Model)


Once the model has been set up, the next step is to determine the total production from the
system when the wells are fully open based on the current measured pressure at the metering
station which is 200 psig. To do this we will use the 'Solve Network' feature.
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'.

GAP User Guide

August, 2012

Examples Guide

974

Pointing the cursor on the separator element, it is possible to see that the wells fully open
produce approximately 11.3 MMscf/d

3.13.5 Build the Full Model


The Sector A model represents a well cluster however we wish to import this model into another
GAP model which captures the full field and evaluate the possibility of installing a compressor
station. To do this requires a partial GAP file to be created which will then be imported into the
1990-2012 Petroleum Experts Limited

975

GAP

main model which has already been constructed.


3.13.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', save and then close the model.
3.13.5.2 Import Partial GAP file
Open the Sector B.gap file.

GAP User Guide

August, 2012

Examples Guide

976

The .gpp file is going to be imported into a flowsheet 442 . 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
then place it directly above the 'greyed-out' compressor icon.

icon from the main toolbar and

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.

1990-2012 Petroleum Experts Limited

977

GAP

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.

GAP User Guide

August, 2012

Examples Guide

978

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.
Save the model as Sector B Final.gap.

3.13.6 Solve Network (Full Model)


Once the model has been set up, the next step is to determine the total production from the
system excluding and including a compressor. To do this we will use the 'Solve Network' feature
to solve the two different cases.
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 871 .
3.13.6.1 Including the Compressor
The first case that will be considered includes the compressor.

1990-2012 Petroleum Experts Limited

979

GAP

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.95MMscf/D.

GAP User Guide

August, 2012

Examples Guide

980

3.13.6.2 Bypassing the Compressor


The second case to consider is without the compressor. To do this it is possible to 'bypass' the
compressor element which effectively ignores the element in the network calculation.

Note that when an element is bypassed it is 'greyed out' in the system.


Repeat the 'Solve Network' calculation and compare the gas rates at the gathering station.

1990-2012 Petroleum Experts Limited

981

GAP

From the results it can be confirmed that the gas production is 19.69MMscf/D and that there is a
benefit of roughly 0.3MMscf/d 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
100 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.

GAP User Guide

August, 2012

Examples Guide

982

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 50 psig - 100 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.

1990-2012 Petroleum Experts Limited

983

GAP

Select Next | Calculate.


Double-click on the separator icon and inspect the Network Results.

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.

GAP User Guide

August, 2012

Examples Guide

984

3.14 Example 11 - Coal Bed Methane


3.14.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.
1990-2012 Petroleum Experts Limited

985

GAP

Use scheduling to simulate a workover


Run predictions
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
2. Set up the scheduling
3. Run predictions
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 600 the archive file from the Initial Files folder

3.14.2 Data Available


Description of the pipelines
Label

Pipe Pipe ID
segme
nt
Length

Upstrea
m TVD

Downstre
am TVD

Overall Heat
Transfer
Coefficient

Multiphase Correlation

Inches

ft

ft

Btu/h/ft2/F

Line 1

300

Petroleum Experts 5

Line 2

200

Petroleum Experts 5

Table 1 Pipeline description

Description of the reservoirs


Tank Name

CBM Res

History Start - End

GIIP

MBAL File

(dd/mm/yyyy)

MMscf

No History

26581

CBM Reservoir.mbi

Table 2 Reservoir data

Description of the wells


The file names corresponding to each well are shown in the table below.

GAP User Guide

August, 2012

Examples Guide

986

Well Name

PROSPER File

VLP File (with Pump)

VLP File (No Pump)

Well1

Well 1.OUT

Well 1.vlp

Well 1_NoPump.vlp

Well2

Well 2.OUT

Well 2.vlp

Well 2_NoPump.vlp

Table 3 Wells data

3.14.3 Build the GAP 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.

3.14.3.1 Draw the GAP Network


1. Getting Started
Begin by starting the program.
From the GAP entry screen, select File | New to reinitialise GAP.
2. Defining the global system option

1990-2012 Petroleum Experts Limited

987

GAP

To begin setting up the system options, select Options | Method and make the following
selections:
System Type :
Optimisation Method :
PVT Model :
Prediction:
Prediction Method:
Water Vapour:
Temperature Model:
Calculate Well Choke Delta T:

GAP User Guide

Production
Production
Black oil
On
Pressure and temperature
No Calculations
Rough Approximation
Off

August, 2012

Examples Guide

988

Then Click on OK to accept the changes.


This completes the system set-up and reinitialises the program.
3. Drawing the system
It is assumed that the user is familiar with the basics of GAP and is able to construct the network
(shown in the figure below) without further instructions. If help is required, please refer to any of
the previous examples 605 which provide step by step instructions of how to include the individual
elements that make up the system.

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.

3.14.3.2 Define the Reservoir


To define the reservoir, the corresponding MBAL file will be associated to the tank in GAP. To
do this, double-click on the reservoir icon to activate the 'Tank Summary' screen and 'Browse'
for the MBAL file , CBM Reservoir.mbi as shown below.

1990-2012 Petroleum Experts Limited

989

GAP

3.14.3.3 Define CBM Wells


As with the tank models, we have already built the PROSPER models for all of the wells. The
PROSPER file associated with "Well1" has been constructed and documented in detail in the
PROSPER manual. Please refer to the PROSPER tutorials for more information on the 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:

CBM Water Producer (ESP Lifted)

Model:

VLP/IPR intersection

PROSPER file:

Well 1.OUT

GAP User Guide

August, 2012

Examples Guide

990

Complete all the wells according to the data provided in Table 3 985 .
PLEASE MAKE SURE THAT THE WELL TYPE IS DEFINED AS "CBM
Water Producer (ESP Lifted)"

1990-2012 Petroleum Experts Limited

991

GAP

3.14.3.4 Define the Routing Links


Once the wells have been defined the main network should appear as shown in the figure below.

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 984 ). After six years (01/01/2013) the tubing
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:

GAP User Guide

August, 2012

Examples Guide

992

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.

1990-2012 Petroleum Experts Limited

993

GAP

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.

GAP User Guide

August, 2012

Examples Guide

994

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.

1990-2012 Petroleum Experts Limited

995

GAP

3.14.3.5 Define the Pipelines


Enter the pipeline data according to Table 2 985 and following the same steps as seen in
previous examples 861 .

3.14.3.6 Generate Well IPRs


After all of the wells have been created and the associated PROSPER well models selected, the
IPRs can be generated in GAP in a batch mode.
From the main GAP menu select Generate | Generate Well IPRs from PROSPER.
Then select All | Generate.

GAP User Guide

August, 2012

Examples Guide

996

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.

1990-2012 Petroleum Experts Limited

997

GAP

3.14.3.7 Generate Well VLPs


To import the VLP curves in GAP (ref. VLP generation 466 ) the user can either:
Access the VLP section in the well input area and 'Browse' for the VLP file that has been pregenerated for this example (this is the fastest approach as no calculations are necessary
GAP User Guide

August, 2012

Examples Guide

998

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 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 681 , 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 985 :

1990-2012 Petroleum Experts Limited

999

GAP

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
GAP User Guide

August, 2012

Examples Guide

1000

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 1003 section to understand how to
visualise this variable).

3.14.3.8 Set the Scheduling for the Wells


The objective is to initially produce the water and gas separately via different lines while the well
is under artificial lift (See Figure 984 ). After six years (01/01/2013) the tubing 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, 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.

1990-2012 Petroleum Experts Limited

1001

GAP

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.

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.
Repeat the process for Well 2.
3.14.3.9 Set the Well Controls
To set the well control of the CBM (ESP lifted) wells, double-click on the Well 1 to activate the
system summary screen.

GAP User Guide

August, 2012

Examples Guide

1002

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.
The model is now complete and ready to run.
Save the model as CBM Field.gap.
3.14.3.10 Run Prediction
To run the prediction select Prediction | Run Prediction from the main GAP menu and then enter
the following information:
Start Date:
End Date:
Step Sise:

01/01/2009
01/01/2025
3 Months

1990-2012 Petroleum Experts Limited

1003

GAP

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

3.14.3.10.1 Interpret the Results


To visualise the results select Prediction | Plot Nodes Prediction Results.

GAP User Guide

August, 2012

Examples Guide

1004

Select both of the separators from the 'Equipment Type' and plot the gas and water rates for
each separator.

1990-2012 Petroleum Experts Limited

1005

GAP

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.

GAP User Guide

August, 2012

Examples Guide

1006

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.

1990-2012 Petroleum Experts Limited

1007

GAP

GAP User Guide

August, 2012

Вам также может понравиться